diff --git a/.agent/critical-suite.config.yaml b/.agent/critical-suite.config.yaml new file mode 100644 index 00000000..5ff68a86 --- /dev/null +++ b/.agent/critical-suite.config.yaml @@ -0,0 +1,83 @@ +version: 1 + +test_glob: "tests/critical/**/*.{go,py,ts,js,rs,cs,sh}" +categories: + - smoke + - behavioral + - data-consistency +dev_stand_required: true +fail_on_missing: error +timeout_minutes: 30 + +runner: + command: "go test -tags=critical -json ./tests/critical/... -count=1" + transcript_parser: "pwsh -NoProfile -File scripts/production-gates/assert-go-test-json.ps1 -FailOnUnexpectedSkip" + fail_on_unexpected_skip: true + allowed_skip_identities: [] + +database_gate: + command: "pwsh -NoProfile -File scripts/production-gates/run-db-suite.ps1 -FreshDatabase -Package ./... -Race -FailOnUnexpectedSkip" + postgres_image: "pgvector/pgvector:pg17" + repeat_source: "run-db-suite.ps1 default (3); callers do not duplicate the value" + fresh_database_per_repeat: true + schema: "public" + package_parallelism: 1 + test_parallelism: 1 + race_detector: true + connection_budget: 20 + post_test_sessions_required: 0 + cleanup_required: true + +coverage: + profile_required_on_all_operating_systems: true + overall_statement_minimum_percent: 60 + assertion_command: "pwsh -NoProfile -File scripts/production-gates/assert-coverage.ps1 -CoverageProfile coverage.out -OverallThreshold 60" + package_statement_minimum_percent: + "internal/module/": 75 + "internal/handlers/engramcore": 60 + "internal/handlers/loom": 70 + "cmd/engram/": 10 + "cmd/engram-server/": 10 + "internal/update/": 20 + "internal/worker/": 55 + "internal/mcp/": 55 + "internal/db/gorm/": 55 + critical_path_mapping: + launcher: "cmd/engram/" + server: "cmd/engram-server/" + update: "internal/update/" + worker: "internal/worker/" + mcp: "internal/mcp/" + database: "internal/db/gorm/" + +evidence: + root: ".agent/reports/evidence/production-ready/release-gates-foundation" + require_raw_stdout: true + require_raw_stderr: true + require_machine_summary: true + require_child_exit_codes: true + require_database_schema_identity: true + require_pg_stat_activity: true + require_cleanup_result: true + +security: + image_scan: + command: "pwsh -NoProfile -File scripts/production-gates/run-db-suite.ps1 -DevStandAction Scan -ComposeProject engram-critical-stand -ComposeFile docker-compose.yml" + discovery: "compose labels for project engram-critical-stand" + scanner: "docker scout cves" + severities: ["critical", "high"] + fail_on_findings: true + machine_evidence: "dev-stand/-scan/docker-scout-*.sarif.json plus summary.json" + exact_service_images: + postgres: "ghcr.io/thebtf/engram-postgres:main" + server: "ghcr.io/thebtf/engram:main" + operator-console: "ghcr.io/thebtf/engram-operator-console:main" + forbidden_synthetic_tags: + - "engram:prc-candidate" + govulncheck: + authoritative_modes: + - "source scan with tests: govulncheck -test ./..." + - "unstripped binary scan before -ldflags=-s -w" + non_authoritative_modes: + - "stripped binary scan: absence of symbols forces module-level fallback" + rule: "A stripped-binary finding cannot override source/test or unstripped-binary reachability evidence." diff --git a/.agent/debug/lightningcss-linux-native-missing/investigation.md b/.agent/debug/lightningcss-linux-native-missing/investigation.md new file mode 100644 index 00000000..85821dd2 --- /dev/null +++ b/.agent/debug/lightningcss-linux-native-missing/investigation.md @@ -0,0 +1,72 @@ +# Investigation: intermittent missing Lightning CSS Linux native package + +Status: RESOLVED_IN_BATCH + +## 1. Symptom + +Verbatim error from the exact-head clean Docker image gate: + +```text +ERROR Cannot find module '../lightningcss.linux-x64-gnu.node' +Require stack: +- /workspace/apps/operator-console/node_modules/lightningcss/node/index.js +``` + +The failure occurs during `npm run build` inside the Linux/amd64 Docker operator-console build stage after `npm ci` exits successfully. + +## 2. Reproduction + +Status: CONFIRMED INTERMITTENT + +- `build-and-scan-images.ps1` on commit `5722882e` completed PASS; its clean build installed 840 packages. +- The same no-cache gate on commit `9282f324` failed during the server target's shared operator-console build; `npm ci` installed 839 packages and the Lightning CSS Linux native module was absent. +- The two commits do not change `package.json` or `package-lock.json`; the second commit adds only a Go critical guard and evidence. +- Target environment: Docker Desktop Linux/amd64 builder, Node 22 bookworm-slim, npm 10.9.8. + +## 3. Competing hypotheses + +| ID | Claim | Prediction | Disproving test | Disproving test result | Status | +|---|---|---|---|---|---| +| H1 | The local lock graph omits the platform-specific Lightning CSS package. | `package-lock.json` lacks `lightningcss-linux-x64-gnu` or its parent optional edge. | Parse the lock structurally. | REFUTED: lock contains Lightning CSS 1.32.0, all eleven platform variants, and the exact Linux x64 GNU edge/package. | REFUTED | +| H2 | A fetch/extract failure silently omitted the target because npm models the native package as optional. | Complete lock plus successful `npm ci` exit can coexist with 839 packages and a later native require failure; deliberately making only the target tarball unavailable should reproduce this shape. | Repeat clean installs, then mutate only the disposable target `resolved` URL to an unreachable endpoint and observe npm exit plus native require. | CONFIRMED: target-only unreachable URL produced 839 packages, `npm ci` exit 0, and the identical `Cannot find module '../lightningcss.linux-x64-gnu.node'` stack. | CONFIRMED | +| H3 | Dockerfile or environment selects the wrong platform/architecture or strips optional dependencies. | `process.platform/arch`, npm config, or Dockerfile flags show non-linux/non-x64 or `omit=optional`. | Capture platform/arch/npm config in the same builder image. | REFUTED: two pinned builder runs report linux/x64 and empty omit config, and resolve the GNU native package. | REFUTED | +| H4 | The Nuxt advisory guard commit changed the operator dependency graph. | Diff `5722882e..9282f324` includes package manifest/lock changes. | Inspect exact git diff names. | OBSERVED: diff contains no operator package manifest or lock change. | REFUTED | + +## 4. Evidence classification + +| Fact | Class | Source | +|---|---|---| +| Exact missing-module stack and Linux build stage | OBSERVED | `.agent/tmp/image-gate-9282f324/server/build.log` and failed gate output | +| Prior exact gate passed from the same dependency lock | OBSERVED | `.agent/tmp/image-gate-5722882e/final-image-set.json` status PASS | +| Successful run installed 840 packages; failed run installed 839 | OBSERVED | the two image-gate build transcripts | +| Package manifests were unchanged between exact commits | OBSERVED | scoped commit contents and prior PR diff | +| npm optional-dependency lock behavior may be causal | INFERRED | requires current official/upstream source confirmation | +| npm treats unsupported optional platform packages as inert rather than fatal | OBSERVED | Context7 current `/npm/cli` source excerpt from Arborist `build-ideal-tree.js` | +| npm/cli #4828 describes inconsistent package locks that silently omit another platform's optional native package | OBSERVED | Parallel fetch of official npm/cli issue #4828, updated 2026-06-30 | +| npm/cli #8320 reproduces the class on npm 10.9.2 and 11.4.1 with Node 22 | OBSERVED | Parallel fetch of official npm/cli issue #8320 | +| Lightning CSS maintainers linked the exact missing native-module error to npm/cli #4828 | OBSERVED | Parallel fetch of official parcel-bundler/lightningcss issue #567 | +| Engram memory contains prior project guidance for this failure | OBSERVED FALSE | live Engram recall returned zero memories | +| A fresh external structured-reasoning pass is available through aimux | OBSERVED FALSE | aimux returned non-retryable `CapabilityMismatch`: Loom SQLite session store unavailable | +| Clean Linux install environment is accidentally non-x64 or omits optional packages | OBSERVED FALSE | two disposable Node 22 bookworm-slim runs reported linux/x64, npm 10.9.8, empty omit config, 840 packages, and successful native package resolution | +| Failed image gate leaked build context, secret files, containers, volumes, or networks | OBSERVED FALSE | FAIL manifest records build-context cleanup true, cleanup PASS, secret files cleaned true; live prefixed residue query returned zero rows | +| npm/cli PR #8184 addresses the ideal/hidden-lock cause and shipped in npm 11.3.0 | OBSERVED | Parallel fetch of official merged PR #8184 and linked 11.3.0 release event | +| Upgrading npm alone is proven sufficient | OBSERVED FALSE | official npm/cli #8320 reports the related cross-platform lock failure on npm 11.4.1; an upgrade remains a hypothesis, not a verified fix | +| npm's successful exit proves the Linux native binding exists | OBSERVED FALSE | target-only failure injection completed `npm ci` successfully with 839 packages, then failed the native require with the original stack | + +## 5. Hypothesis status log + +- H4 REFUTED: the only change between the successful and failed exact heads is the critical advisory guard/evidence; operator dependency inputs are byte-identical. +- H2 strengthened by three upstream issue records, including npm 10/11 reproduction and the exact Lightning CSS error. H3 remained active pending lock inspection and a minimal repeated Linux install. +- H3 REFUTED: two clean pinned builder-container diagnostics prove linux/x64 selection, optional dependencies enabled, and successful native resolution. H2 remains possible because the exact full build produced 839 packages once while two subsequent minimal installs produced 840. +- H1 REFUTED for this repository: structural JSON inspection shows Lightning CSS 1.32.0 plus all platform packages, including `lightningcss-linux-x64-gnu`, are present in the committed lock. +- SocratiCode semantic index did not reach its graph phase within the bounded debug window (55%, batch 13); Engram semantic fallback returned zero results. The fallback was a narrow structural JSON query, not broad text search. +- H2 CONFIRMED: a disposable lock mutation changed only the target native package URL. npm exited 0 with 839 packages, and `require('lightningcss')` produced the same missing GNU binding stack. This directly reproduces the product failure class without changing the repository. +- A package-specific in-place repair was rejected after two failed probes (`ERR_INVALID_ARG_TYPE`, then a 300-second timeout) and a structural lock query found nine native-parent families. The repair target was widened to the whole applicable optional-native class. +- The final verifier selects every optional lock entry applicable to the running OS, CPU, and Linux libc, requires the exact installed version, and fails before Nuxt. A clean pinned Linux/glibc install checked 12 packages; the injected 839-package tree failed with the exact missing `lightningcss-linux-x64-gnu@1.32.0` identity. +- Full acceptance passed 201/201 critical tests with zero skips and repository-relative evidence after the parser stdout portability discrepancy was found and fixed. + +## 6. Root cause + +The Linux builder treats `lightningcss-linux-x64-gnu@1.32.0` as transitively optional, so npm 10.9.8 can exit successfully after failing to materialize that runtime-required binding; the Docker build trusts the exit code and discovers the absence only when Nuxt loads Lightning CSS. Evidence chain: complete target lock entry + correct linux/x64/optional-enabled environment + target-only failure injection -> 839 packages/npm exit 0 -> identical native-module stack. H1, H3, and H4 are refuted; no assumed link remains. + +Implemented class-level fix: retain immutable `npm ci`, explicitly include optional packages, add bounded registry retries, then run the lock-driven OS/CPU/libc verifier before Nuxt. No second install and no lock mutation are allowed. The exact-commit image gate remains the next acceptance boundary; this investigation is resolved at the reproduced project-boundary defect and implementation level, not yet at release level. diff --git a/.agent/dev-stand.config.yaml b/.agent/dev-stand.config.yaml new file mode 100644 index 00000000..d161852b --- /dev/null +++ b/.agent/dev-stand.config.yaml @@ -0,0 +1,59 @@ +version: 1 +shape: docker-compose + +# The critical stand is isolated from ordinary local compose state by project +# name and non-default host ports. The critical-suite runner exports the env +# below before invoking the lifecycle commands. +up: + command: "pwsh -NoProfile -File scripts/production-gates/run-db-suite.ps1 -DevStandAction Up -ComposeProject engram-critical-stand -ComposeFile docker-compose.yml" + readiness_check: "pwsh -NoProfile -File scripts/production-gates/run-db-suite.ps1 -DevStandAction Ready -ComposeProject engram-critical-stand -ComposeFile docker-compose.yml" + timeout_seconds: 600 +down: + command: "pwsh -NoProfile -File scripts/production-gates/run-db-suite.ps1 -DevStandAction Down -ComposeProject engram-critical-stand -ComposeFile docker-compose.yml" + timeout_seconds: 180 +logs: + command: "docker compose -p engram-critical-stand -f docker-compose.yml logs --no-color --tail=300" + +env: + COMPOSE_PROJECT_NAME: "engram-critical-stand" + POSTGRES_PORT: "55433" + WORKER_PORT: "37778" + OPERATOR_CONSOLE_PORT: "3001" + STAND_API_URL: "http://localhost:37778" + STAND_OPERATOR_URL: "http://localhost:3001" + NUXT_OPERATOR_API_TARGET: "http://server:37777" + ENGRAM_AUTH_DISABLED: "false" + +credential_policy: + generation_scope: "four independent cryptographic 256-bit values generated inside the Up runner process" + postgres_password: "generated cryptographically inside the Up runner process" + admin_token: "generated cryptographically inside the Up runner process" + vault_key: "generated cryptographically inside the Up runner process" + bootstrap_capability: "generated cryptographically inside the Up runner process" + postgres_runtime_interface: "ENGRAM_POSTGRES_PASSWORD_SECRET_FILE plus ENGRAM_DATABASE_DSN_SECRET_FILE" + admin_runtime_interface: "ENGRAM_AUTH_ADMIN_TOKEN_SECRET_FILE" + bootstrap_runtime_interface: "ENGRAM_AUTH_BOOTSTRAP_CAPABILITY via ephemeral compose override" + required_distinct: true + forbidden_defaults: ["engram", "password", "changeme", "change-me", "change-me-in-production", "default", "admin"] + persistence: "never written to raw logs, machine summaries, config, or caller environment" + auth_disabled_fallback: false + +image_scan: + command: "pwsh -NoProfile -File scripts/production-gates/run-db-suite.ps1 -DevStandAction Scan -ComposeProject engram-critical-stand -ComposeFile docker-compose.yml" + discovery: "docker service inventory filtered by com.docker.compose.project=engram-critical-stand" + scanner: "docker scout cves" + severities: ["critical", "high"] + fail_on_findings: true + machine_evidence: "dev-stand/-scan/docker-scout-*.sarif.json plus summary.json" + exact_service_images: + postgres: "ghcr.io/thebtf/engram-postgres:main" + server: "ghcr.io/thebtf/engram:main" + operator-console: "ghcr.io/thebtf/engram-operator-console:main" + forbidden_synthetic_tags: + - "engram:prc-candidate" + +database_evidence: + runner: "pwsh -NoProfile -File scripts/production-gates/run-db-suite.ps1" + postgres_image: "pgvector/pgvector:pg17" + database_lifecycle: "fresh unique database per repetition; cleanup owns only engram_prc_rg_* databases" + shared_service_policy: "Never stop or remove an operator-owned PostgreSQL container; only terminate/drop the current run database." diff --git a/.agent/e/rg4/fail.json b/.agent/e/rg4/fail.json new file mode 100644 index 00000000..f5a64316 --- /dev/null +++ b/.agent/e/rg4/fail.json @@ -0,0 +1,98 @@ +{ + "schema_version": 1, + "gate": "full-project-fresh-db-race-repeat-3", + "verdict": "FAIL", + "repeat_test_failures": [27, 28, 27], + "stable_failed_tests": { + "internal/bulkops": [ + "TestEC_F3_ConflictDetected_Integration", + "TestFacade_BulkDelete_Committed_AuditLogWritten", + "TestFacade_BulkSupersede_Committed_AuditLogWritten", + "TestRollback_HappyPath" + ], + "internal/db/gorm": [ + "TestMigration144_RuleGovernanceEscapeConstraints", + "TestMigration144_RuleGovernanceRollbackAndReapply", + "TestMigration144_RuleGovernanceSnapshotStatusesAcceptExtendedStates", + "TestRuleGovernanceStore_AnnotatedCandidateWaitsUntilReviewAfter", + "TestRuleGovernanceStore_GetLifecycleHealthAggregatesGovernanceTables", + "TestRuleGovernanceStore_GetLifecycleHealthOmitsGlobalArbiterRunsForProjectScopedReads" + ], + "internal/embedding": [ + "TestStatsWithCoverage_NoActiveMemories", + "TestStoreStats_Empty" + ], + "internal/graph": [ + "TestDangling_T016_DanglingEdgeReturnsFlag", + "TestPathC_T015_NodeCreatedAtTimestamp", + "TestPathC_T015_NodeTypedEdgeListFilter", + "TestPathC_T015_SkillNodeEdgeRoundtrip" + ], + "internal/mcp": [ + "TestEC_F1_TagDerivedBackfill_T007", + "TestHybridTG3_ConfidenceMin_FloorEnforced_T022" + ], + "internal/worker": [ + "TestAuthHandlersLifecycle_DisabledAdminCanBeDemotedWithoutLastAdminError", + "TestAuthHandlersLifecycle_LastAdminDemoteRaceLeavesOneAdmin", + "TestCrystallizationIntegration_ConcurrentReplaySkipsDuplicateFingerprint", + "TestCrystallizationIntegration_DecisionsStoredWithCorrectFields", + "TestCrystallizationIntegration_PrivacyRedaction", + "TestHandleCreateBehavioralRule_Success", + "TestHandleListBehavioralRules_ProjectScope", + "TestHandleSetBehavioralRuleEnabled_Success" + ], + "internal/worker/reaper": [ + "TestReaper_RespectsRetentionEnvVar: panic because t.Setenv is used under t.Parallel" + ] + }, + "repeat_2_only_failure": "internal/bulkops::TestRollback_Conflict_EC_F3", + "unexpected_skips_each_repeat": 25, + "unexpected_skip_inventory": [ + "internal/db/gorm::TestMigrationsIntegration_AddsCommandsRunColumn", + "internal/grpcserver::TestCredentialDecryptRoundTripAfterMigration", + "internal/grpcserver::TestEC_F1_P1_GRPCSessionStart_FlagOff_ByteIdentity", + "internal/grpcserver::TestEC_F1_P1_GRPCSessionStart_FlagOn_NoCallerIdentity_PrivateInvisible", + "internal/grpcserver::TestEC_F1_P1_GRPCSessionStart_FlagOn_PrivateCrossWorkstationInvisible", + "internal/grpcserver::TestGetSessionStartContext_DefaultLimits", + "internal/grpcserver::TestGetSessionStartContext_HappyPath", + "internal/grpcserver::TestGetSessionStartContext_MetaSummaryCountsBeyondResponseCap", + "internal/grpcserver::TestGetSessionStartContext_MetaSummaryFlagOffOmitted", + "internal/grpcserver::TestGetSessionStartContext_MetaSummaryFlagOnDescribesMemoryLandscape", + "internal/grpcserver::TestGetSessionStartContext_MetaSummaryFlagOnEmptyProjectIsBoundedAndContentFree", + "internal/grpcserver::TestGetSessionStartContext_PrincipalPrivateCrossPrincipalInvisible_FlagOff", + "internal/grpcserver::TestGetSessionStartContext_RuleRouterEnabledPacketShape", + "internal/grpcserver::TestGetSessionStartContext_T014_MetaSummaryRequiresMasterAndS2Flags", + "internal/handlers/loom::TestCliWorker_ContextCancellation", + "internal/handlers/loom::TestCliWorker_EmptyStdoutTriggersRetry", + "internal/handlers/loom::TestCliWorker_EnvMerge", + "internal/handlers/loom::TestCliWorker_HappyPath", + "internal/handlers/loom::TestCliWorker_InvalidEnvKey", + "internal/handlers/loom::TestCliWorker_StderrCapture", + "internal/handlers/loom::TestCliWorker_Timeout", + "internal/redaction::TestEC_F5_FullRedactionRejected", + "internal/redaction::TestEC_F9_HotReloadNotSupported", + "internal/retrieval::TestIntegration_HybridWithVector", + "internal/worker::TestStaticEmbedIncludesUnderscoreNuxtChunks" + ], + "coverage": { + "overall_percent": [53.0, 52.99, 52.99], + "overall_floor": 60.0, + "failed_package_floors": { + "internal/handlers/loom": "64.77 < 70", + "cmd/engram": "6.39 < 10", + "cmd/engram-server": "0 < 10", + "internal/update": "0 < 20", + "internal/worker": "46.77 < 55", + "internal/mcp": "46.23 < 55", + "internal/db/gorm": "49.10 < 55" + } + }, + "cleanup": { + "repeat_cleanup_exit_codes": [0, 0, 0], + "direct_sql_residual_databases": 0, + "direct_sql_residual_sessions": 0, + "shared_postgres_container_left_running": true + }, + "routing": "Existing master-plan lanes own these product/test/coverage blockers. RELEASE-GATES does not allowlist, suppress, or patch them." +} diff --git a/.agent/e/rg4/proof.json b/.agent/e/rg4/proof.json new file mode 100644 index 00000000..811e05f0 --- /dev/null +++ b/.agent/e/rg4/proof.json @@ -0,0 +1,153 @@ +{ + "schema_version": 1, + "scope": "RELEASE-GATES revision 4 maker evidence", + "authority": { + "rejected_base": "586b39df3465fb51779cf9225deaedbc212e4f9f", + "plan_commit": "f987ce16ee1a0777793bc95113edd2885b19e202", + "implementation_commit": "46ccf27968055a670f2b89907cc6da4478ac04fd", + "canonical_plan_sha256": "d7bcfd122e456d9b764595524292d53b0c99447b7f716a1be0707341e4681bf9", + "ownership_state_plan_sha256": "d7bcfd122e456d9b764595524292d53b0c99447b7f716a1be0707341e4681bf9", + "revision_3_checker_sha256": "E2B399BAA66C463D3301DBC9F7775ABF357D2411C74EBDBFDB11CD1A020619E0", + "openclaw_ingest_source_lock_sha256": "A095E9D7B69DC95CAC4022EB97D2EA9B403D5132F5602FDD85E7D3A93092F5D4" + }, + "tdd": { + "ownership_red": "single-owner tracked epoch rejected; raw LF and CRLF SHA256 values differed", + "ownership_green": "canonical UTF-8/LF hash, semantic-mutation inequality, singleton plan/state epoch accepted", + "path_budget_red": { + "commit": "f987ce16ee1a0777793bc95113edd2885b19e202", + "longest_combined_length": 262, + "ceiling": 240, + "violations": 73 + }, + "path_budget_green": { + "commit": "46ccf27968055a670f2b89907cc6da4478ac04fd", + "tracked_paths": 1402, + "longest_combined_length": 166, + "ceiling": 240, + "violations": 0 + }, + "conformance_red": "missing dev-stand-source-commit/source-build provenance contract", + "conformance_green": "LF/CRLF equality plus 30 adversarial mutations rejected, including removed/late build and removed --no-build" + }, + "foundation_gates": { + "selftests": { + "verdict": "PASS", + "count": 9, + "names": [ + "assert-coverage", + "assert-go-test-json", + "assert-plan-path-ownership", + "assert-windows-path-budget", + "cleanup-db-sessions", + "run-critical-suite", + "run-db-suite", + "run-dev-stand", + "run-node-matrix" + ] + }, + "powershell_parse": "PASS", + "actionlint": "PASS", + "workflow_conformance": { + "verdict": "PASS", + "mutations_rejected": 30 + }, + "ownership": { + "ledger": "PASS", + "maker_slices": 48, + "declarations": 325, + "declared_epochs": 34, + "plan_governance_diff": { + "verdict": "PASS", + "changed_paths": 2, + "violations": 0 + }, + "release_gates_diff": { + "verdict": "PASS", + "changed_paths": 135, + "violations": 0 + } + }, + "critical_suite": { + "verdict": "PASS", + "tests": 7, + "passed": 7, + "failed": 0, + "unexpected_skips": 0, + "raw_summary_sha256": "0D866822CD951FBD25CF4078BA8EA1C11BD4BDFE2B9C78B66B8E8C72371C5C7F" + } + }, + "runtime": { + "dev_stand": { + "overall_verdict": "EXPECTED_NEGATIVE", + "up": "PASS", + "ready": "PASS", + "scan": "FAIL_FINDINGS", + "down": "PASS", + "cleanup": "PASS", + "residual_resources_zero": true, + "source_commit": "46ccf27968055a670f2b89907cc6da4478ac04fd", + "source_tracked_clean": true, + "compose_build_completed": true, + "postgres_pull_completed": true, + "launch_no_build": true, + "prelaunch_running_scan_identity": true, + "raw_summary_sha256": "EE8EF87AD2207B73EA9CDD50811484183DE3E5C96E7728CE24F18CD9A0524D1C", + "scan_results": [ + { + "service": "operator-console", + "image_id": "sha256:96e2cd855b10543df86e6c9c040186d0cc3631f1bc9015f1de2936e17af45c82", + "high_critical_findings": 5, + "sarif_sha256": "06309B2CE48D82004B46A5E8535AB7A657ECC0D7D367170708E4C204C311A69B" + }, + { + "service": "postgres", + "image_id": "sha256:d2ef61f42ef767baa5a1475393303cc235bcd92febd9d7014eddb48b41f3bad0", + "high_critical_findings": 20, + "sarif_sha256": "5ED64C4E1917921AF7D4FD53D404A8580F869DB29D5411E686553A9347F2F0F4" + }, + { + "service": "server", + "image_id": "sha256:cc352864b145278ce98e1d601775e8be0b2d05fae7385704cc7d6d3aeb93418c", + "high_critical_findings": 13, + "sarif_sha256": "91D0F44AAA530066E04E859720462E1E8FA8B20DE9BC7890B5321E95FBA60FD3" + } + ] + }, + "openclaw_matrix": { + "verdict": "EXPECTED_NEGATIVE", + "executed_steps": 0, + "reason": "required plugin/openclaw-engram/package-lock.json is absent", + "pre_surface_clean": true, + "post_surface_clean": true, + "cleanup": true, + "raw_summary_sha256": "DAD1420859061D457F9CA9255DAEC177949EDC9EE7D143EDED9D7049FAEDBB04" + } + }, + "project_wide_gate": { + "verdict": "BLOCKED", + "command_scope": "./... with race, fresh database, repeat 3, JSON assertion, skip enforcement, coverage floors", + "repeat_failures": [27, 28, 27], + "unexpected_skips_each_repeat": 25, + "coverage_percent": [53.0, 52.99, 52.99], + "cleanup_exit_zero_each_repeat": true, + "direct_sql_residual_databases": 0, + "direct_sql_residual_sessions": 0, + "shared_postgres_left_running": true, + "raw_summary_sha256": "7F0D634D6C0D4FC46D4F2B929D5AEF3564502A2D3DE5EDE19FC4B35B976A607F", + "inventory": ".agent/e/rg4/fail.json" + }, + "environment": { + "os": "windows/amd64", + "go": "1.25.11", + "powershell": "7.6.1", + "git": "2.51.1.windows.1", + "core_autocrlf": true, + "core_longpaths": "unset", + "docker_client": "29.1.3", + "docker_server": "29.1.3", + "docker_compose": "2.40.3-desktop.1", + "actionlint": "1.7.12" + }, + "maker_handoff": "READY_FOR_INDEPENDENT_CHECK", + "project_release_readiness": "BLOCKED" +} diff --git a/.agent/e/rg4/r5-maker/SHA256SUMS b/.agent/e/rg4/r5-maker/SHA256SUMS new file mode 100644 index 00000000..1467fe5c --- /dev/null +++ b/.agent/e/rg4/r5-maker/SHA256SUMS @@ -0,0 +1,4 @@ +D4E24193A128FEC73731D436493FB1B3383A7D207C38091E8ED2592C7D28EBC1 .agent/e/rg4/r5-maker/report.md +9BC8EF996EB63E31FA1AA0C85B5A706150D9DE07804DC12B5300156C60667535 .agent/e/rg4/r5-maker/proof.json +D8038B65FE07AFDB4826CCC30617025B7114C9083E9BB492BE0112CBC4BF80B1 .agent/e/rg4/r5-maker/fail.json +46C0E13CA2F21329976901DCB73AE8391882225DB6E7ECAD0670658955620DD5 .agent/e/rg4/r5-maker/manifest.json diff --git a/.agent/e/rg4/r5-maker/fail.json b/.agent/e/rg4/r5-maker/fail.json new file mode 100644 index 00000000..2ed33d01 --- /dev/null +++ b/.agent/e/rg4/r5-maker/fail.json @@ -0,0 +1,129 @@ +{ + "schema_version": 1, + "gate": "revision-5-truthful-project-red", + "verdict": "BLOCKED", + "full_project_gate": { + "repeat_test_counts": [3516, 3516, 3516], + "repeat_passed": [3472, 3471, 3473], + "repeat_failed": [30, 29, 30], + "stable_failed_tests": [ + "internal/bulkops::TestEC_F3_ConflictDetected_Integration", + "internal/bulkops::TestFacade_BulkDelete_Committed_AuditLogWritten", + "internal/bulkops::TestFacade_BulkSupersede_Committed_AuditLogWritten", + "internal/bulkops::TestRollback_HappyPath", + "internal/db/gorm::TestMigration144_RuleGovernanceEscapeConstraints", + "internal/db/gorm::TestMigration144_RuleGovernanceRollbackAndReapply", + "internal/db/gorm::TestMigration144_RuleGovernanceSnapshotStatusesAcceptExtendedStates", + "internal/db/gorm::TestRuleGovernanceStore_AnnotatedCandidateWaitsUntilReviewAfter", + "internal/db/gorm::TestRuleGovernanceStore_GetLifecycleHealthAggregatesGovernanceTables", + "internal/db/gorm::TestRuleGovernanceStore_GetLifecycleHealthOmitsGlobalArbiterRunsForProjectScopedReads", + "internal/embedding::TestStatsWithCoverage_NoActiveMemories", + "internal/embedding::TestStoreStats_Empty", + "internal/graph::TestDangling_T016_DanglingEdgeReturnsFlag", + "internal/graph::TestPathC_T015_NodeCreatedAtTimestamp", + "internal/graph::TestPathC_T015_NodeTypedEdgeListFilter", + "internal/graph::TestPathC_T015_SkillNodeEdgeRoundtrip", + "internal/grpcserver::TestGetSessionStartContext_HappyPath", + "internal/grpcserver::TestGetSessionStartContext_RuleRouterEnabledPacketShape", + "internal/mcp::TestEC_F1_TagDerivedBackfill_T007", + "internal/mcp::TestHybridTG3_ConfidenceMin_FloorEnforced_T022", + "internal/worker::TestAuthHandlersLifecycle_DisabledAdminCanBeDemotedWithoutLastAdminError", + "internal/worker::TestAuthHandlersLifecycle_LastAdminDemoteRaceLeavesOneAdmin", + "internal/worker::TestCrystallizationIntegration_ConcurrentReplaySkipsDuplicateFingerprint", + "internal/worker::TestCrystallizationIntegration_DecisionsStoredWithCorrectFields", + "internal/worker::TestCrystallizationIntegration_PrivacyRedaction", + "internal/worker::TestHandleCreateBehavioralRule_Success", + "internal/worker::TestHandleListBehavioralRules_ProjectScope", + "internal/worker::TestHandleSetBehavioralRuleEnabled_Success", + "internal/worker/reaper::TestReaper_RespectsRetentionEnvVar" + ], + "intermittent_failure": { + "test": "internal/bulkops::TestRollback_Conflict_EC_F3", + "failed_repeats": [1, 3], + "passed_repeat": 2 + }, + "incomplete_terminal_records": [ + { "repeat": 1, "count": 1, "tests": ["internal/worker/reaper::TestReaper_StopsOnContextCancel"] }, + { "repeat": 2, "count": 3, "tests": ["internal/worker/reaper::TestReaper_PreservesUnexpired", "internal/worker/reaper::TestReaper_PurgesExpired", "internal/worker/reaper::TestReaper_StopsOnContextCancel"] }, + { "repeat": 3, "count": 0, "tests": [] } + ], + "unexpected_skips_each_repeat": 13, + "unexpected_skip_inventory": [ + "internal/db/gorm::TestMigrationsIntegration_AddsCommandsRunColumn", + "internal/grpcserver::TestCredentialDecryptRoundTripAfterMigration", + "internal/handlers/loom::TestCliWorker_ContextCancellation", + "internal/handlers/loom::TestCliWorker_EmptyStdoutTriggersRetry", + "internal/handlers/loom::TestCliWorker_EnvMerge", + "internal/handlers/loom::TestCliWorker_HappyPath", + "internal/handlers/loom::TestCliWorker_InvalidEnvKey", + "internal/handlers/loom::TestCliWorker_StderrCapture", + "internal/handlers/loom::TestCliWorker_Timeout", + "internal/redaction::TestEC_F5_FullRedactionRejected", + "internal/redaction::TestEC_F9_HotReloadNotSupported", + "internal/retrieval::TestIntegration_HybridWithVector", + "internal/worker::TestStaticEmbedIncludesUnderscoreNuxtChunks" + ], + "required_session_start_tests": { + "package": "github.com/thebtf/engram/internal/grpcserver", + "expected_each_repeat": 12, + "observed_each_repeat": 12, + "executed_each_repeat": 12, + "skipped_each_repeat": 0, + "missing_each_repeat": 0, + "duplicate_each_repeat": 0, + "incomplete_each_repeat": 0, + "failed_product_assertions_each_repeat": [ + "internal/grpcserver::TestGetSessionStartContext_HappyPath", + "internal/grpcserver::TestGetSessionStartContext_RuleRouterEnabledPacketShape" + ] + }, + "coverage": { + "overall_percent": [53.33, 53.35, 53.35], + "overall_floor": 60.0, + "failed_package_floors": { + "internal/handlers/loom": { "actual": [64.77, 64.77, 64.77], "floor": 70.0 }, + "cmd/engram": { "actual": [6.39, 6.39, 6.39], "floor": 10.0 }, + "cmd/engram-server": { "actual": [0.0, 0.0, 0.0], "floor": 10.0 }, + "internal/update": { "actual": [0.0, 0.0, 0.0], "floor": 20.0 }, + "internal/worker": { "actual": [46.77, 46.77, 46.77], "floor": 55.0 }, + "internal/mcp": { "actual": [46.23, 46.23, 46.23], "floor": 55.0 }, + "internal/db/gorm": { "actual": [49.10, 49.17, 49.17], "floor": 55.0 } + } + }, + "cleanup": { + "repeat_cleanup_exit_codes": [0, 0, 0], + "direct_sql_residual_databases": 0, + "direct_sql_residual_sessions": 0, + "compose_containers": 0, + "compose_volumes": 0, + "compose_networks": 0, + "shared_postgres_container_left_running": true + } + }, + "image_scan": { + "verdict": "FAIL_FINDINGS", + "exact_immutable_images": { + "operator-console": { "id": "sha256:d701b9ace90ed8b689f45b90fbdf87ed1c9b2a81b7a237fa5d7fd909405df9f9", "findings": 5 }, + "postgres": { "id": "sha256:d2ef61f42ef767baa5a1475393303cc235bcd92febd9d7014eddb48b41f3bad0", "findings": 20 }, + "server": { "id": "sha256:c75d6cd0fd5fd5a569d1c5c4eca0200e4c9de3374dbf7d316390c064af9e4bf0", "findings": 13 } + }, + "down_cleanup": "PASS", + "residual_resources_zero": true + }, + "openclaw": { + "verdict": "FAIL_MISSING_TRACKED_LOCK", + "executed_steps": 0, + "pre_surface_clean": true, + "post_surface_clean": true, + "cleanup": "PASS" + }, + "gitleaks_diagnostic": { + "implementation_diff_findings": 0, + "working_tree_no_git_findings": 62, + "ignored_runtime_evidence_findings": 48, + "existing_tracked_fixture_doc_script_findings": 14, + "redacted_report_sha256": "60FC8185A4E4207129D6076AF27C2E6E58922D34720A0E19C266C6BC7A3D6F42", + "routing": "Project-wide secret-negative classification remains release work; revision 5 introduced no implementation-diff finding." + }, + "routing": "Existing master-plan lanes own product/test/incomplete/coverage/image/OpenClaw/secret blockers. RELEASE-GATES does not allowlist, suppress, threshold-reduce, or patch them. v5-demolished graph paths remain classification-only." +} diff --git a/.agent/e/rg4/r5-maker/manifest.json b/.agent/e/rg4/r5-maker/manifest.json new file mode 100644 index 00000000..c1abe985 --- /dev/null +++ b/.agent/e/rg4/r5-maker/manifest.json @@ -0,0 +1,83 @@ +{ + "schema_version": 1, + "scope": "RELEASE-GATES revision 5 compact evidence", + "representation_contract": { + "name": "git-blob-lf", + "definition": "Exact bytes returned by git cat-file blob for the recorded object ID; LF line endings, no CR bytes, UTF-8 without BOM.", + "verification": "Resolve commit:path to the recorded blob OID, read the raw blob bytes, assert SHA256/byte count/zero CR/no BOM.", + "working_tree_bytes_are_not_authority": true + }, + "authority": { + "base": "4812589b9920c187a92a03d210d2e9d5eb53862f", + "primary_implementation_commit": "eb44a8e694c60856176c93c64080002231648b4b", + "superseded_evidence_commit": "135e4a0a180f112906e89c211f976ce519212347", + "effective_implementation_commit": "5dd3e3c4e2f87a52a44465d8a3a63d3b68a55f65", + "effective_implementation_parent": "135e4a0a180f112906e89c211f976ce519212347", + "final_evidence_commit": "SUPPLIED_OUT_OF_BAND_AFTER_COMMIT", + "final_evidence_parent_required": "5dd3e3c4e2f87a52a44465d8a3a63d3b68a55f65" + }, + "entries": [ + { + "path": ".github/workflows/test.yml", + "commit": "5dd3e3c4e2f87a52a44465d8a3a63d3b68a55f65", + "representation": "git-blob-lf", + "git_blob_oid_sha1": "c460afae38da5ee9c008b5273f4808fc961d91cf", + "sha256": "5AEABA51399575B1E12B13C4260BDA7BC476D36313D9ED1AFDC499D5013E3A50", + "bytes": 70106, + "cr_bytes": 0, + "utf8_bom": false + }, + { + "path": "scripts/production-gates/run-db-suite.ps1", + "commit": "5dd3e3c4e2f87a52a44465d8a3a63d3b68a55f65", + "representation": "git-blob-lf", + "git_blob_oid_sha1": "5740f1f0db48ad5299cc8649395ef77e3d5bcf6c", + "sha256": "61DC18574F07E45C573302D4D938C082D29E10876E2E56EEC51F20B3DA4902BD", + "bytes": 96079, + "cr_bytes": 0, + "utf8_bom": false + }, + { + "path": ".agent/e/rg4/r5-maker/report.md", + "commit": "FINAL_EVIDENCE_COMMIT", + "representation": "git-blob-lf", + "git_blob_oid_sha1": "50fc17b9a18eb8eaa6422f175d549a2000b49697", + "sha256": "D4E24193A128FEC73731D436493FB1B3383A7D207C38091E8ED2592C7D28EBC1", + "bytes": 8364, + "cr_bytes": 0, + "utf8_bom": false + }, + { + "path": ".agent/e/rg4/r5-maker/proof.json", + "commit": "FINAL_EVIDENCE_COMMIT", + "representation": "git-blob-lf", + "git_blob_oid_sha1": "6519b85899e7580dcb9efc5ed74e75b329034fd2", + "sha256": "9BC8EF996EB63E31FA1AA0C85B5A706150D9DE07804DC12B5300156C60667535", + "bytes": 8160, + "cr_bytes": 0, + "utf8_bom": false + }, + { + "path": ".agent/e/rg4/r5-maker/fail.json", + "commit": "FINAL_EVIDENCE_COMMIT", + "representation": "git-blob-lf", + "git_blob_oid_sha1": "2ed33d01dbf08f25584377fa3d7c7cb3ca632dbd", + "sha256": "D8038B65FE07AFDB4826CCC30617025B7114C9083E9BB492BE0112CBC4BF80B1", + "bytes": 6871, + "cr_bytes": 0, + "utf8_bom": false + } + ], + "entry_count": 5, + "excluded_from_manifest_entries": [ + { + "path": ".agent/e/rg4/r5-maker/manifest.json", + "reason": "A manifest cannot contain its own stable digest or blob OID." + }, + { + "path": ".agent/e/rg4/r5-maker/SHA256SUMS", + "reason": "SHA256SUMS hashes the finalized manifest and excludes itself, avoiding a checksum cycle." + } + ], + "self_hash_paradox": false +} diff --git a/.agent/e/rg4/r5-maker/proof.json b/.agent/e/rg4/r5-maker/proof.json new file mode 100644 index 00000000..6519b858 --- /dev/null +++ b/.agent/e/rg4/r5-maker/proof.json @@ -0,0 +1,164 @@ +{ + "schema_version": 1, + "scope": "RELEASE-GATES revision 5 maker evidence", + "authority": { + "base": "4812589b9920c187a92a03d210d2e9d5eb53862f", + "base_tree": "764fd987cc606754f037de0647f8a10e7080adc2", + "revision_4_checker_commit": "bd6af3dcd1fa0c2675102a1b91e7c59c8c7c85df", + "revision_4_checker_report_blob": "27519369cc3e5b79d5188eaf07026cb7076cec13", + "primary_implementation_commit": "eb44a8e694c60856176c93c64080002231648b4b", + "primary_implementation_parent": "4812589b9920c187a92a03d210d2e9d5eb53862f", + "superseded_evidence_commit": "135e4a0a180f112906e89c211f976ce519212347", + "effective_implementation_commit": "5dd3e3c4e2f87a52a44465d8a3a63d3b68a55f65", + "effective_implementation_parent": "135e4a0a180f112906e89c211f976ce519212347", + "effective_implementation_tree": "5f6465deaebcd0899e27af231550726f2adc37f6", + "canonical_plan_sha256": "d7bcfd122e456d9b764595524292d53b0c99447b7f716a1be0707341e4681bf9", + "branch": "work/prc-release-gates-revision5-maker", + "worktree": "D:/Dev/engram/.agent/worktrees/prc-release-gates-r5-maker" + }, + "implementation": { + "changed_paths": [ + ".github/workflows/test.yml", + "scripts/production-gates/run-db-suite.ps1" + ], + "workflow": { + "git_blob_oid": "c460afae38da5ee9c008b5273f4808fc961d91cf", + "representation": "git-blob-lf", + "sha256": "5AEABA51399575B1E12B13C4260BDA7BC476D36313D9ED1AFDC499D5013E3A50", + "bytes": 70106, + "cr_bytes": 0, + "utf8_bom": false + }, + "db_runner": { + "git_blob_oid": "5740f1f0db48ad5299cc8649395ef77e3d5bcf6c", + "representation": "git-blob-lf", + "sha256": "61DC18574F07E45C573302D4D938C082D29E10876E2E56EEC51F20B3DA4902BD", + "bytes": 96079, + "cr_bytes": 0, + "utf8_bom": false + } + }, + "foundation_gates": { + "selftests": { "command_exit": 0, "verdict": "PASS", "count": 9 }, + "workflow_conformance": { "command_exit": 0, "verdict": "PASS", "mutations_rejected": 44, "parser": "PowerShell AST" }, + "powershell_parse": { "command_exit": 0, "verdict": "PASS", "scope": "DB runner and extracted workflow conformance block" }, + "actionlint": { "command_exit": 0, "verdict": "PASS" }, + "diff_check": { "command_exit": 0, "verdict": "PASS" }, + "go_vet": { "command": "go vet ./...", "command_exit": 0, "verdict": "PASS" }, + "go_build": { "command": "go build ./...", "command_exit": 0, "verdict": "PASS" }, + "gitleaks_implementation_diff": { "command_exit": 0, "verdict": "PASS", "findings": 0, "base": "4812589b9920c187a92a03d210d2e9d5eb53862f", "head": "5dd3e3c4e2f87a52a44465d8a3a63d3b68a55f65" }, + "critical_suite": { + "command_exit": 0, + "verdict": "PASS", + "tests": 7, + "passed": 7, + "failed": 0, + "skipped": 0, + "raw_summary_sha256": "C696FEDF8898460DADC89871905AD73F69A0360E8764526584B80BFB4554754E" + }, + "ownership": { + "ledger": { "command_exit": 0, "verdict": "PASS", "slices": 48, "declarations": 325, "raw_sha256": "1711F32FE49412F5ED887952EE9ED84E8E62E655724F01B70F325170C775CB20" }, + "implementation_diff": { "command_exit": 0, "verdict": "PASS", "changed_paths": 7, "violations": 0, "raw_sha256": "2F1BDDD39288C8F6B929AF4F268E692E9F206AC8FADE28E51C12ECCF68B502D4" } + }, + "path_budget": { + "command_exit": 0, + "verdict": "PASS", + "tracked_paths": 1410, + "longest_combined_length": 166, + "ceiling": 240, + "violations": 0, + "raw_sha256": "F3BECD4CCDB0F08D9613CF2895E00B92BAC655F64DA0CCA70BB8AD39BE1638C5", + "fresh_checkout": { "root_length": 66, "core_longpaths": "UNSET", "head_exact": true, "clean": true, "cleanup": true } + } + }, + "database_gate": { + "run_id": "canonical-full-race-repeat3-r5-inventory-pin", + "command_exit": 1, + "verdict": "EXPECTED_PROJECT_RED", + "command_scope": "./... fresh database race repeat 3 fail-on-unexpected-skip full coverage", + "database_name_pattern": "engram_prc_rg_test_<16-lower-hex>_rN", + "required_package": "github.com/thebtf/engram/internal/grpcserver", + "required_session_start_execution": [ + { "repeat": 1, "verdict": "PASS", "expected": 12, "observed": 12, "executed": 12, "passed": 10, "failed": 2, "skipped": 0, "missing": 0, "duplicate": 0, "incomplete": 0, "raw_sha256": "0AF9EBDF4B242ED394D13CE4AB410F7A94E7A0A367B66BB0ABBF1C177DDD0316" }, + { "repeat": 2, "verdict": "PASS", "expected": 12, "observed": 12, "executed": 12, "passed": 10, "failed": 2, "skipped": 0, "missing": 0, "duplicate": 0, "incomplete": 0, "raw_sha256": "0AF9EBDF4B242ED394D13CE4AB410F7A94E7A0A367B66BB0ABBF1C177DDD0316" }, + { "repeat": 3, "verdict": "PASS", "expected": 12, "observed": 12, "executed": 12, "passed": 10, "failed": 2, "skipped": 0, "missing": 0, "duplicate": 0, "incomplete": 0, "raw_sha256": "0AF9EBDF4B242ED394D13CE4AB410F7A94E7A0A367B66BB0ABBF1C177DDD0316" } + ], + "project_results": { + "tests": [3516, 3516, 3516], + "passed": [3472, 3471, 3473], + "failed": [30, 29, 30], + "unexpected_skips": [13, 13, 13], + "incomplete": [1, 3, 0], + "coverage_percent": [53.33, 53.35, 53.35], + "overall_floor": 60.0, + "cleanup_exit": [0, 0, 0], + "sessions_before": [0, 0, 0], + "sessions_after": [0, 0, 0] + }, + "direct_residue": { "databases": 0, "sessions": 0, "compose_containers": 0, "compose_volumes": 0, "compose_networks": 0, "shared_postgres": "/engram-prc-postgres|pgvector/pgvector:pg17|true" }, + "raw_summary_sha256": "4B98F3D1E296440DFDC1A6023D4EDAE3B6D4B5255083DB666CC0B8CC8339BE15" + }, + "runtime": { + "dev_stand": { + "command_exit": 1, + "overall_verdict": "EXPECTED_SCAN_RED", + "source_commit": "5dd3e3c4e2f87a52a44465d8a3a63d3b68a55f65", + "source_tracked_clean": true, + "up": "PASS", + "ready": "PASS", + "scan": "FAIL_FINDINGS", + "down": "PASS", + "compose_build_completed": true, + "postgres_pull_completed": true, + "launch_no_build": true, + "prelaunch_running_scan_identity": true, + "credentials_distinct_injected_not_persisted": true, + "residual_resources_zero": true, + "images": { + "operator-console": { "id": "sha256:d701b9ace90ed8b689f45b90fbdf87ed1c9b2a81b7a237fa5d7fd909405df9f9", "findings": 5 }, + "postgres": { "id": "sha256:d2ef61f42ef767baa5a1475393303cc235bcd92febd9d7014eddb48b41f3bad0", "findings": 20 }, + "server": { "id": "sha256:c75d6cd0fd5fd5a569d1c5c4eca0200e4c9de3374dbf7d316390c064af9e4bf0", "findings": 13 } + }, + "raw_summary_sha256": "C76843F17D36BBF42427C86FE0A8CDD43F192C3F744EC03D8AAE3A84BF58D067", + "action_sha256": { + "up": "E67D4DC6FA06281E245680D1B3C34243BABF39E7BA4036AE767DE25D4A513A67", + "ready": "240F3D588C37D39B6C4F7AF60F3AEA5F5DE12D730355AC377A07A8CDCB4D84A5", + "scan": "7AA1CDBE7076E5E85D8A4AA798088029B9F6F29B79234B1B94AE2C9B2D8E24C8", + "down": "32F23A2587252A5AFB8BECCAAD0147AB8469C133564F748C1D0DC3BE936F3D17" + } + }, + "openclaw_matrix": { + "command_exit": 1, + "verdict": "EXPECTED_NEGATIVE", + "reason": "required plugin/openclaw-engram/package-lock.json is absent", + "executed_steps": 0, + "pre_surface_clean": true, + "post_surface_clean": true, + "cleanup": true, + "raw_summary_sha256": "5449C64632EF3B3A79EB3603CEA8B051DA52B25A861F2759F6B6DF3E61A745CE" + } + }, + "secret_diagnostic": { + "implementation_diff_findings": 0, + "working_tree_no_git_exit": 1, + "working_tree_no_git_findings": 62, + "ignored_runtime_findings": 48, + "existing_tracked_findings": 14, + "redacted_report_sha256": "60FC8185A4E4207129D6076AF27C2E6E58922D34720A0E19C266C6BC7A3D6F42" + }, + "environment": { + "os": "Microsoft Windows 10.0.26200", + "arch": "X64", + "go": "1.25.11 windows/amd64", + "powershell": "7.6.1", + "git": "2.51.1.windows.1", + "actionlint": "1.7.12", + "docker_client": "29.1.3", + "docker_server": "29.1.3", + "docker_compose": "2.40.3-desktop.1", + "core_autocrlf": true, + "core_longpaths": "UNSET" + }, + "maker_handoff": "READY_FOR_INDEPENDENT_CHECK", + "project_release_readiness": "BLOCKED" +} diff --git a/.agent/e/rg4/r5-maker/report.md b/.agent/e/rg4/r5-maker/report.md new file mode 100644 index 00000000..50fc17b9 --- /dev/null +++ b/.agent/e/rg4/r5-maker/report.md @@ -0,0 +1,110 @@ +# RELEASE-GATES Revision 5 Maker Evidence + +Maker verdict: `READY_FOR_INDEPENDENT_CHECK` for the release-gate foundation only. + +Project release verdict: `BLOCKED`. The gate now reports the current failures, skips, coverage deficits, image vulnerabilities, OpenClaw lock defect, and secret-scan classifications without converting them into success. + +## Authority + +- Challenged revision-4 candidate/base: `4812589b9920c187a92a03d210d2e9d5eb53862f` (tree `764fd987cc606754f037de0647f8a10e7080adc2`). +- Revision-4 independent checker: commit `bd6af3dcd1fa0c2675102a1b91e7c59c8c7c85df`, report blob `27519369cc3e5b79d5188eaf07026cb7076cec13`. +- Primary revision-5 implementation: `eb44a8e694c60856176c93c64080002231648b4b`, direct parent `4812589b9920c187a92a03d210d2e9d5eb53862f`. +- Superseded evidence commit: `135e4a0a180f112906e89c211f976ce519212347`. Its evidence predates the static pre-review correction and is not final authority. +- Static pre-review correction and effective implementation head: `5dd3e3c4e2f87a52a44465d8a3a63d3b68a55f65`, direct parent `135e4a0a180f112906e89c211f976ce519212347`, tree `5f6465deaebcd0899e27af231550726f2adc37f6`. +- Canonical plan SHA256: `d7bcfd122e456d9b764595524292d53b0c99447b7f716a1be0707341e4681bf9`. + +The branch is `work/prc-release-gates-revision5-maker` in `D:/Dev/engram/.agent/worktrees/prc-release-gates-r5-maker`. No merge, push, tag, release, or primary-worktree write was performed. + +## Closed false-green classes + +1. The workflow conformance gate now parses the PowerShell AST and proves the source-built compose invocation and each exact-image Docker Scout invocation are reachable, structurally correct, and present exactly once. Text in comments, strings, or unreachable blocks cannot satisfy the contract. +2. Fresh databases use an unambiguous test-only identity, `engram_prc_rg_test_<16-lower-hex>_rN`. Every repeat emits an exact execution proof for the required session-start package and rejects skip, missing, duplicate, incomplete, wrong-package, or substituted-test inventory. +3. Root static pre-review found that the first revision-5 self-test derived synthetic events from the same mutable inventory it challenged. Commit `5dd3e3c4...` fixed this by independently pinning the exact package and ordered 12-test list in both the runner self-test and workflow conformance. Permanent mutations now substitute one test identity and the package; both are rejected. + +No product failure, skip, coverage floor, vulnerability, or OpenClaw precondition was allowlisted or suppressed. No v5-demolished graph/rerank/scoring behavior was restored. + +## Foundation verification at effective implementation head + +| Gate | Exit | Result | +|---|---:|---| +| Nine production-gate self-tests | 0 | PASS 9/9 | +| Extracted workflow conformance | 0 | PASS; PowerShell AST; 44 mutations rejected | +| PowerShell parse: DB runner + extracted conformance block | 0 | PASS | +| actionlint | 0 | PASS | +| `git diff --check 4812589b...5dd3e3c4` | 0 | PASS | +| `go vet ./...` | 0 | PASS | +| `go build ./...` | 0 | PASS | +| gitleaks over both implementation files, base through effective head | 0 | PASS; 0 findings | +| Critical suite | 0 | PASS 7/7; skip=0 | +| Ownership Ledger | 0 | PASS; 48 slices, 325 declarations | +| Ownership Diff at code head | 0 | PASS; RELEASE-GATES; 7 changed paths, 0 violations | +| Windows tracked path budget | 0 | PASS; 1,410 paths, longest=166, ceiling=240 | +| Actual 66-character fresh checkout | 0 | PASS; exact head, clean, `core.longpaths=UNSET`, removed | + +Critical-suite raw summary SHA256: `C696FEDF8898460DADC89871905AD73F69A0360E8764526584B80BFB4554754E`. + +## Canonical full fresh-DB race proof + +The shared `engram-prc-postgres` PostgreSQL 17 + pgvector service was used without stopping or removing it: + +```powershell +$env:ENGRAM_TEST_ADMIN_DSN = 'postgres://@127.0.0.1:55432/postgres?sslmode=disable' +pwsh -NoProfile -File scripts/production-gates/run-db-suite.ps1 ` + -FreshDatabase -Package ./... -Race -FailOnUnexpectedSkip ` + -Repeat 3 -CoveragePolicy Full ` + -PostgresContainer engram-prc-postgres ` + -PostgresImage pgvector/pgvector:pg17 ` + -ArtifactRoot .agent/e/rg4/r5-maker/runtime ` + -RunId canonical-full-race-repeat3-r5-inventory-pin +``` + +The command exited 1 because the project is red, not because the release gate lost execution proof. + +- Required package: `github.com/thebtf/engram/internal/grpcserver`. +- Each repeat: expected=12, observed=12, executed=12, passed=10, failed=2, skipped=0, missing=0, duplicate=0, incomplete=0, proof verdict `PASS`. +- The two executed product failures were `TestGetSessionStartContext_HappyPath` and `TestGetSessionStartContext_RuleRouterEnabledPacketShape`. +- Fresh identities were `engram_prc_rg_test_fc4f603aeda0760d_r1`, `_r2`, and `_r3`. +- Tests observed: 3,516 / 3,516 / 3,516. +- Passed: 3,472 / 3,471 / 3,473. +- Failed: 30 / 29 / 30. Twenty-nine were stable; `internal/bulkops::TestRollback_Conflict_EC_F3` additionally failed in repeats 1 and 3. +- Unexpected skips: 13 / 13 / 13. +- General incomplete terminal records: 1 / 3 / 0; their exact identities are retained in `fail.json`. +- Overall coverage: 53.33% / 53.35% / 53.35%, below the immutable 60% floor. Seven package floors remain red. +- Cleanup exit: 0 / 0 / 0; targeted sessions before/after: 0 / 0 / 0. + +Direct post-run checks found zero `engram_prc_rg_test_%` databases, zero matching PostgreSQL sessions, and zero `engram-critical-stand` containers, volumes, or networks. The shared service remained `/engram-prc-postgres|pgvector/pgvector:pg17|true`. + +Canonical summary SHA256: `4B98F3D1E296440DFDC1A6023D4EDAE3B6D4B5255083DB666CC0B8CC8339BE15`. Each required-execution proof has SHA256 `0AF9EBDF4B242ED394D13CE4AB410F7A94E7A0A367B66BB0ABBF1C177DDD0316`. + +## Exact-head dev stand + +The lifecycle challenged clean source commit `5dd3e3c4e2f87a52a44465d8a3a63d3b68a55f65`. + +- Up PASS: compose build and PostgreSQL pull completed; launch used no build/pull; all prelaunch, tag, running, and scanned IDs matched; three generated credentials were distinct, runtime-injected, and not persisted. +- Ready PASS: direct and operator-proxied liveness/readiness endpoints returned HTTP 200 with the required semantic payloads. +- Scan correctly failed on immutable local image IDs: operator-console `sha256:d701b9ace90ed8b689f45b90fbdf87ed1c9b2a81b7a237fa5d7fd909405df9f9` = 5 findings; PostgreSQL `sha256:d2ef61f42ef767baa5a1475393303cc235bcd92febd9d7014eddb48b41f3bad0` = 20; server `sha256:c75d6cd0fd5fd5a569d1c5c4eca0200e4c9de3374dbf7d316390c064af9e4bf0` = 13. +- Down PASS: residual compose resources were zero. + +Lifecycle/up/ready/scan/down SHA256 values are recorded in `proof.json`. + +## Other release blockers + +- OpenClaw matrix exited 1 before npm execution because tracked `plugin/openclaw-engram/package-lock.json` is absent. Pre/post surfaces were clean and cleanup passed. +- Current whole-working-tree gitleaks diagnostic reports 62 findings: 48 in ignored raw runtime evidence from the two canonical diagnostic runs and 14 in existing tracked fixtures/docs/scripts. Its redacted report SHA256 is `60FC8185A4E4207129D6076AF27C2E6E58922D34720A0E19C266C6BC7A3D6F42`. This is release classification work; the revision-5 implementation diff itself has zero findings. +- Product failures, skips, incomplete records, coverage floors, image findings, OpenClaw lock, and secret classifications remain routed to their declared master-plan lanes. This maker did not repair or reclassify them. + +## Evidence integrity and changed paths + +`manifest.json` uses exact `git-blob-lf` bytes for both source files and the three compact evidence files. The manifest excludes itself and `SHA256SUMS`; `SHA256SUMS` hashes the finalized report, proof, fail inventory, and manifest while excluding itself. The final evidence commit cannot contain its own commit ID, so its exact SHA is supplied out of band and must have `5dd3e3c4...` as direct parent. + +Changed paths relative to the challenged base: + +- `.github/workflows/test.yml` +- `scripts/production-gates/run-db-suite.ps1` +- `.agent/e/rg4/r5-maker/report.md` +- `.agent/e/rg4/r5-maker/proof.json` +- `.agent/e/rg4/r5-maker/fail.json` +- `.agent/e/rg4/r5-maker/manifest.json` +- `.agent/e/rg4/r5-maker/SHA256SUMS` + +Independent checker and post-review remain mandatory. This maker handoff does not claim project production readiness. diff --git a/.agent/investigations/lightningcss-linux-native-missing/investigation.md b/.agent/investigations/lightningcss-linux-native-missing/investigation.md new file mode 100644 index 00000000..a95fcc8a --- /dev/null +++ b/.agent/investigations/lightningcss-linux-native-missing/investigation.md @@ -0,0 +1,82 @@ +# Investigation: Lightning CSS Linux native binding missing after successful npm ci + +Status: RESOLVED_IMPLEMENTATION_IMAGE_GATE_PENDING + +## Problem + +Observed: an exact-head Linux/amd64 Docker image gate ran `npm ci`, reported 839 packages and exit 0, then Nuxt failed with `Cannot find module '../lightningcss.linux-x64-gnu.node'`. + +Expected: a successful clean lock install must either materialize every build-required native package or fail before the build consumes it. + +When it started: intermittent on exact commit `9282f324`; the immediately preceding exact commit `5722882e` built from the same package manifest/lock and passed with 840 packages. + +Known failed attempts: + +1. Explicit exact `npm install --no-save --package-lock=false` after the injected omission failed with npm 10 `ERR_INVALID_ARG_TYPE` because Arborist consumed the inconsistent hidden lock. +2. Restoring the committed root lock and deleting the hidden lock before exact install did not complete within 300 seconds. Those attempted Dockerfile/test changes were fully reverted before the final class-level implementation. + +Constraints: retain reproducible locked builds; do not make a Linux-only package a required root dependency that breaks Windows development; do not accept a blind retry as proof; no secret or deployment scope expansion. + +## Contradiction + +The committed lock fully contains `lightningcss-linux-x64-gnu@1.32.0`, the builder is linux/x64 with optional packages enabled, and `npm ci` exits 0; nevertheless npm can produce a 839-package tree with that exact runtime-required binding absent. + +## Evidence Ledger + +| Fact ID | Claim | Source | Evidence tag | Iteration | +|---|---|---|---|---| +| F1 | Exact gate `5722882e` passed with 840 packages and complete runtime/cleanup proof. | `.agent/tmp/image-gate-5722882e/final-image-set.json` and build log | DIRECT | 1 | +| F2 | Exact gate `9282f324` failed after npm installed 839 packages with exit 0; Nuxt emitted the exact missing GNU native module stack. | `.agent/tmp/image-gate-9282f324/server/build.log` | DIRECT | 1 | +| F3 | The commits have byte-identical operator package manifest/lock inputs. | `git diff --name-status 5722882e..9282f324` | DIRECT | 1 | +| F4 | The lock contains Lightning CSS 1.32.0, all eleven platform packages, and the Linux x64 GNU parent edge/package. | structural JSON query over `package-lock.json` | DIRECT | 1 | +| F5 | Two clean pinned Node 22 builder containers report linux/x64, npm 10.9.8, empty omit config, 840 packages, and successful native resolution. | disposable Docker probes | DIRECT | 1 | +| F6 | Making only the target native tarball unreachable yields 839 packages, npm exit 0, then the identical missing-module stack. | disposable target-only lock probe | DIRECT | 1 | +| F7 | npm Arborist intentionally marks failed optional platform packages inert; npm #4828/#8320 document silent platform-package omission, including npm 10/11; Lightning CSS #567 links this exact stack to the class. | Context7 `/npm/cli`; official GitHub issues via Parallel | DIRECT EXTERNAL | 1 | +| F8 | The failed gate cleaned its build context, secret files, containers, volumes, and networks. | FAIL manifest plus live prefix inventory | DIRECT | 1 | +| F9 | Full SocratiCode graph was unavailable in the bounded window; partial embedding stalled near 55%, and Engram semantic fallback returned zero results. | live tool status/results | TOOL BLOCKER | 1 | +| F10 | aimux independent reasoning was unavailable due non-retryable Loom SQLite capability mismatch. | live aimux result | TOOL BLOCKER | 1 | +| F11 | Nine locked parent packages rely on platform-specific Linux x64 optional binaries; a Lightning-only repair would leave the failure class open. | structural lock query | DIRECT | 2 | +| F12 | npm 10.9.8 officially retries idempotent registry reads on network/5xx errors; defaults are two retries, factor 10, 10s minimum and 60s maximum delay. | official npm 10 config via Parallel | DIRECT EXTERNAL | 2 | +| F13 | Node 22 diagnostic report exposes `header.glibcVersionRuntime`, enabling runtime selection of glibc versus musl lock entries. | official Node 22 docs via Context7 | DIRECT EXTERNAL | 2 | +| F14 | The final verifier rejects the injected 839-package tree with `lightningcss-linux-x64-gnu: missing (expected 1.32.0)` before Nuxt. | disposable target-only lock probe plus `verify-native-optional-deps.mjs` | DIRECT | 3 | +| F15 | A clean pinned Node 22/npm 10.9.8 Linux/glibc install materializes 840 packages and the verifier checks 12 applicable optional-native packages. | disposable Docker positive probe | DIRECT | 3 | +| F16 | Hostile self-tests cover missing package, wrong version, OS-only/CPU-only constraints, CPU exclusion, x64 and ARM glibc/musl selection, and cleanup. | `node apps/operator-console/scripts/verify-native-optional-deps.mjs --self-test` | DIRECT | 3 | +| F17 | The full critical runner passes 201/201 with zero skips, zero non-zero child commands, portable paths, and zero disposable-DB residue. | `sol-synthesis-20260713-observability-r2/summary.json` plus live residue/path scans | DIRECT | 3 | +| F18 | One absolute path remained in the nested parser stdout after the first green run; changing the parser to emit `ConvertTo-EvidencePath` and rerunning removed every drive-letter match. | first and replacement critical evidence scans | DIRECT NEGATIVE/POSITIVE | 3 | + +## Mosaic Board + +| Hypothesis | Prediction | Probe | Direct/Proxy | Status | Explains | Does not explain | Next gap | +|---|---|---|---|---|---|---|---| +| H1: committed lock omits the target | target key/edge absent | structural lock parse | Direct | REFUTED | none | F4 | none | +| H2: target fetch/extract can fail silently because npm treats the binding as optional | target-only failure gives npm exit 0 + 839 + same stack | injected target URL probe | Direct | CONFIRMED | F2, F4, F6, F7 | exact external cause of the original one-off fetch failure | runtime/log policy | +| H3: wrong OS/CPU or omit config | builder reports mismatch or omit=optional | two clean pinned containers | Direct | REFUTED | none | F5 | none | +| H4: advisory guard changed dependency inputs | package files differ between heads | exact git diff | Direct | REFUTED | none | F3 | none | +| H5: exact post-ci install can safely repair the missing binding in-place | injected omission is repaired and require passes | two repair probes | Direct | REFUTED for npm 10 in-place Arborist route | attempted recovery | ERR_INVALID_ARG_TYPE / timeout | choose fail-closed policy or different architecture | + +## Iteration Log + +| Iteration | New evidence | Decision | Next route | +|---|---|---|---| +| 1 | F1-F10; H2 confirmed, H1/H3/H4 refuted; two in-place repair routes failed | CONTINUE | Decide between bounded fetch resilience plus immediate required-binding assertion, or a larger build dependency architecture change. Do not retry the failed install route. | +| 2 | F11-F13; package-specific recovery rejected in favor of lock-driven class guard | DECIDE | Implement bounded registry retries plus a general exact platform-native tree verifier; no post-ci install or hidden-lock mutation. | +| 3 | F14-F18; injected negative, clean positive, hostile self-test, and full critical acceptance all pass | RESOLVE IMPLEMENTATION | Commit the batch, then rerun the exact-commit clean image gate that originally exposed the defect. | + +## Decision + +DECISION: FIX_PATH + +Root cause at the project boundary is confirmed: the Docker build equates npm success with a complete platform-native tree even though npm intentionally allows an optional native fetch to fail. The exact upstream/network reason for the original single fetch failure is no longer observable because npm hid it and the failed layer is gone; that unknown does not change the reproduced boundary defect. + +Implement a class-level build invariant: + +1. Keep `npm ci` as the immutable lock installer, explicitly include optional packages, and use five bounded idempotent-fetch retries with factor 2 and 1s/30s delay bounds. +2. Immediately run a lock-driven verifier that selects every optional package applicable to the current OS, CPU, and Linux libc; require its installed `package.json` and exact locked version. +3. Fail with the exact missing/mismatched package list before Nuxt starts. Do not mutate the root/hidden lock and do not run a second npm install. +4. The verifier owns deterministic hostile self-tests for missing package, wrong version, platform/CPU exclusion, and glibc/musl selection. The critical Go contract executes that self-test and binds the Dockerfile invocation/retry policy. + +This path does not pretend a permanently unavailable registry can produce a build. It makes transient recovery bounded and converts npm's false-success tree into an explicit, early, class-wide failure. Follow-up route: TDD implementation, exact injected omission replay, clean operator build, then the full image gate. + +## Resolution + +The class-level invariant is implemented and accepted at the source/test boundary. The Dockerfile uses immutable `npm ci --include=optional` with bounded fetch retries and invokes the verifier before copying the rest of the application. The verifier derives applicable packages from the committed lock instead of hard-coding Lightning CSS. The original failure shape and the clean positive shape both have direct runtime proof. Release acceptance remains deliberately open until the clean exact-commit image gate passes. diff --git a/.agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json b/.agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json new file mode 100644 index 00000000..ff1ffcdc --- /dev/null +++ b/.agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json @@ -0,0 +1,1616 @@ +{ + "schema_version": 1, + "kind": "production-ready-active-diff-contracts", + "revision": 12, + "authority": { + "plan_path": ".agent/plans/2026-07-10-engram-production-ready-master-plan.md", + "scope_map_path": ".agent/plans/2026-07-10-engram-production-ready-scope-map.json", + "ownership_state_path": ".agent/plans/2026-07-10-engram-production-ready-ownership-state.json", + "rejected_r8_head": "406fe952c143eb8aaf5895427c568a41d4cec225", + "r8_scope_provenance_sha256": "ab5f882fa110ca823a317061ecbca0c62516702735325893a56206f9e7a29415", + "rejected_r9_plan_head": "8cb810095b2bea77ab9812832d9ab8a99c928d18", + "rejected_r9_release_head": "f11a77cce88f013839e22662458a3318670445e9", + "r9_checker_commit": "0354362c427d99eb2993e5acddeb9d5bcd561df7", + "r9_checker_verdict": "REVISE_2_HIGH_1_MED", + "r9_disposition": "PRESERVE_PLAN_GOVERNANCE_A_AND_RELEASE_GATES_B_AS_REJECTED_HISTORY", + "r11_required_base": "af1ed63536829916e0477be719a30a57a8d9227a", + "rejected_a11_head": "887b7c6144a09829a1a3f43ff5a19d3fb27fb7c1", + "a11_checker_verdict": "REJECT_HOLD_COMMITTED_MANIFEST_FIXED_POINT", + "a11_fixed_point_evidence": ".agent/specs/release-gates-r12/evidence/plan-governance/fixed-point-proof.json", + "a11_fixed_point_evidence_sha256": "bb5826b71a6d4fc5b30894825423b001a399c88b1a0b263e36552a7ee828ee4b", + "r12_required_base": "887b7c6144a09829a1a3f43ff5a19d3fb27fb7c1", + "rejected_b32": "b32f352ad4574cdba9acf93906bd38d49c8fabb5", + "rejected_b32_checker": "a2737a6922faf263b2da5b69d8f54c7ad787cbd9", + "rejected_r10_replacement": "969c06703245233103518ad4e9fc725856326ce9", + "rejected_r10_checker": "f829b3ac6977bfda34ef85f7b0cdbacf935e9a3a", + "r10_checker_verdict": "REVISE_HOLD_CONTROL_PLANE_MAINTENANCE_DEADLOCK", + "rejected_image_r1_head": "b7f8ff7b9efe826cefdc665894761783a6876676", + "rejected_image_r1_checker": "e1c3accacdabcfe50d3e72b8d5d7427caab9ec6f", + "image_r1_checker_verdict": "REVISE_3_HIGH_1_MED", + "image_r1_root_review_artifact": ".agent/reviews/2026-07-11-image-remediation-r1-post-review.md", + "image_r1_root_review_sha256": "3f4bc94f24d614b91c3015f1555f1e435e261b4154831d45ec8688e85c003a17", + "rejected_document_r1_head": "63775eb30f5cc01a843cee074d41dbe87439904b", + "rejected_document_r1_checker": "26938199ccdc682295211d16dd736430419cf4ab", + "document_r1_checker_verdict": "REVISE_1_HIGH_1_MED_1_LOW", + "document_r1_root_review_artifact": ".agent/reviews/2026-07-11-document-ingest-public-truth-r1-post-review.md", + "document_r1_root_review_sha256": "21cff0566ad063001d607ddc0a62319a9dd84a7c5cc1dd1cbc0516fc2ee612c5", + "rejected_document_r2_head": "efe1ab5041c514f1a7d9ee8b36e07e5150cfc8e0", + "rejected_document_r2_checker": "f3bba8815c97cf2000e46fdb2fbe1414d61a6264", + "document_r2_checker_verdict": "REVISE_1_HIGH_NON_ATOMIC_REMOVE", + "document_r2_checker_report_sha256": "94843cabaf3a25b207ba6dd83bd975eff64e9861f4d4cf6d4dc0de002ace938b", + "document_r2_root_review_artifact": ".agent/reviews/2026-07-12-document-r2-checker-post-review.md", + "document_r2_root_review_sha256": "3566074d1d94acb62781d1623a1786c5641412547d647876022f9ca8848ec4fc" + }, + "source_audit": { + "mutable_register_path": ".agent/reports/production-readiness-evidence-register.json", + "observed_sha256": "29865adc048cb3f64ec7d133b3bd901c95115e4ae5b95c98927607de889f77d4", + "observed_updated_at": "2026-07-11T00:23:18.8583196+03:00", + "use": "discovery-only; never required by the frozen CI gate" + }, + "digest_contract": { + "algorithm": "SHA-256", + "serialization": "ordinally sorted normalized repository paths, one UTF-8 path plus LF per entry", + "path_case": "ordinal-case-sensitive" + }, + "external_enforcement": { + "repository": "thebtf/engram", + "owner_type": "User", + "visibility": "PUBLIC", + "default_branch": "main", + "observed_ruleset_id": 13610955, + "observed_ruleset_enforcement": "active", + "observed_rules": [ + "deletion", + "non_fast_forward" + ], + "required_status_activation": "PENDING_POST_R12_BOOTSTRAP_TRANSITION", + "required_status_context": "authority-guard", + "required_status_integration_id": 15368, + "required_status_app_slug": "github-actions", + "reject_context_name_only_or_untrusted_integration": true, + "strict_required_status_checks_policy": true, + "bootstrap_contract": "merge the independently accepted R12 A12/B12 chain onto main, observe the same authority-guard context on ordinary and maintenance fixtures, then model and later apply monotonic strict required-status activation; capture exact pre/post ruleset JSON and blocked protected-path proof", + "recovery_actor": { + "actor_id": 7106373, + "actor_type": "User", + "actor_login": "thebtf", + "bypass_mode": "pull_request", + "direct_push_bypass": false, + "exempt": false + }, + "required_status_identity_negatives": [ + "missing integration_id", + "null integration_id", + "wrong integration_id", + "same context from an untrusted app or status producer" + ], + "forbidden_transitions": [ + "ruleset disable", + "ruleset removal", + "required status removal", + "direct-push bypass", + "exempt bypass", + "force push" + ] + }, + "control_plane_maintenance": { + "schema_version": 2, + "manifest_container_path": ".agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json", + "manifest_property": "control_plane_maintenance.transition_manifest", + "current_validator_path": "scripts/production-gates/assert-pr-authority-guard.ps1", + "maintenance_validator_path": "scripts/production-gates/assert-pr-authority-maintenance.ps1", + "active_epoch": { + "epoch": "r12-0001", + "state": "open", + "reason": "self-reference-free control-plane evolution after rejected A11", + "not_before": "2026-07-11T00:00:00Z", + "expires_at": "2026-10-09T00:00:00Z", + "max_manifest_ttl_seconds": 86400, + "approval": { + "actor_login": "thebtf", + "actor_id": 7106373, + "actor_type": "User", + "association": "OWNER", + "label": "authority-maintenance:r12-0001", + "approval_epoch": "r12-0001" + }, + "exact_changes": [ + {"status":"M","path":".agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json"}, + {"status":"M","path":".agent/plans/2026-07-10-engram-production-ready-master-plan.md"}, + {"status":"M","path":".agent/plans/2026-07-10-engram-production-ready-ownership-state.json"}, + {"status":"M","path":".agent/plans/2026-07-10-engram-production-ready-scope-map.json"}, + {"status":"M","path":".github/workflows/authority-guard.yml"}, + {"status":"M","path":".github/workflows/test.yml"}, + {"status":"M","path":"scripts/production-gates/assert-active-candidate-path-authority.ps1"}, + {"status":"M","path":"scripts/production-gates/assert-pr-authority-guard.ps1"}, + {"status":"M","path":"scripts/production-gates/assert-pr-authority-maintenance.ps1"} + ] + }, + "consumed_epochs": [], + "transition_manifest": null, + "manifest_binding_policy": { + "committed_manifest_required_fields": [ + "event_base_sha", + "approval_epoch", + "successor_epoch", + "created_at", + "expires_at", + "exact_changes", + "current_validator_blobs", + "successor_validator_blobs", + "protected_head_blobs_except_manifest_container" + ], + "committed_manifest_forbidden_self_references": [ + "event_head_sha", + "manifest_container_git_blob" + ], + "manifest_container_excluded_from_protected_head_blobs": true, + "all_other_protected_head_blobs_required": true, + "canonical_manifest_sha256_required": true, + "external_mutable_payload_is_sole_authority": false + }, + "trusted_execution_artifact_policy": { + "producer": "trusted base pull_request_target validator", + "required_fields": [ + "event_base_sha", + "event_head_sha", + "manifest_container_git_blob", + "canonical_manifest_sha256", + "trusted_validator_git_blob", + "required_status_context", + "required_status_integration_id", + "required_status_app_slug" + ], + "binds_actual_event_head_after_checkout": true, + "binds_actual_manifest_container_blob_after_checkout": true, + "candidate_artifact_is_data_only": true + }, + "lifecycle_policy": { + "states": ["active", "consumed", "expired"], + "initial_state": "active", + "active_to_consumed_requires_accepted_exact_transition": true, + "active_to_expired_occurs_at_epoch_expiry": true, + "consumed_or_expired_epoch_cannot_reopen": true, + "successor_epoch_must_be_monotonic_and_new": true, + "max_epoch_lifetime_seconds": 7776000, + "rotate_before_expiry_seconds": 604800, + "automatic_extension": false, + "expired_epoch_reseed_requires_audited_pr_only_recovery_actor": true + }, + "replay_policy": { + "strict_latest_base": true, + "require_event_base_equals_current_default_branch": true, + "require_consumed_epoch_transition": true, + "require_bounded_successor_epoch": true, + "two_pr_race_loser_must_be_stale": true, + "new_base_rejects_consumed_epoch": true + }, + "head_execution_policy": { + "pull_request_target_executes_trusted_base_only": true, + "head_workflow_and_script_bytes_are_data_only": true, + "pull_request_successor_selftest_is_unprivileged": true, + "pull_request_successor_selftest_uses_secrets": false, + "trusted_execution_artifact_required": true, + "candidate_supplied_execution_artifact_forbidden": true + } + }, + "macro_batches": { + "schema_version": 1, + "source": { + "path": ".agent/specs/release-gates-r12/evidence/plan-governance/challenge-report.json", + "sha256": "645bfc6817fe0f723df11398ee048bb1cfac004264cfa045d444289c51681e06", + "artifact_candidate": "69b4b871911a84f82ba5050d4d567bdac39a8767", + "source_candidate": "fef455bcf640f849c2d40c9bc26a459b5593e10a", + "verdict": "feasible" + }, + "slice_cardinality_before": 69, + "slice_cardinality_after": 69, + "grouped_existing_slice_count": 43, + "acceptance_unit": "one immutable macro head plus one fresh maker-distinct checker and root post-review", + "internal_commits_are_separate_acceptance_units": false, + "dependency_order": [ + "MB0_CONTROL_SUPPLY_PUBLIC", + "MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY", + "MB2_RUNTIME_SECURITY_PRIVACY_AND_V7", + "MB3_DELIVERY_OPERATIONS_UI_CUSTOMER_AND_COVERAGE", + "M5_PUBLISHED_POST_RELEASE_PROVED", + "MB4_NORTHSTAR_CONTRACT_FREEZE" + ], + "batches": [ + { + "id": "MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY", + "branch": "work/prc-data-integrity-macro-batch", + "base_anchor": "fef455bcf640f849c2d40c9bc26a459b5593e10a", + "dependencies": ["exact:fef455bcf640f849c2d40c9bc26a459b5593e10a"], + "accepted_predecessors": [], + "makers": [ + "DB-GOVERNANCE", + "DB-RULES-ISOLATION", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "INGEST-DOC-SNAPSHOT-DEMOLITION", + "MCP-STRUCTURED-INPUT-VALIDATION", + "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS", + "RETRIEVAL-VECTOR-CONTRACT", + "STATIC-EMBED-CONTRACT", + "PRE-V5-UPGRADE-CONTRACT" + ] + }, + { + "id": "MB2_RUNTIME_SECURITY_PRIVACY_AND_V7", + "branch": "work/prc-runtime-security-v7-macro-batch", + "dependencies": ["MB0_CONTROL_SUPPLY_PUBLIC", "MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY", "accepted:DB-AUTH"], + "accepted_predecessors": ["DB-AUTH"], + "makers": [ + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES", + "PRIVACY-BOUNDARIES", + "REDACTION-LIVE-CONTRACT", + "OBSERVABILITY-OTLP", + "S4B-CONTRACT", + "V7-S4B-BACKEND", + "V7-CORE-CALLPATH", + "V7-TELEMETRY-WIRING", + "V7-RUNTIME-WIRING" + ] + }, + { + "id": "MB3_DELIVERY_OPERATIONS_UI_CUSTOMER_AND_COVERAGE", + "branch": "work/prc-delivery-operations-experience-macro-batch", + "dependencies": ["MB0_CONTROL_SUPPLY_PUBLIC", "MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY", "MB2_RUNTIME_SECURITY_PRIVACY_AND_V7"], + "accepted_predecessors": ["IMAGE-REMEDIATION-R2"], + "makers": [ + "DEPLOYMENT-ROLLBACK", + "RECOVERY-DATA", + "UPDATE-LIFECYCLE", + "OPENCLAW-RELEASE", + "LAUNCHER-FIRST-RUN", + "CRITICAL-HARNESS", + "OC-INTEGRATION", + "ROADMAP-RECONCILIATION", + "CORE-PUBLIC-TRUTH", + "COVERAGE-CMD-ENGRAM", + "COVERAGE-CMD-SERVER", + "COVERAGE-UPDATE", + "COVERAGE-WORKER", + "COVERAGE-MCP", + "COVERAGE-GORM", + "COVERAGE-LOOM" + ] + }, + { + "id": "MB4_NORTHSTAR_CONTRACT_FREEZE", + "branch": "work/prc-northstar-contracts-macro-batch", + "dependencies": ["M5_PUBLISHED_POST_RELEASE_PROVED"], + "accepted_predecessors": [], + "contract_makers": [ + "NORTHSTAR-CI-A-CONTRACTS", + "NORTHSTAR-CI-B-CONTRACTS", + "NORTHSTAR-BOOK-CONTRACTS", + "NORTHSTAR-MEM-CONTRACTS", + "NORTHSTAR-EFFECTIVENESS-CONTRACTS", + "NORTHSTAR-SETTINGS-CONTRACTS" + ], + "exact_disjoint_contract_path_count": 31 + } + ], + "collision_serialization": [ + { + "paths": ["internal/db/gorm/candidate_store.go", "internal/db/gorm/candidate_store_test.go"], + "source_order": ["DB-GOVERNANCE", "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK"], + "effective_order": ["CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK"], + "resolution": "R12 narrows DB-GOVERNANCE to four rule-governance paths; Candidate Review is the sole effective writer" + }, + { + "paths": ["internal/db/gorm/user_store.go"], + "effective_order": ["DB-AUTH", "AUTH-BOOTSTRAP-SECURITY", "DURABLE-AUDIT-BOUNDARIES"] + }, + { + "paths": ["internal/worker/auth_handlers.go"], + "effective_order": ["DB-AUTH", "AUTH-BOOTSTRAP-SECURITY", "DURABLE-AUDIT-BOUNDARIES"] + }, + { + "paths": ["internal/worker/service.go"], + "effective_order": ["AUTH-BOOTSTRAP-SECURITY", "REDACTION-LIVE-CONTRACT", "V7-RUNTIME-WIRING"] + }, + { + "paths": ["internal/db/gorm/memory_store.go"], + "effective_order": ["DB-RULES-ISOLATION", "PRIVACY-BOUNDARIES"], + "resolution": "MB1 centralizes literal LIKE escaping before the dependent MB2 privacy owner; one macro boundary separates the writers" + }, + { + "paths": ["docker-compose.yml", "deploy/docker-compose.runtime.yml"], + "effective_order": ["IMAGE-REMEDIATION-R2", "DEPLOYMENT-ROLLBACK"] + }, + { + "paths": ["docs/DEPLOYMENT.md", "docs/PRODUCTION-TESTING-PLAYBOOK.md"], + "effective_order": ["IMAGE-REMEDIATION-R2", "CORE-PUBLIC-TRUTH"] + } + ], + "undeclared_overlap_allowed": false, + "member_branch_override_allowed": false + }, + "release_blockers": { + "db_repeat3": "BLOCKED_0_OF_3", + "image_scans": "BLOCKED_SERVER_5_POSTGRES_20_OPERATOR_13_HIGH_OR_CRITICAL", + "image_publication": "BLOCKED_REJECTED_R1_REQUIRES_R2_WRITER_CENSUS_PREFLIGHT_SERIALIZATION_READBACK", + "document_public_truth": "BLOCKED_REJECTED_R1_REQUIRES_R2_END_TO_END_CONTRACT" + }, + "demolition_guard": { + "disposition": "PRESERVE_V5_EXCLUSIONS", + "excluded_systems": [ + "graph stage", + "cross-encoder rerank", + "internal/search scoring passes", + "SDK observation extraction", + "server-side MCP HTTP transports" + ] + }, + "status_classes": { + "current": [ + "current-checker-active", + "current-ready", + "current-ready-for-check", + "current-ready-with-concerns" + ], + "rejected": [ + "rejected-evidence-revision", + "rejected-historical", + "rejected-release-gates-r9", + "rejected-security-r3" + ], + "pending": [ + "current-candidate-pending-checker", + "current-maker-in-progress", + "current-rework-ready" + ] + }, + "pending_namespaces": [ + { + "slice": "DB-TEST-POOL-HYGIENE", + "plan_owner": "DB-TEST-POOL-HYGIENE", + "status_class": "current-candidate-pending-checker", + "branch": "work/prc-db-test-pool-hygiene-evidence-r3", + "base_anchor": "68242c48aaad62ec087166eeb9ea32f14d189450", + "forbidden_base": "a7b2d36b3f0a4514b51dddf341877f5b4b9721d9", + "candidate_head": "331b5b195a967e7f27dca94038a3480c9afcc84f", + "candidate_tree": "12674bf76404a0e021a22d3dc7aa4d5ed3763ee0", + "candidate_state": "IMMUTABLE_PENDING_CHECKER_AND_ROOT_ACCEPTANCE", + "exact_paths": [ + ".agent/reports/2026-07-11-db-test-pool-hygiene-evidence-revision3-maker.md", + ".agent/reports/evidence/production-ready/db-test-pool-hygiene/Build-DBPoolHygieneEvidence.ps1", + ".agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.evidence-r3.json", + ".agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.final.json", + ".agent/reports/evidence/production-ready/db-test-pool-hygiene/MANIFEST.json", + ".agent/reports/evidence/production-ready/db-test-pool-hygiene/SHA256SUMS.txt", + ".agent/reports/evidence/production-ready/db-test-pool-hygiene/Test-DBPoolHygieneEvidenceAdversarial.ps1", + ".agent/reports/evidence/production-ready/db-test-pool-hygiene/Verify-DBPoolHygieneEvidence.ps1", + ".agent/reports/evidence/production-ready/db-test-pool-hygiene/adversarial-proof.json", + ".agent/reports/evidence/production-ready/db-test-pool-hygiene/verifier-proof.json" + ], + "release_accepted": false + }, + { + "slice": "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12", + "plan_owner": "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12", + "status_class": "current-maker-in-progress", + "branch": "work/prc-release-gates-r12-authority-db-isolation", + "base_anchor": "887b7c6144a09829a1a3f43ff5a19d3fb27fb7c1", + "rejected_predecessor": { + "head": "887b7c6144a09829a1a3f43ff5a19d3fb27fb7c1", + "verdict": "REJECT_HOLD_COMMITTED_MANIFEST_FIXED_POINT", + "evidence": ".agent/specs/release-gates-r12/evidence/plan-governance/fixed-point-proof.json", + "evidence_sha256": "bb5826b71a6d4fc5b30894825423b001a399c88b1a0b263e36552a7ee828ee4b" + }, + "forbidden_bases": [ + "b32f352ad4574cdba9acf93906bd38d49c8fabb5", + "a2737a6922faf263b2da5b69d8f54c7ad787cbd9", + "969c06703245233103518ad4e9fc725856326ce9", + "f829b3ac6977bfda34ef85f7b0cdbacf935e9a3a" + ], + "commit_envelope": { + "a12": { + "required_parent": "887b7c6144a09829a1a3f43ff5a19d3fb27fb7c1", + "role": "governance", + "exact_paths": [ + ".agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json", + ".agent/plans/2026-07-10-engram-production-ready-master-plan.md", + ".agent/plans/2026-07-10-engram-production-ready-ownership-state.json", + ".agent/plans/2026-07-10-engram-production-ready-scope-map.json", + ".agent/reports/2026-07-11-release-gates-r12-plan-governance.md", + ".agent/specs/release-gates-r12/evidence/plan-governance/R12-PLAN-GOVERNANCE.red.json", + ".agent/specs/release-gates-r12/evidence/plan-governance/authority-snapshot.json", + ".agent/specs/release-gates-r12/evidence/plan-governance/boundary.json", + ".agent/specs/release-gates-r12/evidence/plan-governance/challenge-report.json", + ".agent/specs/release-gates-r12/evidence/plan-governance/fixed-point-proof.json", + ".agent/specs/release-gates-r12/evidence/plan-governance/gates-summary.json", + ".agent/specs/release-gates-r12/evidence/plan-governance/ledger.json", + ".agent/specs/release-gates-r12/evidence/plan-governance/path-envelope.json", + ".agent/specs/release-gates-r12/evidence/plan-governance/test-r12-plan-governance.ps1", + ".agent/specs/release-gates-r12/evidence/plan-governance/verification-summary.json" + ] + }, + "b12": { + "required_parent": "A12_IMMUTABLE_HEAD", + "role": "implementation", + "exact_paths": [ + ".agent/reports/2026-07-11-release-gates-r12-maker.md", + ".agent/specs/release-gates-r12/evidence/release-gates/R12-AUTHORITY-MAINTENANCE.red.json", + ".agent/specs/release-gates-r12/evidence/release-gates/R12-AUTHORITY-MAINTENANCE.tdd.json", + ".agent/specs/release-gates-r12/evidence/release-gates/critical-suite-summary.json", + ".agent/specs/release-gates-r12/evidence/release-gates/fresh-clones.json", + ".agent/specs/release-gates-r12/evidence/release-gates/gates-summary.json", + ".agent/specs/release-gates-r12/evidence/release-gates/linux-harness.json", + ".agent/specs/release-gates-r12/evidence/release-gates/maintenance-simulation.json", + ".agent/specs/release-gates-r12/evidence/release-gates/path-budget.json", + ".agent/specs/release-gates-r12/evidence/release-gates/prove-it.json", + ".agent/specs/release-gates-r12/evidence/release-gates/ruleset-model.json", + ".agent/specs/release-gates-r12/evidence/release-gates/security-review.md", + ".agent/specs/release-gates-r12/evidence/release-gates/test-r12-authority-maintenance.ps1", + ".agent/specs/release-gates-r12/evidence/release-gates/verification-summary.json", + ".agent/specs/release-gates-r12/evidence/release-gates/windows-harness.json", + ".agent/specs/release-gates-r12/evidence/release-gates/workflow-conformance.json", + ".github/workflows/authority-guard.yml", + ".github/workflows/test.yml", + "scripts/production-gates/assert-active-candidate-path-authority.ps1", + "scripts/production-gates/assert-pr-authority-guard.ps1", + "scripts/production-gates/assert-pr-authority-maintenance.ps1" + ] + } + }, + "exact_paths": [ + ".agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json", + ".agent/plans/2026-07-10-engram-production-ready-master-plan.md", + ".agent/plans/2026-07-10-engram-production-ready-ownership-state.json", + ".agent/plans/2026-07-10-engram-production-ready-scope-map.json", + ".agent/reports/2026-07-11-release-gates-r12-plan-governance.md", + ".agent/reports/2026-07-11-release-gates-r12-maker.md", + ".agent/specs/release-gates-r12/evidence/plan-governance/R12-PLAN-GOVERNANCE.red.json", + ".agent/specs/release-gates-r12/evidence/plan-governance/authority-snapshot.json", + ".agent/specs/release-gates-r12/evidence/plan-governance/boundary.json", + ".agent/specs/release-gates-r12/evidence/plan-governance/challenge-report.json", + ".agent/specs/release-gates-r12/evidence/plan-governance/fixed-point-proof.json", + ".agent/specs/release-gates-r12/evidence/plan-governance/gates-summary.json", + ".agent/specs/release-gates-r12/evidence/plan-governance/ledger.json", + ".agent/specs/release-gates-r12/evidence/plan-governance/path-envelope.json", + ".agent/specs/release-gates-r12/evidence/plan-governance/test-r12-plan-governance.ps1", + ".agent/specs/release-gates-r12/evidence/plan-governance/verification-summary.json", + ".agent/specs/release-gates-r12/evidence/release-gates/R12-AUTHORITY-MAINTENANCE.red.json", + ".agent/specs/release-gates-r12/evidence/release-gates/R12-AUTHORITY-MAINTENANCE.tdd.json", + ".agent/specs/release-gates-r12/evidence/release-gates/critical-suite-summary.json", + ".agent/specs/release-gates-r12/evidence/release-gates/fresh-clones.json", + ".agent/specs/release-gates-r12/evidence/release-gates/gates-summary.json", + ".agent/specs/release-gates-r12/evidence/release-gates/linux-harness.json", + ".agent/specs/release-gates-r12/evidence/release-gates/maintenance-simulation.json", + ".agent/specs/release-gates-r12/evidence/release-gates/path-budget.json", + ".agent/specs/release-gates-r12/evidence/release-gates/prove-it.json", + ".agent/specs/release-gates-r12/evidence/release-gates/ruleset-model.json", + ".agent/specs/release-gates-r12/evidence/release-gates/security-review.md", + ".agent/specs/release-gates-r12/evidence/release-gates/test-r12-authority-maintenance.ps1", + ".agent/specs/release-gates-r12/evidence/release-gates/verification-summary.json", + ".agent/specs/release-gates-r12/evidence/release-gates/windows-harness.json", + ".agent/specs/release-gates-r12/evidence/release-gates/workflow-conformance.json", + ".github/workflows/authority-guard.yml", + ".github/workflows/test.yml", + "scripts/production-gates/assert-active-candidate-path-authority.ps1", + "scripts/production-gates/assert-pr-authority-guard.ps1", + "scripts/production-gates/assert-pr-authority-maintenance.ps1" + ], + "release_accepted": false + }, + { + "slice": "MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY", + "plan_owner": "MACRO_BATCH_BOUND_PLAN_MEMBER_UNION", + "member_slices": [ + "DB-GOVERNANCE", + "DB-RULES-ISOLATION", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "INGEST-DOC-SNAPSHOT-DEMOLITION", + "MCP-STRUCTURED-INPUT-VALIDATION", + "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS", + "RETRIEVAL-VECTOR-CONTRACT", + "STATIC-EMBED-CONTRACT", + "PRE-V5-UPGRADE-CONTRACT" + ], + "status_class": "current-maker-in-progress", + "dispatch_state": "BLOCKED_UNTIL_A12_CHECKER_AND_ROOT_ACCEPTANCE", + "branch": "work/prc-data-integrity-macro-batch", + "base_anchor": "fef455bcf640f849c2d40c9bc26a459b5593e10a", + "authority_mode": "bound-plan-member-union-with-exact-r12-overrides", + "bound_plan_path": ".agent/plans/2026-07-10-engram-production-ready-master-plan.md", + "bound_scope_map_path": ".agent/plans/2026-07-10-engram-production-ready-scope-map.json", + "exact_r12_overrides": [ + { + "slice": "DB-GOVERNANCE", + "exact_paths": [ + "internal/db/gorm/rule_governance_store.go", + "internal/db/gorm/rule_arbiter_store_test.go", + "internal/db/gorm/rule_governance_store_test.go", + "internal/db/gorm/rule_governance_rg3_store_test.go" + ], + "forbidden_paths": [ + "internal/db/gorm/candidate_store.go", + "internal/db/gorm/candidate_store_test.go" + ] + }, + { + "slice": "DB-RULES-ISOLATION", + "exact_paths": [ + "internal/db/gorm/sql_like.go", + "internal/db/gorm/sql_like_test.go", + "internal/db/gorm/memory_store.go", + "internal/db/gorm/issue_store.go", + "internal/db/gorm/issue_store_project_match_test.go", + "internal/db/gorm/versioned_document_store.go", + "internal/db/gorm/versioned_document_store_test.go", + "internal/grpcserver/session_start_test.go", + "tests/critical/project_and_document_isolation_test.go", + ".agent/reports/2026-07-11-sql-like-literal-selector-cause-closure.md", + ".agent/reports/2026-07-11-db-governance-project-isolation-r2-long-batch-maker.md" + ], + "exact_prefixes": [ + ".agent/reports/evidence/production-ready/db-governance-project-isolation-r2/" + ], + "forbidden_paths": [ + "internal/db/gorm/rule_governance_store_test.go" + ] + } + ], + "acceptance_contract": { + "one_immutable_macro_head": true, + "fresh_maker_distinct_checker": true, + "root_post_review": true, + "fresh_database_per_fault_class": true, + "full_repeat_count_on_one_fresh_database": 2, + "flip_tests_required": true, + "undeclared_overlap_allowed": false, + "member_branch_override_allowed": false + }, + "release_accepted": false + }, + { + "slice": "IMAGE-REMEDIATION-R2", + "plan_owner": "IMAGE-REMEDIATION-R2", + "status_class": "current-maker-in-progress", + "branch": "work/prc-image-remediation-r2-immutable-publish", + "base_anchor": "0c6269908aa810a2248f2bfaf3fca4f9f5791359", + "forbidden_bases": [ + "b7f8ff7b9efe826cefdc665894761783a6876676", + "e1c3accacdabcfe50d3e72b8d5d7427caab9ec6f" + ], + "exact_paths": [ + ".agent/reports/2026-07-11-image-remediation-r2-maker.md", + ".agent/reports/2026-07-11-image-remediation-r2-security.md", + ".agent/reports/evidence/production-ready/image-remediation-r2/**", + ".dockerignore", + ".github/workflows/docker-publish.yml", + ".github/workflows/docker.yaml", + "Dockerfile", + "cmd/engram-healthcheck/main.go", + "cmd/engram-healthcheck/main_test.go", + "deploy/docker-compose.runtime.yml", + "deploy/postgres/Dockerfile", + "docker-compose.yml", + "docs/DEPLOYMENT.md", + "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "scripts/production-gates/build-and-scan-images.ps1", + "tests/critical/runtime/image_runtime_contract_test.go", + "tests/critical/runtime/postgres_image_contract_test.go" + ], + "acceptance_contract": { + "package_names": [ + "ghcr.io/thebtf/engram", + "ghcr.io/thebtf/engram-operator-console", + "ghcr.io/thebtf/engram-postgres" + ], + "destination_count": 6, + "destinations_per_package": [ + "exact full SemVer", + "sha-" + ], + "moving_or_generic_aliases_forbidden": true, + "sole_writers": [ + ".github/workflows/docker.yaml release publication", + "scripts/production-gates/build-and-scan-images.ps1 -Mode Publish" + ], + "publisher_trust_model": { + "privileged_workflow_and_script_bytes_source": "protected default branch only", + "tag_push_workflow_role": "unprivileged verification and data producer", + "tag_push_packages_write": false, + "tag_ref_sha_and_artifacts_are_untrusted_data": true, + "prepare_release_job": { + "fresh_runner": true, + "permissions": { + "contents": "read", + "actions": "none", + "packages": "none" + }, + "candidate_checkout_allowed": true, + "candidate_build_scan_and_runtime_only_here": true, + "packages_write": false, + "exports": [ + "exact OCI data", + "trusted hash-bound manifest" + ] + }, + "publish_job": { + "fresh_runner": true, + "packages_write": true, + "permissions": { + "contents": "read", + "actions": "read", + "packages": "write" + }, + "candidate_checkout_allowed": false, + "trusted_default_branch_checkout_only": true, + "loaded_oci_images_are_data_only": true + }, + "candidate_and_privileged_jobs_share_runner_host_process_or_daemon": false, + "actions_write_anywhere": false, + "privileged_validation": [ + "named completed verification run", + "exact event", + "exact ref", + "exact full commit SHA", + "protected canonical tag target", + "protected-main ancestry and release provenance", + "same-run artifact identity and digest uniqueness", + "symlink/reparse-free trusted extraction" + ], + "rebuild_exact_verified_commit_on_privileged_path": false, + "execute_or_source_untrusted_artifact_content": false, + "packages_write_only_after_independent_validation_artifact_verification_and_destination_preflight": true, + "privileged_trigger": "workflow_run", + "checkout_persist_credentials": false, + "tokens_are_step_scoped": true, + "tokens_absent_from_candidate_build_and_runtime": true, + "credential_bearing_git_metadata_absent_from_build_context": true, + "third_party_actions_require_immutable_sha_pins": true, + "candidate_build_and_runtime_complete_before_registry_login": true, + "post_login_execution": "trusted default-branch Publish implementation only", + "post_login_candidate_controlled_path_allowed": false, + "trusted_output_root": "publisher-created symlink/reparse-free workspace or RUNNER_TEMP", + "candidate_role": "source and build context only", + "publish_manifest": "trusted-produced hash-bound manifest outside candidate checkout", + "docker_credentials_erased_before_later_evidence_upload": true, + "artifact_bridge": { + "upload_artifact_major": "v4+", + "upload_and_download_actions_immutable_sha_pinned": true, + "overwrite_allowed": false, + "prepare_release_records_artifact_id_and_sha256_digest": true, + "publish_rest_census_scope": "current publisher workflow run", + "required_artifact_count": 1, + "fixed_expected_name": true, + "exact_artifact_id_required": true, + "nonexpired_required": true, + "api_digest_match_required": true, + "extras_or_duplicates_allowed": false, + "download_by_exact_id": true, + "digest_mismatch_is_error": true, + "internal_checksums_required": true, + "regular_files_only": true, + "path_traversal_allowed": false, + "verify_before_oci_load": true + } + }, + "publisher_adversarial_cases": [ + "malicious tag workflow bytes", + "malicious tag script bytes", + "tag target outside protected-main ancestry", + "spoofed verification run", + "spoofed artifact", + "duplicate artifact", + "extra artifact", + "expired artifact", + "wrong artifact name id or API digest", + "artifact overwrite attempt", + "spoofed ref", + "spoofed SHA", + "persisted checkout credentials", + "token visible during candidate build or runtime", + "credential-bearing .git metadata in build context", + "mutable third-party action reference", + "registry login before candidate build/runtime completion", + "post-login execution of candidate or tag bytes", + "candidate-controlled evidence or upload path after login", + "persistent candidate process waiting for later login", + "candidate Docker-daemon tampering", + "cross-job runner or daemon contamination", + "symlink or reparse escape from trusted output root", + "publish manifest sourced from candidate checkout", + "artifact path traversal", + "artifact special file", + "artifact internal checksum mismatch", + "missing actions read on privileged artifact census", + "actions write granted to any job", + "docker credentials retained during later evidence upload" + ], + "preflight_all_destinations_before_first_write": true, + "readback_all_destinations_after_last_write": true, + "same_release_serialization": true, + "registry_atomic_compare_and_swap_claimed": false, + "github_tag_immutability_claimed": false, + "external_pat_and_package_admin_are_explicit_trust_boundary": true, + "future_changes_require_r12_exact_path_authority": true, + "rejected_maker_and_checker_absent_from_ancestry": true, + "full_clean_reconstruction": true, + "test_yml_owned": false + }, + "release_accepted": false + }, + { + "slice": "DOCUMENT-INGEST-PUBLIC-TRUTH-R3", + "plan_owner": "DOCUMENT-INGEST-PUBLIC-TRUTH-R3", + "status_class": "current-maker-frozen-checker-pending", + "branch": "work/prc-public-contracts-r3-atomic-remove", + "base_anchor": "efe1ab5041c514f1a7d9ee8b36e07e5150cfc8e0", + "immutable_head": "9ea95b6adc3a838a459bf78e3ba7a0292153960f", + "immutable_tree": "c15a731de8ca8acac09bce8b209e2a27dd6303cb", + "checker_state": "PENDING_FRESH", + "forbidden_bases": [ + "26938199ccdc682295211d16dd736430419cf4ab", + "f3bba8815c97cf2000e46fdb2fbe1414d61a6264" + ], + "exact_paths": [ + ".agent/reports/evidence/production-ready/document-r3-atomic-remove-20260712-0142/summary.json", + ".agent/specs/production-ready-document-r3-atomic-remove/evidence/DOCUMENT-R3-ATOMIC-REMOVE.red.json", + ".agent/specs/production-ready-document-r3-atomic-remove/evidence/DOCUMENT-R3-ATOMIC-REMOVE.tdd.json", + "internal/db/gorm/document_store.go", + "internal/mcp/document_public_truth_contract_test.go", + "internal/mcp/tools_documents.go" + ], + "acceptance_contract": { + "body_storage": "complete content-addressed body in singular content.doc", + "metadata_storage": "documents table collection/path/title/content_hash/updated_at", + "historical_r1_root_review_typo": "contents.doc was historical evidence wording only and is not runtime acceptance truth", + "metadata": [ + "collection", + "path", + "title", + "content_hash", + "updated_at" + ], + "search_collection_registered": true, + "legacy_search_fields_retained": [ + "query", + "collection", + "limit" + ], + "legacy_search_fields_non_operative": true, + "query_required": false, + "legacy_default_min_max_constraints_removed": true, + "missing_query_returns_v5_tombstone": true, + "remove_document_transition": "one atomic UPDATE by exact collection/path and active=true; RowsAffected=1 is the sole success authority", + "remove_document_zero_rows": "typed or boolean inactive/not-found outcome mapped to the existing stable MCP not-found error", + "remove_document_split_precheck_forbidden": true, + "remove_document_truth": "exactly one concurrent caller may transition active to inactive and report success; every loser reports stable not-found while the stored body remains retained", + "document_store_change": "minimum executable DeactivateDocument predicate and RowsAffected outcome only", + "document_model_change": "none beyond the rejected R2 base", + "store_logic_and_schema_byte_identical": false, + "schema_and_unrelated_store_logic_byte_identical": true, + "forbid_chunk_embedding_search_resurrection": true, + "critical_user_flow": { + "database": "real PostgreSQL", + "tag": "@critical", + "public_entrypoints": [ + "Server", + "ListTools", + "HandleRequest" + ], + "covers": [ + "truthful expanded schema", + "ingest and update", + "search_collection without query returns stable tombstone", + "nonexistent remove returns stable not-found with zero false-success", + "two concurrent remove calls produce exactly one success and one not-found", + "remove leaves inactive record", + "full document bodies remain retained", + "database readback", + "zero trigger/function/document probe residue" + ], + "zero_skip_when_critical_dsn_configured": true + }, + "phase0_user_job_statement": { + "path": ".agent/reports/evidence/production-ready/document-r3-atomic-remove-20260712-0142/summary.json", + "signal": "per-run document-contract task success", + "target": "100% stages truthful", + "measurement": "critical MCP flow plus PostgreSQL readback" + }, + "default_and_malformed_tools_list_omission_tests": "CODE-CONTRACT-ONLY characterization, not behavioral proof", + "adversarial_cases": [ + "nonexistent collection/path remove", + "repeated nonexistent remove", + "wrong collection with existing path", + "wrong path with existing collection", + "false-success response without existing document", + "split GetDocument then DeactivateDocument decision", + "unconditional update without active=true predicate", + "ignored RowsAffected", + "two concurrent successes for one active-to-inactive transition", + "inactive/body-retained success claimed for nonexistent or already inactive document" + ] + }, + "release_accepted": false + } + ], + "excluded_resolvable_rows": [ + { + "slice": "MASTER-PLAN", + "disposition": "in-progress-empty-diff", + "reason": "R12 A12/B12 chain supersedes rejected A11; A owns self-reference-free governance and B owns the trusted evolvable guard envelope" + }, + { + "slice": "PLAN-GOVERNANCE", + "disposition": "in-progress-empty-diff", + "reason": "R12 A12 is the direct child of rejected A11 887b7c61 and preserves every earlier rejected authority head as history" + }, + { + "slice": "RELEASE-GATES", + "disposition": "in-progress-empty-diff", + "reason": "R12 B12 must be the direct child of immutable A12 and cannot include the parked B11 draft, B32, 969c0670, or checker-only commits" + }, + { + "slice": "DEMOLITION-SKIP-CLASSIFICATION", + "disposition": "checker-classification", + "reason": "not a maker candidate and intentionally has no maker row" + }, + { + "slice": "DB-REAPER", + "disposition": "rejected-path-authority-conflict", + "reason": "actual service.go path is owned by AUTH-BOOTSTRAP-SECURITY and cannot be granted to DB-REAPER concurrently" + } + ], + "candidates": [ + { + "slice": "DB-AUTH", + "status_class": "current-ready", + "branch": "work/prc-db-auth", + "base": "b0c4ab4c07a4c6f512728da52b2e132bacd0289c", + "head": "da97c88be6753703bac112be8431dc373e4d9dda", + "path_count": 5, + "paths_sha256": "7a678254366c2bdcf5feba8e25ce1151a69ae0a0240d68e3af3cd15ffa1b9d9e", + "paths": [ + { + "path": ".agent/reports/db-auth-rework-maker-2026-07-10.md", + "git_status": "A", + "classification": "report" + }, + { + "path": "internal/db/gorm/user_store.go", + "git_status": "M", + "classification": "product" + }, + { + "path": "internal/db/gorm/user_store_test.go", + "git_status": "M", + "classification": "product" + }, + { + "path": "internal/worker/auth_handlers.go", + "git_status": "M", + "classification": "product" + }, + { + "path": "internal/worker/auth_handlers_lifecycle_test.go", + "git_status": "M", + "classification": "product" + } + ], + "plan_owner": "DB-AUTH", + "path_authority_eligible": true, + "release_accepted": false, + "lineage": { + "kind": "exact-live-register" + } + }, + { + "slice": "DB-EMBEDDING-STATS", + "status_class": "current-checker-active", + "branch": "work/prc-db-embedding-stats", + "base": "dc891b2d72b1fd63b83e4a630a249241fc389151", + "head": "38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df", + "path_count": 8, + "paths_sha256": "b4d1c8176810630268759cedc909cd1042b063b81a14a01175b1a36f174d5c0f", + "paths": [ + { + "path": ".agent/reports/2026-07-10-db-embedding-stats-maker.md", + "git_status": "A", + "classification": "report" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats/DB-EMBEDDING-STATS.final.json", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats/SHA256SUMS.txt", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.red.json", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.tdd.json", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/coverage.out", + "git_status": "A", + "classification": "evidence" + }, + { + "path": "internal/embedding/store.go", + "git_status": "M", + "classification": "product" + }, + { + "path": "internal/embedding/store_stats_test.go", + "git_status": "M", + "classification": "product" + } + ], + "plan_owner": "DB-EMBEDDING-STATS", + "path_authority_eligible": true, + "release_accepted": false, + "lineage": { + "kind": "exact-live-register" + } + }, + { + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "status_class": "current-ready-for-check", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "base": "a538f6224ef31f612152470a4ecd45e78ff9d0f2", + "head": "a1a3bfeb6546d1f3f24192b1c9f057402b6249a2", + "path_count": 32, + "paths_sha256": "2fb294913b315bd908adf227f28600e5b2b80753a20dd6b9606cb7ae3d907948", + "paths": [ + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/R5-SHA256SUMS.txt", + "git_status": "M", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-report.md", + "git_status": "M", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-summary.v1.json", + "git_status": "M", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verification-matrix.v1.json", + "git_status": "M", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verify-coverage-capture.cjs", + "git_status": "M", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/.gitattributes", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/R6-SHA256SUMS.txt", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/assemble-coverage-repeat.cjs", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/build-checksums.cjs", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/capture-coverage-run.cjs", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/checksum-layers.v1.json", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-capture.v2.json", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-repeat.v2.json", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-1.envelope.v2.json", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-1.stderr.bin", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-1.stdout.bin", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-1.tap", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-2.envelope.v2.json", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-2.stderr.bin", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-2.stdout.bin", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-2.tap", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/maker-report.md", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/maker-summary.v2.json", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/prove-it.cjs", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/red-reproduction.cjs", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/verify-evidence.cjs", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/verify-evidence.test.cjs", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/verify-final-commit-replay.cjs", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs", + "git_status": "M", + "classification": "evidence" + }, + { + "path": ".agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R5.tdd.json", + "git_status": "M", + "classification": "evidence" + }, + { + "path": ".agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R6.red.json", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R6.tdd.json", + "git_status": "A", + "classification": "evidence" + } + ], + "plan_owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "path_authority_eligible": true, + "release_accepted": false, + "lineage": { + "kind": "exact-successor-of-rejected", + "required_rejected_predecessor_base": "a538f6224ef31f612152470a4ecd45e78ff9d0f2", + "checker_verdict": "PENDING" + } + }, + { + "slice": "DB-BULKOPS", + "status_class": "rejected-historical", + "branch": "work/prc-db-bulkops", + "base": "6ea10496aa127fba7fdb194875044e770d0a1d8c", + "head": "68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef", + "path_count": 13, + "paths_sha256": "1c53f8aed2d97d91f9103a21d214856c5bb0f59dce6dcc0264e1ce04693c869a", + "paths": [ + { + "path": ".agent/reports/2026-07-10-db-bulkops-sibling-rework-maker.md", + "git_status": "A", + "classification": "report" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-sibling-rework/DB-BULKOPS-SIBLING-REWORK.final.json", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-sibling-rework/DB-BULKOPS-SIBLING-REWORK.tdd.json", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-sibling-rework/H1-candidate-review-after.red.json", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-sibling-rework/M1-nil-facade-normalization.red.json", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-sibling-rework/M2-all-row-failure-audit.red.json", + "git_status": "A", + "classification": "evidence" + }, + { + "path": "internal/bulkops/facade.go", + "git_status": "M", + "classification": "product" + }, + { + "path": "internal/bulkops/facade_test.go", + "git_status": "M", + "classification": "product" + }, + { + "path": "internal/bulkops/rollback_test.go", + "git_status": "M", + "classification": "product" + }, + { + "path": "internal/db/gorm/candidate_store.go", + "git_status": "M", + "classification": "product" + }, + { + "path": "internal/db/gorm/candidate_store_test.go", + "git_status": "M", + "classification": "product" + }, + { + "path": "internal/mcp/tools_bulkops.go", + "git_status": "M", + "classification": "product" + }, + { + "path": "internal/mcp/tools_dryrun_test.go", + "git_status": "M", + "classification": "product" + } + ], + "plan_owner": "DB-BULKOPS", + "path_authority_eligible": true, + "release_accepted": false, + "lineage": { + "kind": "historical-rejected" + } + }, + { + "slice": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "status_class": "current-ready-with-concerns", + "branch": "work/prc-db-bulkops", + "base": "68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef", + "head": "bd68c05baf4b7250096dd84f56bebea2aa555970", + "path_count": 38, + "paths_sha256": "39a32b36dfac7f1148649ca092abc23320fda34e2535a828778e228aa8c0230d", + "paths": [ + { + "path": ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker.md", + "git_status": "A", + "classification": "report" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/01-red-behavior.log", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/02-red-spy-seam.log", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/03-green-focused.log", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/04-green-repeat20.log", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/05-prove-it-candidate.log", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/06-prove-it-parser.log", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/07-post-prove-green.log", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/08-full-packages.log", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/09-legacy-compat.log", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/10-full-gorm.log", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/11-full-mcp.log", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/12-race-focused.log", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/13-vet.log", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/14-coverage.log", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/15-cover-functions.log", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/16-final-residue.log", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/17-review-red-authoritative-binding.log", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/18-review-green-authoritative-binding.log", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/19-review-green-authoritative-binding.log", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/20-review-repeat20.log", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/21-review-race-focused.log", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/22-review-vet.log", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/23-review-coverage.log", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/24-review-cover-functions.log", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/25-review-cover-functions.log", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/26-review-full-gorm.log", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/27-review-full-mcp.log", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/A-candidate-review-snapshot-binding.red.json", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/B-bulk-structured-input.red.json", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/DB-BULKOPS-BEHAVIORAL-EDGE-REWORK.final.json", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/Invoke-MakerGo.ps1", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/SHA256SUMS.txt", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/coverage.out", + "git_status": "A", + "classification": "evidence" + }, + { + "path": "internal/db/gorm/candidate_store.go", + "git_status": "M", + "classification": "product" + }, + { + "path": "internal/db/gorm/candidate_store_test.go", + "git_status": "M", + "classification": "product" + }, + { + "path": "internal/mcp/tools_bulkops.go", + "git_status": "M", + "classification": "product" + }, + { + "path": "internal/mcp/tools_dryrun_test.go", + "git_status": "M", + "classification": "product" + } + ], + "plan_owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "path_authority_eligible": true, + "release_accepted": false, + "lineage": { + "kind": "corrected-full-candidate", + "register_partial_base": "cd098397764e13388aef3b4da9448172c7092fdb", + "required_rejected_predecessor_base": "68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef" + } + }, + { + "slice": "DB-CRYSTALLIZATION", + "status_class": "current-ready-with-concerns", + "branch": "work/prc-db-crystallization", + "base": "dc891b2d72b1fd63b83e4a630a249241fc389151", + "head": "2ab6211494e51aeb7b787a99e78cff8bf2d5694a", + "path_count": 1, + "paths_sha256": "8428c4f86e06bdab5367fd6678decdb49b8aa23a41f593b246b7e541ec84ab23", + "paths": [ + { + "path": "internal/worker/handlers_hooks_crystallization_integration_test.go", + "git_status": "M", + "classification": "product" + } + ], + "plan_owner": "DB-CRYSTALLIZATION", + "path_authority_eligible": true, + "release_accepted": false, + "lineage": { + "kind": "exact-live-register" + } + }, + { + "slice": "SECURITY-TOOLCHAIN", + "status_class": "current-ready", + "branch": "work/prc-security-toolchain", + "base": "dc891b2d72b1fd63b83e4a630a249241fc389151", + "head": "b0955dfd61b4ea7364f6d400579247b475a1a680", + "path_count": 3, + "paths_sha256": "5e49ddf6f66cc54d25f31cecd2fae96554d760f8c722f1c113a9d8e695468143", + "paths": [ + { + "path": "Dockerfile", + "git_status": "M", + "classification": "product" + }, + { + "path": "go.mod", + "git_status": "M", + "classification": "product" + }, + { + "path": "go.sum", + "git_status": "M", + "classification": "product" + } + ], + "plan_owner": "SECURITY-TOOLCHAIN", + "path_authority_eligible": true, + "release_accepted": false, + "lineage": { + "kind": "exact-live-register" + } + }, + { + "slice": "SECURITY-PROJECT-IDENTITY", + "status_class": "current-ready", + "branch": "work/prc-security-project-identity-r4", + "base": "38344455754fe503acbd79d2134141f996adff7f", + "head": "320f1d806729085f56e91b505b738444408639e1", + "path_count": 5, + "paths_sha256": "ff2385aa04e726c653db0c70a525f3e3957bc91e6bda1e6526fdd63afe5b5b7d", + "paths": [ + { + "path": ".agent/reports/evidence/production-ready/security-project-identity/SECURITY-PROJECT-IDENTITY-R4-maker-report.md", + "git_status": "A", + "classification": "report" + }, + { + "path": ".agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R4.prove-it.json", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R4.red.json", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R4.verification.json", + "git_status": "A", + "classification": "evidence" + }, + { + "path": "internal/proxy/identity_process_test.go", + "git_status": "A", + "classification": "product" + } + ], + "plan_owner": "SECURITY-PROJECT-IDENTITY", + "path_authority_eligible": true, + "release_accepted": false, + "lineage": { + "kind": "checker-accepted-successor", + "required_rejected_predecessor_base": "38344455754fe503acbd79d2134141f996adff7f", + "checker_only_commit": "3aa11399b2c7fa8f2188f35f68c110b1c33a1ef4", + "checker_verdict": "ACCEPT" + } + }, + { + "slice": "DB-TEST-POOL-HYGIENE", + "status_class": "rejected-evidence-revision", + "branch": "work/prc-db-test-pool-hygiene-evidence-r2", + "base": "276337b3e96aa5af6d2e7dd9a0002ff957e5ffc9", + "head": "68242c48aaad62ec087166eeb9ea32f14d189450", + "path_count": 13, + "paths_sha256": "5b30cedca485ce89ce38bdb665413be59a3e2639e01e04c600172e68e503f3a0", + "paths": [ + { + "path": ".agent/reports/2026-07-10-db-test-pool-hygiene-evidence-revision-maker.md", + "git_status": "A", + "classification": "report" + }, + { + "path": ".agent/reports/2026-07-10-db-test-pool-hygiene-maker.md", + "git_status": "M", + "classification": "report" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/14-evidence-r2-focused.log", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/15-evidence-r2-static.txt", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.evidence-r2.json", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.final.json", + "git_status": "M", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/INVENTORY.json", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/MANIFEST.json", + "git_status": "M", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/SHA256SUMS.txt", + "git_status": "M", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/Test-DBPoolHygieneEvidenceAdversarial.ps1", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/Verify-DBPoolHygieneEvidence.ps1", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/adversarial-proof.json", + "git_status": "A", + "classification": "evidence" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/verifier-proof.json", + "git_status": "A", + "classification": "evidence" + } + ], + "plan_owner": "DB-TEST-POOL-HYGIENE", + "path_authority_eligible": true, + "release_accepted": false, + "lineage": { + "kind": "historical-rejected", + "checker_only_commit": "a7b2d36b3f0a4514b51dddf341877f5b4b9721d9", + "checker_verdict": "REVISE_4_HIGH_EVIDENCE_GATE" + } + } + ] +} diff --git a/.agent/plans/2026-07-10-engram-production-ready-master-plan.md b/.agent/plans/2026-07-10-engram-production-ready-master-plan.md new file mode 100644 index 00000000..040f6702 --- /dev/null +++ b/.agent/plans/2026-07-10-engram-production-ready-master-plan.md @@ -0,0 +1,602 @@ +# Engram Production-Ready Master Plan + +Status: PLAN_GOVERNANCE_R12_SELF_REFERENCE_FREE_MACRO_AUTHORITY_IN_PROGRESS +Date: 2026-07-10 +Revision: 12 +Goal contract: `.agent/goals/2026-07-10-engram-production-ready-marathon.md` +Release baseline: `origin/main@dc891b2d72b1fd63b83e4a630a249241fc389151` (`v6.42.0`) +`core_safe_point_version`: candidate `v6.43.0-rc.1`, publish target `v6.43.0` after release analysis confirms it +`final_ready_version`: `BLOCKED_UNTIL_M6_INTEGRATED_DIFF`; root must resolve the exact version, release-note path, image/plugin identities, and compatibility artifact roots before `FINAL-PUBLIC-TRUTH` or M7 release work is dispatched + +## 1. Outcome + +Make Engram production-ready against PR-0 through PR-8 in the goal contract. Completion is permitted only after a fresh full production-ready check returns `VERIFIED READY`, the customer-mode emulation reaches `PRODUCT_WORKS`, release-git is clean and classified, and no in-scope blocker or unknown remains. + +## 2. Evidence Authority and Stable Blocker Classes + +Durable baseline evidence: + +- `.agent/reports/production-ready-baseline-pr3-pr7-2026-07-10.md` +- `.agent/reports/db-backed-failure-baseline-2026-07-10.md` +- `.agent/reports/worktree-inventory-2026-07-10.md` +- `.agent/reports/diffusion-whereami-2026-07-10.md` +- `.agent/reports/production-readiness-evidence-register.json` +- `.agent/reports/production-readiness-evidence-register.md` +- `.agent/reports/security-toolchain-maker-2026-07-10.md` +- `.agent/reports/db-auth-maker-2026-07-10.md` +- `.agent/reports/db-reaper-maker-2026-07-10.md` +- `.agent/reports/db-crystallization-maker-2026-07-10.md` +- `.agent/reviews/2026-07-10-production-ready-master-plan-challenge.md` +- `.agent/reviews/2026-07-10-production-ready-master-plan-rechallenge.md` +- `.agent/reviews/2026-07-10-production-ready-master-plan-final-challenge.md` +- `.agent/reviews/2026-07-10-production-ready-master-plan-revision-check.md` +- `.agent/reports/2026-07-10-production-ready-master-plan-revision-2-maker.md` +- `.agent/reviews/2026-07-10-production-ready-master-plan-revision-2-check.md` (SHA256 `C7A96460C34951C0876F3F87F3B404E037D246A974D9AC491D5A9C2FF455FCCB`, verdict `REVISE`) +- `.agent/reviews/2026-07-10-release-gates-foundation-revision-3-independent-check.md` (root-owned checker artifact, SHA256 `E2B399BAA66C463D3301DBC9F7775ABF357D2411C74EBDBFDB11CD1A020619E0`, verdict `REVISE`) +- `.agent/reviews/2026-07-10-db-crystallization-independent-check.md` (root-owned checker artifact, SHA256 `84F7E0D424D354DB671719CBC9142FFDBFF9B7837CAFC4E62E248C31B1DB5AA6`, verdict `PASS_WITH_CONCERNS`; production blockers remain open) +- `.agent/reports/2026-07-10-openclaw-ingest-classification.md` (SHA256 `A095E9D7B69DC95CAC4022EB97D2EA9B403D5132F5602FDD85E7D3A93092F5D4`) +- `.agent/reports/2026-07-10-mcp-structured-input-classification.md` (SHA256 `3356F3AE6073F95E701707FCF451D63809AC186ED1DEA7321A7027C4C3122E7A`, verdict `CLASSIFIED_MUST_BUILD / BLOCKS_RELEASE`) +- `.agent/worktrees/prc-db-bulkops/.agent/reviews/2026-07-10-db-bulkops-sibling-rework-check.md` (SHA256 `EB9EB227363A27EA058C6654BD7E38EED1088252F79F837E377B2A3CBC1FAFB7`, verdict `FAIL / REVISE_HOLD`) +- `.agent/plans/2026-07-10-engram-production-ready-ownership-state.json` +- `.agent/plans/2026-07-10-engram-production-ready-scope-map.json` (register freeze provenance `AB5F882FA110CA823A317061ECBCA0C62516702735325893A56206F9E7A29415`, 67/67 unique slices, `updated_at=2026-07-10T22:46:01.2938194+03:00`) +- `.agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json` (tracked, register-independent exact candidate path authority) +- `.agent/reports/2026-07-10-image-remediation-prototype.md` +- `.agent/experiments/GE-003/experiment.yaml` +- `.agent/experiments/GE-003/journal.md` +- `.agent/experiments/GE-004/experiment.yaml` +- `.agent/experiments/GE-004/journal.md` +- `.agent/reports/engram-roadmap-progress-2026-07-06.html` + +The JSON/Markdown evidence register is the sole authority for mutable progress. This revision also contains immutable source-lock facts, a tracked ownership-state contract, and a tracked scope map; none substitutes for the register. Root updates the JSON register first, renders the Markdown register and HTML from that exact state, and only then makes a dispatch/integration decision. Every row records criterion, slice, branch/base/head, exact command, environment identity, raw artifact, exit code, checker artifact, review artifact, integration SHA, timestamp, and notes. An empty field remains `UNKNOWN`; it is never inferred as green. + +R10 authority starts exactly at rejected R9 RELEASE-GATES head `f11a77cce88f013839e22662458a3318670445e9`, never at checker-only commit `0354362c427d99eb2993e5acddeb9d5bcd561df7`. The R9 checker verdict is `REVISE` with two HIGH failures (raw JSON type/null coercion and coordinated authority/workflow rewrite acceptance) plus one MEDIUM raw-backslash path failure. Both R9 commits are preserved as rejected history: PLAN-GOVERNANCE A `8cb810095b2bea77ab9812832d9ab8a99c928d18` and RELEASE-GATES B `f11a77cce88f013839e22662458a3318670445e9`. R10 is again two commits: A amends plan/scope/state/active-contract authority and owns the exact B path envelope; B is A's direct child and supplies strict raw JSON validation plus a trusted-base PR authority guard. `thebtf/engram` is a public User-owned repository with default branch `main`; observed active ruleset `13610955` currently contains only `deletion` and `non_fast_forward`, so required-status enforcement is explicitly `PENDING_POST_BOOTSTRAP_TRANSITION`, not active. After independent R10 acceptance and main integration, root must observe the exact authority-guard status on an ordinary authorized PR, add that status to the ruleset, capture pre/post ruleset JSON, and prove a protected-path PR is blocked. The existing normal `test.yml` workflow remains defense in depth; it is not the trusted executor for PR-head authority decisions. + +R12 supersedes rejected A11 without rewriting any earlier rejection history. A11 `887b7c6144a09829a1a3f43ff5a19d3fb27fb7c1` is preserved as the exact A12 parent and as rejected governance evidence: its committed transition manifest must embed both the exact event-head commit SHA and every protected head blob including the manifest container, which requires an operationally infeasible simultaneous Git blob/commit hash fixed point. The dirty B11 overlay has no commit and is parked as implementation draft only. R12 is exactly two commits: A12 records the rejection, freezes a self-reference-free contract plus macro-batch ownership, and declares the exact B12 envelope; direct-child B12 must preserve every accepted R10 guard property while making the committed manifest bind event base, owner approval epoch, successor epoch, exact status/path set, current/successor validator blobs, and every protected head blob except the manifest container. Trusted-base execution, not a mutable external payload, binds the actual event head SHA, actual manifest-container blob, canonical manifest SHA-256, validator blob, and required-status producer tuple in the check artifact. Ordinary and unprivileged successor proof, expiry/replay rejection, and two-PR stale-loser behavior remain mandatory. Required status identity remains exact `context=authority-guard`, GitHub Actions `integration_id=15368`, `app_slug=github-actions`; no live ruleset mutation is authorized by A12. + +Rejected product heads are frozen as predecessor evidence, never as acceptance. IMAGE R1 `b7f8ff7b9efe826cefdc665894761783a6876676` is rejected by checker `e1c3accacdabcfe50d3e72b8d5d7427caab9ec6f`; IMAGE R2 remains the clean reconstruction from exact `0c6269908aa810a2248f2bfaf3fca4f9f5791359`. DOCUMENT R1 `63775eb30f5cc01a843cee074d41dbe87439904b` is rejected by checker `26938199ccdc682295211d16dd736430419cf4ab`. Its R2 successor `efe1ab5041c514f1a7d9ee8b36e07e5150cfc8e0` corrects the public/storage contract but is rejected by checker `f3bba8815c97cf2000e46fdb2fbe1414d61a6264` and root post-review for a verified concurrent false-success HIGH. DOCUMENT R3 alone starts from exact R2 maker, excludes both checker commits, and closes that atomic transition without discarding the sound inherited public truth. Every successor requires fresh independent checking plus root post-review and never converts rejected ancestry into acceptance by assertion. + +R10 contemporaneous slice truth is frozen without claiming integration: SECURITY-PROJECT-IDENTITY R4 maker `320f1d806729085f56e91b505b738444408639e1` is accepted by direct-child checker `3aa11399b2c7fa8f2188f35f68c110b1c33a1ef4`; its five-path LF digest is `ff2385aa04e726c653db0c70a525f3e3957bc91e6bda1e6526fdd63afe5b5b7d`. DB-TEST-POOL-HYGIENE R2 `68242c48aaad62ec087166eeb9ea32f14d189450` is rejected by checker `a7b2d36b3f0a4514b51dddf341877f5b4b9721d9` for four HIGH evidence-verifier failures; R3 `331b5b195a967e7f27dca94038a3480c9afcc84f` is its immutable direct-child ten-path evidence successor, with checker/root acceptance still pending. DB-EMBEDDING-EVIDENCE-TRANSPORT R6 candidate `a1a3bfeb6546d1f3f24192b1c9f057402b6249a2` is immutable and awaits a fresh checker. The canonical DB repeat-3 gate remains a release blocker at `0/3`, and exact server/PostgreSQL/operator image scans remain release blockers at `5/20/13` HIGH/CRITICAL findings. R10 does not convert either blocker into progress. The v5 demolition exclusions remain absolute: graph stage, cross-encoder rerank, `internal/search` scoring passes, SDK observation extraction, and server-side MCP HTTP transports are not implementation targets. + +R9 scope authority preserves the structural projection frozen from register snapshot SHA256 `AB5F882FA110CA823A317061ECBCA0C62516702735325893A56206F9E7A29415`, `updated_at=2026-07-10T22:46:01.2938194+03:00`, with 67 criteria and 67 unique slice identities. The SHA and timestamp are immutable R8 provenance, not a perpetual byte-equality gate. `.agent/plans/2026-07-10-engram-production-ready-scope-map.json` maps every frozen row to a literal maker/checker owner, a named fold, historical provenance, or root-only integration. Live conformance requires the exact unique slice set, classifications, owner/fold targets, required plan rows and ownership epochs, plus only the status/head policies explicitly marked `load_bearing`; ordinary progress/head advancement inside an unchanged lane and changes to timestamps, commands, artifacts, or notes do not invalidate plan authority. A new/deleted slice, changed classification/owner/fold, missing required predecessor, or a marked rejected head presented as accepted does. The tracked active-diff contract freezes exact sorted paths and SHA256 digests for current and rejected candidate classes so CI does not depend on the ignored mutable register or unfetched foreign commits; optional local Git replay must match those frozen paths byte-for-byte. `CONTROL-PLANE` remains `RUNNING_GOAL_STATE_REACTIVATION_UNAVAILABLE` because the native goal service reports the user-resumed goal as blocked and refuses exact-objective recreation; execution continues under the verbatim objective without misreporting the tool state. + +R8 PLAN-GOVERNANCE commit `37d185b33b8f9411564fda49cf8b0d58321b62fd` and RELEASE-GATES commit `406fe952c143eb8aaf5895427c568a41d4cec225` are immutable rejected predecessors. Their structural 67/67 scope, AB5F provenance, 36 epochs, same-lane progress policy, rejected-head policy, wrong-package zero-acceptance repair, and prior mutations remain mandatory. R9 closes the rejected failure class by auditing every resolvable live-register base/head, freezing exact candidate paths, and separating current authority from historical/rejected and conflicting candidates. A path-authority correction does not turn a rejected candidate into acceptance. + +R7 PLAN-GOVERNANCE commit `a99ce0dfe4d415f90c0f192cbf96bd88710a48f5` and diagnostic RELEASE-GATES commit `144eeefa003c3e1c0009c4264f41236ee3453b65` are rejected/diagnostic predecessors only. R7's wrong-package repair is carried forward in the second R8 commit, but no R7 plan hash, live verdict, or acceptance status is current authority. The R7 checker verdict is `REVISE` at `d8ba52d29f1c7f2169e3f76576248ab32d3b6646` because deleting a required plan row and its epoch could still pass the internally consistent Ledger. The following revision-4 paragraph is historical chronology only; every dispatch and acceptance decision uses the R8 authority above. + +Revision-4 source lock: the rejected RELEASE-GATES handoff is exactly `586b39df3465fb51779cf9225deaedbc212e4f9f`, with direct parent `badc408937dd6fad0e1dc7ee9fc573505aa617b2`, plan-authority ancestor `a1653abf5a1088f45df2c58487a74a886666adf1`, and independent checker artifact/hash `E2B399BAA66C463D3301DBC9F7775ABF357D2411C74EBDBFDB11CD1A020619E0`; it is rejected for EOL-dependent authority hashing, a false-green missing-`--build` mutation, an omitted dream-cycle production lane, stale final-head evidence, and Windows path-budget failure. This revision-4 successor starts from that exact rejected handoff and remains `PENDING` until committed, independently checked, post-reviewed, and integrated. The OpenClaw/ingest classification lock is exactly `.agent/reports/2026-07-10-openclaw-ingest-classification.md` SHA256 `A095E9D7B69DC95CAC4022EB97D2EA9B403D5132F5602FDD85E7D3A93092F5D4`; the stale `A095E9A3...` value is invalid evidence and must not appear in revision-4 artifacts. DB-BULKOPS rejected composite head `68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef` has parent `6ea10496aa127fba7fdb194875044e770d0a1d8c`, checker artifact `.agent/worktrees/prc-db-bulkops/.agent/reviews/2026-07-10-db-bulkops-sibling-rework-check.md`, checker verdict `FAIL / REVISE_HOLD`, checker SHA256 `EB9EB227363A27EA058C6654BD7E38EED1088252F79F837E377B2A3CBC1FAFB7`, and two release-blocking HIGH defects: a wrong-type candidate-review snapshot can reach mutation without durable audit, and public bulk IDs are lossy-coerced so a fraction such as `1.9` becomes `1` and a numeric string such as `"2"` becomes `2`. Active owner DB-BULKOPS-BEHAVIORAL-EDGE-REWORK starts exactly from `68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef`; its head is `PENDING`. The rejected head and any dirty overlay are not dispatch authority. MCP structured-input classification is locked to `.agent/reports/2026-07-10-mcp-structured-input-classification.md` SHA256 `3356F3AE6073F95E701707FCF451D63809AC186ED1DEA7321A7027C4C3122E7A`: malformed present booleans can cross preview/confidentiality boundaries into live writes, lossy IDs can select the wrong durable row, malformed arrays can clear/drop data while the write succeeds, and schema/handler drift is release-blocking. The remedy is route-specific mutation validation from exact JSON numbers and present-vs-missing fields; globally tightening read/filter compatibility coercers is explicitly forbidden without a separate migration decision. + +The tracked state file binds this exact plan SHA256 to ordered owners, current owner, predecessor checker/post-review/integration evidence, and required successor base. `assert-plan-path-ownership.ps1` must fail when either file is missing, the expected/observed plan hashes differ, an epoch is reversed, a non-current owner changes a repeated path, predecessor evidence is incomplete, or a successor base omits the required integration. Historical rejected-head Diff proof may demonstrate zero undeclared paths, but it must still fail current-owner authority where the active rework owns the path. + +The exact image prototype evidence is `.agent/reports/2026-07-10-image-remediation-prototype.md` SHA256 `EA0DB2FB15BE986839D4CEB7A0BCCFED062EA3C4E27B812EC2415012039759E7`. The PostgreSQL prototype is exact image ID `sha256:6f1fcade7d5e873aa7624f821e593b4bb21e8f4c69c8f3d2de9f76134c175bbc`, zero findings at every severity, and runs as UID/GID `70:70` with read-only rootfs, cap-drop ALL, no-new-privileges, and UID-owned tmpfs only for `/tmp` and `/var/run/postgresql`. A tmpfs-only PGDATA lost the cluster and extension on restart and is rejected; an owned named volume at `/var/lib/postgresql/data` preserved PostgreSQL `17.10`, pgvector `0.8.1`, and the vector row across stop/remove/new-container recreation. The server prototype is image ID `sha256:3ef7a06856e7bf8bb5a248115157a7a621b85bcb12c6f4d45c0703e421d11838`, accepted security-toolchain binary image `engram-prc-security-check-server:b0955df`, 25 MB / 57 packages, and zero findings at every severity. Hardened boot and restart passed with `HOME=/var/lib/engram` plus an explicitly owned tmpfs at UID `65532`, GID `65532`, mode `0700`; an unowned tmpfs failed the restart permission contract. This proves runtime ownership requirements, not final persistence: IMAGE-REMEDIATION-R2 must provide a persistent named or bind volume with the same ownership/mode and prove data across container recreation. `ENGRAM_DATA_DIR` is not a live contract: current `internal/config.DataDir()` calls `os.UserHomeDir()` and appends `.engram`. The operator prototype is exact image ID `sha256:a16857bbeb229cc5f0457f9e740ccc5433870a85c37610ada38bd89638c34859`, 58 MB / 45 packages, zero findings at every severity, UID `65532`, and passed read-only/cap-drop/no-new-privileges/restart. Its wrong shipped target name reproduced root HTTP 200 plus timed-out API; `NUXT_OPERATOR_API_TARGET` made proxied `/api/ready` return exact ready before and after restart. IMAGE-REMEDIATION-R2 owns all three exact runtime contracts; no prototype is an integrated product verdict. + +Before any dispatch, root must prove that every active or pending slice in Section 4 has a register row, including PLAN-GOVERNANCE, DB-BULKOPS-BEHAVIORAL-EDGE-REWORK, MCP-STRUCTURED-INPUT-CLASSIFICATION, MCP-STRUCTURED-INPUT-VALIDATION, OPENCLAW-RELEASE, INGEST-DOC-SNAPSHOT-DEMOLITION, DOCUMENT-INGEST-PUBLIC-TRUTH-R3, DB-GOVERNANCE, DB-EMBEDDING-STATS, CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK, AUTH-BOOTSTRAP-SECURITY, DURABLE-AUDIT-BOUNDARIES, IMAGE-REMEDIATION-R2, T007-COMPAT-DEMOLITION-CLASSIFICATION, DB-RULES-ISOLATION, every M6 contract lane, and each checker/rework. A register/Markdown/HTML mismatch is itself a PR-0 blocker. + +Stable blocker classes, independent of mutable branch heads: + +1. The primary checkout is preserve-only and never an integration/release evidence source. +2. The measured full-project baseline is 27 failed tests, 25 skips, 53.0% overall statement coverage, and 64.77% `internal/handlers/loom` statement coverage. Section 4.2 maps all 27 failures exactly once; the floors remain 60% overall and 70% loom. +3. First-admin setup requires an operator-controlled one-time capability, pre-bcrypt rejection, cross-process/restart/replay proof, and bounded abuse handling. Public winner-takes-admin setup is release-fatal. +4. Auth setup and bulk mutation success must be committed with their audit record or a durable transactional outbox. A response may not report completed success when audit durability is unknown. +5. DB-BULKOPS must use lock-consistent capture and explicit rollback conflict semantics; stale restore may never erase a later committed candidate state. +6. RELEASE-GATES must prove itself fail-closed against blanket skip allowlists, early-failure cleanup ambiguity, CI/config repeat drift, raw/race DB skips, missing dev-stand credentials, and scans of unbuilt image tags. +7. GE-003 project identity and GE-004 external update ownership remain binding architecture contracts; no cosmetic hash patch or in-process self-mutation is accepted. +8. M5 is a bounded `PRODUCT_WORKS` safe point. CI-A/CI-B, BOOK, MEM/effectiveness/settings residuals remain in the active goal and must pass the M6 contract DAG before M7 can claim `VERIFIED READY`. +9. Candidate-review snapshots must carry the locked pre-action candidate in `Before` and the committed post-action candidate in `After`, written in the same transaction as the candidate mutation, audit row, and snapshot. Promote, preserve, reject, suppress, and supersede must all support immediate rollback and later-state conflict detection. +10. The verified parent image baseline is operator `5`, PostgreSQL `38`, and server `13` HIGH/CRITICAL findings. The accepted SECURITY-TOOLCHAIN candidate reduces server to three unfixed Perl findings but is still release-blocked. The image DAG must end at zero HIGH/CRITICAL for exact final server/operator/PostgreSQL tags and digests without allowlists or exception files. +11. The exact distroless server prototype boots as UID 65532 normally, but `--read-only --cap-drop ALL --no-new-privileges` fails initialization when the default `/home/nonroot/.engram` is not writable, while `/health` still returns HTTP 200 with `{"status":"error"}`. `/health` is the intentional liveness surface and its pre-ready HTTP-200 behavior remains unchanged unless a separate spec says otherwise; the defect is the current Docker/runtime `curl -f /health` readiness check. Current `internal/config.DataDir()` ignores `ENGRAM_DATA_DIR` and resolves `$HOME/.engram`; production therefore sets `HOME=/var/lib/engram`, mounts persistent writable storage at `/var/lib/engram` with UID/GID `65532:65532` and mode `0700`, rejects an unowned tmpfs as non-restart-safe, and makes the no-shell container HEALTHCHECK call `/api/ready`, parse the body, and succeed only on exact `status=ready`. +12. The live operator console reads `NUXT_OPERATOR_API_TARGET` in `apps/operator-console/nuxt.config.ts`, while `deploy/docker-compose.runtime.yml` still exports stale `NUXT_ENGRAM_API_TARGET`; the resulting image can return root HTTP 200 while `/api/health` times out against the default `http://unleashed.lan:37777`. Production must use the exact live variable, remove the stale standalone deployment consumer, and prove the proxy reaches the exact backend and returns semantic ready. A rendered root page is not operator health. +13. PostgreSQL tmpfs may be used only for ephemeral runtime paths. PGDATA must be an explicitly UID/GID-`70:70` owned persistent volume at `/var/lib/postgresql/data`; tmpfs-only PGDATA is a proved data-loss configuration and is release-fatal. Acceptance removes and recreates the container against the same volume and requires the exact server version, pgvector extension/version, migrations, and retained marker to survive. +14. Public MCP mutation arguments are not schema-safe today. `promote_candidate.dry_run`, `store_memory.dry_run`, and `settings.encrypt` can turn malformed present values into live mutation or plaintext storage; fractional/imprecise selectors and partial arrays can target or persist the wrong durable state. MCP-STRUCTURED-INPUT-VALIDATION is `CLASSIFIED_MUST_BUILD`, starts only from the accepted DB-BULKOPS composite, and must prove zero write/audit/transition delta for every malformed route-specific input. +15. Dream-cycle crystallization is live but not production-safe: `CRYSTALLIZATION=true` with `VNEXT_F=false` can consume transcripts without a durable result, mixed-project input is attributed through the first transcript, and the fixture is not repeat-isolated. The correction is fail-closed and per-project/session; it must not restore the v5-demolished direct session-end regex-to-memory path. +16. RELEASE-GATES control-plane evolution must remain possible after `authority-guard` becomes required without requiring a Git object to contain its own identity. A11 `887b7c6144a09829a1a3f43ff5a19d3fb27fb7c1` is rejected because its committed manifest binds both exact head SHA and the manifest container's own blob. R12 consumes one exact base-declared epoch through a same-repository owner PR; its committed manifest binds event base, approval/successor epochs, exact literal changes, current/successor validator blobs and every protected head blob except the container. Trusted-base execution binds actual head SHA and container blob in the check artifact. The same required status remains active, concurrent same-base maintenance PRs are deterministic, and the stale loser is rejected after the first merge consumes the epoch. Recovery remains limited to User `thebtf` id `7106373` with `bypass_mode=pull_request`; direct-push bypass, `exempt`, ruleset disable/removal, and force are forbidden. + +## 3. Delivery State Machine + +Every implementation slice follows this exact state machine: + +`bounded brief -> isolated maker worktree -> focused proof -> independent checker -> maker rework if needed -> post-run code review -> integration branch -> full affected gates -> merge/release safe point -> customer/readback proof` + +Rules: + +- New worktrees start from current `origin/main`, never the dirty primary checkout. +- Existing dirty/unique work is preserve-first and is reconciled by a dedicated integration maker; no cleanup occurs before preservation proof. +- Each brief records `repo_root`, `worktree_path`, `branch`, `allowed_paths`, `forbidden_paths`, baseline, acceptance commands, and finish-state handoff. +- Makers may edit only their allowed paths. Checkers are read-only and must challenge behavior edges, not just structure. +- Product/source/test/spec paths must be listed literally in the slice row. Each brief also declares one exact `evidence_namespace` and one exact `maker_report_namespace`; defaults are `.agent/reports/evidence/production-ready//**` and `.agent/reports/production-ready//**`. A non-default/legacy namespace is legal only when written literally in that slice row, as DB-BULKOPS does. No other `.agent/**` path is implicit. +- Before checker acceptance, the ownership gate compares the maker's actual `base..head` commit diff with the named slice row and the brief's declared evidence/report namespaces. A clean static ledger is necessary but not sufficient; any undeclared changed path or prefix fails the slice. +- Root owns architecture decisions, scope changes, integration order, merge conflict resolution, release classification, and final synthesis. +- No slice is accepted on skipped DB tests, stale docs, a mock-only proof, or a passing test whose production call path is unwired. +- Every accepted implementation receives a separate post-run code review before integration. +- Safe-point releases are cut only when the release rule set, version analysis, full gates, emulation/readback, tag consistency, and rollback evidence are green. + +## 4. Worktree and Ownership Matrix + +Durable local layout: `.agent/worktrees//` (already ignored through `.gitignore`). + +| Slice | Branch | Exclusive maker paths | Dependencies | Required proof | +| --- | --- | --- | --- | --- | +| PLAN-GOVERNANCE | `work/prc-release-gates-revision10-maker` | `.agent/plans/2026-07-10-engram-production-ready-master-plan.md`, `.agent/plans/2026-07-10-engram-production-ready-ownership-state.json`, `.agent/plans/2026-07-10-engram-production-ready-scope-map.json`, `.agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json`, `.agent/specs/release-gates-r10/evidence/plan-governance/authority-snapshot.json`, `.agent/specs/release-gates-r10/evidence/plan-governance/external-enforcement-snapshot.json`, `.agent/specs/release-gates-r10/evidence/plan-governance/path-envelope.json`, `.agent/reports/2026-07-11-release-gates-r10-plan-governance.md` | exact rejected R9 release head/base `f11a77cce88f013839e22662458a3318670445e9`; forbidden checker-only base `0354362c427d99eb2993e5acddeb9d5bcd561df7`; direct-child A10 and direct predecessor of B10 | preserve every PR-0..PR-8 and M0..M7 obligation plus all predecessor rows; record R9 two-HIGH/one-MEDIUM rejection while preserving its A/B commits; freeze R4 acceptance, R2 rejection/R3 pending, R6 checker-pending, DB/image blockers, external enforcement pending state, and v5 demolition exclusions; own every exact B10 workflow/script/test/evidence/report path before implementation; canonical UTF-8/LF plan hash, state hash, scope-map parity, Ledger, strict schema, path-budget, exact Diff, checker and root post-review must pass | +| DB-BULKOPS | `work/prc-db-bulkops` | `internal/bulkops/facade.go`, `internal/bulkops/facade_test.go`, `internal/bulkops/rollback.go`, `internal/bulkops/rollback_test.go`, `internal/db/gorm/candidate_store.go`, `internal/db/gorm/candidate_store_test.go`, `internal/mcp/tools_bulkops.go`, `internal/mcp/tools_dryrun_test.go`, `pkg/models/snapshot.go`, legacy exact report `.agent/reports/2026-07-10-db-bulkops-capture-lock-rework-maker.md`, legacy exact report `.agent/reports/2026-07-10-db-bulkops-sibling-rework-maker.md`, legacy evidence prefix `.agent/specs/production-ready-db-bulkops/evidence/**`, legacy evidence prefix `.agent/reports/evidence/production-ready/db-bulkops-sibling-rework/**` | historical base `2b085de663d5ba9dfa97adf9ee58de062ee0997c`, rejected head `68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef`; no integration SHA; superseded as current writer on the four behavioral-edge paths | checker artifact `.agent/worktrees/prc-db-bulkops/.agent/reviews/2026-07-10-db-bulkops-sibling-rework-check.md`, verdict `FAIL / REVISE_HOLD`, SHA256 `EB9EB227363A27EA058C6654BD7E38EED1088252F79F837E377B2A3CBC1FAFB7`; exact Diff must report zero undeclared paths but fail epoch authority for paths now owned by DB-BULKOPS-BEHAVIORAL-EDGE-REWORK; preserve all lock-consistent capture/rollback evidence; never integrate this head alone | +| DB-BULKOPS-BEHAVIORAL-EDGE-REWORK | `work/prc-db-bulkops` | `internal/db/gorm/candidate_store.go`, `internal/db/gorm/candidate_store_test.go`, `internal/mcp/tools_bulkops.go`, `internal/mcp/tools_dryrun_test.go`, `.agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker.md`, legacy exact report `.agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker-3.md`, `.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**` | rejected historical target and exact authoritative candidate base `68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef`; accepted/reviewed product successor head `bd68c05baf4b7250096dd84f56bebea2aa555970`; live register's partial `cd098397764e13388aef3b4da9448172c7092fdb..bd68c05baf4b7250096dd84f56bebea2aa555970` view is not full candidate authority; checker/post-review are `PASS_WITH_CONCERNS`; integration SHA remains unset | both behavioral defect classes are closed across promote/preserve/reject/suppress/supersede with canonical preflight plus transaction-bound snapshot validation, exact integer decoding, wrong-type/TOCTOU rejection, audit-fault rollback, and ordinary non-snapshot exclusion; do not present rejected `68b2ce58` as current acceptance; the remaining test-pool concern transfers `candidate_store_test.go` to DB-TEST-POOL-HYGIENE and remains release-blocking until its fresh checker passes | +| DB-TEST-POOL-HYGIENE | `work/prc-db-test-pool-hygiene-evidence-r3` | `internal/db/gorm/candidate_store_test.go`, `.agent/reports/2026-07-10-db-test-pool-hygiene-maker.md`, `.agent/reports/2026-07-10-db-test-pool-hygiene-evidence-revision-maker.md`, `.agent/reports/2026-07-11-db-test-pool-hygiene-evidence-revision3-maker.md`, `.agent/reports/evidence/production-ready/db-test-pool-hygiene/**` | accepted behavioral-edge product head `bd68c05baf4b7250096dd84f56bebea2aa555970`; product successor `276337b3e96aa5af6d2e7dd9a0002ff957e5ffc9`; rejected evidence-only R2 `68242c48aaad62ec087166eeb9ea32f14d189450`; checker-only rejection `a7b2d36b3f0a4514b51dddf341877f5b4b9721d9`; immutable R3 direct child `331b5b195a967e7f27dca94038a3480c9afcc84f`, tree `12674bf76404a0e021a22d3dc7aa4d5ed3763ee0`; checker/root acceptance pending | preserve the sound product pool ownership while closing all four R2 evidence failures: immutable changed-path closure, ordinal deterministic ordering, exact string types, and exact numeric token types; the R3 final diff is exactly the ten paths frozen in the active contract; fresh checker plus root post-review precede transfer to the MB1 candidate-review writer; DB-GOVERNANCE does not own this path in R12 | +| DB-GOVERNANCE | `work/prc-data-integrity-macro-batch` | `internal/db/gorm/rule_governance_store.go`, `internal/db/gorm/rule_arbiter_store_test.go`, `internal/db/gorm/rule_governance_store_test.go`, `internal/db/gorm/rule_governance_rg3_store_test.go` | exact external accepted-synthesis base `fef455bcf640f849c2d40c9bc26a459b5593e10a`; first internal MB1 commit; `rule_governance_store_test.go` belongs only to DB-GOVERNANCE | claim acquisition and release remain transaction-atomic; a release error preserves the claim and prior run state; migration 147/146/145 rollback around migration 144 is repeat-safe and never requires `CASCADE`; per-test fresh DB plus two complete repeats on one fresh DB; flip test, exact error semantics, maker-distinct fresh checker over the immutable MB1 head | +| CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK | `work/prc-candidate-review-snapshot-rollback` (superseded by R12 macro branch `work/prc-data-integrity-macro-batch`) | `internal/reviewpacket/candidate.go`, `internal/reviewpacket/candidate_test.go`, `internal/db/gorm/candidate_store.go`, `internal/db/gorm/candidate_store_test.go`, `internal/db/gorm/snapshot_store.go`, `internal/db/gorm/snapshot_store_test.go`, `internal/bulkops/rollback_test.go`, new `tests/critical/candidate_review/candidate_review_snapshot_rollback_test.go` | accepted DB-BULKOPS-BEHAVIORAL-EDGE-REWORK composite; exact predecessor SHA recorded; the earlier DB-GOVERNANCE internal commit owns only its four disjoint rule-governance paths; candidate review is the sole MB1 writer of `candidate_store.go` and `candidate_store_test.go` | predecessor candidate-review snapshots must already reject wrong types and carry durable audit; inside the same candidate transition transaction, persist locked `Before`, committed `After`, snapshot row, candidate mutation, promoted-memory amendment where applicable, and `candidate_review` audit; any failure rolls back all writes; cover promote, preserve, reject, suppress, and supersede; permanent immediate rollback and later-state conflict regressions; one immutable MB1 head, independent checker and post-review PASS before integration | +| INGEST-DOC-CLASSIFICATION | checker-only | read-only `.agent/reports/2026-07-10-openclaw-ingest-classification.md` | complete at SHA256 `A095E9D7B69DC95CAC4022EB97D2EA9B403D5132F5602FDD85E7D3A93092F5D4` | `SnapshotOpIngestDoc` / `executeIngestDoc` is `CLASSIFIED_pre-demolition-stale` in the taxonomy's stale/unwired bucket, historically introduced post-demolition; it blocks plan/audit closure and is never a live, dormant, or must-build scaffold | +| INGEST-DOC-SNAPSHOT-DEMOLITION | `work/prc-ingest-doc-snapshot-demolition` | `internal/bulkops/facade.go`, `internal/bulkops/facade_test.go`, `pkg/models/snapshot.go`, `pkg/models/snapshot_test.go`, new `internal/mcp/ingest_snapshot_contract_test.go` | accepted DB-BULKOPS-BEHAVIORAL-EDGE-REWORK integrated; worktree rebased to its exact integration SHA; runs before DURABLE-AUDIT-BOUNDARIES takes the facade epoch | classify `ingest_doc` as a persisted historical-only discriminator, remove `executeIngestDoc`, reject both dry-run and committed Facade execution without snapshot/audit/business mutation, retain migration/governance read compatibility, add an executable-op predicate that includes only promote/delete/supersede, prove the live MCP document ingest path stores the full content-addressed body in singular table/column `content.doc` plus `documents` metadata/hash without creating a bulk-op snapshot, chunk, embedding, or search path, and forbid counting or wiring the historical type as durable-audit evidence; exact regressions `TestSnapshotOpIngestDoc_PersistedButNotExecutable`, `TestFacade_Execute_IngestDocHistoricalOnly_NoSnapshot`, and `TestIngestDocument_StoresBodyWithoutBulkOpSnapshot`; independent checker PASS and post-run review PASS under `.agent/reports/evidence/production-ready/ingest-doc-snapshot-demolition/**` | +| DB-AUTH | `work/prc-db-auth` | `internal/db/gorm/user_store.go`, `internal/db/gorm/user_store_test.go`, `internal/worker/auth_handlers.go`, `internal/worker/auth_handlers_lifecycle_test.go`, `.agent/reports/db-auth-rework-maker-2026-07-10.md` | RELEASE-GATES foundation before mergeable checker verdict; first writer in the auth handler/store transfer chain | atomic cross-process first-admin database invariant: one committed active admin, typed conflict for the loser, concurrent last-active-admin invariant, disabled-admin edge, row-lock semantics, fresh DB identity and no global-row contamination; this lane does not by itself authorize a public setup winner and cannot integrate past M1 until AUTH-BOOTSTRAP-SECURITY and DURABLE-AUDIT-BOUNDARIES pass | +| AUTH-BOOTSTRAP-SECURITY | `work/prc-auth-bootstrap-security` | `internal/config/config.go`, `internal/config/config_test.go`, `internal/config/envnames.go`, `internal/db/gorm/user_store.go`, `internal/worker/middleware.go`, `internal/worker/middleware_test.go`, `internal/worker/auth_handlers.go`, new `internal/worker/auth_bootstrap_limiter.go`, new `internal/worker/auth_bootstrap_limiter_test.go`, new `internal/worker/auth_bootstrap_security_test.go`, `internal/worker/service.go`, new `tests/critical/auth_bootstrap/first_admin_bootstrap_test.go`, new `scripts/production-smoke/customer/run-auth-bootstrap-adversary.ps1` | accepted DB-AUTH integrated; worktree rebased to that exact integration SHA; owns `service.go` before V7-RUNTIME-WIRING; deployment/UI subproofs are owned by DEPLOYMENT-ROLLBACK and OC-INTEGRATION | zero-user setup requires a non-empty one-time out-of-band operator capability; missing/invalid/replayed/revoked capability fails before bcrypt, session creation, or mutation; capability consumption and first-admin creation are cross-process/restart safe; setup-specific per-source plus global bounded abuse control; two-server attacker-vs-operator, replay, restart, remote-network, and secret-free log/HTTP/OTLP negatives; exact command `pwsh ./scripts/production-smoke/customer/run-auth-bootstrap-adversary.ps1 -Processes 2 -Repeat 10 -ArtifactRoot .agent/reports/evidence/production-ready/auth-bootstrap` plus fresh-DB race/critical/browser proof | +| DURABLE-AUDIT-BOUNDARIES | `work/prc-durable-audit-boundaries` | `internal/db/gorm/domain_owner_store.go`, `internal/db/gorm/domain_owner_store_test.go`, `internal/db/gorm/user_store.go`, `internal/worker/auth_handlers.go`, new `internal/worker/auth_audit_durability_test.go`, `internal/bulkops/facade.go`, new `internal/bulkops/audit_durability_test.go`, new `scripts/production-smoke/customer/run-durable-audit-faults.ps1` | accepted INGEST-DOC-SNAPSHOT-DEMOLITION, CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK, and AUTH-BOOTSTRAP-SECURITY integrated; exact SHAs recorded; worktree rebased to the latest composite | auth setup and every retained bulk success path commit business mutation with its audit row in one transaction or a durable outbox; fault/retry/readback covers auth setup plus bulk promote/delete/supersede with no falsely complete unaudited response. The retained executable bulk-op set is exactly `bulk_promote`, `bulk_delete`, and `bulk_supersede`; `SnapshotOpIngestDoc` is a persisted historical-only discriminator, is non-executable after INGEST-DOC-SNAPSHOT-DEMOLITION, is excluded from this matrix, and may not be wired or cited as audit evidence. The separate live MCP `ingest` path is not covered by the bulk facade and requires its own explicit audit contract if whole-product mutation auditing is required. | +| DB-CRYSTALLIZATION | `work/prc-db-crystallization` | `internal/worker/handlers_hooks_crystallization_integration_test.go` | RELEASE-GATES foundation before mergeable checker verdict | session-end stores redacted transcript without direct decision-memory creation; flag-off/empty safety; concurrent delivery; this test-only lane does not authorize dream-cycle production edits and must hand the live defects to CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS | +| CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS | `work/prc-crystallization-dream-cycle-correctness` | `internal/worker/dream_cycle.go`, `internal/worker/dream_cycle_test.go`, new `.agent/reports/2026-07-10-crystallization-dream-cycle-correctness-maker.md`, new `.agent/e/cdc/**` | revision-4 RELEASE-GATES accepted and integrated; accepted DB-CRYSTALLIZATION test-only candidate checker/post-review integrated; worktree rebased to the latest exact integration SHA; first/current owner for both source/test paths | fail closed across the full `CRYSTALLIZATION` / `VNEXT_F` / LLM availability-result matrix: no read/extract/route/mark/watermark when crystallization is off; no mark or watermark when candidate persistence is unavailable, the F flag is off, LLM is disabled, extraction fails, routing returns nil, or any route errors; group transcript work by exact `(project, session_id)` so no digest or candidate crosses project/session provenance; mark only a batch whose every extracted decision reached a durable created-or-duplicate result; preserve unprocessed rows across restart/retry and prove exactly-once candidate persistence by fingerprint; use fresh migrated PostgreSQL per run, focused repeat at least 20, package repeat at least 3, race at least 3, process restart, zero residual sessions/databases, independent checker PASS, and post-review PASS; do not restore direct session-end regex extraction, direct memory creation, or any v5-demolished graph/rerank/scoring path; any proved need to change `internal/db/gorm/transcript_store.go` or its test stops for a root plan/state amendment before edit | +| DB-EMBEDDING-STATS | `work/prc-db-embedding-stats` | `internal/embedding/store.go`, `internal/embedding/store_stats_test.go`, `.agent/reports/2026-07-10-db-embedding-stats-maker.md`, `.agent/reports/evidence/production-ready/db-embedding-stats/**`, `.agent/specs/db-embedding-stats/evidence/**` | RELEASE-GATES full diagnostic plus live call-path classification; immutable accepted product source `38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df` remains separate from every evidence-transport revision | empty `content_chunks` and zero active memories return zero-valued stats with `LastChunkAt=nil`, never a NULL-to-`time.Time` scan error; populated/model/dimension/coverage behavior unchanged; focused repeat >=20, package/race/vet, fresh schema and zero sessions; no evidence-only commit may alter or rebind the accepted product source | +| DB-EMBEDDING-EVIDENCE-TRANSPORT | `work/prc-db-embedding-evidence-transport-r6` | `.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/**`, `.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/**`, `.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/**`, `.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**`, `.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/**`, `.agent/specs/db-embedding-stats-evidence-transport/evidence/**` only | immutable product source `38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df`; rejected R5 head `a538f6224ef31f612152470a4ecd45e78ff9d0f2`; immutable R6 direct successor `a1a3bfeb6546d1f3f24192b1c9f057402b6249a2`; live status `R6_READY_FOR_FRESH_CHECKER`; no product edits or integration are authorized | preserve manifest/path/null-access/Prove-It rails and the exact 32-path digest `2fb294913b315bd908adf227f28600e5b2b80753a20dd6b9606cb7ae3d907948`; R5 remains rejected; R6 may advance only after a fresh independent checker and root post-review prove exact final-commit replay and every prior failure class | +| DB-REAPER | `work/prc-db-reaper-shutdown-r4` | `internal/worker/reaper/reaper.go`, `internal/worker/reaper/reaper_test.go` | register candidate `0d5cfa5c67ddbc331d7e812f98679742541b32ca` is not path-authoritative: actual diff changes `internal/worker/service.go` and `internal/worker/service_reaper_lifecycle_test.go`, while `service.go` is currently owned by AUTH-BOOTSTRAP-SECURITY; a fresh candidate requires an explicit epoch-safe plan amendment | package/race/repeat proof; environment isolation; configured/default/invalid retention; unexpired preservation; expired purge; cancellation and idempotency | +| SECURITY-TOOLCHAIN | `work/prc-security-toolchain` | `go.mod`, `go.sum`, `Dockerfile` | preservation recorded + clean `origin/main` worktree; first writer in the `Dockerfile` transfer chain | build, vet, full unit/DB tests, zero reachable Go vulnerability release blocker, builder/runtime version proof; its server candidate currently leaves three unfixed Perl image findings and is not final image acceptance; checker/post-review precede transfer of `Dockerfile` to IMAGE-REMEDIATION-R2 | +| RELEASE-GATES | `work/prc-release-gates-revision10-maker` | `.github/workflows/authority-guard.yml`, `.github/workflows/test.yml`, `scripts/production-gates/assert-active-candidate-path-authority.ps1`, `scripts/production-gates/assert-pr-authority-guard.ps1`, `.agent/specs/release-gates-r10/evidence/release-gates/test-r10-authority-guard.ps1`, `.agent/specs/release-gates-r10/evidence/release-gates/R10-AUTHORITY-GUARD.red.json`, `.agent/specs/release-gates-r10/evidence/release-gates/authority-guard-simulation.json`, `.agent/specs/release-gates-r10/evidence/release-gates/strict-schema-regressions.json`, `.agent/specs/release-gates-r10/evidence/release-gates/workflow-conformance.json`, `.agent/specs/release-gates-r10/evidence/release-gates/verification-summary.json`, `.agent/specs/release-gates-r10/evidence/release-gates/security-review.md`, `.agent/reports/2026-07-11-release-gates-r10-maker.md` | exact PLAN-GOVERNANCE-R10 A commit is the direct parent; rejected R9 B `f11a77cce88f013839e22662458a3318670445e9`; forbidden checker-only base `0354362c427d99eb2993e5acddeb9d5bcd561df7`; first writer in `.github/workflows/test.yml` before IMAGE-REMEDIATION-R2 | require exact raw JSON schema/type/null validation for every load-bearing field and reject duplicates, numeric strings, scalar/object/array substitutions, raw backslashes, and coordinated contract/workflow rewrites; `pull_request_target` uses `contents: read`, no secrets or third-party actions, fetches explicit base/head refs and verifies SHAs, materializes and executes the validator only from trusted base bytes, and treats head/merge/diff/files as data only; no PR-head checkout or execution; protected authority/gate/governance mutations fail before candidate-controlled hashes can matter; deterministic local simulation must prove wrong SHA/ref, protected/coordinated rewrite, all R9 wrong-type/null/backslash attacks, and an untrusted sentinel fail while an ordinary authorized candidate passes; external required-status activation remains a separate post-bootstrap root transition; preserve the normal test workflow as defense in depth and all prior release blockers/floors | +| RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12 | `work/prc-release-gates-r12-authority-db-isolation` | `.agent/plans/2026-07-10-engram-production-ready-master-plan.md`, `.agent/plans/2026-07-10-engram-production-ready-ownership-state.json`, `.agent/plans/2026-07-10-engram-production-ready-scope-map.json`, `.agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json`, `.agent/specs/release-gates-r12/evidence/plan-governance/**`, `.agent/reports/2026-07-11-release-gates-r12-plan-governance.md`, `.github/workflows/authority-guard.yml`, `.github/workflows/test.yml`, `scripts/production-gates/assert-active-candidate-path-authority.ps1`, `scripts/production-gates/assert-pr-authority-guard.ps1`, `scripts/production-gates/assert-pr-authority-maintenance.ps1`, `.agent/specs/release-gates-r12/evidence/release-gates/**`, `.agent/reports/2026-07-11-release-gates-r12-maker.md` | exact rejected A11 parent `887b7c6144a09829a1a3f43ff5a19d3fb27fb7c1`; B11 has no commit and remains parked; A12 and B12 are separately immutable and independently checked | remove only the committed self-reference: manifest container is excluded from its committed protected-blob array, while the trusted-base check artifact binds actual head SHA and container blob. Preserve exact owner/epoch approval, literal path/status set, validator blobs, every other protected blob, TTL/lifecycle, stale base, replay, two-PR loser, ordinary guard, no-secret unprivileged successor, producer tuple and PR-only recovery negatives. A12 additionally freezes the source-backed MB1–MB4 macro execution overlay at 69/69 slice parity, exact dependencies/collisions and one checker per immutable macro head. | +| IMAGE-REMEDIATION | checker-only historical | read-only rejected R1 evidence | exact clean predecessor base `0c6269908aa810a2248f2bfaf3fca4f9f5791359`; rejected maker `b7f8ff7b9efe826cefdc665894761783a6876676`, checker `e1c3accacdabcfe50d3e72b8d5d7427caab9ec6f`, and root review `.agent/reviews/2026-07-11-image-remediation-r1-post-review.md` SHA256 `3F4BC94F24D614B91C3015F1555F1E435E261B4154831D45EC8688E85C003A17`; never integrate or use as an R2 base | preserve the substantial runtime/image/scanning evidence and all blocking findings as historical input only. R1 is not current ownership, no R1 blob is inherited by assertion, and neither its maker nor checker may appear in R2 ancestry. | +| IMAGE-REMEDIATION-R2 | `work/prc-image-remediation-r2-immutable-publish` | `.dockerignore`, `Dockerfile`, new `cmd/engram-healthcheck/main.go`, new `cmd/engram-healthcheck/main_test.go`, new `deploy/postgres/Dockerfile`, `docker-compose.yml`, `deploy/docker-compose.runtime.yml`, `docs/DEPLOYMENT.md`, `docs/PRODUCTION-TESTING-PLAYBOOK.md`, `.github/workflows/docker.yaml`, `.github/workflows/docker-publish.yml`, new `scripts/production-gates/build-and-scan-images.ps1`, new `tests/critical/runtime/image_runtime_contract_test.go`, new `tests/critical/runtime/postgres_image_contract_test.go`, `.agent/reports/evidence/production-ready/image-remediation-r2/**`, `.agent/reports/2026-07-11-image-remediation-r2-maker.md`, `.agent/reports/2026-07-11-image-remediation-r2-security.md` | exact clean detached base `0c6269908aa810a2248f2bfaf3fca4f9f5791359`; branch `work/prc-image-remediation-r2-immutable-publish`; rejected R1 `b7f8ff7b9efe826cefdc665894761783a6876676` and checker `e1c3accacdabcfe50d3e72b8d5d7427caab9ec6f` must both be absent from ancestry; no `.github/workflows/test.yml` ownership; exact base already contains the selected SECURITY-TOOLCHAIN integration | reconstruct and re-prove the full three-image runtime, zero-HIGH/CRITICAL scan, readiness, persistence, cleanup, docs, and publication contract from the clean base; no byte identity with rejected R1 is acceptance evidence. A repository-wide executable-surface census must prove the release-publish workflow and explicitly bounded `build-and-scan-images.ps1 -Mode Publish` are the only writers for all three package names; every other workflow/script, including `docker-publish.yml`, is verification-only. The `v*` tag-push path and a fresh read-only `prepare-release` job/runner are unprivileged verification/data producers with no `packages: write`; tag/ref/SHA/artifacts are untrusted data. `prepare-release` alone checks out the candidate, executes every candidate-derived build, scan, and runtime test, and exports exact OCI data plus a trusted hash-bound manifest. A separate fresh privileged `publish` job/runner has `packages: write`, checks out protected-default-branch workflow/script bytes only and never the candidate, independently validates the named completed same-run producer, exact event/ref/full SHA, protected canonical tag target, protected-main ancestry/release provenance, one unique artifact identity, artifact digest, manifest binding, and symlink/reparse-free extraction paths, and treats loaded OCI images only as data. Candidate and privileged work can never share a runner, host process, daemon, checkout, or credential context. Every checkout uses `persist-credentials:false`; publisher tokens are step-scoped and absent from `prepare-release`; credential-bearing `.git` metadata is excluded from candidate build context; every third-party action is pinned to an immutable SHA. The privileged job logs in only after all independent checks, six-destination preflight, and OCI/manifest validation; after login only the trusted default-branch `Publish` implementation executes and no candidate-controlled path is used. Evidence, manifests, results, and upload roots live under publisher-created symlink/reparse-free trusted storage or `RUNNER_TEMP`; Docker credentials are erased before any later evidence upload. Derive full canonical SemVer through environment transport and strict grammar, never raw expression interpolation into shell source. Compute exactly six immutable destination references: full SemVer and `sha-` for each of server, operator-console, and PostgreSQL; never use a generic or moving canonical alias. Read all six before the first registry write, abort on any conflict or partial preexistence, serialize every run for the same release identity, publish exact scanned image IDs, then read back all six and require exact digest equality. This is bounded fail-closed orchestration, not GitHub tag immutability or GHCR atomic compare-and-swap; external PAT holders and package administrators are an explicit out-of-band trust boundary. Permanent adversarial tests cover branch/manual no-write, hostile valid Git refs, missing/extra writers, conflict before first write, partial failure/readback mismatch, same-release concurrency, destination drift, malicious tag workflow/script bytes, off-main tags, spoofed/duplicate artifacts, ref/SHA/run mismatch, candidate persistent-process or Docker-daemon tampering, cross-job contamination, symlink/reparse escape, candidate-sourced manifests, and future publication changes outside R12 exact-path authority. Fresh build/vet/full/critical, actionlint/parser, diff hygiene, gitleaks, exact-IID scan/runtime/cleanup, S3 checker, and root post-review are mandatory. | +| SECURITY-PROJECT-IDENTITY | `work/prc-security-project-identity-r4` | `internal/db/gorm/project_store.go`, `internal/db/gorm/project_identity_v2_test.go`, `internal/grpcserver/project_identity_v2_test.go`, `internal/proxy/identity.go`, `internal/proxy/identity_test.go`, `internal/proxy/identity_process_test.go`, `plugin/engram/hooks/lib.js`, `plugin/engram/hooks/project-identity-v2.test.js`, `plugin/openclaw-engram/src/identity.ts`, `plugin/openclaw-engram/test/project-identity-v2.test.mjs`, `.agent/specs/security-project-identity/evidence/**`, `.agent/reports/evidence/production-ready/security-project-identity/**` | R3 product head `38344455754fe503acbd79d2134141f996adff7f` remains rejected history; R4 maker `320f1d806729085f56e91b505b738444408639e1`; direct-child checker `3aa11399b2c7fa8f2188f35f68c110b1c33a1ef4` verdict `ACCEPT`; exact five-path LF digest `ff2385aa04e726c653db0c70a525f3e3957bc91e6bda1e6526fdd63afe5b5b7d`; root post-review and integration pending | accepted checker evidence closes the permanent OS child-process contention proof inside the bounded five-path R4 diff; do not widen it back to R3 paths or claim release integration; root post-review and exact integration are still required before SECURITY-PROJECT-IDENTITY unblocks OPENCLAW-RELEASE | +| OPENCLAW-RELEASE | `work/prc-openclaw-release` | `plugin/openclaw-engram/.gitignore`, `plugin/openclaw-engram/package.json`, new `plugin/openclaw-engram/package-lock.json`, `plugin/openclaw-engram/openclaw.plugin.json`, `plugin/openclaw-engram/README.md`, `.github/workflows/plugin-publish.yml`, `docs/RELEASE-PROTOCOL.md` | accepted SECURITY-PROJECT-IDENTITY integrated; worktree rebased to its exact integration SHA; accepted RELEASE-GATES `run-node-matrix.ps1` exists before checker execution; ordering edge `SECURITY-PROJECT-IDENTITY -> OPENCLAW-RELEASE -> INTEGRATION-RELEASE` | current baseline authority is package/plugin/npm `3.7.5`; record registry version and actual-diff semver decision after the identity source change, require the final local version to be publishable and greater than the current registry version when packageable source changed, align package/plugin/lock-top/lock-root versions, remove the lock ignore and track a generated lockfile v3, preserve declared dependency ranges unless a separately reviewed dependency change is recorded, replace publish-time `npm install` with `npm ci`, and prove from a fresh detached worktree with no pre-existing `node_modules`: tracked-lock/parity, `npm ci`, typecheck, tests, high-severity audit, package dry-run contents, clean Git status, publish/readback, independent checker PASS, and post-run review PASS under `.agent/reports/evidence/production-ready/openclaw-release/**` | +| UPDATE-LIFECYCLE | `work/prc-security-updater` | `internal/update/update.go`, `internal/update/update_test.go`, `internal/worker/handlers_update.go`, `internal/worker/handlers_update_test.go`, `scripts/install.sh`, `scripts/install.ps1`, `.goreleaser.yaml`, `.github/workflows/release.yaml`, `plugin/engram/hooks/hook-cli.test.js` | convergent GE-004 update ownership/provenance decision; avoid `internal/worker/service.go` overlap | read-only version discovery resolves real zip/tar assets; `/api/update/apply`, `/api/update/restart`, and `/api/restart` fail before download/write/goroutine/self-spawn with stable externally-managed receipts; container updates only by image digest redeploy/rollback; plugin assets only by marketplace/launcher versioned cache; standalone route only from an authenticated release bundle; signed checksum identity and exact archive entry are mandatory; missing verifier/metadata, bad signature/checksum, oversized download/extraction, interrupted staging, activation/readiness failure, retry and rollback are deterministic and leave the prior artifact byte-identical; release archives contain required installer/manifest material; raw curl/irm-pipe execution is not a production contract | +| SECURITY-REVIEW | checker-only | read-only review of SQL construction, template rendering, reverse proxy, updater/extraction, auth, secrets, and externally controlled inputs | SECURITY-TOOLCHAIN plus integrated candidate | no unresolved S3/S4 finding; dependency bump is not sufficient evidence | +| DOCUMENT-INGEST-PUBLIC-TRUTH | `work/prc-public-contracts-long-batch` | `internal/mcp/server.go`, `internal/mcp/public_tool_descriptions_test.go`, `.agent/reports/evidence/production-ready/document-ingest-public-truth/**`, `.agent/reports/2026-07-11-document-ingest-public-truth-maker.md` | rejected maker `63775eb30f5cc01a843cee074d41dbe87439904b`; direct-child checker-only commit `26938199ccdc682295211d16dd736430419cf4ab`; never integrate this head | historical rejected predecessor only: two individually improved descriptions do not close the live response, schema, handler, store, `remove_document`, or adversarial contract. Preserve its evidence for the bounded R2 rework. | +| DOCUMENT-INGEST-PUBLIC-TRUTH-R2 | `work/prc-public-contracts-r2-long-batch` | `.agent/reports/2026-07-11-document-ingest-public-truth-r2-maker.md`, `.agent/reports/evidence/production-ready/document-ingest-public-truth-r2/**`, `internal/db/gorm/document_store.go`, `internal/db/gorm/models.go`, `internal/mcp/document_public_truth_contract_test.go`, `internal/mcp/public_tool_descriptions_test.go`, `internal/mcp/server.go`, `internal/mcp/tools_documents.go`, `tests/critical/document_public_truth_test.go` | exact head `efe1ab5041c514f1a7d9ee8b36e07e5150cfc8e0`; checker `f3bba8815c97cf2000e46fdb2fbe1414d61a6264`; root verdict `BLOCK / ACCEPT_FIX_NOW` | rejected history only: public/storage corrections are inherited by R3, but split GetDocument plus unconditional deactivate permits concurrent duplicate success; never accept or integrate R2 without R3 successor proof | +| DOCUMENT-INGEST-PUBLIC-TRUTH-R3 | `work/prc-public-contracts-r3-atomic-remove` | `.agent/reports/evidence/production-ready/document-r3-atomic-remove-20260712-0142/summary.json`, `.agent/specs/production-ready-document-r3-atomic-remove/evidence/DOCUMENT-R3-ATOMIC-REMOVE.red.json`, `.agent/specs/production-ready-document-r3-atomic-remove/evidence/DOCUMENT-R3-ATOMIC-REMOVE.tdd.json`, `internal/db/gorm/document_store.go`, `internal/mcp/document_public_truth_contract_test.go`, `internal/mcp/tools_documents.go` | exact rejected R2 maker base `efe1ab5041c514f1a7d9ee8b36e07e5150cfc8e0`; immutable maker `9ea95b6adc3a838a459bf78e3ba7a0292153960f`, tree `c15a731de8ca8acac09bce8b209e2a27dd6303cb`; forbidden checker `f3bba8815c97cf2000e46fdb2fbe1414d61a6264` and earlier checker `26938199ccdc682295211d16dd736430419cf4ab`; fresh checker pending | inherit R2's truthful schemas, legacy non-operative search fields, singular `content.doc` body, documents metadata, and stable errors. Exact R3 diff replaces only the split removal decision: one `UPDATE` by exact collection/path with `active=true`, `RowsAffected=1` as sole success authority, stable zero-row not-found mapping, no new abstraction or schema. Fresh checker must prove exactly one concurrent success, one not-found, inactive final state, retained body and zero residue before acceptance. | +| MCP-STRUCTURED-INPUT-CLASSIFICATION | checker-only | read-only `.agent/reports/2026-07-10-mcp-structured-input-classification.md` | complete at SHA256 `3356F3AE6073F95E701707FCF451D63809AC186ED1DEA7321A7027C4C3122E7A` | verdict `CLASSIFIED_MUST_BUILD / BLOCKS_RELEASE`; exact hazards include malformed `promote_candidate.dry_run`, `store_memory.dry_run`, and `settings.encrypt`, lossy durable selectors, tag-clear ambiguity, partial `supersedes`, schema drift, and other route-specific mutation consumers; this row is diagnosis authority, not implementation permission | +| MCP-STRUCTURED-INPUT-VALIDATION | `work/prc-mcp-structured-input-validation` | `internal/mcp/coerce.go`, `internal/mcp/coerce_test.go`, `internal/mcp/tools_candidates.go`, `internal/mcp/tools_candidates_test.go`, `internal/mcp/tools_memory.go`, `internal/mcp/tools_memory_edit_test.go`, `internal/mcp/tools_memory_significance.go`, `internal/mcp/tools_memory_significance_test.go`, `internal/mcp/tools_store_consolidated.go`, `internal/mcp/tools_settings.go`, `internal/mcp/tools_settings_test.go`, `internal/mcp/tools_documents_v2.go`, `internal/mcp/tools_rule_governance.go`, `internal/mcp/tools_rule_governance_test.go`, new `internal/mcp/structured_input_validation_test.go` | exact accepted DB-BULKOPS-BEHAVIORAL-EDGE-REWORK integration SHA recorded; worktree rebased to that SHA; MCP-STRUCTURED-INPUT-CLASSIFICATION complete; may not rewrite accepted candidate-snapshot invariants; any additional mutation handler found by the mandatory inventory requires a plan/state ledger amendment before edit | inventory every public mutation and alias from advertised schema through handler to durable writes; decode load-bearing IDs with `json.Decoder.UseNumber` or equivalent exact representation before float64 loss; accept only integral in-range JSON numbers for integer contracts and document any route-specific numeric-string compatibility; distinguish missing from present for booleans/arrays so any malformed present value fails before facade/store/audit calls; align candidate, memory/store, settings, document-comment, rule-governance, significance, `promote_candidate.dry_run`, edit-tags, and `store_memory.supersedes` schema/handler contracts; do not globally tighten read/filter coercers; prove zero durable writes, zero transition/audit delta, and no false-success response across missing/null/wrong type/fraction/exponent/`2^53+1`/`MaxInt64`/overflow/mixed arrays/repeated concurrent calls; table/property/fuzz plus real-dispatch proof, independent checker PASS, and post-review PASS before transfer to retained mutation owners or INTEGRATION-RELEASE | +| REDACTION-LIVE-CONTRACT | `work/prc-redaction-live-contract` | `internal/redaction/layer.go`, `internal/redaction/layer_test.go`, `internal/redaction/rejection_test.go`, new `internal/mcp/redaction_guard.go`, new `internal/mcp/redaction_guard_test.go`, `internal/mcp/tools_memory.go`, `internal/mcp/tools_rules.go`, new `internal/mcp/tools_memory_redaction_audit_test.go`, new `internal/mcp/tools_rules_redaction_audit_test.go`, `internal/worker/service.go`, new `internal/worker/service_redaction_test.go`, `docs/operating-engram.md`, `.agent/reports/evidence/production-ready/redaction-live-contract/**` | root challenge verdict `REVISE`; accepted AUTH-BOOTSTRAP-SECURITY integrated and worktree rebased to its exact SHA; `internal/mcp/tools_memory.go` transfers from MCP-STRUCTURED-INPUT-VALIDATION so malformed input remains zero-audit/zero-write; owns `service.go` after AUTH and before V7-RUNTIME-WIRING | classify the two skipped T051 tests as stale placeholders over a live dormant-flag-gated TG5 path; compute SHA-256 from the exact bytes compiled into the boot-captured rule set; validate non-empty bounded unique rule IDs; every matched non-dry-run memory/rule mutation synchronously persists a content-free pre-mutation redaction audit or fails before mutation; full rejection is durable; dry-run is zero-write; restart is required for rule-byte changes; RED/checksum/audit-fault/fresh-DB/race/repeat/secret-negative proof, independent checker and root post-review; no async audit fallback or demolished path resurrection | +| DEMOLITION-SKIP-CLASSIFICATION | checker-only, then ROADMAP-RECONCILIATION owners | read-only classification of all 25 skip events plus four `internal/graph` T015/T016 failures and `internal/mcp/integration_tg3_hybrid_test.go` failure; any resulting edit is first assigned to an exact disjoint lane | RELEASE-GATES full diagnostic | every item classified `live`, `pre-demolition-stale`, `dormant-flag-gated`, `must-build`, `supported-platform allowlist`, or `release blocker`; no graph/rerank/scoring remnant is repaired merely because a test exists; each allowed skip has platform/prerequisite evidence and a separate proof lane where the behavior is required | +| RETRIEVAL-VECTOR-CONTRACT | `work/prc-retrieval-vector-contract` | `internal/retrieval/hybrid_integration_test.go` only | accepted DB-EMBEDDING-STATS product candidate plus exact skip classification; fresh PostgreSQL with pgvector | remove the external `ENGRAM_EMBEDDING_URL` skip by serving a deterministic in-process OpenAI-compatible `/v1/embeddings` endpoint; assert request model/dimensions/input, return exact `embedding.EmbeddingDim` vectors, persist the seed chunk, use a lexical-miss query and prove HybridSearch returns the seeded memory through positive vector contribution rather than FTS fallback; endpoint error/wrong-dimension negatives remain explicit; repeat/race/fresh-DB/zero-residue, checker and post-review | +| STATIC-EMBED-CONTRACT | `work/prc-static-embed-contract` | `internal/worker/static_embed_test.go` only | exact skip classification; IMAGE-REMEDIATION-R2 retains runtime generated-asset proof | eliminate the source-checkout skip by parsing `internal/worker/static.go` and requiring the exact `//go:embed all:static` directive; if generated `_nuxt/_*.js` files exist, continue requiring every disk file in `staticSubFS`; the test must fail if `all:` is removed even when no generated asset exists; IMAGE-REMEDIATION-R2 separately builds the operator console and proves underscore chunks are present and served from the final image; focused/full no-skip proof, checker and post-review | +| PRE-V5-UPGRADE-CONTRACT | `work/prc-pre-v5-upgrade-contract` | `internal/db/gorm/migrations_integration_test.go`, `internal/grpcserver/credential_migration_test.go`, new `tests/fixtures/pre-v5/**`, new `tests/critical/recovery/pre_v5_upgrade_test.go`, new `scripts/production-smoke/customer/run-pre-v5-upgrade.ps1` | exact skip classification; immutable source tag `v4.5.0`; accepted security/data candidates; disposable PostgreSQL 17 | never recreate a legacy table in the current fresh schema: replace the migration-074 skip with an ordering/final-schema assertion; move the credential roundtrip test behind explicit `legacyupgrade` build tag so ordinary suites contain zero skip, then generate or verify a checksum-pinned v4.5.0 fixture with encrypted credential, memory/rule inputs and exact historical migration state; upgrade with the candidate, prove migration 090 preserves ciphertext/fingerprint and decrypts every fixture secret byte-for-byte, migration 099 drops observations only after copied counts match, current reads/restart work, wrong key/corrupt ciphertext/interrupted upgrade fail safely, and zero foreign DB/session residue remains; dedicated tagged test may not skip; checker verifies fixture provenance and mutations to copy/drop order fail | +| T007-COMPAT-DEMOLITION-CLASSIFICATION | `work/prc-t007-compat-classification` | `internal/mcp/store_memory_compat_t007_test.go` only | RELEASE-GATES full diagnostic; independent read-only current-contract/demolition classification before edit | classify `TestEC_F1_TagDerivedBackfill_T007` as live, stale, dormant, must-build, or current-contract test correction; then, only if test correction is the accepted result, edit the owned test and run `pwsh ./scripts/production-gates/run-db-suite.ps1 -Package ./internal/mcp -Run '^TestEC_F1_TagDerivedBackfill_T007$' -FreshDatabase -Repeat 3 -FailOnUnexpectedSkip`; if production code is required, stop and amend this ledger with exact disjoint paths before edit; checker, post-review, zero-session artifact under `.agent/reports/evidence/production-ready/t007-compat/` | +| DB-RULES-ISOLATION | `work/prc-data-integrity-macro-batch` | new `internal/db/gorm/sql_like.go`, new `internal/db/gorm/sql_like_test.go`, `internal/db/gorm/memory_store.go`, `internal/db/gorm/issue_store.go`, new `internal/db/gorm/issue_store_project_match_test.go`, `internal/db/gorm/versioned_document_store.go`, new `internal/db/gorm/versioned_document_store_test.go`, `internal/grpcserver/session_start_test.go`, new `tests/critical/project_and_document_isolation_test.go`, `.agent/reports/2026-07-11-sql-like-literal-selector-cause-closure.md`, `.agent/reports/2026-07-11-db-governance-project-isolation-r2-long-batch-maker.md`, `.agent/reports/evidence/production-ready/db-governance-project-isolation-r2/**` | exact external accepted-synthesis base `fef455bcf640f849c2d40c9bc26a459b5593e10a`; same MB1 branch as DB-GOVERNANCE with disjoint paths; `rule_governance_store_test.go` is forbidden here | move the existing memory-store escape helper into one central literal-LIKE contract; Target and Source issue identity plus REST/MCP document-prefix selectors treat `_`, `%`, and `\` literally; critical session/document project isolation; repeat-safe fixtures; per-test fresh DB and repeat two on the same fresh DB; cause-closure report, flip tests, one immutable MB1 head, maker-distinct fresh checker and root review | +| COVERAGE-CMD-ENGRAM | `work/prc-coverage-cmd-engram` | new `cmd/engram/production_readiness_coverage_test.go` only | accepted LAUNCHER-FIRST-RUN and SECURITY-PROJECT-IDENTITY integrated; exact package floor remains immutable | raise live `cmd/engram` statement coverage from measured 6.39% to at least 10% through launcher/version-skew/identity/failure behavior; no source edit, threshold reduction, generated-code padding, mock-only line chasing, or generic skip; focused/full profile, checker and post-review | +| COVERAGE-CMD-SERVER | `work/prc-coverage-cmd-server` | new `cmd/engram-server/production_readiness_coverage_test.go` only | accepted runtime/readiness/identity/observability owners integrated; exact package floor remains immutable | raise live `cmd/engram-server` statement coverage from measured 0.00% to at least 10% through startup/config/readiness/failure behavior; no source edit, threshold reduction, generated-code padding, mock-only line chasing, or generic skip; focused/full profile, checker and post-review | +| COVERAGE-UPDATE | `work/prc-coverage-update` | new `internal/update/production_readiness_coverage_test.go` only | accepted UPDATE-LIFECYCLE integrated; exact package floor remains immutable | raise live `internal/update` statement coverage from measured 0.00% to at least 20% across read-only discovery, signed/checksummed staging, atomic activation/readiness, retry and rollback contracts; no in-process self-mutation resurrection, source edit, threshold reduction, or generic skip; focused/full profile, checker and post-review | +| COVERAGE-OVERALL-ROLLUP | checker-only | evidence prefix `.agent/reports/evidence/production-ready/coverage-overall-rollup/**` only | all package-floor owners integrated; complete repository profile from the exact integrated candidate | run the complete repository profile without package omission and require immutable overall statement coverage at least 60%, loom at least 70%, cmd floors 10/10, update 20, and worker/mcp/gorm 55/55/55; compare package inventory to `go list ./...`; no threshold reduction, rounding-up, stale profile, filtered subset, or maker-authored acceptance; fresh checker evidence and root post-review | +| COVERAGE-WORKER | `work/prc-coverage-worker` | new `internal/worker/production_readiness_coverage_test.go` only | accepted DB-AUTH, DB-CRYSTALLIZATION, OBSERVABILITY-OTLP, LAUNCHER and V7 runtime changes integrated | high-value startup/auth/update/readiness/failure contracts add real behavior coverage without source edits or mock-only line chasing; package and full profile evidence | +| COVERAGE-MCP | `work/prc-coverage-mcp` | new `internal/mcp/production_readiness_coverage_test.go` only | accepted project-identity/privacy and demolition classification integrated | supported store/recall/context/project/error boundaries covered through real handlers/stores; no removed scoring/rerank behavior resurrected; package and full profile evidence | +| COVERAGE-GORM | `work/prc-coverage-gorm` | new `internal/db/gorm/production_readiness_coverage_test.go` only | all DB functional lanes integrated | migration/error/transaction/recovery/empty-state boundaries covered on fresh schemas without order dependence; package and full profile evidence | +| COVERAGE-LOOM | `work/prc-coverage-loom` | new `internal/handlers/loom/production_readiness_coverage_test.go` only | DEMOLITION-SKIP-CLASSIFICATION identifies supported OS/tool prerequisites | raise live loom statement coverage from measured `64.77%` to at least `70%` with cancellation/empty-output/env/stderr/timeout behavior on a supported runner; platform skips are explicit, never generic success | +| DEPLOYMENT-ROLLBACK | `work/prc-deployment-rollback` | `docker-compose.yml`, `deploy/docker-compose.runtime.yml`, `deploy/docker-compose.operator-web-standalone.yml`, `deploy/entrypoint-server.sh`, `deploy/healthcheck-server.sh`, `deploy/verify-rollback.ps1`, `deploy/verify-runtime-policy.ps1` | accepted IMAGE-REMEDIATION-R2 and AUTH-BOOTSTRAP-SECURITY integrated; worktree rebased to both exact SHAs; compose ownership transfers from IMAGE-REMEDIATION-R2; canonical UI decision | explicit non-empty ephemeral admin/bootstrap credentials with no default/fallback; setup is not claimable without operator capability even when host ports are reachable; PostgreSQL not host-published by default; immutable accepted image IDs/digests from `final-image-set.json`; external liveness records `/health` without redefining its pre-ready contract, while each shell-free Docker readiness probe calls direct or proxied `/api/ready`, parses JSON, and accepts only exact `status=ready`; server runs non-root with `read_only: true`, all capabilities dropped, `no-new-privileges`, `HOME=/var/lib/engram`, and a persistent writable named or bind volume mounted exactly there and provisioned UID/GID `65532:65532` mode `0700`; absent, unowned, or unwritable storage, an unowned tmpfs restart, and injected initialization failures must remain Docker-unhealthy even if liveness `/health` returns HTTP 200 with `status=error`; exact consumer inventory must prove `deploy/docker-compose.operator-web-standalone.yml` has no retained supported consumer, then this lane deletes it rather than shipping a second stale `operator-web`/`NUXT_ENGRAM_API_TARGET` deployment truth; canonical operator checks require proxied `/api/health` and `/api/ready` to reach the exact server, not merely root HTTP 200; executable rollback with retained marker; remote-attacker and secret-negative runtime proof; any compose edit triggers fresh exact-image scans | +| RECOVERY-DATA | `work/prc-recovery-data` | `scripts/recovery/start-disposable-postgres.ps1`, `scripts/recovery/verify-postgres-roundtrip.ps1`, `scripts/recovery/seed-recovery-fixture.ps1`, `scripts/recovery/assert-recovery-fixture.ps1`, `tests/critical/recovery/postgres_roundtrip_test.go` | accepted DB fixes + deployment stand | no-skip migrations; v6.42.0 -> candidate upgrade; pg_dump/destroy/restore; memory/rule/credential/issue/document/code-index verification; corrupt/wrong-key/interrupted/retry/target-not-empty cases | +| OBSERVABILITY-OTLP | `work/prc-observability-otlp` | `internal/module/obs/logging.go`, `internal/module/obs/logging_test.go`, `internal/module/obs/meter.go`, `internal/module/obs/meter_test.go`, `internal/module/obs/metrics.go`, `internal/module/obs/metrics_test.go`, `cmd/engram-server/main.go`, `cmd/engram-server/main_test.go`, `scripts/production-smoke/verify-otlp.ps1` | RELEASE-GATES foundation | disposable receiver sees named startup/MCP/DB/auth/worker/index/client success+error metrics; exporter-down/backpressure timeout behavior; log/payload secret-negative proof | +| PRIVACY-BOUNDARIES | `work/prc-privacy-boundaries` | `internal/scope/domain_policy.go`, `internal/scope/domain_policy_test.go`, `internal/scope/filter.go`, `internal/scope/filter_test.go`, `internal/scope/filter_principal_test.go`, `internal/scope/filter_w4_test.go`, `internal/principalmemory/access_policy.go`, `internal/principalmemory/access_policy_test.go`, `internal/principalmemory/domain_registry.go`, `internal/principalmemory/domain_registry_test.go`, `internal/principalmemory/query_service.go`, `internal/principalmemory/query_service_test.go`, `internal/mcp/tools_principal_memory.go`, `internal/mcp/tools_principal_memory_test.go`, `internal/mcp/tools_recall_principal_test.go`, `internal/mcp/recall_visibility_backfill_test.go`, `internal/mcp/store_memory_principal_test.go`, `internal/worker/handlers_principal_memory.go`, `internal/worker/handlers_principal_memory_test.go`, `internal/worker/scope_bypass_w4_test.go`, `internal/worker/retention.go`, `internal/worker/retention_test.go`, `internal/db/gorm/memory_store.go`, `internal/db/gorm/memory_store_principal_test.go`, `internal/db/gorm/memory_store_principal_query_test.go`, `internal/db/gorm/purge_store_test.go`, `tests/critical/data_boundaries/principal_project_retention_test.go` | RELEASE-GATES foundation; accepted DB-BULKOPS integrated; worktree rebased to exact integration SHA before `memory_store.go` ownership transfers | cross-principal/project negatives, two-workstation sharing, shared/public behavior, configured/disabled retention, destructive boundaries, flag-off vs production-profile behavior | +| CRITICAL-HARNESS | `work/prc-critical-harness` | `tests/critical/customer_mode/customer_mode_test.go`, `tests/critical/customer_mode/compatibility_test.go`, `tests/critical/customer_mode/cross_agent_test.go`, `scripts/production-smoke/customer/run-customer-mode.ps1`, `scripts/production-smoke/customer/run-client-compatibility.ps1`, `scripts/production-smoke/customer/run-cross-agent.ps1`, `scripts/production-smoke/customer/run-diagnostic-matrix.ps1`, `scripts/production-smoke/customer/assert-product-works.ps1` | integrated RELEASE-GATES foundation | wrapper/direct/customer/restart/upgrade/mixed-version/cross-agent/cross-workstation matrix and machine-readable `PRODUCT_WORKS`; forbidden path: `scripts/production-smoke/verify-otlp.ps1` | +| CORE-PUBLIC-TRUTH | `work/prc-core-public-truth` | `README.md`, `README.ru.md`, `README.zh.md`, `CONTRIBUTING.md`, `CHANGELOG.md`, `Makefile`, `.env.example`, `docs/DEPLOYMENT.md`, `docs/MIGRATION.md`, `docs/PRODUCTION-TESTING-PLAYBOOK.md`, `docs/arch/CONFIGURATION.md`, `docs/arch/QUICKSTART.md`, `docs/release-notes/v6.43.0.md`, `docs/public/engram.jpg`, `plugin/engram/commands/setup.md`, `plugin/engram/commands/doctor.md` | accepted IMAGE-REMEDIATION-R2 integrated and worktree rebased to its exact SHA; M5 commands proven by other lanes; `core_safe_point_version` release analysis | zero active HTTP-MCP/SSE/API-token resurrection; documented first run executed verbatim; one canonical operator-console deployment/support path and accepted PostgreSQL image identity; this row describes only the M5 safe point and cannot serve as M7 final public truth | +| FINAL-PUBLIC-TRUTH | `work/prc-final-public-truth` | `README.md`, `README.ru.md`, `README.zh.md`, `CONTRIBUTING.md`, `CHANGELOG.md`, `Makefile`, `.env.example`, `docs/DEPLOYMENT.md`, `docs/MIGRATION.md`, `docs/PRODUCTION-TESTING-PLAYBOOK.md`, `docs/operating-engram.md`, `docs/arch/CONFIGURATION.md`, `docs/arch/QUICKSTART.md`, `docs/public/engram.jpg`, `plugin/engram/commands/setup.md`, `plugin/engram/commands/doctor.md`; no versioned release-note path is authorized yet | all M6 implementation CRs integrated; `.agent/reports/evidence/production-ready/release/final-version.json` records the actual-diff semver decision, exact release-note path, image tags/digests, plugin version, and rollback predecessor | `BLOCKED` until root amends this row with one exact versioned `docs/release-notes/...md` file and records the public-file epoch transfer; final docs/changelog/install/upgrade/rollback claims are rerun against final published artifacts; no placeholder path may be edited | +| LAUNCHER-FIRST-RUN | `work/prc-launcher-first-run` | `cmd/engram/main.go`, `cmd/engram/main_test.go`, `cmd/engram/wiring.go`, `cmd/engram/exec_windows.go`, `cmd/engram/exec_unix.go`, `plugin/engram/.engram-project`, `plugin/engram/scripts/run-engram.js`, `plugin/engram/scripts/run-engram.test.js`, `plugin/engram/scripts/ensure-binary.js`, `plugin/engram/scripts/ensure-binary.test.js` | M0; preserve dirty main and legacy launcher worktree; accepted SECURITY-PROJECT-IDENTITY protocol and shared vectors | fail-closed workstation keycard gate; marker format and wrapper identity implement the accepted GE-003 versioned anchor/legacy-alias protocol rather than independently freezing a format; direct/wrapper parity; version-skew repair; clean install; store -> new process -> recall and automatic injection; restart/upgrade | +| OC-INTEGRATION | `work/prc-operator-console-integration` | `apps/operator-console/**` only | accepted IMAGE-REMEDIATION-R2 and AUTH-BOOTSTRAP-SECURITY API/capability contract integrated; worktree rebased to both exact SHAs; package manifests are owned directly by OC-INTEGRATION; ROADMAP issues the reviewed OC contract; inventory legacy OC heads/dirt | current-base integration; exact required bootstrap artifacts `apps/operator-console/pages/setup.vue`, `apps/operator-console/composables/useOperatorBootstrap.ts`, and `apps/operator-console/tests/browser/production-auth-bootstrap.spec.ts`; preserve `nuxt.config.ts` live `NUXT_OPERATOR_API_TARGET` contract and add `apps/operator-console/tests/browser/production-api-proxy.spec.ts` proving the shipped runtime proxy reaches the exact backend `/api/health` and `/api/ready` before/after restart; root HTTP 200 with fallback `unleashed.lan`, timeout, or wrong backend is a failure; operator capability never enters URL/storage/log/screenshot/trace; remote attacker, missing/invalid/replay/revoked/restart states; keycard issue/use/revoke; live API readback; browser console/network/accessibility; no mock/placeholder dishonesty; rerun locked install, audit, build, browser proof, operator image rebuild and zero HIGH/CRITICAL scan after any dependency change | +| S4B-CONTRACT | `work/prc-s4b-contract` | `.agent/specs/engram-v7-directives-surfacing/**` only | M0 | remove operator-console contamination; preserve canonical `HintProposal` return contract; regenerate checklist/tasks and validate/challenge before code | +| V7-S4B-BACKEND | `work/prc-v7-s4b-backend` | `internal/cognitive/s4bsurfacing/**` | S4B-CONTRACT; S1/S2/S3/S4a live-path verification | CandidateProposer behavior/policy/privacy/deadline tests live inside the owned subtree; no specs, worker wiring, UI, queue or render ownership | +| V7-CORE-CALLPATH | `work/prc-v7-core-callpath` | `internal/cognitive/core/event_bus.go`, `internal/cognitive/core/event_bus_test.go`, `internal/cognitive/core/hint_queue.go`, `internal/cognitive/core/hint_queue_test.go`, `internal/cognitive/s3ambient/queue.go`, `internal/cognitive/s3ambient/subsystem.go` | independent live/stale/dormant/must-build classification | any required bus/queue production behavior is proved independently of S4B; no unused scaffold is extended merely because it exists | +| V7-RUNTIME-WIRING | `work/prc-v7-runtime-wiring` | `internal/worker/service.go`, `internal/worker/service_v7_integration_test.go`, `internal/worker/handlers_stats_v7.go`, `internal/worker/handlers_stats_v7_test.go` | accepted AUTH-BOOTSTRAP-SECURITY integrated; worktree rebased to its exact integration SHA before `service.go` ownership transfers; V7-S4B-BACKEND, V7-CORE-CALLPATH classification, V7-TELEMETRY-WIRING package API | real CandidateProposer registration/read path; auth/bootstrap route behavior unchanged by rebase; S3-owned fusion/queue/render delivery; real S5 source registration; full flag matrix | +| V7-TELEMETRY-WIRING | `work/prc-v7-telemetry-wiring` | `internal/cognitive/s5/metrics.go`, `internal/cognitive/s5/provider.go`, `internal/cognitive/s5/provider_test.go`, `internal/cognitive/s5/source_adapter.go`, `internal/cognitive/s5/source_adapter_test.go` | backend producer contract stabilized | production source adapter; `hint_precision n>=30`, `accepted_hint_action n>=20`, honest no-sample/below-threshold states, rolling burden/freshness evidence | +| ROADMAP-RECONCILIATION | `work/prc-roadmap-reconciliation` | `.agent/specs/roadmap.md`, `.agent/specs/ui-surface-ledger.md`, new `.agent/specs/operator-console-production-integration/**`, `.agent/specs/engram-v7-ambient/spec.md`, `.agent/specs/engram-v7-ambient/plan.md`, `.agent/specs/engram-v7-ambient/checklists/general.md`, `.agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/change.md`, `.agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/tasks.md` | audited implementation truth | zero contradictory shipped/pending labels; v5 demolition classification; OC contract authored before OC code; stale S3 task state corrected; every remaining obligation has CR/tasks/acceptance | +| NORTHSTAR-CI-A-CONTRACTS | `work/prc-northstar-ci-a-contracts` | new `.agent/specs/engram-absorption/ci-a-dense-vector/spec.md`, `.agent/specs/engram-absorption/ci-a-dense-vector/plan.md`, `.agent/specs/engram-absorption/ci-a-dense-vector/checklists/general.md`, `.agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/change.md`, `.agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/tasks.md` | M5 core safe point; current absorption PRD/ADR plus GE-003 and v5 demolition truth | exact agent commands `$nvmd-platform:nvmd-validate .agent/specs/engram-absorption/ci-a-dense-vector` and `$nvmd-platform:challenging-plans .agent/specs/engram-absorption/ci-a-dense-vector/plan.md`; no unresolved ambiguity; exact future code/test paths, clean-room boundary, dependency DAG, benchmark, customer `codebase_index/status/search` acceptance across two worktrees, maker/checker/review artifacts under `.agent/reports/evidence/production-ready/northstar-contracts/ci-a-dense-vector/`; no source edit before independent challenge `GO` | +| NORTHSTAR-CI-B-CONTRACTS | `work/prc-northstar-ci-b-contracts` | new `.agent/specs/engram-absorption/ci-b-graph-watcher-context/spec.md`, `.agent/specs/engram-absorption/ci-b-graph-watcher-context/plan.md`, `.agent/specs/engram-absorption/ci-b-graph-watcher-context/checklists/general.md`, `.agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/change.md`, `.agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/tasks.md` | M5 core safe point; NORTHSTAR-CI-A-CONTRACTS accepted; current demolition classification | exact commands `$nvmd-platform:nvmd-validate .agent/specs/engram-absorption/ci-b-graph-watcher-context` and `$nvmd-platform:challenging-plans .agent/specs/engram-absorption/ci-b-graph-watcher-context/plan.md`; exact future code/test paths and release-sized CR DAG; customer proof for incremental watcher reindex, graph impact/flow, and context-artifact stale-hash behavior without resurrecting removed memory graph/rerank stages; artifacts under `.agent/reports/evidence/production-ready/northstar-contracts/ci-b-graph-watcher-context/` | +| NORTHSTAR-BOOK-CONTRACTS | `work/prc-northstar-book-contracts` | new `.agent/specs/engram-absorption/book/prd.md`, `.agent/specs/engram-absorption/book/spec.md`, `.agent/specs/engram-absorption/book/plan.md`, `.agent/specs/engram-absorption/book/checklists/general.md`, `.agent/specs/engram-absorption/book/changes/CR-001-initial-scope/change.md`, `.agent/specs/engram-absorption/book/changes/CR-001-initial-scope/tasks.md` | M5 core safe point; absorption PRD BOOK inventory | exact commands `$nvmd-platform:nvmd-validate .agent/specs/engram-absorption/book` and `$nvmd-platform:challenging-plans .agent/specs/engram-absorption/book/plan.md`; complete BOOK PRD/spec/plan/checklist/change/tasks, exact future code/test paths and S1-S6 dependencies; customer proof ingests a licensed book, retrieves chapter-grounded citations in a new session, and produces any book-to-skill artifact with provenance/privacy/rollback; artifacts under `.agent/reports/evidence/production-ready/northstar-contracts/book/` | +| NORTHSTAR-MEM-CONTRACTS | `work/prc-northstar-mem-contracts` | new `.agent/specs/engram-absorption/mem-residual/spec.md`, `.agent/specs/engram-absorption/mem-residual/plan.md`, `.agent/specs/engram-absorption/mem-residual/checklists/general.md`, `.agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/change.md`, `.agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/tasks.md` | M5 core safe point; live/stale/dormant/must-build classification against current v5 code | exact commands `$nvmd-platform:nvmd-validate .agent/specs/engram-absorption/mem-residual` and `$nvmd-platform:challenging-plans .agent/specs/engram-absorption/mem-residual/plan.md`; each gap is classified against shipped retrieval/crystallization behavior, exact future code/test paths are named, and customer proof measures recall/import/lesson/skill behavior without restoring demolished cross-encoder or scoring stages; artifacts under `.agent/reports/evidence/production-ready/northstar-contracts/mem-residual/` | +| NORTHSTAR-EFFECTIVENESS-CONTRACTS | `work/prc-northstar-effectiveness-contracts` | new `.agent/specs/engram-effectiveness/production-ready-residual/spec.md`, `.agent/specs/engram-effectiveness/production-ready-residual/plan.md`, `.agent/specs/engram-effectiveness/production-ready-residual/checklists/general.md`, `.agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/change.md`, `.agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/tasks.md` | M5 core safe point; current effectiveness PRD/roadmap reconciled to live v5 code | exact commands `$nvmd-platform:nvmd-validate .agent/specs/engram-effectiveness/production-ready-residual` and `$nvmd-platform:challenging-plans .agent/specs/engram-effectiveness/production-ready-residual/plan.md`; exact future code/test paths; customer/dogfood proof for truthful staleness, citation/usefulness/noise, anti-poisoning, and any retained metric without fabricated zero or dormant flag output; artifacts under `.agent/reports/evidence/production-ready/northstar-contracts/effectiveness/` | +| NORTHSTAR-SETTINGS-CONTRACTS | `work/prc-northstar-settings-contracts` | new `.agent/specs/settings-store/production-ready-residual/spec.md`, `.agent/specs/settings-store/production-ready-residual/plan.md`, `.agent/specs/settings-store/production-ready-residual/checklists/general.md`, `.agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/change.md`, `.agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/tasks.md` | M5 core safe point; current settings PRD/architecture and partial implementation classified | exact commands `$nvmd-platform:nvmd-validate .agent/specs/settings-store/production-ready-residual` and `$nvmd-platform:challenging-plans .agent/specs/settings-store/production-ready-residual/plan.md`; exact future code/test paths; customer proof for secret-safe persisted settings, restart/readback, declared hot-reload versus restart-required behavior, unavailable-store fallback, and thin-client propagation where retained; artifacts under `.agent/reports/evidence/production-ready/northstar-contracts/settings/` | +| CONTROL-PLANE | root-owned, no maker worktree | `.agent/session-state/**` through the installed session/goal control-plane tooling only; no subordinate or hand-authored assignment/front-door writes | independent lanes may proceed under the verbatim user-resumed objective | live register status is `RUNNING_GOAL_STATE_REACTIVATION_UNAVAILABLE`: the native goal service still reports BLOCKED and refuses recreation as an unfinished goal; preserve that mismatch truthfully, do not report ACTIVE or fabricate a replacement goal object, and keep prior seq74/missed-pickup evidence as history | +| INTEGRATION-RELEASE | root-owned, no maker worktree | `.agent/reports/evidence/production-ready/integration-release/**`, `.agent/reports/evidence/production-ready/release/**` only; no product path is granted by this row | every predecessor maker/checker/post-review verdict accepted; exact integration ancestry and current scope-map/register freeze revalidated; release autonomy and coordination gates satisfied | root alone integrates accepted commits in declared epoch order, reruns the complete immutable release gate set, executes CUSTOMER-MODE M7 emulation, resolves `final_ready_version`, publishes only from a clean exact release commit, and records tag/image/plugin/readback/rollback identities; current status `BLOCKED_BY_RELEASE_GATES_PREVIEW_MEASURED` is not an acceptance or permission signal | + +The IMAGE-REMEDIATION-R2 PostgreSQL sub-contract is part of that row's owned `deploy/postgres/Dockerfile`, compose, helper, and critical-test paths: runtime UID/GID is `70:70`; rootfs is read-only; all capabilities are dropped; `no-new-privileges` is set; UID-owned tmpfs is limited to `/tmp` and `/var/run/postgresql`; PGDATA is an explicitly owned persistent named volume at `/var/lib/postgresql/data`. A tmpfs-only PGDATA negative must demonstrate the proved loss mode, while the positive removes the first container, creates a new one on the same volume, and re-proves PostgreSQL `17.10`, pgvector `0.8.1`, migrations, and retained vector/application markers. DEPLOYMENT-ROLLBACK must preserve this contract after compose transfer. + +CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS is a fail-closed current-source correction, not a resurrection or a deferred contract. The maker starts from RED tests named `TestDreamCycle_FlagMatrixFailClosed`, `TestDreamCycle_PerProjectSessionProvenance`, `TestDreamCycle_RouteFailurePreservesBatch`, and `TestDreamCycle_RestartRetryExactlyOnce`. It then runs `go test ./internal/worker -run '^TestDreamCycle_(FlagMatrixFailClosed|PerProjectSessionProvenance|RouteFailurePreservesBatch|RestartRetryExactlyOnce)$' -count=20`, `go test ./internal/worker -run '^TestDreamCycle_' -count=3`, `go test -race ./internal/worker -run '^TestDreamCycle_' -count=3`, and `pwsh ./scripts/production-gates/run-db-suite.ps1 -Package ./internal/worker -Run '^TestDreamCycle_' -FreshDatabase -Repeat 3 -FailOnUnexpectedSkip -ArtifactRoot .agent/e/cdc/db`. The fresh-DB fixture must run migrations, reuse the same committed PostgreSQL rows across a new `Service` instance to model restart, prove unprocessed rows survive every unavailable/error branch, prove durable duplicates make retry exactly-once, and end with zero run sessions/databases. The checker also runs `go vet ./internal/worker` and `go build ./...`. A production-store API change, direct memory write, removed-path revival, or cross-project/session candidate is an immediate FAIL and requires a prior root amendment. + +Every path not listed in a maker row is forbidden to that maker. If a slice discovers a necessary unlisted or shared file, it stops before editing and sends the exact path/change to root. Root amends the ledger first, serializes ownership, or creates a named integration-only patch after both commits are reviewed. Conditional ownership phrases are not authorization. + +#### 4.0.1 R12 Macro-Batch Execution Overlay + +The source of this overlay is diagnostic freeze `.agent/reports/evidence/production-ready/macro-batch-diagnostic-freeze-20260711-1340/summary.json`, SHA256 `34BCDF4D7A708B22A1E33A6E174206CC32E83AEB09C7B6F191EE7B5B6F90F061`. It groups existing slices without replacing them: scope-map cardinality remains exactly `69/69`, every row keeps its owner, exact paths and acceptance contract, and no macro id is itself a new slice. For a listed `maker` slice, the macro branch supersedes the legacy per-row branch only for new implementation after A12 acceptance. An `accepted-predecessor` row preserves its original immutable head/branch and is imported read-only into the macro base. Within one macro, legacy wording that required a sibling maker to be separately integrated is replaced by the declared internal commit order; no sibling internal commit is independently accepted. One immutable macro head plus one fresh maker-distinct checker and root post-review is the acceptance unit; internal commits are ordered debugging/review seams, not separately accepted candidates. + +| Macro | Branch/base gate | Slice roles | Serialized source collisions | Acceptance boundary | +| --- | --- | --- | --- | --- | +| MB1 DATA-INTEGRITY | `work/prc-data-integrity-macro-batch` from exact `fef455bcf640f849c2d40c9bc26a459b5593e10a` | makers: DB-GOVERNANCE, DB-RULES-ISOLATION, CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK, INGEST-DOC-SNAPSHOT-DEMOLITION, MCP-STRUCTURED-INPUT-VALIDATION, CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS, RETRIEVAL-VECTOR-CONTRACT, STATIC-EMBED-CONTRACT, PRE-V5-UPGRADE-CONTRACT | diagnostic source orders `candidate_store.go` and `candidate_store_test.go` DB-GOVERNANCE -> CANDIDATE-REVIEW; A12's narrower DB-GOVERNANCE scope resolves that overlap, so CANDIDATE-REVIEW is the only effective writer and the source order remains preserved as a resolved collision | fresh DB per fault class, two full repeats on one fresh DB, exact zero-write/audit mutation negatives, race, tagged legacy upgrade, flip tests, no v5 resurrection, zero sessions/databases | +| MB2 RUNTIME-SECURITY-V7 | `work/prc-runtime-security-v7-macro-batch`; predecessor-set gate accepted MB0 release authority + MB1 + DB-AUTH | accepted-predecessor: DB-AUTH; makers: AUTH-BOOTSTRAP-SECURITY, DURABLE-AUDIT-BOUNDARIES, PRIVACY-BOUNDARIES, REDACTION-LIVE-CONTRACT, OBSERVABILITY-OTLP, S4B-CONTRACT, V7-S4B-BACKEND, V7-CORE-CALLPATH, V7-TELEMETRY-WIRING, V7-RUNTIME-WIRING | `memory_store.go`: MB1 DB-RULES-ISOLATION -> PRIVACY; `user_store.go`: DB-AUTH -> AUTH-BOOTSTRAP -> DURABLE-AUDIT; `auth_handlers.go`: DB-AUTH -> AUTH-BOOTSTRAP -> DURABLE-AUDIT; `service.go`: AUTH-BOOTSTRAP -> REDACTION -> V7-RUNTIME | two-process attacker/operator and restart schedule, audit faults, scope matrix, secret-negative HTTP/log/OTLP, V7 flag/failure/load/restart and ordinary-request must-not-trigger matrix | +| MB3 DELIVERY-OPERATIONS-EXPERIENCE | `work/prc-delivery-operations-experience-macro-batch`; predecessor-set gate accepted MB0 + MB1 + MB2 | accepted-predecessor: IMAGE-REMEDIATION-R2; makers: DEPLOYMENT-ROLLBACK, RECOVERY-DATA, UPDATE-LIFECYCLE, OPENCLAW-RELEASE, LAUNCHER-FIRST-RUN, CRITICAL-HARNESS, OC-INTEGRATION, ROADMAP-RECONCILIATION, CORE-PUBLIC-TRUTH, COVERAGE-CMD-ENGRAM, COVERAGE-CMD-SERVER, COVERAGE-UPDATE, COVERAGE-WORKER, COVERAGE-MCP, COVERAGE-GORM, COVERAGE-LOOM | `docker-compose.yml` and `deploy/docker-compose.runtime.yml`: IMAGE R2 -> DEPLOYMENT; `docs/DEPLOYMENT.md` and `docs/PRODUCTION-TESTING-PLAYBOOK.md`: IMAGE R2 -> CORE-PUBLIC-TRUTH | clean install/browser/images/update/backup/restore/rollback/mixed-version/wrapper/direct/new-process/cross-agent, complete critical suite, immutable coverage floors and zero residue | +| MB4 NORTHSTAR-CONTRACTS | `work/prc-northstar-contracts-macro-batch`; M5 published and post-release-proved safe point | contract makers: NORTHSTAR-CI-A-CONTRACTS, NORTHSTAR-CI-B-CONTRACTS, NORTHSTAR-BOOK-CONTRACTS, NORTHSTAR-MEM-CONTRACTS, NORTHSTAR-EFFECTIVENESS-CONTRACTS, NORTHSTAR-SETTINGS-CONTRACTS | none; exactly 31 disjoint contract paths; CI-B finalization remains conditional on CI-A boundary | all six SpecKit packs, no product source edits, per-plan GO/REVISE/RETHINK plus one combined artifact-diff review | + +Macro dependency order is `MB0 -> MB1 -> MB2 -> MB3 -> M5 -> MB4`, with MB1 also starting only from exact `fef455bc`, MB2 requiring accepted DB-AUTH, and MB3 requiring all three preceding macro integration boundaries. A macro head is invalid if any member uses another new maker branch, an undeclared path overlaps without the ordered collision above, a collision order is reversed, or a source accepted-predecessor is rewritten as a new maker. + +### 4.1 Ownership Epochs and Automated Overlap Gate + +The IMAGE-REMEDIATION-R2 artifact bridge is also exact authority, not an implementation suggestion. `prepare-release` has only `contents: read`; the fresh privileged `publish` job has exactly `contents: read`, `actions: read`, and `packages: write`, where `actions: read` is required for REST artifact census/download. No job receives `actions: write`, and missing `actions: read` on publish is a fail-closed negative. Both upload and download actions are pinned by immutable SHA, `upload-artifact` is v4+ and immutable, overwrite is forbidden, and `prepare-release` records the returned artifact ID plus SHA256 digest. Before any download, `publish` REST-censuses artifacts for the current publisher workflow run and requires exactly one nonexpired artifact with the fixed expected name, exact ID, and matching API digest; any extra or duplicate artifact fails. It downloads by exact ID, treats digest mismatch as fatal, then validates internal checksums, a regular-file-only envelope, and no path traversal before loading OCI data. Persistent candidate processes, Docker-daemon tampering, cross-job contamination, spoofed or duplicate artifacts, expired artifacts, extras, wrong ID/name/digest, overwrite, traversal, special files, internal checksum mismatch, missing `actions: read`, and any `actions: write` grant are permanent negative tests. + +Rows are exclusive within an ownership epoch. A repeated path below is a serialized transfer, not concurrent authorization: + +| Exact path | Current/first epoch | Next epoch | Transfer gate | +| --- | --- | --- | --- | +| `internal/db/gorm/candidate_store.go` | DB-BULKOPS | DB-BULKOPS-BEHAVIORAL-EDGE-REWORK -> CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK | rejected predecessor checker/hash recorded; MB1 starts from exact accepted synthesis `fef455bcf640f849c2d40c9bc26a459b5593e10a`; DB-GOVERNANCE is explicitly excluded, so candidate review is the sole new writer before one macro-head checker and root review | +| `internal/db/gorm/candidate_store_test.go` | DB-BULKOPS | DB-BULKOPS-BEHAVIORAL-EDGE-REWORK -> DB-TEST-POOL-HYGIENE -> CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK | accepted synthesis `fef455bcf640f849c2d40c9bc26a459b5593e10a` already contains the selected pool-hygiene state; DB-GOVERNANCE is explicitly excluded, and candidate review is the sole new MB1 writer before macro acceptance | +| `internal/db/gorm/memory_store.go` | DB-RULES-ISOLATION | PRIVACY-BOUNDARIES | MB1 moves the existing literal-LIKE helper into the shared contract first; accepted MB1 integration is the exact MB2 base before privacy ownership transfers | +| `internal/mcp/tools_bulkops.go`, `internal/mcp/tools_dryrun_test.go` | DB-BULKOPS | DB-BULKOPS-BEHAVIORAL-EDGE-REWORK | rejected predecessor checker/hash recorded; rework base is exact rejected head; checker and post-review PASS plus integration SHA close the transfer | +| `internal/bulkops/facade.go` | DB-BULKOPS | INGEST-DOC-SNAPSHOT-DEMOLITION -> DURABLE-AUDIT-BOUNDARIES | behavioral-edge composite checker and post-review PASS; exact integration SHA recorded; demolition rebased before edit; historical ingest guard green before durable-audit fault work | +| `internal/bulkops/facade_test.go` | DB-BULKOPS | INGEST-DOC-SNAPSHOT-DEMOLITION | accepted behavioral-edge composite integrated; demolition worktree rebased; focused historical-only regressions PASS before integration | +| `internal/bulkops/rollback_test.go` | DB-BULKOPS | CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK | accepted behavioral-edge composite and DB-GOVERNANCE integrated; candidate-review successor rebased; combined checker and post-review PASS | +| `pkg/models/snapshot.go` | DB-BULKOPS | INGEST-DOC-SNAPSHOT-DEMOLITION | accepted behavioral-edge composite integrated; demolition successor rebased; persistence-compatibility and non-executable regressions PASS | +| `internal/db/gorm/user_store.go` | DB-AUTH | AUTH-BOOTSTRAP-SECURITY -> DURABLE-AUDIT-BOUNDARIES | each predecessor checker and post-review PASS, integration SHA recorded, successor rebased; no simultaneous writer | +| `internal/worker/auth_handlers.go` | DB-AUTH | AUTH-BOOTSTRAP-SECURITY -> DURABLE-AUDIT-BOUNDARIES | each predecessor checker and post-review PASS, integration SHA recorded, successor rebased; no simultaneous writer | +| `internal/worker/service.go` | AUTH-BOOTSTRAP-SECURITY | REDACTION-LIVE-CONTRACT -> V7-RUNTIME-WIRING | auth bootstrap checker and post-review PASS, commit integrated, redaction worktree rebased and boot-captured rules proved; V7 later rebases the redaction integration and reruns both auth and redaction route regressions | +| `internal/mcp/tools_memory.go` | MCP-STRUCTURED-INPUT-VALIDATION | REDACTION-LIVE-CONTRACT | structured-input checker/post-review PASS and exact integration SHA; redaction successor rebased so malformed input remains zero-audit/zero-write before matched-mutation audit enforcement | +| `docs/operating-engram.md` | REDACTION-LIVE-CONTRACT | FINAL-PUBLIC-TRUTH | redaction live contract checker/post-review PASS and exact integration SHA; FINAL rebased and revalidates the operator claims against final published artifacts | +| `Dockerfile` | SECURITY-TOOLCHAIN | IMAGE-REMEDIATION-R2 | exact clean R2 base `0c626990` contains selected SECURITY-TOOLCHAIN integration `30de64d2576891abb0ec3730336c60054afd5617`; R2 reconstructs and re-proves the image from that base, with rejected R1/checker absent from ancestry | +| `.github/workflows/test.yml` | RELEASE-GATES | RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12 | R10 and A11 are rejected evidence; R12 starts from exact A11 and owns this path exclusively through B12 checker/post-review/integration; IMAGE R2 has no `test.yml` ownership or overlap | +| `.github/workflows/docker.yaml`, `.github/workflows/docker-publish.yml`, `scripts/production-gates/build-and-scan-images.ps1`, `tests/critical/runtime/image_runtime_contract_test.go` | IMAGE-REMEDIATION-R2 | — | clean R2 starts at exact `0c626990`; rejected R1/checker are forbidden ancestry; prove sole-writer census, six immutable full-SemVer/`sha-` destination preflight/readback, same-release serialization, external-admin trust boundary, R12 future-change authority, checker PASS, and root post-review before integration | +| `.dockerignore`, `cmd/engram-healthcheck/main.go`, `cmd/engram-healthcheck/main_test.go`, `deploy/postgres/Dockerfile`, `tests/critical/runtime/postgres_image_contract_test.go` | IMAGE-REMEDIATION-R2 | — | single-owner tracked epoch; exact clean base `0c626990` and rejected R1/checker absence are mandatory, then fresh runtime/image proof, checker PASS, and root post-review precede integration | +| `internal/mcp/server.go`, `internal/mcp/public_tool_descriptions_test.go` | DOCUMENT-INGEST-PUBLIC-TRUTH | DOCUMENT-INGEST-PUBLIC-TRUTH-R2 | R3 inherits these sound R2 bytes without changing or newly owning the paths; R2 remains rejected until the complete R3 head receives checker/root acceptance | +| `internal/db/gorm/models.go`, `tests/critical/document_public_truth_test.go` | DOCUMENT-INGEST-PUBLIC-TRUTH-R2 | — | R3 exact diff leaves these R2 paths unchanged; the fresh checker may run or add its own isolated probe but cannot silently expand maker ownership | +| `internal/mcp/tools_documents.go`, `internal/db/gorm/document_store.go`, `internal/mcp/document_public_truth_contract_test.go` | DOCUMENT-INGEST-PUBLIC-TRUTH-R2 | DOCUMENT-INGEST-PUBLIC-TRUTH-R3 | exact rejected R2 base `efe1ab50`; R3 owns the frozen atomic active=true/RowsAffected implementation and contract-test diff; fresh checker and root review precede acceptance | +| `.github/workflows/authority-guard.yml`, `scripts/production-gates/assert-active-candidate-path-authority.ps1`, `scripts/production-gates/assert-pr-authority-guard.ps1` | RELEASE-GATES | RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12 | R10 replacement/checker and A11 are rejected evidence only; B12 is the direct child of independently accepted A12 and must pass self-reference-free maintenance/replay/successor/ruleset proof before integration or activation | +| `scripts/production-gates/assert-pr-authority-maintenance.ps1` | RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12 | — | A12 predeclares the exact B12 path; B12 adds the maintenance validator; future change requires a new base-declared one-use epoch and trusted-base execution artifact rather than implicit ownership or an external mutable sole authority | +| `.agent/plans/2026-07-10-engram-production-ready-master-plan.md`, `.agent/plans/2026-07-10-engram-production-ready-ownership-state.json`, `.agent/plans/2026-07-10-engram-production-ready-scope-map.json`, `.agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json` | PLAN-GOVERNANCE | RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12 | exact rejected A11 is the A12 base; A12 records the fixed-point rejection, exact B12 envelope, 69/69 macro overlay and shared DB authority, and requires fresh checker/root review before B12 or any macro implementation starts | +| `.agent/specs/release-gates-r10/evidence/release-gates/test-r10-authority-guard.ps1`, `.agent/specs/release-gates-r10/evidence/release-gates/R10-AUTHORITY-GUARD.red.json`, `.agent/specs/release-gates-r10/evidence/release-gates/authority-guard-simulation.json`, `.agent/specs/release-gates-r10/evidence/release-gates/strict-schema-regressions.json`, `.agent/specs/release-gates-r10/evidence/release-gates/workflow-conformance.json`, `.agent/specs/release-gates-r10/evidence/release-gates/verification-summary.json`, `.agent/specs/release-gates-r10/evidence/release-gates/security-review.md`, `.agent/reports/2026-07-11-release-gates-r10-maker.md` | RELEASE-GATES | — | single-owner R10 test/evidence epoch; every path is immutable B10 evidence, maker-authored only, and never substitutes for independent checker or external enforcement evidence | +| `docker-compose.yml`, `deploy/docker-compose.runtime.yml` | IMAGE-REMEDIATION-R2 | DEPLOYMENT-ROLLBACK | R2 checker and post-review PASS, `final-image-set.json` recorded, deployment worktree rebased, fresh scan after edits | +| `docs/DEPLOYMENT.md`, `docs/PRODUCTION-TESTING-PLAYBOOK.md` | IMAGE-REMEDIATION-R2 | CORE-PUBLIC-TRUTH -> FINAL-PUBLIC-TRUTH | clean R2 image proof integrated; CORE rebased for M5; FINAL rebased to exact M6 integration and final-version artifact before edit | +| `README.md`, `README.ru.md`, `README.zh.md`, `CONTRIBUTING.md`, `CHANGELOG.md`, `Makefile`, `.env.example`, `docs/MIGRATION.md`, `docs/arch/CONFIGURATION.md`, `docs/arch/QUICKSTART.md`, `docs/public/engram.jpg`, `plugin/engram/commands/setup.md`, `plugin/engram/commands/doctor.md` | CORE-PUBLIC-TRUTH | FINAL-PUBLIC-TRUTH | M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit | +| `internal/worker/dream_cycle.go`, `internal/worker/dream_cycle_test.go` | CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS | — | single-owner tracked epoch with no predecessor; the maker starts only after the named dependencies, then requires checker PASS, post-review PASS, integration SHA, and a root plan/state amendment before any later writer | + +After PLAN-GOVERNANCE and RELEASE-GATES are committed, independently checked, post-reviewed, and integrated, root runs both modes after every ledger edit and before every checker/integration: + +```powershell +$Plan = '.agent/plans/2026-07-10-engram-production-ready-master-plan.md' +$State = '.agent/plans/2026-07-10-engram-production-ready-ownership-state.json' +$PlanSha = pwsh ./scripts/production-gates/assert-plan-path-ownership.ps1 -Plan $Plan -PrintCanonicalPlanSha256 +pwsh ./scripts/production-gates/assert-plan-path-ownership.ps1 -Mode Ledger -Plan $Plan -ExpectedPlanSha256 $PlanSha -State $State -Artifact .agent/reports/evidence/production-ready/ownership/path-ledger.json +pwsh ./scripts/production-gates/assert-plan-path-ownership.ps1 -Mode Diff -Slice DB-BULKOPS -Base 2b085de663d5ba9dfa97adf9ee58de062ee0997c -Head 68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef -EvidenceNamespace '.agent/specs/production-ready-db-bulkops/evidence/**' -ReportNamespace .agent/reports/2026-07-10-db-bulkops-sibling-rework-maker.md -Plan $Plan -ExpectedPlanSha256 $PlanSha -State $State -Artifact .agent/reports/evidence/production-ready/ownership/db-bulkops-rejected-68b2ce58.json +``` + +The historical DB-BULKOPS command is a required negative: all changed paths must be declared, while epoch authority fails because the active rework is current owner on four paths. For every active slice, substitute the exact register base/head and namespaces; a successor Diff is mergeable only when current-owner, checker, post-review, integration, and ancestry evidence pass. Ledger mode understands literal files and declared `/**` prefixes, requires epoch order to equal matrix declaration order, and rejects unknown scopes, undeclared duplicates, prefix intersections, missing state rows, or hash drift. Zero concurrent overlap and zero undeclared changed paths are PR-0 gates. + +### 4.2 Exact Ownership of the 27 Diagnostic Failures + +| Owner | Exact failures | Count | +| --- | --- | ---: | +| DB-BULKOPS | `TestEC_F3_ConflictDetected_Integration`, `TestFacade_BulkDelete_Committed_AuditLogWritten`, `TestFacade_BulkSupersede_Committed_AuditLogWritten`, `TestRollback_HappyPath` | 4 | +| DB-GOVERNANCE | `TestMigration144_RuleGovernanceEscapeConstraints`, `TestMigration144_RuleGovernanceRollbackAndReapply`, `TestMigration144_RuleGovernanceSnapshotStatusesAcceptExtendedStates`, `TestRuleGovernanceStore_AnnotatedCandidateWaitsUntilReviewAfter`, `TestRuleGovernanceStore_GetLifecycleHealthAggregatesGovernanceTables`, `TestRuleGovernanceStore_GetLifecycleHealthOmitsGlobalArbiterRunsForProjectScopedReads` | 6 | +| DB-EMBEDDING-STATS | `TestStatsWithCoverage_NoActiveMemories`, `TestStoreStats_Empty` | 2 | +| DEMOLITION-SKIP-CLASSIFICATION | `TestDangling_T016_DanglingEdgeReturnsFlag`, `TestPathC_T015_NodeCreatedAtTimestamp`, `TestPathC_T015_NodeTypedEdgeListFilter`, `TestPathC_T015_SkillNodeEdgeRoundtrip`, `TestHybridTG3_ConfidenceMin_FloorEnforced_T022` | 5 | +| T007-COMPAT-DEMOLITION-CLASSIFICATION | `TestEC_F1_TagDerivedBackfill_T007` | 1 | +| DB-AUTH | `TestAuthHandlersLifecycle_DisabledAdminCanBeDemotedWithoutLastAdminError`, `TestAuthHandlersLifecycle_LastAdminDemoteRaceLeavesOneAdmin` | 2 | +| DB-CRYSTALLIZATION | `TestCrystallizationIntegration_ConcurrentReplaySkipsDuplicateFingerprint`, `TestCrystallizationIntegration_DecisionsStoredWithCorrectFields`, `TestCrystallizationIntegration_PrivacyRedaction` | 3 | +| DB-RULES-ISOLATION | `TestHandleCreateBehavioralRule_Success`, `TestHandleListBehavioralRules_ProjectScope`, `TestHandleSetBehavioralRuleEnabled_Success` | 3 | +| DB-REAPER | `TestReaper_RespectsRetentionEnvVar` | 1 | +| **Total** | exact one-owner mapping | **27** | + +The release gate regenerates this mapping from the machine diagnostic and fails if a failed test has zero or multiple owners, or if the total differs from the current diagnostic. Classification may change the required fix, never the requirement for one owner and closing evidence. + +### 4.3 Evidence Plumbing + +- Canonical machine register: `.agent/reports/production-readiness-evidence-register.json`. +- Canonical human register: `.agent/reports/production-readiness-evidence-register.md`. +- Operator view: `.agent/reports/engram-roadmap-progress-2026-07-06.html`, rendered from the same register state. +- Default maker raw-output namespace: `.agent/reports/evidence/production-ready//**`; the brief records the exact namespace and any row-declared legacy exception. +- Default maker-report namespace: `.agent/reports/production-ready//**`; a legacy exact report path is accepted only when literal in the ownership row. +- Root is the sole register/Markdown/HTML writer. Makers/checkers may write only their declared evidence/report artifacts, return exact paths plus SHA256/verdict, and never update mutable progress authority. +- Ignored M6 SpecKit/review artifacts use the force-add/hash/evidence-commit protocol in M6; existence in a worktree is not persistence. + +### 4.4 Node, Image/Runtime, and Secret Matrix + +| Surface / classification | Exact command | Raw artifact | Failure rule / owner | +| --- | --- | --- | --- | +| `apps/operator-console` / canonical shipped UI | `npm --prefix apps/operator-console ci`; `npm --prefix apps/operator-console run parity`; `npm --prefix apps/operator-console run test:seam`; `npm --prefix apps/operator-console run build`; `npm --prefix apps/operator-console run test:browser`; `npm --prefix apps/operator-console audit --audit-level=high` | `.agent/reports/evidence/production-ready/node/operator-console/` | Any non-zero, stale generated asset, browser console/network error, high/critical advisory, or unexpected skip blocks PR-2/PR-6. RELEASE-GATES owns execution; OC owns fixes. | +| `docs` / shipped public site | `npm --prefix docs ci`; `npm --prefix docs run build`; `npm --prefix docs audit --audit-level=high` | `.agent/reports/evidence/production-ready/node/docs/` | Any non-zero, broken link/build, or high/critical advisory blocks Public Truth. | +| `plugin/openclaw-engram` / supported live plugin route | `pwsh ./scripts/production-gates/run-node-matrix.ps1 -Surface openclaw -Audit` in a fresh detached worktree after OPENCLAW-RELEASE | `.agent/reports/evidence/production-ready/node/openclaw/` and `.agent/reports/evidence/production-ready/openclaw-release/**` | Require no pre-existing `node_modules`/`dist`; tracked and non-ignored lockfile v3; exact package/lock-top/lock-root/plugin version plus dependency/devDependency parity; exact `npm ci -> typecheck -> tests -> audit --audit-level=high -> pack --dry-run --json`; required tarball contents and forbidden source/test/node_modules contents; clean Git status and unconditional cleanup. Missing lock currently fails and blocks release. After publish, npm latest readback must equal the recorded version. | +| `plugin/engram` hooks + launcher scripts / shipped | `node --test plugin/engram/hooks/*.test.js plugin/engram/scripts/*.test.js` | `.agent/reports/evidence/production-ready/node/engram-plugin/` | Any non-zero or omitted test file blocks PR-2/PR-3. | +| `ui` / legacy embedded-dashboard source, no canonical runtime consumer | `npm --prefix ui ci`; `npm --prefix ui run type-check`; `npm --prefix ui run build`; `npm --prefix ui audit --audit-level=high` | `.agent/reports/evidence/production-ready/node/legacy-ui/` | Must remain buildable until ROADMAP/CORE-PUBLIC-TRUTH removes the stale Docker stage and documents migration-only status. It cannot satisfy PR-6. | +| `apps/operator-web` / legacy standalone migration surface | `npm --prefix apps/operator-web ci`; `npm --prefix apps/operator-web run typecheck`; `npm --prefix apps/operator-web run build`; `npm --prefix apps/operator-web audit --audit-level=high` | `.agent/reports/evidence/production-ready/node/operator-web/` | Must remain buildable until deployment consumers are removed. It cannot be presented as the canonical console. | +| Server image / IMAGE-REMEDIATION-R2 | `docker build --pull --no-cache --target server -t engram:prc-server .`; `docker scout cves --platform linux/amd64 --only-severity critical,high --exit-code --format sarif engram:prc-server`; `pwsh ./scripts/production-gates/run-image-runtime-matrix.ps1 -Image engram:prc-server -Role server` | `.agent/reports/evidence/production-ready/image-remediation-r2/server/` | Pinned distroless Debian 13 runtime; shared static `engram-healthcheck` is the JSON-form Docker HEALTHCHECK, calls dependency-aware `/api/ready`, parses JSON, and exits zero only for exact `status=ready`; `/health` remains a separately asserted liveness surface and is never Docker readiness; `ldd` capture proves every CGO server dependency is present; scan count exactly zero without exceptions; UID 65532, no ambient capabilities, `no-new-privileges`, read-only root, `HOME=/var/lib/engram` with one persistent writable named or bind volume exactly there provisioned UID/GID `65532:65532` mode `0700`, only port 37777, and no embedded secret; current `$HOME/.engram` resolution is source-proved and no ignored `ENGRAM_DATA_DIR` claim is allowed; absent/unowned/unwritable storage, unowned-tmpfs restart, injected init failure, and malformed/error HTTP-200 `/api/ready` fixtures remain unhealthy even though liveness `/health` may intentionally return 200. | +| Operator image / IMAGE-REMEDIATION-R2 | `docker build --pull --no-cache --target operator-console -t engram:prc-operator-console .`; `docker scout cves --platform linux/amd64 --only-severity critical,high --exit-code --format sarif engram:prc-operator-console`; `pwsh ./scripts/production-gates/run-image-runtime-matrix.ps1 -Image engram:prc-operator-console -Role operator` | `.agent/reports/evidence/production-ready/image-remediation-r2/operator-console/` | Pinned distroless Node.js 22 Debian 13 runtime, image node entrypoint plus `.output/server/index.mjs` CMD, shared static JSON healthcheck that accepts only parsed semantic ready from proxied `/api/ready`, and clean locked dependency graph; scan count exactly zero; UID 65532, nonroot file ownership, same capability/read-only/secret rules, only port 3000, exact `NUXT_OPERATOR_API_TARGET` pointing at the recorded backend; root HTML/assets plus proxied `/api/health` and `/api/ready` pass before/after restart, while stale/missing/wrong target, unreachable backend, timeout, malformed/error body, and root-only HTTP 200 keep Docker health non-healthy; canonical runtime/service/image name is `operator-console`, never stale `operator-web`. | +| PostgreSQL image / IMAGE-REMEDIATION-R2 | `docker build --pull --no-cache -f deploy/postgres/Dockerfile -t engram:prc-postgres .`; `docker scout cves --platform linux/amd64 --only-severity critical,high --exit-code --format sarif engram:prc-postgres`; `go test -tags=critical ./tests/critical/runtime -run '^TestPostgresImageContract$' -count=1` | `.agent/reports/evidence/production-ready/image-remediation-r2/postgres/` | Project-owned Wolfi runtime pins its base digest, `postgresql-17=17.10-r1`, and `pgvector-17=0.8.1-r0`; image sets `LANG=C.UTF-8` and `LC_ALL=C.UTF-8`, while a negative fixture proves `en_US.UTF-8` fails before readiness; exact image-ID scan is zero HIGH/CRITICAL without exception input; runtime is UID/GID `70:70`, read-only root, cap-drop ALL, and `no-new-privileges`, with owned tmpfs only for `/tmp` and `/var/run/postgresql`; `/var/lib/postgresql/data` is an owned persistent named volume, tmpfs-only PGDATA is a required data-loss negative, and stop/remove/new-container recreation on the same volume must preserve `SHOW server_version` `17.10`, `CREATE EXTENSION vector`, extversion `0.8.1`, migrations, vector/application markers, backup/restore, health, and zero residual probe containers/volumes. | +| Three-image identity manifest | `pwsh ./scripts/production-gates/build-and-scan-images.ps1 -ServerTag engram:prc-server -OperatorTag engram:prc-operator-console -PostgresTag engram:prc-postgres -Platform linux/amd64 -ArtifactRoot .agent/reports/evidence/production-ready/image-remediation -NoAllowlist` | `.agent/reports/evidence/production-ready/image-remediation/final-image-set.json` | Manifest records Dockerfile SHA, pinned base/source digests, exact built image IDs, SARIF SHA256, zero counts, runtime proof, and later published digests. A tag without matching ID/digest provenance is not scannable release evidence. | +| Secret-negative matrix | `gitleaks detect --source . --redact --report-format json --report-path .agent/reports/evidence/production-ready/secrets/repository.json`; `pwsh ./scripts/production-gates/run-secret-negative-matrix.ps1 -ServerImage engram:prc-server -OperatorImage engram:prc-operator-console` | `.agent/reports/evidence/production-ready/secrets/` | No secret in repository, generated console/docs/static assets, image filesystem/history/env, application/browser logs, URLs/query strings, cookies, MCP payloads, or OTLP payloads. Any unclassified hit blocks PR-5. | + +Critical-path coverage is not satisfied by the aggregate alone. `assert-coverage.ps1` enforces the exact immutable floors below plus an evidence row for every named behavior; a missing package, missing profile, unmapped behavior, or attempted threshold reduction is fatal even when overall coverage is at least 60%: + +| Surface | Statement floor | Required auditable behavior mapping | +| --- | ---: | --- | +| overall repository | 60% | statement-weighted aggregate over the complete `./...` profile | +| `internal/handlers/loom` | 70% | cancellation, empty output, environment, stderr, timeout, supported-platform behavior | +| `cmd/engram` | 10% | direct and wrapper initialize, fail-closed keycard, project identity propagation, version mismatch, transport-close error, restart/new-process recall | +| `cmd/engram-server` | 10% | invalid config exit, migration failure, DB-unavailable readiness, cmux HTTP+gRPC serving, clean shutdown | +| `internal/update` | 20% | read-only discovery, externally-managed refusal, archive/provenance verification, interrupted staging/rollback | +| `internal/worker` | 55% | first-admin capability, auth deny/revoke, route normalization, readiness, update refusal, audit failure | +| `internal/mcp` | 55% | initialize, store, recall, context/project boundary, typed invalid input, transport failure | +| `internal/db/gorm` | 55% | migration apply/rollback, empty aggregate, transaction conflict, durable audit, restore/rollback conflict, project/principal isolation | + +The historical `internal/module` 75% and `internal/handlers/engramcore` 60% floors also remain mandatory. Raw per-package percentages and the exact test-to-behavior map are stored under `.agent/reports/evidence/production-ready/coverage/critical-path/`. A self-test mutates each configured floor downward one at a time and requires `assert-coverage.ps1` to reject it; config values may raise but never lower these plan minima. + +### 4.5 Retention Matrix + +| Case | Exact command / setup | Expected result | Artifact | +| --- | --- | --- | --- | +| Default project retention | `pwsh ./scripts/production-gates/run-db-suite.ps1 -Package ./internal/worker/reaper -Run 'TestReaper_PurgesExpired\|TestReaper_PreservesUnexpired' -FreshDatabase -Repeat 3` | Older-than-30-day soft-deleted project is purged; 1-day row remains; project boundary is preserved. | `.agent/reports/evidence/production-ready/retention/project-default/` | +| Configured + invalid project retention | Same helper with `-Run 'TestReaper_RespectsRetentionEnvVar\|TestReaper_InvalidRetentionFallsBack'` | `1` day is honored; invalid/negative input fails safe to documented default, never purge-all. | `.agent/reports/evidence/production-ready/retention/project-config/` | +| Disabled transcript retention | `pwsh ./scripts/production-gates/run-db-suite.ps1 -Package ./internal/db/gorm -Run 'TestTranscriptStore_PruneUnprocessedOlderThan_ZeroDays' -FreshDatabase -Repeat 3` | `0` and negative values delete zero unprocessed rows. | `.agent/reports/evidence/production-ready/retention/transcript-disabled/` | +| Expired/not-expired transcript and audit records | `pwsh ./scripts/production-gates/run-db-suite.ps1 -Package './internal/db/gorm ./internal/worker' -Run 'TranscriptStore\|Retention_' -FreshDatabase -Repeat 3` | Only expired rows are deleted; configured scope and audit count are recorded; no cross-principal/project deletion. | `.agent/reports/evidence/production-ready/retention/transcript-audit/` | +| Restart/retry/idempotency/concurrency | `pwsh ./scripts/production-gates/run-db-suite.ps1 -Package './internal/worker/reaper ./internal/worker' -Run 'Reaper\|Retention' -FreshDatabase -Repeat 10 -FailOnUnexpectedSkip -Race` plus `pwsh ./scripts/production-gates/run-critical-suite.ps1 -Config .agent/critical-suite.config.yaml -Run Retention` | Repeated/concurrent cleanup is idempotent, no double-delete/data race, restart resumes safely, failure is logged and retried without boundary drift; both transcripts are JSON-parsed and cleanup-proved. | `.agent/reports/evidence/production-ready/retention/concurrency/` | +| Retention output secrecy | `pwsh ./scripts/production-gates/run-secret-negative-matrix.ps1 -ArtifactRoot .agent/reports/evidence/production-ready/retention` | Audit/log output contains IDs/counts and reason, not plaintext memory, keycard, token, DSN, or secret payload. | `.agent/reports/evidence/production-ready/retention/secret-negative.json` | + +### 4.6 Diagnostic Matrix + +All rows are executed by `pwsh ./scripts/production-smoke/customer/run-diagnostic-matrix.ps1 -Case -ArtifactRoot .agent/reports/evidence/production-ready/diagnostics`. Each row must record process exit, `/health`, `/api/ready`, stable log key, metric, UI result where applicable, timeout, and secret-negative result. + +| Case | Required observable contract | +| --- | --- | +| `startup-invalid-config` | Process exits non-zero before serving; log names invalid field without value/secret. | +| `mcp-transport-close` | Wrapper and direct client return bounded non-zero initialize/tool error with client/server versions and transport stage; no hang or stale success. | +| `postgres-unavailable` | `/health` reports process liveness, `/api/ready` is non-ready, DB error metric/log is present, recovery returns ready without restart when supported. | +| `migration-failure` | Server exits non-zero before mutation/service readiness; migration ID and safe recovery action are logged. | +| `auth-missing-invalid-revoked` | 401/403 as appropriate, auth failure metric/log, revoked keycard never reused, no credential in response/log. | +| `auth-bootstrap-attacker-replay` | Missing/invalid/replayed/revoked bootstrap capability fails before bcrypt/mutation across two server processes and restart; only the operator-controlled request may create the first admin; logs/HTTP/browser/OTLP contain no capability. | +| `worker-indexing-failure` | `codebase_index/status` exposes failed/degraded state with run ID; worker/index metric/log exists; normal memory paths remain honest. | +| `otlp-exporter-unavailable-backpressured` | Application remains within declared readiness policy, exporter errors are bounded/rate-limited, no request hang, no payload secret. | +| `client-version-mismatch` | Unsupported pair fails before mutation with both versions and upgrade action; supported pair converges. | +| `wrapper-download-failure` | Non-zero fail-closed result; no stale or partially downloaded binary is executed; previous valid binary remains intact. | +| `corrupt-state-or-config` | No silent reset; actionable error identifies artifact class and recovery path without dumping contents. | +| `operator-api-browser-failure` | Console renders explicit unavailable/error state, not zero/fake data; console/network log captured; retry/recovery works. | + +### 4.7 Compatibility and Cross-Agent/Workstation Matrix + +M5 and M7 are separate compatibility epochs. M5 uses candidate `v6.43.0-rc.1` against previous supported `v6.42.0`. After M5 publishes, its exact release becomes the mandatory predecessor for M6/M7. The final identity is read from `.agent/reports/evidence/production-ready/release/final-version.json`; that artifact is invalid unless it names `final_candidate_version`, `core_safe_point_version`, `release_note_path`, server/operator image tags and digests, plugin version, and rollback predecessor. M5 evidence cannot be reused as final evidence. + +| Epoch / producer -> consumer | Exact command | Expected result / artifact | +| --- | --- | --- | +| M5 candidate -> M5 candidate | `pwsh ./scripts/production-smoke/customer/run-client-compatibility.ps1 -ClientVersion v6.43.0-rc.1 -ServerVersion v6.43.0-rc.1` | initialize, store, new-process recall, automatic session-start injection; `.agent/reports/evidence/production-ready/compat/core-candidate-to-core-candidate/`. | +| M5 v6.42.0 -> M5 candidate | same helper with `-ClientVersion v6.42.0 -ServerVersion v6.43.0-rc.1` | Supported behavior or pre-mutation explicit unsupported-version error; `.agent/reports/evidence/production-ready/compat/v6.42.0-to-core-candidate/`. | +| M5 candidate -> v6.42.0 | same helper with `-ClientVersion v6.43.0-rc.1 -ServerVersion v6.42.0` | Supported behavior or pre-mutation explicit unsupported-version error; rollback path remains available; `.agent/reports/evidence/production-ready/compat/core-candidate-to-v6.42.0/`. | +| M7 final -> final | `$r=ConvertFrom-Json (Get-Content .agent/reports/evidence/production-ready/release/final-version.json -Raw); pwsh ./scripts/production-smoke/customer/run-client-compatibility.ps1 -ClientVersion $r.final_candidate_version -ServerVersion $r.final_candidate_version` | Full customer spine; `.agent/reports/evidence/production-ready/compat/final-candidate-to-final-candidate/`. | +| M7 M5 release -> final | same loaded `$r`; helper with `-ClientVersion $r.core_safe_point_version -ServerVersion $r.final_candidate_version` | Upgrade or explicit pre-mutation compatibility result; `.agent/reports/evidence/production-ready/compat/core-safe-point-to-final-candidate/`. | +| M7 final -> M5 release | same loaded `$r`; helper with `-ClientVersion $r.final_candidate_version -ServerVersion $r.core_safe_point_version` | Rollback/mixed-version safety; `.agent/reports/evidence/production-ready/compat/final-candidate-to-core-safe-point/`. | +| M7 separately supported older pair | same loaded `$r`; helper with the support-policy version recorded in `final-version.json` | Required only if support policy retains an older pair; otherwise an explicit policy artifact explains removal before mutation; `.agent/reports/evidence/production-ready/compat/final-supported-older-pair/`. | +| Claude Code workstation A -> Codex workstation B | `pwsh ./scripts/production-smoke/customer/run-cross-agent.ps1 -Producer claude -Consumer codex -ProducerIdentity workstation-a -ConsumerIdentity workstation-b` | Shared marker visible by explicit recall + session-start injection; private marker denied; artifact `cross-agent/claude-to-codex/`. | +| Codex workstation B -> Claude Code workstation A | same helper with producer/consumer reversed | Same allow/deny contract; artifact `cross-agent/codex-to-claude/`. | +| OpenClaw -> Claude/Codex | same helper with `-Producer openclaw` for each supported consumer | Plugin build/test plus initialize/store/recall and scope boundary pass; artifacts under `cross-agent/openclaw-*`. | +| Hermes | ROADMAP-RECONCILIATION records supported route and executable command, or an operator-approved deferral with readiness effect | Until one branch exists, Hermes is `BLOCKED` and final READY is forbidden. | + +### 4.8 Browser Matrix + +OC-INTEGRATION owns exact new tests `apps/operator-console/tests/browser/production-fresh-profile.spec.ts`, `production-responsive.spec.ts`, `production-accessibility.spec.ts`, `production-network-secrets.spec.ts`, and `production-auth-bootstrap.spec.ts`. Run `npm --prefix apps/operator-console run test:browser -- tests/browser/production-fresh-profile.spec.ts tests/browser/production-responsive.spec.ts tests/browser/production-accessibility.spec.ts tests/browser/production-network-secrets.spec.ts tests/browser/production-auth-bootstrap.spec.ts` against the live candidate. + +Required evidence: empty browser profile and fresh session; desktop `1440x900`, tablet `768x1024`, mobile `375x812`; keyboard-only primary flow; accessible names/focus/contrast/landmarks; zero unclassified console/page errors; every API request/response status captured; no keycard/token/secret in DOM, storage, URL, cookie, console, network body, screenshot, or trace; first-admin issue/use/revoke and unavailable/error/recovery states use real backend data. + +## 5. Dependency-Ordered Execution + +### M0 — Preserve and Establish Truth + +1. Freeze the dirty primary checkout as preserve-only evidence; record its diff and the legacy launcher/OC worktree inventory. +2. Create the clean integration and RELEASE-GATES worktrees from `origin/main`; root alone advances integration. +3. Preserve rejected R10 and A11 history, then commit A12 governance as the exact child of A11 `887b7c6144a09829a1a3f43ff5a19d3fb27fb7c1` and B12 as A12's direct child. Their checkers bind both immutable boundaries; B12 replays every strict R10 false-green and proves self-reference-free ordinary/maintenance/successor/two-PR-race behavior on Windows and Linux, trusted-base-only `pull_request_target`, unprivileged secret-free successor self-test, and strict latest-base/ruleset/recovery without GitHub mutation. A12 separately proves 69/69 macro parity, branch/dependency consistency, zero undeclared overlap and exact collision serialization. Independent checker, post-run review and integration are mandatory before required-status activation, B12 transfer or MB1 implementation. +4. DB-BULKOPS `68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef` is rejected. Dispatch DB-BULKOPS-BEHAVIORAL-EDGE-REWORK from that exact base on only its four paths; no other successor starts from the rejected head. After the rework checker/post-review/integration, rebase DB-GOVERNANCE and MCP-STRUCTURED-INPUT-VALIDATION independently to the exact accepted composite; only then rebase CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK after DB-GOVERNANCE. INGEST-DOC-SNAPSHOT-DEMOLITION also waits for the accepted composite and lands before DURABLE-AUDIT-BOUNDARIES. The MCP lane preserves the accepted bulk/candidate invariants while fixing the remaining route-specific mutation class; any newly inventoried handler is a plan/state amendment, not an implicit scope expansion. Final DB acceptance records fresh DB/schema identity, every exit code, unexpected SKIPs, numeric coverage floors, repetitions, raw streams, connection budget, zero post-test sessions, cleanup proof, and actual-diff ownership. +5. Create the remaining exact-scope worktrees above from `origin/main` with recorded boundaries; stacked rework lanes use the exact reviewed staging integration SHA required by their ownership epoch rather than silently editing a predecessor branch. +6. Set the production UI decision: `apps/operator-console` is canonical. `apps/operator-web` and `ui` are legacy/migration-only until consumers are removed; neither is a second production truth source. +7. Repair the S4B contract before implementation. The canonical subsystem returns bounded `HintProposal` values; S3 owns fusion/queue/rendering. Remove operator-console contamination, regenerate checklist/tasks, validate, and independently challenge. +8. Correct roadmap containers: operator console is not ENG-V7-S4B; backend S4B remains open; stale labels are reconciled; BOOK and all North Star obligations remain explicit. +9. Reconcile seq74 only through `C:\Users\btf\.codex\plugins\cache\nvmd-ai-kit\nvmd-platform\2.86.1\skills\session\scripts\state-ops.cjs`. Current truthful branch already executed: `set-handoff-status --role developer --actor pm --status stood_down --progress-note "Handoff 74 missed OMP pickup and is superseded by the operator-authorized native isolated-worktree maker/checker production-ready lane; preserved as missed-pickup history."`. Readback commands are `check-handoff-pickup --role developer --sla-ms 600000`, `validate --all`, and exact assignment/front-door/developer-oracle reads. If OMP work is later queued, issue a new counted handoff and require `ack-role-handoff --role developer --engine omp` before any pickup claim. +10. Record the current vulnerability graph and toolchain/runtime/image versions as the security baseline. Record GE-003 as the project-identity architecture contract: namespace continuity and collision safety are mandatory, while tenant/private authorization remains keycard/principal based. +11. Update the evidence register first, then render the Markdown register and HTML to the same status. No active/pending slice or checker/rework may lack a row. + +M0 exit: preservation proof exists, every active writer has exclusive paths, the DB-BULKOPS dirty overlay is preserved and every path has a non-overlapping owner before further edit, canonical UI/S4B contracts are decided, RELEASE-GATES is committed and independently proves false-green, cleanup, coverage-floor, dev-stand, ledger, and actual-diff negatives, seq74 is classified, DB-BULKOPS is truthfully marked HIGH/not accepted, and the plan checker finds no hidden overlap or omitted blocker. + +### M1 — Remove Immediate Release Blockers in Parallel + +With the RELEASE-GATES foundation integrated, execute M1 in ownership-safe waves: + +1. In parallel after foundation acceptance: DB-BULKOPS-BEHAVIORAL-EDGE-REWORK, DB-AUTH, DB-CRYSTALLIZATION, DB-EMBEDDING-STATS, DB-REAPER, SECURITY-TOOLCHAIN, SECURITY-PROJECT-IDENTITY, UPDATE-LIFECYCLE, DOCUMENT-INGEST-PUBLIC-TRUTH-R3, and the read-only DEMOLITION-SKIP/T007 classifications. DOCUMENT R3 starts from rejected R2 maker `efe1ab50`, never checker `f3bba881` or earlier checker `26938199`. After the DB-CRYSTALLIZATION test-only checker/post-review integration, immediately start CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS on its disjoint exact paths; it is a release blocker, not deferred roadmap work. DB-GOVERNANCE is intentionally not in this wave because it must rebase onto the accepted behavioral-edge composite. +2. Integrate the accepted behavioral-edge composite, then rebase and run DB-GOVERNANCE. Rebase CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK only after both exact integrations. In parallel from the exact accepted behavioral-edge integration SHA, run INGEST-DOC-SNAPSHOT-DEMOLITION and MCP-STRUCTURED-INPUT-VALIDATION; the former must land before DURABLE-AUDIT-BOUNDARIES takes `facade.go`, while the latter inventories and validates the remaining route-specific public mutation boundaries without globally changing read/filter compatibility. After DB-AUTH, run AUTH-BOOTSTRAP-SECURITY. DURABLE-AUDIT-BOUNDARIES waits for ingest demolition, candidate-review rollback, and auth bootstrap. +3. Run DB-RULES-ISOLATION only after the preceding diagnostic functional lanes integrate so its shared-DB order proof is meaningful. T007 may edit only its exact test after classification; any production fix requires a prior ledger amendment. +4. Complete IMAGE-REMEDIATION-R2 as a full clean reconstruction from exact detached base `0c6269908aa810a2248f2bfaf3fca4f9f5791359`; rejected R1/checker stay absent from ancestry, and no `test.yml` path is owned. After SECURITY-PROJECT-IDENTITY integrates, run OPENCLAW-RELEASE and require its clean detached-worktree matrix plus npm publish/readback before integration/release. Then transfer exact compose/docs epochs to DEPLOYMENT-ROLLBACK and CORE-PUBLIC-TRUTH; OC-INTEGRATION owns its package manifests independently. Run RECOVERY-DATA, LAUNCHER-FIRST-RUN, and CORE-PUBLIC-TRUTH through their declared dependencies. LAUNCHER waits for accepted GE-003 identity vectors; deployment and OC bootstrap proof wait for accepted AUTH-BOOTSTRAP-SECURITY; every later Dockerfile/compose/dependency edit triggers the three-image rebuild and zero-finding scan again. +5. As functional lanes integrate, run the disjoint COVERAGE-WORKER/MCP/GORM/LOOM test-only maker/checker cycles until the exact full profile reaches the goal without weakening thresholds. A slice enters integration only after exact gate evidence, independent checker PASS, separate post-run code review PASS, and refreshed ownership/register artifacts. + +M1 integration gates: + +```powershell +go version +go build ./... +go vet ./... + +$integrationSha = (git rev-parse --verify HEAD).Trim() +$runId = "m1-full-race-$($integrationSha.Substring(0, 12))" +$artifactRoot = '.agent/reports/evidence/production-ready/release-gates-foundation' +pwsh ./scripts/production-gates/run-db-suite.ps1 -Package ./... -FreshDatabase -Repeat 3 -FailOnUnexpectedSkip -Race -CoveragePolicy Full -ArtifactRoot $artifactRoot -RunId $runId +if ($LASTEXITCODE -ne 0) { throw 'canonical M1 full fresh-DB/race gate failed' } +$runDirectory = Join-Path $artifactRoot $runId +$summary = Get-Content -Raw -LiteralPath (Join-Path $runDirectory 'summary.json') | ConvertFrom-Json +if ($summary.verdict -ne 'PASS' -or $summary.counts.requested_repeats -ne 3 -or $summary.counts.passed_repeats -ne 3 -or -not $summary.race -or $summary.coverage_policy -ne 'Full') { throw 'canonical M1 summary contract failed' } +1..3 | ForEach-Object { + $repeatDirectory = Join-Path $runDirectory ('repeat-{0:D2}' -f $_) + @('go-test-summary.json','coverage.out','coverage-summary.json','repeat-summary.json','cleanup/cleanup.json') | ForEach-Object { + if (-not (Test-Path -LiteralPath (Join-Path $repeatDirectory $_) -PathType Leaf)) { throw "missing M1 artifact: $_" } + } + $repeat = Get-Content -Raw -LiteralPath (Join-Path $repeatDirectory 'repeat-summary.json') | ConvertFrom-Json + $cleanup = Get-Content -Raw -LiteralPath (Join-Path $repeatDirectory 'cleanup/cleanup.json') | ConvertFrom-Json + if ($repeat.verdict -ne 'PASS' -or $repeat.go_test_exit -ne 0 -or $repeat.json_parser_exit -ne 0 -or $repeat.coverage_exit -ne 0 -or $repeat.cleanup_exit -ne 0 -or $repeat.sessions_after -ne 0 -or $cleanup.verdict -ne 'PASS' -or $cleanup.remaining_database_count -ne 0) { throw "M1 repeat $_ did not prove JSON/coverage/session/cleanup closure" } +} + +pwsh ./scripts/production-gates/run-critical-suite.ps1 -Config .agent/critical-suite.config.yaml +pwsh ./scripts/production-gates/run-dev-stand.ps1 -Config .agent/dev-stand.config.yaml +$Plan = '.agent/plans/2026-07-10-engram-production-ready-master-plan.md' +$State = '.agent/plans/2026-07-10-engram-production-ready-ownership-state.json' +$PlanSha = (Get-FileHash -LiteralPath $Plan -Algorithm SHA256).Hash +pwsh ./scripts/production-gates/assert-plan-path-ownership.ps1 -Mode Ledger -Plan $Plan -ExpectedPlanSha256 $PlanSha -State $State -Artifact .agent/reports/evidence/production-ready/ownership/path-ledger.json +pwsh ./scripts/production-gates/assert-plan-path-ownership.ps1 -Mode Diff -Slice DB-BULKOPS-BEHAVIORAL-EDGE-REWORK -Base 68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef -Head '' -EvidenceNamespace '.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**' -ReportNamespace .agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker.md -Plan $Plan -ExpectedPlanSha256 $PlanSha -State $State -Artifact .agent/reports/evidence/production-ready/ownership/db-bulkops-behavioral-edge-rework.json +pwsh ./scripts/production-smoke/customer/run-auth-bootstrap-adversary.ps1 -Processes 2 -Repeat 10 -ArtifactRoot .agent/reports/evidence/production-ready/auth-bootstrap +node --test plugin/engram/scripts/*.test.js plugin/engram/hooks/*.test.js +pwsh ./scripts/production-gates/run-node-matrix.ps1 -Surface openclaw -Audit +govulncheck -test ./... +npm --prefix apps/operator-console ci +npm --prefix apps/operator-console audit --audit-level=high +gitleaks detect --source . --redact --report-format json --report-path .agent/reports/evidence/production-ready/secrets/repository.json +pwsh ./scripts/production-gates/build-and-scan-images.ps1 -ServerTag engram:prc-server -OperatorTag engram:prc-operator-console -PostgresTag engram:prc-postgres -Platform linux/amd64 -ArtifactRoot .agent/reports/evidence/production-ready/image-remediation -NoAllowlist +``` + +The command block becomes executable authority only after the named RELEASE-GATES and IMAGE-REMEDIATION-R2 scripts are committed, independently checked, post-reviewed, and integrated; until then it is their exact acceptance target, not evidence of closure. Run each command as an independently captured process; no trailing success may mask an earlier failure. M1 exit: all 27 baseline failures have one closing artifact; overall is at least 60%, loom at least 70%, and critical-path floors are exactly 10/10/20/55/55/55; no unexpected critical/DB SKIP exists; canonical repeat-3 full fresh-DB/race JSON/coverage/cleanup evidence is green; candidate-review immediate rollback and later-conflict semantics pass for every action; bootstrap attacker/replay/restart negatives pass; auth plus bulk promote/delete/supersede audits are durable; exact server/operator/PostgreSQL tags have zero HIGH/CRITICAL and a matching image-set manifest; server hardening proves restart-safe `HOME=/var/lib/engram` storage ownership plus semantic ready-only health under read-only/cap-drop/no-new-privileges policy; operator hardening proves exact `NUXT_OPERATOR_API_TARGET` and proxied backend readiness rather than root-only HTTP 200; PostgreSQL hardening proves UID/GID `70:70`, read-only/cap-drop/no-new-privileges, persistent PGDATA across container recreation, and rejection of tmpfs-only data; actual-diff ownership is green for every slice; and the thin customer spine runs after every integrated commit. + +### M2 — Build the Production Proof Substrate + +Complete DEPLOYMENT-ROLLBACK and RECOVERY-DATA, then run OBSERVABILITY-OTLP, PRIVACY-BOUNDARIES, and CRITICAL-HARNESS through independent maker/checker cycles. CORE-PUBLIC-TRUTH finalizes M5 normative instructions only from commands that have actually passed. The required diagnostic matrix includes PostgreSQL unavailable/recovering, migration failure, OTLP receiver unavailable/backpressured, invalid/missing keycard, revoked keycard reuse, corrupt config, version skew, wrapper download failure, and operator API/browser failures; every case needs an actionable non-secret log or UI result. + +M2 exit: a clean disposable stand can be created deterministically; readiness is dependency-aware; images and rollback targets are immutable; DB migration/backup/restore is executable; telemetry is observable; boundary negatives are automated; unexpected skips, overall below 60%, loom below 70%, or any critical-path package below 10/10/20/55/55/55 fail the gate. + +### M3 — First-Run and Operator Product Truth in Parallel + +1. LAUNCHER-FIRST-RUN reconciles the preserved primary-checkout launcher work with `engram-launcher-version-skew-fix` onto a clean current base and implements fail-closed worker-keycard validation before any dial/spawn. +2. OC-INTEGRATION inventories all accepted and dirty A-D/residual worktrees, separates clean commits from uncommitted residue, and builds one coherent `apps/operator-console` current-base integration CR without reviving stale APIs. +3. CRITICAL-HARNESS executes the thin customer spine after each integration: clean home -> first admin/keycard -> wrapper/direct initialize -> unique store -> new process recall -> actual session-start injection -> restart recall. +4. CORE-PUBLIC-TRUTH is reconciled only after the shipped commands and selected UI pass that spine. + +M3 exit: a clean workstation route works through wrapper and direct binary; an operator credential is rejected locally; the canonical operator console issues/uses/revokes keycards and reports real server state with browser/readback proof; the public path reproduces the result verbatim. + +### M4 — Complete the Canonical v7 Runtime Loop + +1. S4B-CONTRACT is already validated and challenged before code starts. +2. V7-S4B-BACKEND implements the missing CandidateProposer under the canonical `HintProposal` contract. +3. V7-CORE-CALLPATH independently classifies AttentionEventBus/HintQueue as live-required, stale, dormant, or must-build and closes only the architecture-required call path. S4B is not used as a justification to extend unrelated substrate. +4. V7-RUNTIME-WIRING closes the real CandidateProposer registration/read path and preserves S3 ownership of fusion, queueing, and rendering. +5. The full loop runs under the canonical flags: + - master: `ENGRAM_V7_PLUG_ENABLED`; + - subsystem: `ENGRAM_V7_S1_STATE`, `ENGRAM_V7_S2_METAMEM`, `ENGRAM_V7_S3_AMBIENT`, `ENGRAM_V7_S4A_DIRECTIVES_CAPTURE`, `ENGRAM_V7_S4B_DIRECTIVES_SURFACING`, `ENGRAM_V7_S5_TELEMETRY`, `ENGRAM_V7_S6_OUTCOME`. +6. V7-TELEMETRY-WIRING replaces empty dependencies with a production `MetricSource` and proves `hint_precision` readiness at `n>=30`, `accepted_hint_action` readiness at `n>=20`, honest below-threshold/no-sample states, rolling interruption burden, and state freshness without fabricated zeros. +7. Run a deterministic CandidateProposer workload with p95 inside the caller's 200ms budget, plus flag-off, single-flag, master-on, restart, load, ordinary-request must-not-trigger, and failure/degradation matrices. + +M4 exit: the loop is production-called rather than package-only, produces bounded auditable hints, survives restart, and exposes truthful metrics. + +### M5 — Activation, Customer-Mode Proof, and Safe-Point Release + +Run the refreshed production playbook against a clean disposable deployment: + +1. install/build and version match; +2. health/readiness and migration startup; +3. operator-controlled one-time first-admin bootstrap, attacker/replay/restart negatives, then keycard/auth paths and least privilege; +4. store memory in one session; +5. start a fresh session and prove retrieval plus automatic injection through the shipped wrapper; +6. direct binary parity; +7. operator-console API and browser readback; +8. restart with persistence; +9. upgrade from prior release with data retained; +10. backup, restore, and rollback drill; +11. failure/degraded dependency behavior and observable diagnostics. +12. two distinct workstation/principal identities share only data allowed by the explicit scope contract and cannot cross private boundaries; +13. both Claude Code and Codex supported client routes perform initialize, store, new-process recall, and session-start injection; +14. compatibility covers current-client/current-server, previous-supported-client/current-server, and current-client/previous-supported-server, or fails before mutation with a documented safe version error; +15. keycard one-time display, revoke and denied reuse, retention expiry, deletion, restore target-not-empty refusal, and destructive cross-scope negatives behave safely; +16. auth setup plus bulk promote/delete/supersede audit fault injection proves same-transaction or durable-outbox semantics, with no falsely complete unaudited success and idempotent pending/retry/readback; +17. candidate-review promote/preserve/reject/suppress/supersede snapshots contain atomic `Before` and `After`, immediately roll back, and preserve a later committed candidate through explicit conflict; +18. all three exact release images run under their declared hardened policies; the server sets `HOME=/var/lib/engram`, mounts persistent writable storage there as UID/GID `65532:65532` mode `0700`, survives restart, and never becomes Docker healthy with absent/unowned/unwritable storage, an unowned tmpfs, initialization failure, or any `/api/ready` response other than exact `status=ready`; intentional liveness `/health` HTTP 200 is not used as readiness. +19. the operator uses exact `NUXT_OPERATOR_API_TARGET`; root HTML/assets and proxied `/api/health` plus `/api/ready` reach the recorded server before/after restart, while the stale variable, default `unleashed.lan`, wrong backend, timeout, and root-only HTTP 200 all fail. +20. PostgreSQL runs as UID/GID `70:70` under read-only/cap-drop/no-new-privileges policy, uses tmpfs only for ephemeral runtime paths, rejects tmpfs-only PGDATA, and preserves version, pgvector, migrations, and retained markers after container removal and recreation on the same owned persistent volume. + +No deviation, UNKNOWN, or in-scope roadmap item may be converted to READY by PM wording. A scope deferral that affects the active goal requires an explicit operator amendment to the goal contract. + +After the complete customer spine, security/data/recovery/observability gates, critical suite, code review, and release-git checks pass, cut the first safe-point release before beginning the large remaining North Star program. Immediately rerun clean-install, new-process recall/injection, restart, upgrade, rollback, and browser readback against the published artifacts. + +M5 exit: the core safe-point verdict is `PRODUCT_WORKS`; the release is published and its post-release proof passes. The overall goal remains ACTIVE while M6 architecture obligations are still open; this milestone is not `VERIFIED READY` and may still list those named open obligations. + +### M6 — Dispatchable North Star Contract and Implementation DAG + +M6 starts from the published, post-release-proved M5 commit. It does not authorize any product-source edit from prose. + +1. Dispatch in parallel the six artifact-only contract makers in Section 4: NORTHSTAR-CI-A-CONTRACTS, NORTHSTAR-BOOK-CONTRACTS, NORTHSTAR-MEM-CONTRACTS, NORTHSTAR-EFFECTIVENESS-CONTRACTS, and NORTHSTAR-SETTINGS-CONTRACTS; NORTHSTAR-CI-B-CONTRACTS may draft in parallel but cannot finalize until CI-A contract acceptance fixes its dependency boundary. +2. Each maker may edit only the exact SpecKit files in its ownership row. It runs the exact `$nvmd-platform:nvmd-validate ` invocation and requires validator `PASS`, records the validator artifact in its declared evidence root, then stops for an independent `$nvmd-platform:challenging-plans ` checker. That checker emits exactly one of `GO`, `REVISE`, or `RETHINK`; only `GO` advances. A separate artifact-diff/post-run review uses `PASS`, `PASS_WITH_CONCERNS`, or `FAIL`; any concern touching scope, ownership, architecture, acceptance, licensing, or PR-0..PR-8 is non-mergeable. + +| Contract lane | Independent checker ownership / exact artifact | Separate post-review artifact | +| --- | --- | --- | +| NORTHSTAR-CI-A-CONTRACTS | fresh checker-only native subagent; `.agent/reviews/2026-07-10-ci-a-dense-vector-plan-challenge.md` | `.agent/reviews/2026-07-10-ci-a-dense-vector-contract-post-review.md` | +| NORTHSTAR-CI-B-CONTRACTS | fresh checker-only native subagent; `.agent/reviews/2026-07-10-ci-b-graph-watcher-context-plan-challenge.md` | `.agent/reviews/2026-07-10-ci-b-graph-watcher-context-contract-post-review.md` | +| NORTHSTAR-BOOK-CONTRACTS | fresh checker-only native subagent; `.agent/reviews/2026-07-10-book-plan-challenge.md` | `.agent/reviews/2026-07-10-book-contract-post-review.md` | +| NORTHSTAR-MEM-CONTRACTS | fresh checker-only native subagent; `.agent/reviews/2026-07-10-mem-residual-plan-challenge.md` | `.agent/reviews/2026-07-10-mem-residual-contract-post-review.md` | +| NORTHSTAR-EFFECTIVENESS-CONTRACTS | fresh checker-only native subagent; `.agent/reviews/2026-07-10-effectiveness-residual-plan-challenge.md` | `.agent/reviews/2026-07-10-effectiveness-residual-contract-post-review.md` | +| NORTHSTAR-SETTINGS-CONTRACTS | fresh checker-only native subagent; `.agent/reviews/2026-07-10-settings-residual-plan-challenge.md` | `.agent/reviews/2026-07-10-settings-residual-contract-post-review.md` | + +3. `.agent/` is ignored, so every new contract lane uses an explicit durable staging protocol. The maker materializes a literal `$owned` array from its ownership row, runs `git add -f -- $owned`, and requires `git diff --cached --name-only` to equal that array exactly; no glob, directory-wide force-add, or unrelated ignored file is permitted. It commits the SpecKit files, records `git rev-parse HEAD`, and returns SHA256 for every owned artifact. The actual-diff ownership gate runs against that maker commit before challenge. +4. The independent challenging-plans checker binds its report to the maker commit SHA and exact plan SHA256. The post-review binds to the same commit/diff. Because both review paths are also under ignored `.agent/`, root copies only the exact challenge and post-review files named in the table, verifies the checker-returned SHA256 values, uses `git add -f -- `, and commits them as a root-owned evidence commit after the maker commit is cherry-picked. The register records maker commit, validator artifact/hash, challenge verdict/hash, post-review verdict/hash, evidence commit, and integration SHA. A worktree-local uncommitted artifact is never acceptance evidence. +5. Every accepted contract must contain: current-source live/stale/dormant/must-build classification; exact production and test files; CR-sized dependency order; flags/migrations/rollback; exact commands and raw artifact roots; customer-observable acceptance; clean-room/license constraints where applicable; checker depth; and a release boundary. No `TBD`, `UNKNOWN`, wildcard source ownership, or unresolved implementation-shaping question is allowed. +6. Root then amends this master ledger with the exact code/test paths for the first resulting CR, adds register rows, runs Ledger plus actual Diff ownership modes, and creates its implementation worktree from the current M6 integration SHA. Only that amended hash can authorize an implementation maker. Each implementation follows maker -> focused proof -> independent checker -> rework -> post-review -> integration -> full gate -> customer proof. +7. Dependency order is CI-A dense/vector before CI-B graph/watcher/context. BOOK is independent after its contract challenge `GO` and post-review `PASS`. MEM, effectiveness, and settings implementation CRs may run in parallel only when their accepted exact paths do not overlap; shared retrieval/config/worker paths are serialized through new epoch-transfer rows. +8. Every customer-visible CR receives release analysis. A shippable, independently useful CR is published and post-release proved before its dependent CR; semantically inseparable CRs may share one release only when the accepted plan records why. CI customer proof covers two worktrees and index/search/status; CI-B covers incremental watcher, graph, and context artifacts; BOOK covers licensed ingest/citation/provenance; MEM/effectiveness/settings cover the exact observable outcomes in their matrix rows. +9. A classification result of genuinely out-of-product is not a silent deferral: it needs an explicit operator amendment to the active goal and roadmap/readiness effect. Without that amendment, an in-scope must-build result remains blocking. +10. After the final M6 implementation integrates, root performs actual-diff release analysis and writes `.agent/reports/evidence/production-ready/release/final-version.json`. Root then amends FINAL-PUBLIC-TRUTH with the exact versioned release-note path and regenerates Ledger plus Diff ownership artifacts before that maker starts. + +M6 exit: all six contract lanes have validator `PASS`, independent challenging-plans `GO`, artifact/post-review `PASS`, exact force-added maker commits, hash-bound review evidence commits, and recorded integration SHAs; every in-scope implementation CR is shipped and customer-proved; exact source ownership/release evidence exists for each; `final_ready_version` and the M5 predecessor are materialized; no in-scope UNKNOWN remains. + +### M7 — Final Release Closure + +1. Verify `final-version.json` against the actual M6 diff, page in release rules, and amend FINAL-PUBLIC-TRUTH with the exact versioned release-note path before any public-file edit. Rebase that worktree to the exact M6 integration SHA and run its maker/checker/post-review cycle. +2. Run code review over every integrated diff and semantic conformance against PR-0..PR-8. +3. Run the curated critical suite, canonical repeat-3 full fresh-DB/race JSON/coverage/zero-session/cleanup gate, immutable 60/70 plus 10/10/20/55/55/55 coverage audit, and required dev stand. +4. Run the complete M7 compatibility matrix: final<->final, M5 release<->final, and any separately supported older pair. Run full customer emulation, cross-agent/workstation identity, bootstrap adversary/replay, candidate-review immediate/later-conflict rollback, auth plus bulk promote/delete/supersede audit faults, browser, security, data integrity, backup/restore, migration, observability, and rollback gates against the final candidate. Rebuild the server/operator/PostgreSQL images from the final source, require the exact image-set manifest, Wolfi locale/version/vector/restart/container-recreation proof with UID/GID-`70:70` persistent PGDATA and tmpfs-only rejection, shell-free direct/proxied `/api/ready` healthchecks that accept only parsed exact ready state while preserving `/health` liveness semantics, `HOME=/var/lib/engram` with persistent UID/GID `65532:65532` mode-`0700` storage under read-only rootfs, exact `NUXT_OPERATOR_API_TARGET` with proxied backend identity before/after restart, absent/unowned/unwritable-storage plus stale-target/init/error-body negative fixtures that never become healthy, and zero-HIGH/CRITICAL scans. +5. Re-run `node C:\Users\btf\.codex\plugins\cache\nvmd-ai-kit\nvmd-platform\2.86.1\skills\session\scripts\state-ops.cjs --root D:\Dev\engram check-handoff-pickup --role developer --sla-ms 600000` and `node C:\Users\btf\.codex\plugins\cache\nvmd-ai-kit\nvmd-platform\2.86.1\skills\session\scripts\state-ops.cjs --root D:\Dev\engram validate --all`; read `.agent/session-state/roles/_assignment.json`, `.agent/session-state/current.json`, and `.agent/session-state/roles/developer/current.json`; require no `OPEN`/unclassified counter and preserve `DID_NOT_PICK_UP` history truthfully. +6. Classify every branch, PR, and worktree as merged, release-needed, parked with explicit owner, or blocked with preservation evidence. Require Ledger zero concurrent overlap plus per-slice actual Diff zero undeclared paths. +7. Verify local/remote tag consistency, publish the final version, server/operator/PostgreSQL images, and plugin, then rerun clean install, initialize, store, new-process recall/injection, restart, M5->final upgrade, final->M5 rollback, cross-agent proof, browser readback, image runtime/cleanup, and exact published-digest scans. Every image/plugin digest must match `final-version.json`; any HIGH/CRITICAL finding blocks release without allowlisting. +8. Update the JSON evidence register first, render the Markdown register and HTML from that exact state, and prove row/slice/worktree parity. +9. Run a fresh full production-ready check. Only `VERIFIED READY` may complete the goal; M5 `PRODUCT_WORKS` evidence alone is insufficient. + +## 6. Checker Protocol + +For each slice, the independent checker must answer: + +1. Does the implementation satisfy the named acceptance criteria on a clean current base? +2. Is the production call path wired and enabled under the documented flag/configuration? +3. Are wrong type, raw-vs-normalized, silent clamp, filtered-vs-full count, concurrency, failure, restart, and ordinary-request must-not-trigger edges covered where applicable? +4. Were any v5-demolished remnants used as contracts? +5. Are tests capable of false green through skips, shared state, order dependence, mock-only seams, or stale generated assets? +6. Are security, privacy, tenant/project boundaries, audit, and rollback behavior preserved? +7. Are docs and UI claims exactly supported by runtime evidence? +8. Is the branch clean, committed, and ready for post-run code review? +9. For bootstrap work, do missing/invalid/replayed/revoked capabilities fail before bcrypt and mutation, and did the checker run a two-process attacker-vs-operator schedule plus restart and secret-negative capture? +10. For audited mutations, did an injected audit-store failure prove same-transaction rollback or durable pending delivery, with no falsely complete unaudited response and idempotent retry? +11. For DB-BULKOPS and candidate-review rollback, did the two permanent lock/CAS regressions fail on the defective parent, did every candidate-review action persist atomic `Before` plus `After`, and did immediate rollback plus a later candidate mutation prove restore-or-explicit-conflict without data loss? +12. For RELEASE-GATES, did the checker prove every prior mutation plus blanket/empty skip rejection, truthful early-failure finalization, repeat-3 CI/config parity, canonical full fresh-DB/race JSON/coverage/zero-session/cleanup proof, critical/dev-stand execution, exact liveness/readiness HTTP contracts, three distinct runtime-injected/redacted credentials with unconditional cleanup, plan-hash/state binding, reversed/non-current/missing-evidence/wrong-base negatives, descendant-base positive, OpenClaw node-matrix sequence/cleanup, and immutable 60/70 plus 10/10/20/55/55/55 floors? +13. For DB-BULKOPS-BEHAVIORAL-EDGE-REWORK, did wrong snapshot type and every lossy ID shape fail before mutation/audit, while valid integer arrays preserved exact behavior? +14. For INGEST-DOC-SNAPSHOT-DEMOLITION, is `ingest_doc` historical/read-only, non-executable in dry-run and commit, absent from durable-audit success claims, while live document ingest still bypasses the facade and truthfully proves full content-addressed body plus metadata storage without chunks, embeddings, or document search? +15. For OPENCLAW-RELEASE, did a fresh detached worktree prove tracked/non-ignored lock v3, four-field version parity, dependency parity, exact node sequence, package contents, clean cleanup, publish, and npm readback after SECURITY-PROJECT-IDENTITY? +16. For MCP-STRUCTURED-INPUT-VALIDATION, did the maker inventory every public mutation/alias, use exact-number and present-vs-missing decoding only at mutation boundaries, align schema and handler behavior, preserve any named legacy read/filter compatibility, and prove malformed values cause zero write/audit/transition delta for all critical/high routes including concurrency and precision edges? +17. For CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS, did the full three-axis flag/failure matrix prove no processed mark or watermark without durable created-or-duplicate outcomes, exact per-project/session batching, restart/retry preservation, exactly-once persistence, fresh migrated repeat isolation, race, and zero residue without restoring the demolished direct-memory path? +18. For contract-only M6 lanes, did `nvmd-validate` return `PASS`, challenging-plans return `GO`, artifact post-review return `PASS`, literal `git add -f` include only the row's ignored SpecKit files, and hash-bound review evidence reach the integration commit before any source ownership was requested? +19. For IMAGE-REMEDIATION-R2, did an executable repo-wide census prove exactly two bounded publication entry points for all three package names; did unprivileged `prepare-release` and privileged `publish` run on separate fresh jobs/runners, with the candidate checkout/build/scan/runtime and every persistent process or Docker daemon excluded from the `packages: write` runner; did `publish` check out trusted default-branch bytes only, validate same-run provenance, and treat OCI images as data; did immutable-SHA-pinned upload/download actions use immutable v4+ artifacts with overwrite forbidden, REST-census the current run to exactly one fixed nonexpired name/ID/API-digest artifact, reject extras/duplicates, download by exact ID, and verify outer digest plus internal checksums, regular-file envelope, and no traversal before OCI load; did all checkouts use `persist-credentials:false`, keep tokens and credential-bearing `.git` metadata out of candidate work, perform late login/preflight/push/readback/logout under trusted `Publish` bytes only, and erase Docker credentials before later evidence upload; were daemon tampering, cross-job contamination, malicious tag bytes, off-main targets, spoofed/duplicate/expired artifacts, ref/SHA/run mismatch, symlink/reparse, special-file, traversal, and candidate-manifest attacks rejected; were all six full-SemVer/`sha-` destinations checked before the first write and read back after the last write; were same-release writers serialized; did R12 path authority cover future edits; and did the non-atomic external PAT/package-admin trust boundary remain explicit? +20. For DOCUMENT-INGEST-PUBLIC-TRUTH-R3, did inherited schemas, descriptions, body/hash/update readback, legacy non-operative search inputs and missing-query tombstone remain truthful; did one atomic store update predicate exact collection/path plus `active=true`, treat `RowsAffected=1` as the sole success authority, map zero rows to the stable MCP not-found error without a split precheck, and prove two concurrent callers yield exactly one success and one not-found with an inactive row, retained body and zero probe residue; did schema/chunk/embedding/search behavior remain unchanged or absent? + +Implementation/artifact checker verdicts are `PASS`, `PASS_WITH_CONCERNS`, or `FAIL`; `PASS_WITH_CONCERNS` is not mergeable while any concern touches a PR-0..PR-8 criterion. Challenging-plans verdicts are separately and exclusively `GO`, `REVISE`, or `RETHINK`. + +## 7. Production-Ready Audit Evidence Pack + +The final report must contain: + +- goal and criteria mapping PR-0..PR-8; +- release commit/tag/image/plugin version identities; +- clean source/build/vet/unit/DB/race/critical results; +- Go/Node/container/secret security reports, toolchain/module/image versions, and security-review verdict; +- migration, backup, restore, rollback, restart, and upgrade transcripts; +- operator-controlled first-admin bootstrap attacker/replay/restart evidence and secret-free browser/network/log/OTLP artifacts; +- auth/bulk durable-audit fault-injection, pending/retry/readback, and no-false-success evidence; +- candidate-review promote/preserve/reject/suppress/supersede snapshot `Before`/`After`, immediate rollback, later-conflict, and atomic-failure evidence; +- wrapper/direct binary customer-flow evidence; +- fresh-session retrieval and automatic-injection proof across Claude Code and Codex, two workstation identities, revoke/reuse, and supported mixed-version pairs; +- operator API/browser/accessibility/console/network readback; +- named readiness/dependency/exporter/version-skew diagnostic matrix with secret-redaction proof; +- flag and failure matrices for v7 subsystems; +- architecture/roadmap reconciliation and v5 demolition classification; +- maker/checker/code-review artifacts for every slice; +- path-ledger duplicate/prefix artifact, per-slice actual `base..head` diff artifact, derived/legacy evidence namespace proof, ownership-transfer integration/rebase evidence, and exact one-owner mapping for all diagnostic failures; +- server/operator/PostgreSQL build provenance, pinned base/source digests, exact image IDs and published digests, zero-HIGH/CRITICAL SARIF, PostgreSQL locale/version/vector/restart proof, and zero residual container/volume evidence; +- M5 core-safe-point and M7 final-version identities, final-version manifest, distinct compatibility matrices, and exact final release-note path; +- validator/challenge/review artifacts plus exact implementation ownership for every M6 North Star contract; +- PR/branch/worktree inventory and preservation/cleanup state; +- seq74/control-plane classification plus final `state-ops validate --all` evidence; +- full production-ready-check verdict `VERIFIED READY`. + +## 8. Dispatch Order After Plan GO + +1. Independently challenge this exact revision-4 canonical UTF-8/LF hash plus tracked ownership-state hash with challenging-plans. Until the verdict is `GO`, the plan remains HOLD for new broad implementation; already-running bounded work may finish but cannot integrate on stale plan authority. +2. Root records PLAN-GOVERNANCE, RELEASE-GATES base `2b3ef3e3`, rejected DB-BULKOPS head `68b2ce58` with exact checker artifact/hash and two HIGH findings, active behavioral-edge rework, completed ingest/OpenClaw and MCP structured-input classifications, MCP-STRUCTURED-INPUT-VALIDATION and OPENCLAW-RELEASE blockers, and all new pending slices in JSON first; it then verifies Markdown/HTML parity and reruns hash-bound Ledger validation. +3. Rework/check/review/integrate RELEASE-GATES through the exact R12 A12/B12 chain first. Require every prior false-green, fixed-point negative, cleanup, coverage, runner, actual-diff, control-plane maintenance, successor-validator, two-PR stale-loser, strict-ruleset and macro-governance negative. No required status is externally activated and no macro maker starts until A12 is independently accepted; no authority runner is accepted until B12 passes independent S3 checking and root post-review. +4. Run M1 wave 1 on exact disjoint paths. Rework rejected DB-BULKOPS first, then DB-GOVERNANCE and CANDIDATE-REVIEW in MB1 order; run ingest demolition before durable audit; run DOCUMENT-INGEST-PUBLIC-TRUTH-R3 from rejected `efe1ab50`; run OPENCLAW-RELEASE after SECURITY-PROJECT-IDENTITY; run IMAGE-REMEDIATION-R2 as the already-dispatched clean reconstruction from exact `0c626990` with rejected R1/checker absent and no `test.yml` overlap; route all 27 diagnostic failures exactly once and preserve 60/70 plus 10/10/20/55/55/55 floors. +5. Enforce transfer gates: rejected DB-BULKOPS -> DB-BULKOPS-BEHAVIORAL-EDGE-REWORK -> MB1 DB-GOVERNANCE/disjoint CANDIDATE-REVIEW order; accepted behavioral composite -> MCP-STRUCTURED-INPUT-VALIDATION -> retained mutation owners / INTEGRATION-RELEASE; accepted behavioral composite -> INGEST-DOC-SNAPSHOT-DEMOLITION -> DURABLE-AUDIT-BOUNDARIES; rejected DOCUMENT R1 `63775eb3` -> rejected R2 `efe1ab50` -> DOCUMENT-INGEST-PUBLIC-TRUTH-R3; DB-AUTH -> AUTH-BOOTSTRAP -> DURABLE-AUDIT; selected SECURITY-TOOLCHAIN integration in clean base `0c626990` -> IMAGE-REMEDIATION-R2 -> DEPLOYMENT/CORE, while OC owns dependency manifests independently; AUTH-BOOTSTRAP -> V7 service wiring. DOCUMENT R3 alone uses exact rejected R2 maker base; IMAGE R2 uses only its declared clean base, and checker-only commits never become candidate ancestors. +6. Dispatch GE-003 identity and GE-004 update lanes with perspective-diverse checkers; launcher waits for identity protocol acceptance, deployment/OC wait for bootstrap plus image contract acceptance. +7. Advance only accepted/reviewed commits into `work/prc-integration`; run actual Diff ownership before checker and integration; update register first and render Markdown/HTML after every maker, checker, rework, review, integration, release, or blocker transition; run the thin customer spine after each accepted commit. +8. Complete M2-M5 and publish only `PRODUCT_WORKS`, then dispatch the six M6 contract lanes in parallel as allowed by their dependency rows. No M6 source maker starts before force-added hash-bound contract commits, validator `PASS`, challenging-plans `GO`, artifact review `PASS`, exact ownership amendment, Ledger plus Diff proof, and register row. +9. Resolve `final_ready_version` from the integrated M6 diff, authorize one exact final release-note path, execute M7 against the final artifacts, and require fresh `VERIFIED READY` evidence for goal completion. diff --git a/.agent/plans/2026-07-10-engram-production-ready-ownership-state.json b/.agent/plans/2026-07-10-engram-production-ready-ownership-state.json new file mode 100644 index 00000000..50bb300d --- /dev/null +++ b/.agent/plans/2026-07-10-engram-production-ready-ownership-state.json @@ -0,0 +1,934 @@ +{ + "schema_version": 1, + "plan": { + "path": ".agent/plans/2026-07-10-engram-production-ready-master-plan.md", + "sha256": "5103adaced04e624f2e1fc9d5d69e7efdccb23830aecfac9010b2b66b484427e" + }, + "scope_map": { + "path": ".agent/plans/2026-07-10-engram-production-ready-scope-map.json", + "sha256": "832ffd41e4b70280a335ae4a3f82cc5486e0ded6b1156f186ec3d2c4bd62886d" + }, + "path_epochs": [ + { + "path": "internal/db/gorm/candidate_store.go", + "ordered_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "current_owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "transition_kind": "rework", + "completed_predecessors": [ + { + "owner": "DB-BULKOPS", + "checker_verdict": "FAIL", + "checker_artifact": ".agent/worktrees/prc-db-bulkops/.agent/reviews/2026-07-10-db-bulkops-sibling-rework-check.md", + "checker_sha256": "EB9EB227363A27EA058C6654BD7E38EED1088252F79F837E377B2A3CBC1FAFB7", + "rejected_head_sha": "68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef", + "post_review_verdict": null, + "post_review_artifact": null, + "integration_sha": null + } + ], + "required_successor_base_sha": "68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef", + "current_owner_head_sha": "bd68c05baf4b7250096dd84f56bebea2aa555970", + "current_owner_status": "PASS_WITH_CONCERNS_NOT_INTEGRATED" + }, + { + "path": "internal/db/gorm/candidate_store_test.go", + "ordered_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-TEST-POOL-HYGIENE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "current_owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "transition_kind": "rework", + "completed_predecessors": [ + { + "owner": "DB-BULKOPS", + "checker_verdict": "FAIL", + "checker_artifact": ".agent/worktrees/prc-db-bulkops/.agent/reviews/2026-07-10-db-bulkops-sibling-rework-check.md", + "checker_sha256": "EB9EB227363A27EA058C6654BD7E38EED1088252F79F837E377B2A3CBC1FAFB7", + "rejected_head_sha": "68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef", + "post_review_verdict": null, + "post_review_artifact": null, + "integration_sha": null + } + ], + "required_successor_base_sha": "68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef", + "current_owner_head_sha": "bd68c05baf4b7250096dd84f56bebea2aa555970", + "current_owner_status": "PASS_WITH_CONCERNS_NOT_INTEGRATED", + "pending_transition": { + "owner": "DB-TEST-POOL-HYGIENE", + "product_sha": "276337b3e96aa5af6d2e7dd9a0002ff957e5ffc9", + "evidence_sha": "68242c48aaad62ec087166eeb9ea32f14d189450", + "status": "READY_FOR_CHECK_NOT_CURRENT_AUTHORITY" + } + }, + { + "path": "internal/mcp/tools_bulkops.go", + "ordered_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "current_owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "transition_kind": "rework", + "completed_predecessors": [ + { + "owner": "DB-BULKOPS", + "checker_verdict": "FAIL", + "checker_artifact": ".agent/worktrees/prc-db-bulkops/.agent/reviews/2026-07-10-db-bulkops-sibling-rework-check.md", + "checker_sha256": "EB9EB227363A27EA058C6654BD7E38EED1088252F79F837E377B2A3CBC1FAFB7", + "rejected_head_sha": "68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef", + "post_review_verdict": null, + "post_review_artifact": null, + "integration_sha": null + } + ], + "required_successor_base_sha": "68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef", + "current_owner_head_sha": "bd68c05baf4b7250096dd84f56bebea2aa555970", + "current_owner_status": "PASS_WITH_CONCERNS_NOT_INTEGRATED" + }, + { + "path": "internal/mcp/tools_dryrun_test.go", + "ordered_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "current_owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "transition_kind": "rework", + "completed_predecessors": [ + { + "owner": "DB-BULKOPS", + "checker_verdict": "FAIL", + "checker_artifact": ".agent/worktrees/prc-db-bulkops/.agent/reviews/2026-07-10-db-bulkops-sibling-rework-check.md", + "checker_sha256": "EB9EB227363A27EA058C6654BD7E38EED1088252F79F837E377B2A3CBC1FAFB7", + "rejected_head_sha": "68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef", + "post_review_verdict": null, + "post_review_artifact": null, + "integration_sha": null + } + ], + "required_successor_base_sha": "68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef", + "current_owner_head_sha": "bd68c05baf4b7250096dd84f56bebea2aa555970", + "current_owner_status": "PASS_WITH_CONCERNS_NOT_INTEGRATED" + }, + { + "path": "internal/bulkops/facade.go", + "ordered_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION", + "DURABLE-AUDIT-BOUNDARIES" + ], + "current_owner": "DB-BULKOPS", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": "internal/bulkops/facade_test.go", + "ordered_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "current_owner": "DB-BULKOPS", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": "internal/bulkops/rollback_test.go", + "ordered_owners": [ + "DB-BULKOPS", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "current_owner": "DB-BULKOPS", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": "pkg/models/snapshot.go", + "ordered_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "current_owner": "DB-BULKOPS", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": "internal/db/gorm/user_store.go", + "ordered_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "current_owner": "DB-AUTH", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": "internal/worker/auth_handlers.go", + "ordered_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "current_owner": "DB-AUTH", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": "internal/worker/service.go", + "ordered_owners": [ + "AUTH-BOOTSTRAP-SECURITY", + "REDACTION-LIVE-CONTRACT", + "V7-RUNTIME-WIRING" + ], + "current_owner": "AUTH-BOOTSTRAP-SECURITY", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": "Dockerfile", + "ordered_owners": [ + "SECURITY-TOOLCHAIN", + "IMAGE-REMEDIATION-R2" + ], + "current_owner": "IMAGE-REMEDIATION-R2", + "transition_kind": "replacement", + "completed_predecessors": [ + { + "owner": "SECURITY-TOOLCHAIN", + "checker_verdict": "ROOT_SELECTED_EXACT_BASE", + "checker_artifact": null, + "checker_sha256": null, + "rejected_head_sha": null, + "post_review_verdict": "ROOT_SELECTED_EXACT_BASE", + "post_review_artifact": null, + "post_review_sha256": null, + "integration_sha": "30de64d2576891abb0ec3730336c60054afd5617" + } + ], + "required_successor_base_sha": "0c6269908aa810a2248f2bfaf3fca4f9f5791359", + "current_owner_status": "ACTIVE_CLEAN_RECONSTRUCTION" + }, + { + "path": ".github/workflows/test.yml", + "ordered_owners": [ + "RELEASE-GATES", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ], + "current_owner": "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12", + "transition_kind": "replacement", + "completed_predecessors": [ + { + "owner": "RELEASE-GATES", + "checker_verdict": "REVISE_HOLD", + "checker_artifact": ".agent/worktrees/release-gates-r10-replacement-checker/.agent/reviews/release-gates-r10-replacement-fresh-checker/checker-report.md", + "checker_sha256": "6F3EE700457D4AEEB4C286F1B0D148BFC3F8603FC34CA7EED756BA29F55181C4", + "rejected_head_sha": "969c06703245233103518ad4e9fc725856326ce9", + "post_review_verdict": "REVISE_HOLD", + "post_review_artifact": ".agent/reviews/2026-07-11-release-gates-r10-replacement-post-review.md", + "post_review_sha256": "E36C103ECFDE2191949045DC677404A2F190442EEB9AD6DC894F43301E824E98", + "integration_sha": null + } + ], + "required_successor_base_sha": "887b7c6144a09829a1a3f43ff5a19d3fb27fb7c1", + "current_owner_status": "A12_GOVERNANCE_ACTIVE_B12_PENDING" + }, + { + "path": ".github/workflows/authority-guard.yml", + "ordered_owners": [ + "RELEASE-GATES", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ], + "current_owner": "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12", + "transition_kind": "replacement", + "completed_predecessors": [ + { + "owner": "RELEASE-GATES", + "checker_verdict": "REVISE_HOLD", + "checker_artifact": ".agent/worktrees/release-gates-r10-replacement-checker/.agent/reviews/release-gates-r10-replacement-fresh-checker/checker-report.md", + "checker_sha256": "6F3EE700457D4AEEB4C286F1B0D148BFC3F8603FC34CA7EED756BA29F55181C4", + "rejected_head_sha": "969c06703245233103518ad4e9fc725856326ce9", + "post_review_verdict": "REVISE_HOLD", + "post_review_artifact": ".agent/reviews/2026-07-11-release-gates-r10-replacement-post-review.md", + "post_review_sha256": "E36C103ECFDE2191949045DC677404A2F190442EEB9AD6DC894F43301E824E98", + "integration_sha": null + } + ], + "required_successor_base_sha": "887b7c6144a09829a1a3f43ff5a19d3fb27fb7c1", + "current_owner_status": "A12_GOVERNANCE_ACTIVE_B12_PENDING" + }, + { + "path": "scripts/production-gates/assert-active-candidate-path-authority.ps1", + "ordered_owners": [ + "RELEASE-GATES", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ], + "current_owner": "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12", + "transition_kind": "replacement", + "completed_predecessors": [ + { + "owner": "RELEASE-GATES", + "checker_verdict": "REVISE_HOLD", + "checker_artifact": ".agent/worktrees/release-gates-r10-replacement-checker/.agent/reviews/release-gates-r10-replacement-fresh-checker/checker-report.md", + "checker_sha256": "6F3EE700457D4AEEB4C286F1B0D148BFC3F8603FC34CA7EED756BA29F55181C4", + "rejected_head_sha": "969c06703245233103518ad4e9fc725856326ce9", + "post_review_verdict": "REVISE_HOLD", + "post_review_artifact": ".agent/reviews/2026-07-11-release-gates-r10-replacement-post-review.md", + "integration_sha": null + } + ], + "required_successor_base_sha": "887b7c6144a09829a1a3f43ff5a19d3fb27fb7c1", + "current_owner_status": "A12_GOVERNANCE_ACTIVE_B12_PENDING" + }, + { + "path": "scripts/production-gates/assert-pr-authority-guard.ps1", + "ordered_owners": [ + "RELEASE-GATES", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ], + "current_owner": "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12", + "transition_kind": "replacement", + "completed_predecessors": [ + { + "owner": "RELEASE-GATES", + "checker_verdict": "REVISE_HOLD", + "checker_artifact": ".agent/worktrees/release-gates-r10-replacement-checker/.agent/reviews/release-gates-r10-replacement-fresh-checker/checker-report.md", + "checker_sha256": "6F3EE700457D4AEEB4C286F1B0D148BFC3F8603FC34CA7EED756BA29F55181C4", + "rejected_head_sha": "969c06703245233103518ad4e9fc725856326ce9", + "post_review_verdict": "REVISE_HOLD", + "post_review_artifact": ".agent/reviews/2026-07-11-release-gates-r10-replacement-post-review.md", + "integration_sha": null + } + ], + "required_successor_base_sha": "887b7c6144a09829a1a3f43ff5a19d3fb27fb7c1", + "current_owner_status": "A12_GOVERNANCE_ACTIVE_B12_PENDING" + }, + { + "path": "scripts/production-gates/assert-pr-authority-maintenance.ps1", + "ordered_owners": [ + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ], + "current_owner": "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null, + "current_owner_status": "A12_GOVERNANCE_ACTIVE_B12_PENDING" + }, + { + "path": ".agent/plans/2026-07-10-engram-production-ready-master-plan.md", + "ordered_owners": [ + "PLAN-GOVERNANCE", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ], + "current_owner": "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12", + "transition_kind": "replacement", + "completed_predecessors": [ + { + "owner": "PLAN-GOVERNANCE", + "checker_verdict": "ROOT_SELECTED_EXACT_BASE", + "checker_artifact": ".agent/reports/2026-07-11-release-gates-r10-plan-governance.md", + "predecessor_head_sha": "af1ed63536829916e0477be719a30a57a8d9227a", + "integration_sha": null + } + ], + "required_successor_base_sha": "887b7c6144a09829a1a3f43ff5a19d3fb27fb7c1", + "current_owner_status": "A12_GOVERNANCE_ACTIVE" + }, + { + "path": ".agent/plans/2026-07-10-engram-production-ready-ownership-state.json", + "ordered_owners": [ + "PLAN-GOVERNANCE", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ], + "current_owner": "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12", + "transition_kind": "replacement", + "completed_predecessors": [ + { + "owner": "PLAN-GOVERNANCE", + "checker_verdict": "ROOT_SELECTED_EXACT_BASE", + "checker_artifact": ".agent/reports/2026-07-11-release-gates-r10-plan-governance.md", + "predecessor_head_sha": "af1ed63536829916e0477be719a30a57a8d9227a", + "integration_sha": null + } + ], + "required_successor_base_sha": "887b7c6144a09829a1a3f43ff5a19d3fb27fb7c1", + "current_owner_status": "A12_GOVERNANCE_ACTIVE" + }, + { + "path": ".agent/plans/2026-07-10-engram-production-ready-scope-map.json", + "ordered_owners": [ + "PLAN-GOVERNANCE", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ], + "current_owner": "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12", + "transition_kind": "replacement", + "completed_predecessors": [ + { + "owner": "PLAN-GOVERNANCE", + "checker_verdict": "ROOT_SELECTED_EXACT_BASE", + "checker_artifact": ".agent/reports/2026-07-11-release-gates-r10-plan-governance.md", + "predecessor_head_sha": "af1ed63536829916e0477be719a30a57a8d9227a", + "integration_sha": null + } + ], + "required_successor_base_sha": "887b7c6144a09829a1a3f43ff5a19d3fb27fb7c1", + "current_owner_status": "A12_GOVERNANCE_ACTIVE" + }, + { + "path": ".agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json", + "ordered_owners": [ + "PLAN-GOVERNANCE", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ], + "current_owner": "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12", + "transition_kind": "replacement", + "completed_predecessors": [ + { + "owner": "PLAN-GOVERNANCE", + "checker_verdict": "ROOT_SELECTED_EXACT_BASE", + "checker_artifact": ".agent/reports/2026-07-11-release-gates-r10-plan-governance.md", + "predecessor_head_sha": "af1ed63536829916e0477be719a30a57a8d9227a", + "integration_sha": null + } + ], + "required_successor_base_sha": "887b7c6144a09829a1a3f43ff5a19d3fb27fb7c1", + "current_owner_status": "A12_GOVERNANCE_ACTIVE" + }, + { + "path": ".agent/specs/release-gates-r10/evidence/release-gates/test-r10-authority-guard.ps1", + "ordered_owners": [ + "RELEASE-GATES" + ], + "current_owner": "RELEASE-GATES", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": ".agent/specs/release-gates-r10/evidence/release-gates/R10-AUTHORITY-GUARD.red.json", + "ordered_owners": [ + "RELEASE-GATES" + ], + "current_owner": "RELEASE-GATES", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": ".agent/specs/release-gates-r10/evidence/release-gates/authority-guard-simulation.json", + "ordered_owners": [ + "RELEASE-GATES" + ], + "current_owner": "RELEASE-GATES", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": ".agent/specs/release-gates-r10/evidence/release-gates/strict-schema-regressions.json", + "ordered_owners": [ + "RELEASE-GATES" + ], + "current_owner": "RELEASE-GATES", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": ".agent/specs/release-gates-r10/evidence/release-gates/workflow-conformance.json", + "ordered_owners": [ + "RELEASE-GATES" + ], + "current_owner": "RELEASE-GATES", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": ".agent/specs/release-gates-r10/evidence/release-gates/verification-summary.json", + "ordered_owners": [ + "RELEASE-GATES" + ], + "current_owner": "RELEASE-GATES", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": ".agent/specs/release-gates-r10/evidence/release-gates/security-review.md", + "ordered_owners": [ + "RELEASE-GATES" + ], + "current_owner": "RELEASE-GATES", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": ".agent/reports/2026-07-11-release-gates-r10-maker.md", + "ordered_owners": [ + "RELEASE-GATES" + ], + "current_owner": "RELEASE-GATES", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": "docker-compose.yml", + "ordered_owners": [ + "IMAGE-REMEDIATION-R2", + "DEPLOYMENT-ROLLBACK" + ], + "current_owner": "IMAGE-REMEDIATION-R2", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": "deploy/docker-compose.runtime.yml", + "ordered_owners": [ + "IMAGE-REMEDIATION-R2", + "DEPLOYMENT-ROLLBACK" + ], + "current_owner": "IMAGE-REMEDIATION-R2", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": "docs/DEPLOYMENT.md", + "ordered_owners": [ + "IMAGE-REMEDIATION-R2", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "current_owner": "IMAGE-REMEDIATION-R2", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "ordered_owners": [ + "IMAGE-REMEDIATION-R2", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "current_owner": "IMAGE-REMEDIATION-R2", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": "README.md", + "ordered_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "current_owner": "CORE-PUBLIC-TRUTH", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": "README.ru.md", + "ordered_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "current_owner": "CORE-PUBLIC-TRUTH", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": "README.zh.md", + "ordered_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "current_owner": "CORE-PUBLIC-TRUTH", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": "CONTRIBUTING.md", + "ordered_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "current_owner": "CORE-PUBLIC-TRUTH", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": "CHANGELOG.md", + "ordered_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "current_owner": "CORE-PUBLIC-TRUTH", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": "Makefile", + "ordered_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "current_owner": "CORE-PUBLIC-TRUTH", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": ".env.example", + "ordered_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "current_owner": "CORE-PUBLIC-TRUTH", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": "docs/MIGRATION.md", + "ordered_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "current_owner": "CORE-PUBLIC-TRUTH", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": "docs/arch/CONFIGURATION.md", + "ordered_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "current_owner": "CORE-PUBLIC-TRUTH", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": "docs/arch/QUICKSTART.md", + "ordered_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "current_owner": "CORE-PUBLIC-TRUTH", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": "docs/public/engram.jpg", + "ordered_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "current_owner": "CORE-PUBLIC-TRUTH", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": "plugin/engram/commands/setup.md", + "ordered_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "current_owner": "CORE-PUBLIC-TRUTH", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": "plugin/engram/commands/doctor.md", + "ordered_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "current_owner": "CORE-PUBLIC-TRUTH", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": "internal/mcp/tools_memory.go", + "ordered_owners": [ + "MCP-STRUCTURED-INPUT-VALIDATION", + "REDACTION-LIVE-CONTRACT" + ], + "current_owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": "docs/operating-engram.md", + "ordered_owners": [ + "REDACTION-LIVE-CONTRACT", + "FINAL-PUBLIC-TRUTH" + ], + "current_owner": "REDACTION-LIVE-CONTRACT", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": "internal/worker/dream_cycle.go", + "ordered_owners": [ + "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS" + ], + "current_owner": "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": "internal/worker/dream_cycle_test.go", + "ordered_owners": [ + "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS" + ], + "current_owner": "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": ".dockerignore", + "ordered_owners": [ + "IMAGE-REMEDIATION-R2" + ], + "current_owner": "IMAGE-REMEDIATION-R2", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": "cmd/engram-healthcheck/main.go", + "ordered_owners": [ + "IMAGE-REMEDIATION-R2" + ], + "current_owner": "IMAGE-REMEDIATION-R2", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": "cmd/engram-healthcheck/main_test.go", + "ordered_owners": [ + "IMAGE-REMEDIATION-R2" + ], + "current_owner": "IMAGE-REMEDIATION-R2", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": "deploy/postgres/Dockerfile", + "ordered_owners": [ + "IMAGE-REMEDIATION-R2" + ], + "current_owner": "IMAGE-REMEDIATION-R2", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": ".github/workflows/docker.yaml", + "ordered_owners": [ + "IMAGE-REMEDIATION-R2" + ], + "current_owner": "IMAGE-REMEDIATION-R2", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": ".github/workflows/docker-publish.yml", + "ordered_owners": [ + "IMAGE-REMEDIATION-R2" + ], + "current_owner": "IMAGE-REMEDIATION-R2", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": "scripts/production-gates/build-and-scan-images.ps1", + "ordered_owners": [ + "IMAGE-REMEDIATION-R2" + ], + "current_owner": "IMAGE-REMEDIATION-R2", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": "tests/critical/runtime/image_runtime_contract_test.go", + "ordered_owners": [ + "IMAGE-REMEDIATION-R2" + ], + "current_owner": "IMAGE-REMEDIATION-R2", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": "tests/critical/runtime/postgres_image_contract_test.go", + "ordered_owners": [ + "IMAGE-REMEDIATION-R2" + ], + "current_owner": "IMAGE-REMEDIATION-R2", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null + }, + { + "path": "internal/db/gorm/memory_store.go", + "ordered_owners": [ + "DB-RULES-ISOLATION", + "PRIVACY-BOUNDARIES" + ], + "current_owner": "DB-RULES-ISOLATION", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null, + "current_owner_status": "MB1_MAKER_IN_PROGRESS" + }, + { + "path": "internal/mcp/server.go", + "ordered_owners": [ + "DOCUMENT-INGEST-PUBLIC-TRUTH", + "DOCUMENT-INGEST-PUBLIC-TRUTH-R2" + ], + "current_owner": "DOCUMENT-INGEST-PUBLIC-TRUTH-R2", + "transition_kind": "rework", + "completed_predecessors": [ + { + "owner": "DOCUMENT-INGEST-PUBLIC-TRUTH", + "checker_verdict": "REVISE_HOLD", + "checker_artifact": ".agent/worktrees/public-contracts-fresh-checker/.agent/reviews/document-ingest-public-truth-fresh-checker/report.md", + "checker_sha256": "D8C772C9176ACE3E2E6C9568C0AB5D7EAFC03E68DB1FCF6DC1F833D4311B3817", + "rejected_head_sha": "63775eb30f5cc01a843cee074d41dbe87439904b", + "post_review_verdict": "REVISE_HOLD", + "post_review_artifact": ".agent/reviews/2026-07-11-document-ingest-public-truth-r1-post-review.md", + "post_review_sha256": "21CFF0566AD063001D607DDC0A62319A9DD84A7C5CC1DD1CBC0516FC2EE612C5", + "integration_sha": null + } + ], + "required_successor_base_sha": "63775eb30f5cc01a843cee074d41dbe87439904b", + "current_owner_head_sha": "efe1ab5041c514f1a7d9ee8b36e07e5150cfc8e0", + "current_owner_status": "REJECTED_R2_INHERITED_BY_R3" + }, + { + "path": "internal/mcp/public_tool_descriptions_test.go", + "ordered_owners": [ + "DOCUMENT-INGEST-PUBLIC-TRUTH", + "DOCUMENT-INGEST-PUBLIC-TRUTH-R2" + ], + "current_owner": "DOCUMENT-INGEST-PUBLIC-TRUTH-R2", + "transition_kind": "rework", + "completed_predecessors": [ + { + "owner": "DOCUMENT-INGEST-PUBLIC-TRUTH", + "checker_verdict": "REVISE_HOLD", + "checker_artifact": ".agent/worktrees/public-contracts-fresh-checker/.agent/reviews/document-ingest-public-truth-fresh-checker/report.md", + "checker_sha256": "D8C772C9176ACE3E2E6C9568C0AB5D7EAFC03E68DB1FCF6DC1F833D4311B3817", + "rejected_head_sha": "63775eb30f5cc01a843cee074d41dbe87439904b", + "post_review_verdict": "REVISE_HOLD", + "post_review_artifact": ".agent/reviews/2026-07-11-document-ingest-public-truth-r1-post-review.md", + "post_review_sha256": "21CFF0566AD063001D607DDC0A62319A9DD84A7C5CC1DD1CBC0516FC2EE612C5", + "integration_sha": null + } + ], + "required_successor_base_sha": "63775eb30f5cc01a843cee074d41dbe87439904b", + "current_owner_head_sha": "efe1ab5041c514f1a7d9ee8b36e07e5150cfc8e0", + "current_owner_status": "REJECTED_R2_INHERITED_BY_R3" + }, + { + "path": "internal/mcp/tools_documents.go", + "ordered_owners": [ + "DOCUMENT-INGEST-PUBLIC-TRUTH-R2", + "DOCUMENT-INGEST-PUBLIC-TRUTH-R3" + ], + "current_owner": "DOCUMENT-INGEST-PUBLIC-TRUTH-R3", + "transition_kind": "replacement", + "completed_predecessors": [{"owner":"DOCUMENT-INGEST-PUBLIC-TRUTH-R2","checker_verdict":"REVISE_HOLD","checker_artifact":".agent/reviews/document-ingest-public-truth-r2-fresh-checker/report.md","checker_sha256":"94843CABAF3A25B207BA6DD83BD975EFF64E9861F4D4CF6D4DC0DE002ACE938B","rejected_head_sha":"efe1ab5041c514f1a7d9ee8b36e07e5150cfc8e0","post_review_verdict":"REVISE_HOLD","post_review_artifact":".agent/reviews/2026-07-12-document-r2-checker-post-review.md","post_review_sha256":"3566074D1D94ACB62781D1623A1786C5641412547D647876022F9CA8848EC4FC","integration_sha":null}], + "required_successor_base_sha": "efe1ab5041c514f1a7d9ee8b36e07e5150cfc8e0", + "current_owner_head_sha": "9ea95b6adc3a838a459bf78e3ba7a0292153960f", + "mutation_edge_constraint": "remove the split GetDocument decision; map the atomic store transition's zero-row outcome to the existing stable not-found error, and report success only for RowsAffected=1" + }, + { + "path": "internal/db/gorm/document_store.go", + "ordered_owners": [ + "DOCUMENT-INGEST-PUBLIC-TRUTH-R2", + "DOCUMENT-INGEST-PUBLIC-TRUTH-R3" + ], + "current_owner": "DOCUMENT-INGEST-PUBLIC-TRUTH-R3", + "transition_kind": "replacement", + "completed_predecessors": [{"owner":"DOCUMENT-INGEST-PUBLIC-TRUTH-R2","checker_verdict":"REVISE_HOLD","checker_artifact":".agent/reviews/document-ingest-public-truth-r2-fresh-checker/report.md","checker_sha256":"94843CABAF3A25B207BA6DD83BD975EFF64E9861F4D4CF6D4DC0DE002ACE938B","rejected_head_sha":"efe1ab5041c514f1a7d9ee8b36e07e5150cfc8e0","post_review_verdict":"REVISE_HOLD","post_review_artifact":".agent/reviews/2026-07-12-document-r2-checker-post-review.md","post_review_sha256":"3566074D1D94ACB62781D1623A1786C5641412547D647876022F9CA8848EC4FC","integration_sha":null}], + "required_successor_base_sha": "efe1ab5041c514f1a7d9ee8b36e07e5150cfc8e0", + "current_owner_head_sha": "9ea95b6adc3a838a459bf78e3ba7a0292153960f", + "change_constraint": "minimum executable DeactivateDocument change: UPDATE exact collection/path WHERE active=true, inspect RowsAffected, preserve schema/body and unrelated store logic" + }, + { + "path": "internal/db/gorm/models.go", + "ordered_owners": [ + "DOCUMENT-INGEST-PUBLIC-TRUTH-R2" + ], + "current_owner": "DOCUMENT-INGEST-PUBLIC-TRUTH-R2", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null, + "current_owner_head_sha": "efe1ab5041c514f1a7d9ee8b36e07e5150cfc8e0", + "change_constraint": "R2 comment is inherited by R3 without a new diff; model logic and schema remain byte-identical" + }, + { + "path": "internal/mcp/document_public_truth_contract_test.go", + "ordered_owners": [ + "DOCUMENT-INGEST-PUBLIC-TRUTH-R2", + "DOCUMENT-INGEST-PUBLIC-TRUTH-R3" + ], + "current_owner": "DOCUMENT-INGEST-PUBLIC-TRUTH-R3", + "transition_kind": "replacement", + "completed_predecessors": [{"owner":"DOCUMENT-INGEST-PUBLIC-TRUTH-R2","checker_verdict":"REVISE_HOLD","checker_artifact":".agent/reviews/document-ingest-public-truth-r2-fresh-checker/report.md","checker_sha256":"94843CABAF3A25B207BA6DD83BD975EFF64E9861F4D4CF6D4DC0DE002ACE938B","rejected_head_sha":"efe1ab5041c514f1a7d9ee8b36e07e5150cfc8e0","post_review_verdict":"REVISE_HOLD","post_review_artifact":".agent/reviews/2026-07-12-document-r2-checker-post-review.md","post_review_sha256":"3566074D1D94ACB62781D1623A1786C5641412547D647876022F9CA8848EC4FC","integration_sha":null}], + "required_successor_base_sha": "efe1ab5041c514f1a7d9ee8b36e07e5150cfc8e0", + "current_owner_head_sha": "9ea95b6adc3a838a459bf78e3ba7a0292153960f", + "test_contract": "stable serial not-found plus atomic outcome mapping; no split GetDocument decision; concurrent behavior is proved in the real PostgreSQL critical test" + }, + { + "path": "tests/critical/document_public_truth_test.go", + "ordered_owners": [ + "DOCUMENT-INGEST-PUBLIC-TRUTH-R2" + ], + "current_owner": "DOCUMENT-INGEST-PUBLIC-TRUTH-R2", + "transition_kind": "integration", + "completed_predecessors": [], + "required_successor_base_sha": null, + "current_owner_head_sha": "efe1ab5041c514f1a7d9ee8b36e07e5150cfc8e0", + "test_contract": "R3 exact diff leaves this R2 critical test unchanged; the fresh checker must add or run a bounded two-caller PostgreSQL probe outside the maker diff" + } + ] +} diff --git a/.agent/plans/2026-07-10-engram-production-ready-scope-map.json b/.agent/plans/2026-07-10-engram-production-ready-scope-map.json new file mode 100644 index 00000000..6eae56a0 --- /dev/null +++ b/.agent/plans/2026-07-10-engram-production-ready-scope-map.json @@ -0,0 +1,100 @@ +{ + "schema_version": 1, + "kind": "production-ready-scope-map", + "plan_path": ".agent/plans/2026-07-10-engram-production-ready-master-plan.md", + "ownership_state_path": ".agent/plans/2026-07-10-engram-production-ready-ownership-state.json", + "register_snapshot": { + "source_path": "D:\\Dev\\engram\\.agent\\reports\\production-readiness-evidence-register.json", + "sha256": "2C47DEA1B17C9F89A9C15399FFB0D22FDDC49F63018355399CCF85350CEEF789", + "updated_at": "2026-07-11T11:20:09.0592369+03:00", + "row_count": 69, + "unique_slice_count": 69, + "goal_status": "USER_RESUMED_TOOL_STATUS_BLOCKED" + }, + "allowed_classifications": [ + "maker", + "checker-evidence", + "meta-fold", + "historical", + "root-integration" + ], + "live_conformance_policy": { + "mode": "structural-projection", + "exact_fields": ["slice", "classification", "plan_owners"], + "snapshot_only_fields": ["register_snapshot.sha256", "register_snapshot.updated_at", "register_status", "register_head", "register_notes"], + "load_bearing_entry_field": "load_bearing", + "acceptance_tokens": ["PASS", "READY_FOR_INTEGRATION", "PRODUCT_ACCEPTED", "ACCEPTED", "INTEGRATED", "COMPLETE"], + "rejection_tokens": ["REVISE", "REJECT", "FAIL", "DIAGNOSTIC", "HOLD", "BLOCKED", "PENDING", "UNACCEPTED", "NOT_ACCEPTED"] + }, + "entries": [ + {"slice":"AUTH-BOOTSTRAP-SECURITY","classification":"maker","plan_owners":["AUTH-BOOTSTRAP-SECURITY"],"macro_batch":"MB2_RUNTIME_SECURITY_PRIVACY_AND_V7","macro_branch":"work/prc-runtime-security-v7-macro-batch","macro_role":"maker","macro_dependencies":["MB0_CONTROL_SUPPLY_PUBLIC","MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY","accepted:DB-AUTH"],"register_status":"BLOCKED_BY_DB_AUTH","register_head":""}, + {"slice":"CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK","classification":"maker","plan_owners":["CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK"],"macro_batch":"MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY","macro_branch":"work/prc-data-integrity-macro-batch","macro_role":"maker","macro_dependencies":["exact:fef455bcf640f849c2d40c9bc26a459b5593e10a"],"register_status":"BLOCKED_BY_DB_GOVERNANCE","register_head":""}, + {"slice":"CONTROL-PLANE","classification":"root-integration","plan_owners":["CONTROL-PLANE"],"register_status":"RUNNING_GOAL_STATE_REACTIVATION_UNAVAILABLE","register_head":""}, + {"slice":"CORE-PUBLIC-TRUTH","classification":"maker","plan_owners":["CORE-PUBLIC-TRUTH"],"macro_batch":"MB3_DELIVERY_OPERATIONS_UI_CUSTOMER_AND_COVERAGE","macro_branch":"work/prc-delivery-operations-experience-macro-batch","macro_role":"maker","macro_dependencies":["MB0_CONTROL_SUPPLY_PUBLIC","MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY","MB2_RUNTIME_SECURITY_PRIVACY_AND_V7"],"register_status":"BLOCKED_BY_M5_IMPLEMENTATION","register_head":""}, + {"slice":"COVERAGE-CMD-ENGRAM","classification":"maker","plan_owners":["COVERAGE-CMD-ENGRAM"],"macro_batch":"MB3_DELIVERY_OPERATIONS_UI_CUSTOMER_AND_COVERAGE","macro_branch":"work/prc-delivery-operations-experience-macro-batch","macro_role":"maker","macro_dependencies":["MB0_CONTROL_SUPPLY_PUBLIC","MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY","MB2_RUNTIME_SECURITY_PRIVACY_AND_V7"],"register_status":"READY_FOR_PLAN_AMENDMENT","register_head":""}, + {"slice":"COVERAGE-CMD-SERVER","classification":"maker","plan_owners":["COVERAGE-CMD-SERVER"],"macro_batch":"MB3_DELIVERY_OPERATIONS_UI_CUSTOMER_AND_COVERAGE","macro_branch":"work/prc-delivery-operations-experience-macro-batch","macro_role":"maker","macro_dependencies":["MB0_CONTROL_SUPPLY_PUBLIC","MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY","MB2_RUNTIME_SECURITY_PRIVACY_AND_V7"],"register_status":"READY_FOR_PLAN_AMENDMENT","register_head":""}, + {"slice":"COVERAGE-GORM","classification":"maker","plan_owners":["COVERAGE-GORM"],"macro_batch":"MB3_DELIVERY_OPERATIONS_UI_CUSTOMER_AND_COVERAGE","macro_branch":"work/prc-delivery-operations-experience-macro-batch","macro_role":"maker","macro_dependencies":["MB0_CONTROL_SUPPLY_PUBLIC","MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY","MB2_RUNTIME_SECURITY_PRIVACY_AND_V7"],"register_status":"PENDING","register_head":""}, + {"slice":"COVERAGE-LOOM","classification":"maker","plan_owners":["COVERAGE-LOOM"],"macro_batch":"MB3_DELIVERY_OPERATIONS_UI_CUSTOMER_AND_COVERAGE","macro_branch":"work/prc-delivery-operations-experience-macro-batch","macro_role":"maker","macro_dependencies":["MB0_CONTROL_SUPPLY_PUBLIC","MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY","MB2_RUNTIME_SECURITY_PRIVACY_AND_V7"],"register_status":"READY_FOR_MAKER_NO_GENERIC_SKIPS","register_head":""}, + {"slice":"COVERAGE-MCP","classification":"maker","plan_owners":["COVERAGE-MCP"],"macro_batch":"MB3_DELIVERY_OPERATIONS_UI_CUSTOMER_AND_COVERAGE","macro_branch":"work/prc-delivery-operations-experience-macro-batch","macro_role":"maker","macro_dependencies":["MB0_CONTROL_SUPPLY_PUBLIC","MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY","MB2_RUNTIME_SECURITY_PRIVACY_AND_V7"],"register_status":"PENDING","register_head":""}, + {"slice":"COVERAGE-OVERALL-ROLLUP","classification":"checker-evidence","plan_owners":["COVERAGE-OVERALL-ROLLUP"],"register_status":"BLOCKED_BY_PACKAGE_FLOORS","register_head":""}, + {"slice":"COVERAGE-UPDATE","classification":"maker","plan_owners":["COVERAGE-UPDATE"],"macro_batch":"MB3_DELIVERY_OPERATIONS_UI_CUSTOMER_AND_COVERAGE","macro_branch":"work/prc-delivery-operations-experience-macro-batch","macro_role":"maker","macro_dependencies":["MB0_CONTROL_SUPPLY_PUBLIC","MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY","MB2_RUNTIME_SECURITY_PRIVACY_AND_V7"],"register_status":"READY_FOR_PLAN_AMENDMENT","register_head":""}, + {"slice":"COVERAGE-WORKER","classification":"maker","plan_owners":["COVERAGE-WORKER"],"macro_batch":"MB3_DELIVERY_OPERATIONS_UI_CUSTOMER_AND_COVERAGE","macro_branch":"work/prc-delivery-operations-experience-macro-batch","macro_role":"maker","macro_dependencies":["MB0_CONTROL_SUPPLY_PUBLIC","MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY","MB2_RUNTIME_SECURITY_PRIVACY_AND_V7"],"register_status":"PENDING","register_head":""}, + {"slice":"CRITICAL-HARNESS","classification":"maker","plan_owners":["CRITICAL-HARNESS"],"macro_batch":"MB3_DELIVERY_OPERATIONS_UI_CUSTOMER_AND_COVERAGE","macro_branch":"work/prc-delivery-operations-experience-macro-batch","macro_role":"maker","macro_dependencies":["MB0_CONTROL_SUPPLY_PUBLIC","MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY","MB2_RUNTIME_SECURITY_PRIVACY_AND_V7"],"register_status":"BLOCKED_BY_RELEASE_GATES","register_head":""}, + {"slice":"CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS","classification":"maker","plan_owners":["CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS"],"macro_batch":"MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY","macro_branch":"work/prc-data-integrity-macro-batch","macro_role":"maker","macro_dependencies":["exact:fef455bcf640f849c2d40c9bc26a459b5593e10a"],"register_status":"CLASSIFIED_MUST_BUILD","register_head":""}, + {"slice":"CUSTOMER-MODE","classification":"meta-fold","plan_owners":["CRITICAL-HARNESS","INTEGRATION-RELEASE"],"register_status":"PENDING","register_head":""}, + {"slice":"DB-AUTH","classification":"maker","plan_owners":["DB-AUTH"],"macro_batch":"MB2_RUNTIME_SECURITY_PRIVACY_AND_V7","macro_branch":"work/prc-runtime-security-v7-macro-batch","macro_role":"accepted-predecessor","macro_dependencies":["MB0_CONTROL_SUPPLY_PUBLIC","MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY","accepted:DB-AUTH"],"register_status":"READY_FOR_INTEGRATION","register_head":"da97c88be6753703bac112be8431dc373e4d9dda"}, + {"slice":"DB-BULKOPS","classification":"maker","plan_owners":["DB-BULKOPS"],"register_status":"REVISE_HOLD","register_head":"68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef","load_bearing":{"policy":"rejected_heads_must_not_be_accepted","rejected_heads":["68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef"]}}, + {"slice":"DB-BULKOPS-BEHAVIORAL-EDGE-REWORK","classification":"maker","plan_owners":["DB-BULKOPS-BEHAVIORAL-EDGE-REWORK"],"register_status":"READY_FOR_INTEGRATION_WITH_CONCERNS","register_head":"bd68c05baf4b7250096dd84f56bebea2aa555970","register_notes":"Frozen full-candidate authority is 68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef..bd68c05baf4b7250096dd84f56bebea2aa555970. The live register partial base cd098397 omits the first rework commit and is discovery-only."}, + {"slice":"DB-CRYSTALLIZATION","classification":"maker","plan_owners":["DB-CRYSTALLIZATION"],"register_status":"READY_FOR_INTEGRATION_WITH_CONCERNS","register_head":"2ab6211494e51aeb7b787a99e78cff8bf2d5694a"}, + {"slice":"DB-EMBEDDING-EVIDENCE-TRANSPORT","classification":"checker-evidence","plan_owners":["DB-EMBEDDING-EVIDENCE-TRANSPORT"],"register_status":"R6_READY_FOR_FRESH_CHECKER","register_head":"a1a3bfeb6546d1f3f24192b1c9f057402b6249a2","register_notes":"R5 a538f622 remains rejected. Immutable R6 candidate a1a3bfeb is a 32-path evidence-only direct successor and awaits a fresh independent checker; it is not integrated or release accepted.","load_bearing":{"policy":"rejected_heads_must_not_be_accepted","rejected_heads":["369951b61ee07cb0c405558e0f677cd1c9e90362","a538f6224ef31f612152470a4ecd45e78ff9d0f2"]}}, + {"slice":"DB-EMBEDDING-STATS","classification":"maker","plan_owners":["DB-EMBEDDING-STATS"],"register_status":"PRODUCT_ACCEPTED_EVIDENCE_R3_CHECKER_ACTIVE","register_head":"38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df"}, + {"slice":"DB-GOVERNANCE","classification":"maker","plan_owners":["DB-GOVERNANCE"],"macro_batch":"MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY","macro_branch":"work/prc-data-integrity-macro-batch","macro_role":"maker","macro_dependencies":["exact:fef455bcf640f849c2d40c9bc26a459b5593e10a"],"register_status":"R12_AUTHORIZED_SHARED_LONG_BATCH_FROM_FEF455BC","register_head":"","register_notes":"Shared macro branch work/prc-data-integrity-macro-batch starts from exact external accepted-synthesis base fef455bc. DB-GOVERNANCE exclusively owns its four rule-governance product/test paths, including rule_governance_store_test.go; claim/release atomicity and migration 147/146/145 rollback around 144 are acceptance, not assumed green."}, + {"slice":"DB-REAPER","classification":"maker","plan_owners":["DB-REAPER"],"register_status":"CANDIDATE_REJECTED_PATH_AUTHORITY_CONFLICT","register_head":"0d5cfa5c67ddbc331d7e812f98679742541b32ca","register_notes":"The observed candidate changes internal/worker/service.go, currently owned by AUTH-BOOTSTRAP-SECURITY, plus an undeclared lifecycle test. It is excluded from frozen current candidate authority; no simultaneous writer is granted."}, + {"slice":"DB-RULES-ISOLATION","classification":"maker","plan_owners":["DB-RULES-ISOLATION"],"macro_batch":"MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY","macro_branch":"work/prc-data-integrity-macro-batch","macro_role":"maker","macro_dependencies":["exact:fef455bcf640f849c2d40c9bc26a459b5593e10a"],"register_status":"R12_AUTHORIZED_SHARED_LONG_BATCH_FROM_FEF455BC","register_head":"","register_notes":"Shared macro branch work/prc-data-integrity-macro-batch starts from exact external accepted-synthesis base fef455bc. This owner has a disjoint literal-LIKE/project/document isolation path set, one batch maker report and evidence prefix; rule_governance_store_test.go is explicitly excluded to prevent overlap."}, + {"slice":"DB-TEST-POOL-HYGIENE","classification":"maker","plan_owners":["DB-TEST-POOL-HYGIENE"],"register_status":"R3_IMMUTABLE_PENDING_CHECKER_AND_ROOT_ACCEPTANCE","register_head":"331b5b195a967e7f27dca94038a3480c9afcc84f","register_notes":"R2 68242c48 is rejected by checker a7b2d36b with four HIGH evidence-verifier defects. R3 331b5b19 is its direct-child ten-path evidence-only successor; immutable adversarial completion, fresh checker, and root acceptance remain pending.","load_bearing":{"policy":"rejected_heads_must_not_be_accepted","rejected_heads":["68242c48aaad62ec087166eeb9ea32f14d189450"]}}, + {"slice":"DEMOLITION-SKIP-CLASSIFICATION","classification":"checker-evidence","plan_owners":["DEMOLITION-SKIP-CLASSIFICATION"],"register_status":"REGISTER_HEAD_MISBOUND_TO_R5_RELEASE_GATE_DIFF_REJECTED","register_head":"d59d1605969b1f567506e96ded524dfd1e4be08a","register_notes":"The canonical row's 4812589b..d59d1605 diff contains seven R5 release-gate paths, not demolition classification evidence. The checker-only plan row owns no paths. R8 Diff also throws a scalar Count internal error; R9 must return a clear zero-declarations/undeclared-diff failure.","load_bearing":{"policy":"rejected_heads_must_not_be_accepted","rejected_heads":["d59d1605969b1f567506e96ded524dfd1e4be08a"]}}, + {"slice":"DEPLOYMENT-ROLLBACK","classification":"maker","plan_owners":["DEPLOYMENT-ROLLBACK"],"macro_batch":"MB3_DELIVERY_OPERATIONS_UI_CUSTOMER_AND_COVERAGE","macro_branch":"work/prc-delivery-operations-experience-macro-batch","macro_role":"maker","macro_dependencies":["MB0_CONTROL_SUPPLY_PUBLIC","MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY","MB2_RUNTIME_SECURITY_PRIVACY_AND_V7"],"register_status":"BLOCKED_BY_IMAGE_REMEDIATION_R2","register_head":""}, + {"slice":"DOCUMENT-INGEST-PUBLIC-TRUTH-R3","classification":"maker","plan_owners":["DOCUMENT-INGEST-PUBLIC-TRUTH-R3"],"register_status":"MAKER_FROZEN_PENDING_FRESH_CHECKER","register_head":"9ea95b6adc3a838a459bf78e3ba7a0292153960f","register_notes":"Exact rejected R2 base efe1ab50; immutable R3 head/tree 9ea95b6a/c15a731d changes exactly six paths and awaits a fresh checker. Checker f3bba881 is forbidden ancestry and its verified HIGH is the successor contract. R3 preserves R2 public/storage truth while replacing the split GetDocument/update decision with one atomic active=true update whose RowsAffected is authoritative. No schema/chunk/embedding/search resurrection.","load_bearing":{"policy":"rejected_heads_must_not_be_accepted","rejected_heads":["63775eb30f5cc01a843cee074d41dbe87439904b","26938199ccdc682295211d16dd736430419cf4ab","efe1ab5041c514f1a7d9ee8b36e07e5150cfc8e0","f3bba8815c97cf2000e46fdb2fbe1414d61a6264"]}}, + {"slice":"DURABLE-AUDIT-BOUNDARIES","classification":"maker","plan_owners":["DURABLE-AUDIT-BOUNDARIES"],"macro_batch":"MB2_RUNTIME_SECURITY_PRIVACY_AND_V7","macro_branch":"work/prc-runtime-security-v7-macro-batch","macro_role":"maker","macro_dependencies":["MB0_CONTROL_SUPPLY_PUBLIC","MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY","accepted:DB-AUTH"],"register_status":"BLOCKED_BY_CANDIDATE_AND_AUTH_STACKS","register_head":""}, + {"slice":"FINAL-PUBLIC-TRUTH","classification":"maker","plan_owners":["FINAL-PUBLIC-TRUTH"],"register_status":"BLOCKED_BY_M6","register_head":""}, + {"slice":"IMAGE-REMEDIATION","classification":"maker","plan_owners":["IMAGE-REMEDIATION"],"register_status":"REJECTED_R1","register_head":"b7f8ff7b9efe826cefdc665894761783a6876676","register_notes":"Runtime/image hardening has substantial positive evidence, but S3 checker e1c3acca and root post-review reject unsafe publication. R1 is historical evidence only; R2 does not inherit its blobs or ancestry.","load_bearing":{"policy":"rejected_heads_must_not_be_accepted","rejected_heads":["b7f8ff7b9efe826cefdc665894761783a6876676","e1c3accacdabcfe50d3e72b8d5d7427caab9ec6f"]}}, + {"slice":"IMAGE-REMEDIATION-R2","classification":"maker","plan_owners":["IMAGE-REMEDIATION-R2"],"macro_batch":"MB3_DELIVERY_OPERATIONS_UI_CUSTOMER_AND_COVERAGE","macro_branch":"work/prc-delivery-operations-experience-macro-batch","macro_role":"accepted-predecessor","macro_dependencies":["MB0_CONTROL_SUPPLY_PUBLIC","MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY","MB2_RUNTIME_SECURITY_PRIVACY_AND_V7"],"register_status":"ACTIVE_CLEAN_RECONSTRUCTION_FROM_0C626990","register_head":"","register_notes":"Branch work/prc-image-remediation-r2-immutable-publish starts from exact clean detached base 0c626990. Rejected R1 b7f8ff7b and checker e1c3acca must be absent from ancestry. Full image/runtime/publication reconstruction owns no test.yml; publication uses full SemVer plus sha-full-commit destinations only. A fresh prepare-release runner with contents:read only checks out candidate bytes and performs build/scan/runtime; a separate fresh publish runner has exactly contents:read, actions:read, packages:write, checks out protected-default-branch bytes only, never the candidate, REST-censuses exactly one immutable same-run artifact by fixed name/ID/API digest, validates its regular-file no-traversal checksum envelope, treats OCI as data, then performs late login/preflight/push/readback/logout under trusted Publish bytes. No actions:write grant is allowed.","load_bearing":{"policy":"rejected_heads_must_not_be_accepted","rejected_heads":["b7f8ff7b9efe826cefdc665894761783a6876676","e1c3accacdabcfe50d3e72b8d5d7427caab9ec6f"]}}, + {"slice":"IMAGE-STACK-PROTOTYPE","classification":"historical","plan_owners":["IMAGE-REMEDIATION"],"register_status":"PASS","register_head":""}, + {"slice":"INGEST-DOC-CLASSIFICATION","classification":"checker-evidence","plan_owners":["INGEST-DOC-CLASSIFICATION"],"register_status":"CLASSIFIED_PRE_DEMOLITION_STALE","register_head":""}, + {"slice":"INGEST-DOC-SNAPSHOT-DEMOLITION","classification":"maker","plan_owners":["INGEST-DOC-SNAPSHOT-DEMOLITION"],"macro_batch":"MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY","macro_branch":"work/prc-data-integrity-macro-batch","macro_role":"maker","macro_dependencies":["exact:fef455bcf640f849c2d40c9bc26a459b5593e10a"],"register_status":"BLOCKED_BY_DB_BULKOPS","register_head":""}, + {"slice":"INTEGRATION-RELEASE","classification":"root-integration","plan_owners":["INTEGRATION-RELEASE"],"register_status":"BLOCKED_BY_RELEASE_GATES_PREVIEW_MEASURED","register_head":""}, + {"slice":"LAUNCHER-FIRST-RUN","classification":"maker","plan_owners":["LAUNCHER-FIRST-RUN"],"macro_batch":"MB3_DELIVERY_OPERATIONS_UI_CUSTOMER_AND_COVERAGE","macro_branch":"work/prc-delivery-operations-experience-macro-batch","macro_role":"maker","macro_dependencies":["MB0_CONTROL_SUPPLY_PUBLIC","MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY","MB2_RUNTIME_SECURITY_PRIVACY_AND_V7"],"register_status":"BLOCKED_BY_IDENTITY_AND_RELEASE_GATES","register_head":""}, + {"slice":"MASTER-PLAN","classification":"meta-fold","plan_owners":["PLAN-GOVERNANCE","RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12"],"register_status":"R12_A12_ACTIVE_ON_REJECTED_A11_BASE","register_head":"887b7c6144a09829a1a3f43ff5a19d3fb27fb7c1"}, + {"slice":"MCP-STRUCTURED-INPUT-VALIDATION","classification":"maker","plan_owners":["MCP-STRUCTURED-INPUT-VALIDATION"],"macro_batch":"MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY","macro_branch":"work/prc-data-integrity-macro-batch","macro_role":"maker","macro_dependencies":["exact:fef455bcf640f849c2d40c9bc26a459b5593e10a"],"register_status":"CLASSIFIED_MUST_BUILD","register_head":""}, + {"slice":"NORTHSTAR-BOOK-CONTRACTS","classification":"maker","plan_owners":["NORTHSTAR-BOOK-CONTRACTS"],"macro_batch":"MB4_NORTHSTAR_CONTRACT_FREEZE","macro_branch":"work/prc-northstar-contracts-macro-batch","macro_role":"contract-maker","macro_dependencies":["M5_PUBLISHED_POST_RELEASE_PROVED"],"register_status":"BLOCKED_BY_M5","register_head":""}, + {"slice":"NORTHSTAR-CI-A-CONTRACTS","classification":"maker","plan_owners":["NORTHSTAR-CI-A-CONTRACTS"],"macro_batch":"MB4_NORTHSTAR_CONTRACT_FREEZE","macro_branch":"work/prc-northstar-contracts-macro-batch","macro_role":"contract-maker","macro_dependencies":["M5_PUBLISHED_POST_RELEASE_PROVED"],"register_status":"BLOCKED_BY_M5","register_head":""}, + {"slice":"NORTHSTAR-CI-B-CONTRACTS","classification":"maker","plan_owners":["NORTHSTAR-CI-B-CONTRACTS"],"macro_batch":"MB4_NORTHSTAR_CONTRACT_FREEZE","macro_branch":"work/prc-northstar-contracts-macro-batch","macro_role":"contract-maker","macro_dependencies":["M5_PUBLISHED_POST_RELEASE_PROVED"],"register_status":"BLOCKED_BY_CI_A","register_head":""}, + {"slice":"NORTHSTAR-EFFECTIVENESS-CONTRACTS","classification":"maker","plan_owners":["NORTHSTAR-EFFECTIVENESS-CONTRACTS"],"macro_batch":"MB4_NORTHSTAR_CONTRACT_FREEZE","macro_branch":"work/prc-northstar-contracts-macro-batch","macro_role":"contract-maker","macro_dependencies":["M5_PUBLISHED_POST_RELEASE_PROVED"],"register_status":"BLOCKED_BY_M5","register_head":""}, + {"slice":"NORTHSTAR-MEM-CONTRACTS","classification":"maker","plan_owners":["NORTHSTAR-MEM-CONTRACTS"],"macro_batch":"MB4_NORTHSTAR_CONTRACT_FREEZE","macro_branch":"work/prc-northstar-contracts-macro-batch","macro_role":"contract-maker","macro_dependencies":["M5_PUBLISHED_POST_RELEASE_PROVED"],"register_status":"BLOCKED_BY_M5","register_head":""}, + {"slice":"NORTHSTAR-SETTINGS-CONTRACTS","classification":"maker","plan_owners":["NORTHSTAR-SETTINGS-CONTRACTS"],"macro_batch":"MB4_NORTHSTAR_CONTRACT_FREEZE","macro_branch":"work/prc-northstar-contracts-macro-batch","macro_role":"contract-maker","macro_dependencies":["M5_PUBLISHED_POST_RELEASE_PROVED"],"register_status":"BLOCKED_BY_M5","register_head":""}, + {"slice":"OBSERVABILITY-OTLP","classification":"maker","plan_owners":["OBSERVABILITY-OTLP"],"macro_batch":"MB2_RUNTIME_SECURITY_PRIVACY_AND_V7","macro_branch":"work/prc-runtime-security-v7-macro-batch","macro_role":"maker","macro_dependencies":["MB0_CONTROL_SUPPLY_PUBLIC","MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY","accepted:DB-AUTH"],"register_status":"BLOCKED_BY_RUNTIME","register_head":""}, + {"slice":"OC-INTEGRATION","classification":"maker","plan_owners":["OC-INTEGRATION"],"macro_batch":"MB3_DELIVERY_OPERATIONS_UI_CUSTOMER_AND_COVERAGE","macro_branch":"work/prc-delivery-operations-experience-macro-batch","macro_role":"maker","macro_dependencies":["MB0_CONTROL_SUPPLY_PUBLIC","MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY","MB2_RUNTIME_SECURITY_PRIVACY_AND_V7"],"register_status":"BLOCKED_BY_IMAGE_AND_AUTH","register_head":""}, + {"slice":"OPENCLAW-RELEASE","classification":"maker","plan_owners":["OPENCLAW-RELEASE"],"macro_batch":"MB3_DELIVERY_OPERATIONS_UI_CUSTOMER_AND_COVERAGE","macro_branch":"work/prc-delivery-operations-experience-macro-batch","macro_role":"maker","macro_dependencies":["MB0_CONTROL_SUPPLY_PUBLIC","MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY","MB2_RUNTIME_SECURITY_PRIVACY_AND_V7"],"register_status":"BLOCKED_BY_SECURITY_PROJECT_IDENTITY","register_head":""}, + {"slice":"OPERATIONS","classification":"meta-fold","plan_owners":["DEPLOYMENT-ROLLBACK","RECOVERY-DATA","OBSERVABILITY-OTLP","PRIVACY-BOUNDARIES","CORE-PUBLIC-TRUTH","FINAL-PUBLIC-TRUTH"],"register_status":"PENDING","register_head":""}, + {"slice":"OPERATOR-CONSOLE","classification":"meta-fold","plan_owners":["IMAGE-REMEDIATION-R2","OC-INTEGRATION"],"register_status":"PENDING","register_head":""}, + {"slice":"PLAN-GOVERNANCE","classification":"maker","plan_owners":["PLAN-GOVERNANCE"],"register_status":"R12_A12_SELF_REFERENCE_FREE_MACRO_AUTHORITY_ACTIVE","register_head":"887b7c6144a09829a1a3f43ff5a19d3fb27fb7c1","register_notes":"A10 and A11 remain immutable history. A12 is the exact child of rejected A11 and freezes self-reference-free release authority plus 69/69 macro-batch governance before any MB1 maker starts."}, + {"slice":"PRE-V5-UPGRADE-CONTRACT","classification":"maker","plan_owners":["PRE-V5-UPGRADE-CONTRACT"],"macro_batch":"MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY","macro_branch":"work/prc-data-integrity-macro-batch","macro_role":"maker","macro_dependencies":["exact:fef455bcf640f849c2d40c9bc26a459b5593e10a"],"register_status":"READY_FOR_MAKER_HISTORICAL_FIXTURE_REQUIRED","register_head":""}, + {"slice":"PRIVACY-BOUNDARIES","classification":"maker","plan_owners":["PRIVACY-BOUNDARIES"],"macro_batch":"MB2_RUNTIME_SECURITY_PRIVACY_AND_V7","macro_branch":"work/prc-runtime-security-v7-macro-batch","macro_role":"maker","macro_dependencies":["MB0_CONTROL_SUPPLY_PUBLIC","MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY","accepted:DB-AUTH"],"register_status":"BLOCKED_BY_DATA_STACK","register_head":""}, + {"slice":"RECOVERY-DATA","classification":"maker","plan_owners":["RECOVERY-DATA"],"macro_batch":"MB3_DELIVERY_OPERATIONS_UI_CUSTOMER_AND_COVERAGE","macro_branch":"work/prc-delivery-operations-experience-macro-batch","macro_role":"maker","macro_dependencies":["MB0_CONTROL_SUPPLY_PUBLIC","MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY","MB2_RUNTIME_SECURITY_PRIVACY_AND_V7"],"register_status":"BLOCKED_BY_DEPLOYMENT","register_head":""}, + {"slice":"REDACTION-LIVE-CONTRACT","classification":"maker","plan_owners":["REDACTION-LIVE-CONTRACT"],"macro_batch":"MB2_RUNTIME_SECURITY_PRIVACY_AND_V7","macro_branch":"work/prc-runtime-security-v7-macro-batch","macro_role":"maker","macro_dependencies":["MB0_CONTROL_SUPPLY_PUBLIC","MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY","accepted:DB-AUTH"],"register_status":"CLASSIFIED_RELEASE_BLOCKER_PLAN_REVISED","register_head":""}, + {"slice":"RELEASE-GATES","classification":"maker","plan_owners":["RELEASE-GATES"],"register_status":"R10_MAKER_ACTIVE_AFTER_R9_REVISE_2_HIGH_1_MED","register_head":"f11a77cce88f013839e22662458a3318670445e9","register_notes":"R9 A/B are preserved rejected history. R10 adds strict raw-JSON schema/type/null/path validation and a default-branch pull_request_target guard whose executable bytes come only from the trusted base.","load_bearing":{"policy":"rejected_heads_must_not_be_accepted","rejected_heads":["144eeefa003c3e1c0009c4264f41236ee3453b65","406fe952c143eb8aaf5895427c568a41d4cec225","f11a77cce88f013839e22662458a3318670445e9"]}}, + {"slice":"RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12","classification":"maker","plan_owners":["RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12"],"register_status":"A12_GOVERNANCE_ACTIVE_B12_PENDING","register_head":"887b7c6144a09829a1a3f43ff5a19d3fb27fb7c1","register_notes":"A11 887b7c61 is rejected because its committed manifest requires its own event-head and manifest-container blob identities. The dirty B11 overlay is parked uncommitted. R12 is the direct governance successor and removes only the self-reference while preserving trusted-base, replay, successor, ordinary and unprivileged-check guarantees.","load_bearing":{"policy":"rejected_heads_must_not_be_accepted","rejected_heads":["b32f352ad4574cdba9acf93906bd38d49c8fabb5","a2737a6922faf263b2da5b69d8f54c7ad787cbd9","969c06703245233103518ad4e9fc725856326ce9","f829b3ac6977bfda34ef85f7b0cdbacf935e9a3a","887b7c6144a09829a1a3f43ff5a19d3fb27fb7c1"]}}, + {"slice":"RETRIEVAL-VECTOR-CONTRACT","classification":"maker","plan_owners":["RETRIEVAL-VECTOR-CONTRACT"],"macro_batch":"MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY","macro_branch":"work/prc-data-integrity-macro-batch","macro_role":"maker","macro_dependencies":["exact:fef455bcf640f849c2d40c9bc26a459b5593e10a"],"register_status":"READY_FOR_MAKER","register_head":""}, + {"slice":"ROADMAP-RECONCILIATION","classification":"maker","plan_owners":["ROADMAP-RECONCILIATION"],"macro_batch":"MB3_DELIVERY_OPERATIONS_UI_CUSTOMER_AND_COVERAGE","macro_branch":"work/prc-delivery-operations-experience-macro-batch","macro_role":"maker","macro_dependencies":["MB0_CONTROL_SUPPLY_PUBLIC","MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY","MB2_RUNTIME_SECURITY_PRIVACY_AND_V7"],"register_status":"BLOCKED_BY_IMPLEMENTATION_TRUTH","register_head":""}, + {"slice":"S4B-CONTRACT","classification":"maker","plan_owners":["S4B-CONTRACT"],"macro_batch":"MB2_RUNTIME_SECURITY_PRIVACY_AND_V7","macro_branch":"work/prc-runtime-security-v7-macro-batch","macro_role":"maker","macro_dependencies":["MB0_CONTROL_SUPPLY_PUBLIC","MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY","accepted:DB-AUTH"],"register_status":"BLOCKED_BY_PLAN_GOVERNANCE","register_head":""}, + {"slice":"SECURITY-PROJECT-IDENTITY","classification":"maker","plan_owners":["SECURITY-PROJECT-IDENTITY"],"register_status":"R4_CHECKER_ACCEPTED_PENDING_ROOT_POST_REVIEW","register_head":"320f1d806729085f56e91b505b738444408639e1","load_bearing":{"policy":"rejected_heads_must_not_be_accepted","rejected_heads":["9e2ce4e58a5cded69660ca9ac532d2167f315bb2","38344455754fe503acbd79d2134141f996adff7f"]},"register_notes":"R4 maker 320f1d80 is accepted by direct-child checker 3aa11399. Its exact five-path LF digest is ff2385aa04e726c653db0c70a525f3e3957bc91e6bda1e6526fdd63afe5b5b7d; root post-review and integration remain pending."}, + {"slice":"SECURITY-TOOLCHAIN","classification":"maker","plan_owners":["SECURITY-TOOLCHAIN"],"register_status":"READY_FOR_INTEGRATION","register_head":"b0955dfd61b4ea7364f6d400579247b475a1a680"}, + {"slice":"STATIC-EMBED-CONTRACT","classification":"maker","plan_owners":["STATIC-EMBED-CONTRACT"],"macro_batch":"MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY","macro_branch":"work/prc-data-integrity-macro-batch","macro_role":"maker","macro_dependencies":["exact:fef455bcf640f849c2d40c9bc26a459b5593e10a"],"register_status":"READY_FOR_MAKER_SOURCE_AND_IMAGE_SPLIT","register_head":""}, + {"slice":"T007-COMPAT-DEMOLITION-CLASSIFICATION","classification":"maker","plan_owners":["T007-COMPAT-DEMOLITION-CLASSIFICATION"],"register_status":"CURRENT_CONTRACT_TEST_CORRECTION_CLASSIFIED","register_head":""}, + {"slice":"UPDATE-LIFECYCLE","classification":"maker","plan_owners":["UPDATE-LIFECYCLE"],"macro_batch":"MB3_DELIVERY_OPERATIONS_UI_CUSTOMER_AND_COVERAGE","macro_branch":"work/prc-delivery-operations-experience-macro-batch","macro_role":"maker","macro_dependencies":["MB0_CONTROL_SUPPLY_PUBLIC","MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY","MB2_RUNTIME_SECURITY_PRIVACY_AND_V7"],"register_status":"PENDING","register_head":""}, + {"slice":"V7-CORE-CALLPATH","classification":"maker","plan_owners":["V7-CORE-CALLPATH"],"macro_batch":"MB2_RUNTIME_SECURITY_PRIVACY_AND_V7","macro_branch":"work/prc-runtime-security-v7-macro-batch","macro_role":"maker","macro_dependencies":["MB0_CONTROL_SUPPLY_PUBLIC","MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY","accepted:DB-AUTH"],"register_status":"BLOCKED_BY_CLASSIFICATION","register_head":""}, + {"slice":"V7-RUNTIME-WIRING","classification":"maker","plan_owners":["V7-RUNTIME-WIRING"],"macro_batch":"MB2_RUNTIME_SECURITY_PRIVACY_AND_V7","macro_branch":"work/prc-runtime-security-v7-macro-batch","macro_role":"maker","macro_dependencies":["MB0_CONTROL_SUPPLY_PUBLIC","MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY","accepted:DB-AUTH"],"register_status":"BLOCKED_BY_AUTH_AND_V7_BACKEND","register_head":""}, + {"slice":"V7-S4B-BACKEND","classification":"maker","plan_owners":["V7-S4B-BACKEND"],"macro_batch":"MB2_RUNTIME_SECURITY_PRIVACY_AND_V7","macro_branch":"work/prc-runtime-security-v7-macro-batch","macro_role":"maker","macro_dependencies":["MB0_CONTROL_SUPPLY_PUBLIC","MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY","accepted:DB-AUTH"],"register_status":"BLOCKED_BY_S4B_CONTRACT","register_head":""}, + {"slice":"V7-TELEMETRY-WIRING","classification":"maker","plan_owners":["V7-TELEMETRY-WIRING"],"macro_batch":"MB2_RUNTIME_SECURITY_PRIVACY_AND_V7","macro_branch":"work/prc-runtime-security-v7-macro-batch","macro_role":"maker","macro_dependencies":["MB0_CONTROL_SUPPLY_PUBLIC","MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY","accepted:DB-AUTH"],"register_status":"BLOCKED_BY_BACKEND_CONTRACT","register_head":""} + ] +} diff --git a/.agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker.md b/.agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker.md new file mode 100644 index 00000000..24ca5bc4 --- /dev/null +++ b/.agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker.md @@ -0,0 +1,218 @@ +# DB-BULKOPS behavioral-edge rework — maker report + +Status: **READY_FOR_INDEPENDENT_CHECK** + +This is a maker handoff, not a PASS verdict and not authorization to integrate. +The formal checker must be a fresh agent that did not implement the change or +participate in the maker-side adversarial review. + +## Contract and result + +Base: `68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef` + +The rework closes two validation classes while preserving the prior H1/M1/M2 +behavior: + +1. Every public candidate-review `WithSnapshot` seam — promote, preserve, + reject, suppress, and supersede — now uses one fail-closed binding validator. + Structural validation runs before DB access for safe legacy preflight, then + repeats inside the mutation transaction. The transaction acquires + `SELECT ... FOR UPDATE` on the authoritative candidate before creating the + snapshot or mutating anything. The validator binds the snapshot/store/audit + dependencies, op type, operation/action/candidate parameters, normalized + actor, empty initial affected IDs, exact one-entry initial `BeforeState`, + candidate key, payload ID/source session, and the complete authoritative + rollback payload. Only sub-microsecond timestamp differences introduced by + PostgreSQL storage precision are tolerated. Invalid input produces zero + candidate, memory, snapshot, or `candidate_review` audit writes. Valid input + writes exactly one synchronous `candidate_review` audit. +2. `bulk_promote`, `bulk_delete`, and `bulk_supersede` now parse raw JSON + rather than using lossy `any`/`float64` coercion. Integral JSON forms such + as `1.0` and `1e0` remain valid; `9007199254740993`, `MinInt64`, and + `MaxInt64` remain exact. Fractional, overflow, string, boolean, object, + nested-array, null, malformed, and non-object inputs fail before the facade. + A present `dry_run` must be a JSON boolean. Missing `dry_run` defaults to + false. Zero removal, deduplication, and sorting occur only after exact parse. + +## Changed-path inventory and source hashes + +Only the four authorized product/test paths changed: + +| Path | SHA-256 | +|---|---| +| `internal/db/gorm/candidate_store.go` | `e5102fc82df34cc85e2039cf62ce96155b725d3728518a196476eb2351b458c2` | +| `internal/db/gorm/candidate_store_test.go` | `8fb5258f01557ca7991b5a211f51107e69e4acd5740c5b254e63308f8969e4ff` | +| `internal/mcp/tools_bulkops.go` | `89ca7932ccafe7fa52c79099d6ecbca20a04aa7faff94ff5ec92c9d68dc7cefa` | +| `internal/mcp/tools_dryrun_test.go` | `2a4fbe5e29548b3df2eb45f16ab8e08e7938e9e95a8604e4a6f7cfeac05d0a90` | + +The evidence namespace and this report are the only other changed paths. The +complete file-hash ledger is +`.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/SHA256SUMS.txt`. + +## Cause-closure reasoning + +The original candidate-review bug was not one missing nil check. Each public +seam had enough local behavior to look correct while accepting a snapshot that +was wrong in a different dimension. The closed invariant is therefore evaluated +centrally and twice: a pure structural preflight, followed by an authoritative +transaction-bound check before writes. + +The maker-side adversarial reviewer found one additional class hole after the +first GREEN: the snapshot payload and `snapshot.SourceSessionID` could be forged +together and remain internally consistent. That review returned +`REVISE/BLOCK`. A new sibling matrix case proved the bypass on all five seams +in `17-review-red-authoritative-binding.log`. The final implementation locks +and compares the authoritative candidate before snapshot creation or mutation. +The maker-side review is hardening evidence only; it does not substitute for the +fresh formal checker. + +The original bulk-input bug likewise was not a single bad example. Once input +was decoded into `any`, JSON numbers had already crossed a lossy `float64` +boundary and wrong types could be coerced. The fix parses each raw array member +as an exact rational number, requires an integral int64 result, and parses +`dry_run` from raw JSON tokens. + +## TDD and verification evidence + +Every Go test/vet run below used a fresh exact PostgreSQL database named under +`engram_mkr_bedge_*`. The harness records base/head, the exact command, UTC +timestamps, exit code, active sessions before termination, and post-drop +database/session residue. + +### RED and Prove-It + +| Evidence | Exact command | Exit | Result | +|---|---|---:|---| +| `01-red-behavior.log` | `go test -p=1 ./internal/db/gorm ./internal/mcp -run ^(TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites|TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit|TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs|TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization)$ -count=1 -v` | 1 | Invalid snapshots and lossy structured inputs were accepted. | +| `02-red-spy-seam.log` | `go test -p=1 ./internal/mcp -run ^(TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade|TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun)$ -count=1 -v` | 1 | The pre-facade assertion seam did not yet exist. | +| `05-prove-it-candidate.log` | `go test -p=1 ./internal/db/gorm -run ^(TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites|TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit)$ -count=1` | 1 | Temporarily bypassing the validator broke the behavior tests. | +| `06-prove-it-parser.log` | `go test -p=1 ./internal/mcp -run ^(TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs|TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization|TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade|TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun)$ -count=1` | 1 | Temporarily bypassing the parser broke the behavior tests. | +| `17-review-red-authoritative-binding.log` | `go test -p=1 ./internal/db/gorm -run ^TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites$ -count=1` | 1 | Forged payload + matching forged source session was accepted by all five seams. | + +All RED and Prove-It databases finished with database/session residue `0/0`. + +### Final GREEN gates + +| Evidence | Exact command | Exit | +|---|---|---:| +| `19-review-green-authoritative-binding.log` | `go test -p=1 ./internal/db/gorm ./internal/mcp -run ^(TestCandidateStore_PromoteWithMemoryAndSnapshot_AmendFailureRollsBackPromotion|TestCandidateStore_PreserveWithMemoryAndSnapshot_RequiresCandidateReviewSnapshotBeforeMutation|TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites|TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit|TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs|TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization|TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade|TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun)$ -count=1` | 0 | +| `20-review-repeat20.log` | `go test -p=1 ./internal/db/gorm ./internal/mcp -run ^(TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites|TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit|TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs|TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization|TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade|TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun)$ -count=20` | 0 | +| `21-review-race-focused.log` | `go test -race -p=1 ./internal/db/gorm ./internal/mcp -run ^(TestCandidateStore_PromoteWithMemoryAndSnapshot_AmendFailureRollsBackPromotion|TestCandidateStore_PreserveWithMemoryAndSnapshot_RequiresCandidateReviewSnapshotBeforeMutation|TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites|TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit|TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs|TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization|TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade|TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun)$ -count=1` | 0 | +| `22-review-vet.log` | `go vet ./internal/db/gorm ./internal/mcp` | 0 | +| `23-review-coverage.log` | `go test -p=1 ./internal/db/gorm ./internal/mcp -run ^(TestCandidateStore_PromoteWithMemoryAndSnapshot_AmendFailureRollsBackPromotion\|TestCandidateStore_PreserveWithMemoryAndSnapshot_RequiresCandidateReviewSnapshotBeforeMutation\|TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites\|TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit\|TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs\|TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization\|TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade\|TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun)$ -count=1 -covermode=atomic -coverprofile=.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/coverage.out` | 0 | +| `25-review-cover-functions.log` | `go tool cover -func=.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/coverage.out` | 0 | + +All final GREEN databases finished with database/session residue `0/0`. + +Load-bearing coverage from the final profile: + +- `validateCandidateReviewSnapshotBinding`: 87.0% +- `candidateReviewPayloadMatchesAuthoritative`: 75.0% +- `promoteWithMemoryAndSnapshotAction`: 80.6% +- `transitionWithSnapshot`: 63.6% +- `parseBulkStructuredArgs`: 100.0% +- each of `handleBulkPromote`, `handleBulkDelete`, and + `handleBulkSupersede`: 80.0% + +The package percentages are 15.4% for `internal/db/gorm` and 1.8% for +`internal/mcp`; these packages are broad, so the function-level evidence is +the load-bearing measure. + +### Full changed-package gates + +`26-review-full-gorm.log` ran: + +``` +go test -p=1 ./internal/db/gorm -count=1 +``` + +It exited 1 with the same six unrelated governance/migration baseline failures +documented by the predecessor sibling-rework report: + +- `TestRuleGovernanceStore_AnnotatedCandidateWaitsUntilReviewAfter` +- `TestRuleGovernanceStore_GetLifecycleHealthAggregatesGovernanceTables` +- `TestRuleGovernanceStore_GetLifecycleHealthOmitsGlobalArbiterRunsForProjectScopedReads` +- `TestMigration144_RuleGovernanceRollbackAndReapply` +- `TestMigration144_RuleGovernanceEscapeConstraints` +- `TestMigration144_RuleGovernanceSnapshotStatusesAcceptExtendedStates` + +The run later hit PostgreSQL `FATAL: sorry, too many clients already`, producing +four secondary failures in TemporalTruth, TokenStore, and TranscriptStore. No +candidate-review test failed. Cleanup still finished `0/0`. + +`27-review-full-mcp.log` ran: + +``` +go test -p=1 ./internal/mcp -count=1 +``` + +It exited 1 only for the two documented unrelated baseline failures: + +- `TestHybridTG3_ConfidenceMin_FloorEnforced_T022` +- `TestEC_F1_TagDerivedBackfill_T007` + +No bulk structured-input test failed. Cleanup finished `0/0`. These full +package commands remain WARN/FAIL baseline; this report claims only the scoped +behavioral gates green. + +## Discrepancy ledger + +Nothing was patched silently: + +1. `08-full-packages.log` exposed an old amend-rollback fixture that constructed + a now-invalid snapshot, plus a preserve error-string compatibility mismatch. + The fixture now uses the canonical reviewpacket snapshot and the historical + `candidate_review` wording is preserved. `09-legacy-compat.log` passed. +2. The first authoritative-row fix in + `18-review-green-authoritative-binding.log` compared raw timestamp JSON + exactly and moved all validation inside the transaction. That rejected a + legitimate sub-microsecond timestamp representation and caused the legacy + nil-DB preflight test to panic. The final form restores structural preflight, + repeats validation inside the transaction, compares timestamps only within + PostgreSQL precision, and compares every other candidate field exactly. + Logs 19, 20, and 21 passed. +3. `24-review-cover-functions.log` failed with exit 2 because PowerShell split + `-func=` into two arguments. The command was rerun through an explicit + `GoArgs` array; `25-review-cover-functions.log` exited 0. +4. Fresh migrations continue to emit the pre-existing non-fatal stale + pattern/relation index, absent `observation_vectors`, and unavailable + `vectorscale` warnings. +5. Captured Go/GORM logs contained trailing spaces and tab-indented test output + that made the staged `git diff --check` fail despite a clean source diff. + Before hashing and commit, every `*.log` in the evidence namespace was + mechanically normalized by replacing tabs with spaces and removing only + end-of-line whitespace. Commands, output text, exit codes, and timestamps + were otherwise unchanged. + +## Diagnostics and residual risk + +Serena diagnostics reported zero errors and zero warnings in all four changed +source/test files. It reported only modernize hints: existing `interface{}` +uses, a `maps.Copy` suggestion, and Go 1.22 loop-variable copy hints. + +The pre-facade tests use the narrow package-level `executeBulkFacade` function +variable. Tests are serial and the focused race gate passed. A future test that +mutates this hook in parallel would need its own synchronization or a server- +scoped injection seam; that is a test-architecture residual risk, not a current +production mutation path. + +## Out-of-scope audit node + +`MCP-STRUCTURED-INPUT-VALIDATION`: `store_memory.supersedes` still reaches +lossy coercion without explicit raw structured-input type validation. The task +explicitly prohibited edits to `coerce.go` and `tools_memory.go`, so this is +reported only and was not patched. + +## Final cleanup + +`16-final-residue.log` records the final exact-prefix queries: + +```sql +SELECT count(*) FROM pg_database WHERE datname LIKE 'engram_mkr_bedge_%'; +SELECT count(*) FROM pg_stat_activity WHERE datname LIKE 'engram_mkr_bedge_%'; +``` + +At `2026-07-10T09:10:54.3826001Z`, both returned zero; exit code was 0. + +The structured companion is +`.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/DB-BULKOPS-BEHAVIORAL-EDGE-REWORK.final.json`. diff --git a/.agent/reports/2026-07-10-db-bulkops-capture-lock-rework-maker.md b/.agent/reports/2026-07-10-db-bulkops-capture-lock-rework-maker.md new file mode 100644 index 00000000..7e1b5776 --- /dev/null +++ b/.agent/reports/2026-07-10-db-bulkops-capture-lock-rework-maker.md @@ -0,0 +1,207 @@ +# DB-BULKOPS Capture/Lock Rework — Maker Report + +## Outcome + +The capture-before-lock TOCTOU, candidate rollback overwrite, legacy no-`After` +rollback hazard, and raw dry-run count defect are fixed and backed by permanent +PostgreSQL regressions. + +Status: **READY FOR AN INDEPENDENT CHECKER AND POST-RUN CODE REVIEW**. + +This is maker evidence only. The exact commit containing this report is supplied in +the handoff; this report does not replace the independent checker, PM acceptance, or +integrated release gates. + +## Scope and authorized expansion + +- Worktree: `D:\Dev\engram\.agent\worktrees\prc-db-bulkops` +- Branch: `work/prc-db-bulkops` +- Parent head: `2b085de663d5ba9dfa97adf9ee58de062ee0997c` +- Original DB-BULKOPS paths: + - `internal/bulkops/facade.go` + - `internal/bulkops/facade_test.go` +- Minimal checker-authorized expansion for exact rollback conflict detection: + - `pkg/models/snapshot.go` + - `internal/bulkops/rollback.go` + - `internal/bulkops/rollback_test.go` +- `internal/db/gorm/candidate_store.go` was inspected but not changed. +- No schema migration or v5-demolished subsystem was introduced or revived. + +## Capture and promotion transaction + +`bulk_promote` now normalizes requested IDs, opens one outer transaction, locks all +currently existing candidate rows with `FOR UPDATE` in ascending unique ID order, +and only then reads candidate before-state. PostgreSQL `clock_timestamp()` is read +inside the same transaction after the locks are acquired. + +The locked candidate object is the single input for: + +1. promoted-memory construction; +2. the candidate rollback `Before` payload; +3. the exact post-promotion `After` payload; +4. the final successful-candidate snapshot membership. + +Snapshot creation, candidate transition, memory creation, and promoted-memory +amendment commit or roll back together. A candidate missing when the locked capture +runs is reported as missing and is not promoted even if it is inserted before the +transaction completes. Partial success creates a snapshot containing exactly the +successful candidate and memory mutations; zero success creates no rollback snapshot. + +Permanent proofs: + +- `TestFacade_BulkPromote_ConcurrentCommittedUpdateIsCapturedPromotedAndRollbackable` + proves A→B committed before lock acquisition is the captured, promoted, and restored state. +- `TestFacade_BulkPromote_CandidateInsertedAfterLockedCaptureIsNotPromoted` proves a + missing-at-capture candidate inserted later remains pending and absent from the snapshot. +- Existing equal-ID and amendment-failure regressions remain GREEN, including exact + post-commit audit counts and rollback retry safety. + +## Exact candidate rollback conflict detection + +`SnapshotEntry` now has an optional JSON `After` field. New bulk-promote snapshots +persist the database-re-read promoted candidate, including its authoritative +`updated_at`, status, and promoted-memory ID. + +Rollback lock order is now: + +1. snapshot row; +2. candidate rows in ascending unique ID order; +3. memory rows in ascending unique ID order. + +Before any restore or delete, rollback compares each locked current candidate with +the exact persisted `After` state. Time locations and nil/empty JSON slices are +canonicalized, while all domain fields and ordering remain exact. Any mismatch or +missing candidate returns `ErrRollbackConflict`; the transaction preserves candidate +C, the promoted memory, and the committed snapshot. + +`TestFacade_BulkPromote_CandidateChangedAfterExecuteConflictsAndPreservesCurrent` +holds an uncommitted B→C update, proves rollback waits on the candidate lock, commits +C, and then proves rollback reports conflict without overwriting C or deleting memory. + +## Legacy snapshots fail closed + +Candidate restore entries without `After` cannot establish the exact operation-owned +post-state. They are still locked deterministically but now return +`ErrRollbackConflict` instead of guessing from `snapshot.CreatedAt` and blindly +calling `RevertRawTx`. + +`TestFacade_BulkPromote_LegacySnapshotWithoutAfterFailsClosedAndPreservesCandidate` +removes `After` from a real bulk-promote snapshot, applies a later candidate edit, and +proves the candidate, memory, and committed snapshot remain intact. + +Compatibility retained: + +- numeric legacy memory restore/delete entries still use the existing decoder; +- prefixed `candidate:` and `memory:` domains remain disjoint; +- modern candidate-review fixtures now persist exact `After` state and retain the + established successful rollback and edited-memory conflict behavior. + +## Normalized dry-run semantics + +Dry-run now reports `WouldAffect = len(sortedUniqueIDs(candidate_ids))`, matching the +same duplicate removal and zero filtering used by execution. It intentionally remains +database-free; the regression uses two existing candidates so preview `2` equals the +actual execution count `2` for a six-element duplicate/zero input. + +Permanent proof: +`TestFacade_BulkPromote_DryRunNormalizesDuplicateAndZeroIDs`. + +## TDD and prove-it evidence + +Evidence artifacts: + +- `.agent/specs/production-ready-db-bulkops/evidence/DB-BULKOPS-CAPTURE-LOCK-REWORK.red.json` +- `.agent/specs/production-ready-db-bulkops/evidence/DB-BULKOPS-ROLLBACK-CANDIDATE-CONFLICT.red.json` +- `.agent/specs/production-ready-db-bulkops/evidence/DB-BULKOPS-DRY-RUN-NORMALIZATION.red.json` +- `.agent/specs/production-ready-db-bulkops/evidence/DB-BULKOPS-LEGACY-CANDIDATE-NO-AFTER.red.json` +- `.agent/specs/production-ready-db-bulkops/evidence/DB-BULKOPS-CAPTURE-LOCK-REWORK.tdd.json` +- `.agent/specs/production-ready-db-bulkops/evidence/DB-BULKOPS-FINAL.cover.out` + +RED reproduced all four defects on fresh PostgreSQL 17 databases before their +production edits. Three temporary prove-it sentinels then reintroduced raw dry-run +counting, unconditional candidate-state acceptance, and legacy no-`After` acceptance. +Each permanent regression failed with the destructive behavior; all passed again after +the sentinels were removed. + +## Final verification + +Focused high-risk repeat on +`engram_prc_bulkops_final_focus_20260710_082852`: + +```text +9 permanent high-risk tests x -count=20 +PASS — 180/180 executions +package 41.437s +EXIT_CODE=0 +``` + +Final full package with coverage on +`engram_prc_bulkops_final_postprove_20260710_083859`: + +```text +go test ./internal/bulkops -count=1 -coverprofile DB-BULKOPS-FINAL.cover.out +PASS — package 3.901s +coverage: 76.8% of statements +EXIT_CODE=0 +``` + +Final race run on +`engram_prc_bulkops_final_postprove_race_20260710_084223`: + +```text +go test -race ./internal/bulkops -count=1 +PASS — package 9.538s +EXIT_CODE=0 +``` + +Additional gates: + +```text +go test ./pkg/models -count=1 +PASS + +go vet ./internal/bulkops ./internal/db/gorm ./pkg/models +PASS + +Serena diagnostics: no warnings/errors in all five changed files +git diff --check: PASS +``` + +Coverage details: + +- package: 76.8% — informational WARN against the 80% default; +- `executeBulkPromote`: 80.0%; +- `lockPromoteCandidatesTx`: 81.8%; +- `Rollback`: 79.6%; +- `lockCandidateRowsForRollbackTx`: 84.2%; +- `detectCandidateConflicts`: 81.2%; +- `matchesExpectedCandidateState`: 87.5%. + +The package-level threshold is not silently promoted to PASS. Every new load-bearing +branch nevertheless has deterministic database regression, repeat-20, race, and +mutation/prove-it evidence. + +## Database and worktree hygiene + +Every maker-owned RED/GREEN/focus/full/race/prove-it database reached zero active +sessions and was force-dropped. The orphan `engram_prc_bulkops_check` database was +separately classified as inactive, name-validated, and dropped. Final PostgreSQL proof: + +```text +bulk database count: 0 +bulk active session count: 0 +``` + +The accidental generated file named `$cover` was classified as a coverage artifact, +deleted, and replaced by the intended ignored evidence file +`DB-BULKOPS-FINAL.cover.out`; `$cover` is absent from final git status. + +Known fresh-migration warnings for stale pattern/relation indexes, absent +`observation_vectors`, and unavailable `vectorscale` remained non-fatal and unchanged. + +## Maker disposition + +The DB-BULKOPS blocking findings are closed by implementation and permanent evidence. +No push or integration was performed. The next required step is an independent checker +against the exact handoff commit, followed by separate post-run code review and the +integrated production-readiness gates. diff --git a/.agent/reports/2026-07-10-db-bulkops-sibling-rework-maker.md b/.agent/reports/2026-07-10-db-bulkops-sibling-rework-maker.md new file mode 100644 index 00000000..a3e6ce10 --- /dev/null +++ b/.agent/reports/2026-07-10-db-bulkops-sibling-rework-maker.md @@ -0,0 +1,208 @@ +# DB-BULKOPS Sibling-Path Rework — Maker Report + +## Outcome + +All three findings in the independent acceptance check are closed in the bounded +rework: live candidate-review snapshots now persist exact candidate `After` state, +nil-facade MCP dry-run uses the same ID normalization as execution, and an all-row +promotion failure emits an explicit failure audit instead of a success-shaped one. + +Status: **READY FOR AN INDEPENDENT CHECKER AND POST-RUN CODE REVIEW**. + +This is maker evidence only. The exact commit containing this report is supplied in +the handoff because a commit cannot embed its own final SHA. No push, integration, +role/oracle update, plan mutation, or release action was performed. + +## Scope and live-path classification + +- Worktree: `D:\Dev\engram\.agent\worktrees\prc-db-bulkops` +- Branch: `work/prc-db-bulkops` +- Rework base: `6ea10496aa127fba7fdb194875044e770d0a1d8c` +- Product paths changed: + - `internal/db/gorm/candidate_store.go` + - `internal/bulkops/facade.go` + - `internal/mcp/tools_bulkops.go` +- Regression paths changed: + - `internal/bulkops/facade_test.go` + - `internal/bulkops/rollback_test.go` + - `internal/db/gorm/candidate_store_test.go` + - `internal/mcp/tools_dryrun_test.go` +- Evidence is confined to + `.agent/reports/evidence/production-ready/db-bulkops-sibling-rework/`. + +H1 is live: public MCP/HTTP candidate-review handlers call +`NewCandidateReviewActionSnapshot` and the exported atomic `*WithSnapshot` store +methods under the live `ENGRAM_VNEXT_F_ENABLED` surface. M1 is live through +`server.callTool -> handleBulkPromote`; the nil-facade seam is explicitly supported. +M2 is live through facade execution and its operator-facing audit stream. None is a +v5-demolition tombstone, an unset-only dormant scaffold, or a removed HTTP MCP path. + +## H1 — exact candidate After state on every live review action + +`promoteWithMemoryAndSnapshotAction` and `transitionWithSnapshot` now call one +transactional helper after the authoritative locked mutation and database re-read. +The helper locks the snapshot row, requires a `candidate_review_action` snapshot, +requires its exact `candidate:` restore entry, marshals the authoritative +candidate into `SnapshotEntry.After`, and updates the JSONB snapshot in the same +transaction before audit and commit. A missing or malformed entry is an error, so the +candidate mutation cannot commit without its rollback comparator state. + +The historical rule remains unchanged: genuinely old candidate entries without +`After` still fail closed during rollback. + +Permanent public-path regressions cover: + +- promote and preserve, including promoted-memory deletion during rollback; +- reject, supersede, and suppress; +- exact equality between persisted `After` and the authoritative candidate returned + by the store; +- rollback to pending without any fixture-side snapshot SQL amendment. + +The pre-existing candidate-store tests had a before-only hand-built snapshot fixture. +The full-package run correctly exposed that stale test setup after the production +contract became strict. The helper now uses the real public +`reviewpacket.NewCandidateReviewActionSnapshot` constructor; all four affected store +tests pass, including the forced audit-failure rollback case. No production validation +was weakened. + +## M1 — one normalization contract across MCP and facade + +The facade's sorted, unique, non-zero normalization is exposed inside the package as +`NormalizeCandidateIDs`. `handleBulkPromote` applies it immediately after coercion, +before both the supported nil-facade preview branch and the wired facade branch. + +`TestBulkPromote_DryRun_NilFacade` now sends `[2,0,1,2,1,0]` and requires +`would_affect=2`, pinning the exact sibling-path contract. + +## M2 — explicit zero-success audit semantics + +When execution has `AffectedCount=0` and row errors, the facade now writes +`action=bulk_promote_failed` with attempted, affected, and failed counts. It still +creates no rollback snapshot. Successful and partial-success operations retain the +existing `action=bulk_promote` summary. + +`TestFacade_BulkPromote_AllRowsFailWritesExplicitFailureAudit` uses one rejected and +one missing candidate and proves zero affected rows, no snapshot, no success-shaped +audit, and exactly one explicit failure audit. + +## TDD and prove-it evidence + +Durable evidence: + +- `H1-candidate-review-after.red.json` +- `M1-nil-facade-normalization.red.json` +- `M2-all-row-failure-audit.red.json` +- `DB-BULKOPS-SIBLING-REWORK.tdd.json` +- `DB-BULKOPS-SIBLING-REWORK.final.json` + +Valid RED runs reproduced each checker finding before production edits. The first H1 +attempt was discarded because the new test lacked an import and did not compile; it +is not presented as behavioral RED. One later fixture run was also discarded after a +PowerShell interpolation mistake produced an invalid DSN; the exact test database was +dropped and the corrected run passed. + +Six temporary prove-it sentinels independently broke the two candidate-store mutation +paths, the snapshot amendment helper, the shared ID normalizer, the MCP handler, and +the facade audit path. In every case the permanent regression failed, and after an +exact restore from the interim commit the same test passed. + +High-risk repeat: + +```text +go test -p=1 ./internal/bulkops ./internal/mcp \ + -run '^(TestRollback_PublicCandidateReview(PromotePersistsAfterAndRestoresPending|PreservePersistsAfterAndRestoresPending|NonMemoryActionsPersistAfterAndRestorePending)|TestFacade_BulkPromote_AllRowsFailWritesExplicitFailureAudit|TestBulkPromote_DryRun_NilFacade)$' \ + -count=20 +PASS — 7 scenarios x 20 = 140 executions +bulkops 27.940s; mcp 0.095s +``` + +## Final scoped verification + +Fresh PostgreSQL 17 database +`engram_prc_bulkops_sibling_scoped_20260710_101019337`: + +```text +go test -p=1 ./internal/bulkops -count=1 -coverprofile .../bulkops.cover.out +PASS — 8.527s — 78.1% statements + +go test -p=1 ./internal/db/gorm -run '' -count=1 +PASS — 0.810s + +go test -p=1 ./internal/mcp -run '' -count=1 +PASS — 0.160s + +go test -p=1 ./internal/reviewpacket ./pkg/models -count=1 +PASS +``` + +Fresh race database `engram_prc_bulkops_sibling_race_20260710_101104510`: + +```text +go test -race -p=1 ./internal/bulkops -count=1 +PASS — 10.915s + +go test -race -p=1 ./internal/db/gorm -run '' -count=1 +PASS — 2.037s + +go test -race -p=1 ./internal/mcp -run '' -count=1 +PASS — 1.087s +``` + +Additional gates: + +```text +go vet ./internal/bulkops ./internal/db/gorm ./internal/mcp ./internal/reviewpacket ./pkg/models +PASS + +Serena diagnostics on all seven changed Go files +PASS — no warnings or errors + +git diff --check +PASS +``` + +Coverage remains an explicit WARN, not a fabricated pass: `internal/bulkops` is +78.1%, below the informational 80% threshold. The load-bearing functions measured +`NormalizeCandidateIDs` 100.0%, `executeBulkPromote` 86.2%, +`promoteWithMemoryAndSnapshotAction` 77.5%, `transitionWithSnapshot` 85.7%, +`amendCandidateReviewAfterTx` 66.7%, and `handleBulkPromote` 52.4% in their scoped +profiles. Each new contract also has direct behavior, repeat-20, race, and prove-it +evidence. + +## Full-package baseline, preserved rather than silently patched + +After the fixture correction, a fresh full `internal/db/gorm` run no longer reports +any candidate-review failure. It still fails six unrelated governance/migration tests: + +- `TestRuleGovernanceStore_AnnotatedCandidateWaitsUntilReviewAfter`; +- two lifecycle-health aggregate tests; +- three migration-144 rollback/reapply constraint tests. + +A fresh full `internal/mcp` run still fails the unrelated +`TestHybridTG3_ConfidenceMin_FloorEnforced_T022` JSON-shape test and +`TestEC_F1_TagDerivedBackfill_T007` compatibility test. These failures existed in the +pre-fix combined matrix, are outside this checker-bounded rework, and were not patched. +The full package commands therefore remain WARN/FAIL baseline; only the scoped gates +are claimed green. + +Fresh migrations also continue to log the known non-fatal stale pattern/relation +index warnings, absent `observation_vectors`, and unavailable `vectorscale` extension. + +## Database and worktree hygiene + +Every maker-owned RED, GREEN, fixture, repeat, scoped, race, full-gorm, full-MCP, and +prove-it database reached zero active sessions before exact-name drop. Final proof: + +```text +database count matching engram_prc_bulkops_sibling_%: 0 +active session count matching engram_prc_bulkops_sibling_%: 0 +``` + +The branch contains one commit over the required base after final amendment. No push +or integration was performed. + +## Maker disposition + +H1, M1, and M2 are closed by implementation and permanent evidence. The required next +gate is an independent acceptance checker against the exact handoff commit, followed +by separate post-run code review and the integrated production-readiness gates. diff --git a/.agent/reports/2026-07-10-db-embedding-stats-maker.md b/.agent/reports/2026-07-10-db-embedding-stats-maker.md new file mode 100644 index 00000000..8a3d4505 --- /dev/null +++ b/.agent/reports/2026-07-10-db-embedding-stats-maker.md @@ -0,0 +1,52 @@ +# DB-EMBEDDING-STATS Maker Report + +Date: 2026-07-10 + +Worktree: `D:/Dev/engram/.agent/worktrees/prc-db-embedding-stats` + +Branch: `work/prc-db-embedding-stats` + +Base: `origin/main@dc891b2d72b1fd63b83e4a630a249241fc389151` + +Finish state: `READY_FOR_INDEPENDENT_CHECK` + +## Classification and root cause + +The failure is a live production defect in `embedding.Store.Stats`, reached by fresh installs and by installations with no embedding chunks. PostgreSQL aggregate `max(created_at)` returns one row containing SQL NULL for an empty table. The current GORM path attempted to scan that NULL into `*time.Time` and returned: + +```text +unsupported Scan, storing driver.Value type into type *time.Time +``` + +The existing `TestStoreStats_Empty` was not deterministic evidence because it read the shared physical table and accepted populated state. The new regression shadows the shared relation with a transaction-local empty temporary `content_chunks` table, so the exact fresh-empty condition is proven without persistent schema or rows. + +## Change + +- Scan the nullable aggregate into `sql.NullTime`. +- Populate `LastChunkAt` only when the aggregate is valid. +- Add `TestStoreStats_EmptyPhysicalTableReturnsZeroValue`, which requires the entire `EmbeddingStats` result to be its zero value. + +No demolished graph, rerank, scoring, SDK extraction, or HTTP MCP path was restored. + +## TDD evidence + +- RED: the new regression failed on the unmodified production code with the exact NULL scan error. +- GREEN: focused test passed; repeat-20 passed; full `internal/embedding` package passed three times against a full-schema PostgreSQL database. +- Race: focused race repeat-3 and final full-package race passed. +- Vet: `go vet ./internal/embedding` passed. +- Prove-It: temporarily replacing `Store.Stats` with `panic("not implemented")` failed the regression; the controlled sentinel was removed and the test returned to GREEN. +- Coverage: package 47.8% WARN under the informational 80% default; touched `Stats` function 76.2%. No threshold was reduced. + +Canonical phase evidence is in `.agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.tdd.json`. + +## Environment and cleanup + +- PostgreSQL 17 test container: `engram-prc-postgres`. +- Dedicated database: `engram_prc_embedding_stats`, with pgvector enabled only for the RED/GREEN fresh-empty proof. +- Final active sessions for that database: `0`. +- The dedicated database was dropped with forced cleanup; final database count: `0`. +- The full package gates used the existing full-schema `engram_prc_crystallization` database read/write transaction fixtures and left their normal rollback boundaries intact. + +## Required next action + +A different native agent must create a fresh detached checker worktree at the exact candidate commit, reproduce the empty-table behavior independently, inspect NULL/non-NULL timestamp semantics, run focused/repeat/race/vet gates, verify no shared-data dependency or residue, and issue PASS or FAIL. A separate root post-run code review remains mandatory before integration. diff --git a/.agent/reports/2026-07-10-db-reaper-lifecycle-rework-maker.md b/.agent/reports/2026-07-10-db-reaper-lifecycle-rework-maker.md new file mode 100644 index 00000000..56e431bd --- /dev/null +++ b/.agent/reports/2026-07-10-db-reaper-lifecycle-rework-maker.md @@ -0,0 +1,82 @@ +# DB Reaper Lifecycle Rework — Maker Report + +Date: 2026-07-10 + +Worktree: `D:/Dev/engram/.agent/worktrees/prc-db-reaper` + +Branch: `work/prc-db-reaper` + +Base: `dc891b2d72b1fd63b83e4a630a249241fc389151` + +Rejected predecessor retained: `88f6bbb58c228b843dc30aa00bd05d3e775f3558` + +Prior checker report SHA256: `45584C1A632801BDFC2F85B013FB681B4B37080CE2AA5C83D35D92E1DBB26B6E` + +## Outcome + +The rejected predecessor's valid removal of `t.Parallel()` from the environment-mutating test is preserved. This successor fixes the ordinary lifecycle and retention correctness gaps that predecessor did not address. + +- `ENGRAM_PROJECT_RETENTION_DAYS` now has explicit deterministic behavior: unset, malformed, zero, and negative values use the documented 30-day default; positive values through `106751` days are honored exactly; larger positive decimal values skip the sweep instead of overflowing or clamping downward and deleting newer rows. +- `PurgeOnce` now returns a failed `DELETE` to its caller with query context instead of logging the error and returning `nil`. +- Reaper `Start`/`Stop` is a mutex-guarded restartable state machine. Stop-before-start is a no-op; concurrent/repeated starts own at most one loop; concurrent/repeated stops share cancellation and join the same completion; the ticker is stopped before completion is published. +- Service shutdown is once-only and nil-safe, joins partial async initialization, stops and joins the project reaper, drains other tracked goroutines, then closes the database. The project-reaper field is represented by the minimum lifecycle interface so shutdown ordering can be tested without weakening production construction. + +## Why service lifecycle files changed + +Live call-path tracing found `initializeAsync` created and started the reaper after readiness, while `Shutdown` cancelled the root context but neither joined initialization nor called `projectReaper.Stop()` before `store.Close()`. The reaper was also outside the service wait group. The minimum service changes are therefore required to make the requested database-close ordering true under ordinary and partial initialization. + +## TDD evidence + +Observed RED evidence precedes each corresponding production edit: + +- `tdd/retention-config.red.json` — missing bounded parser/max-safe behavior. +- `tdd/purge-error.red.json` — closed database logged an error while `PurgeOnce` returned `nil`. +- `tdd/stop-before-start.red.json` — Stop blocked forever before Start. +- `tdd/concurrent-lifecycle.red.json` — no concurrency-safe lifecycle/ticker ownership seam. +- `tdd/service-partial-init.red.json` — partial service shutdown panicked on nil cancel. +- `tdd/service-reaper-order.red.json` — no initialization join or testable reaper-before-database contract. + +GREEN and coverage are consolidated in `tdd/db-reaper-lifecycle-rework.tdd.json`. Reaper statement coverage is `87.6%`. The committed-snapshot Prove-It audit substituted the retention parser, synchronous purge, reaper stop/run lifecycle, and service shutdown/once paths; every mutation failed the intended regression tests, then the exact production files were restored from the committed snapshot and the focused suites returned green. Full mutation evidence is `tdd/prove-it.json`. + +## Verification + +All commands below were run from this worktree. + +| Gate | Result | +| --- | --- | +| Focused retention/error/lifecycle edge matrix, `-count=20` | PASS — `internal/worker/reaper` | +| Full reaper package, `-count=3` | PASS | +| Full reaper race package, `-count=10` | PASS | +| Service shutdown tests, `-race -count=10` | PASS | +| Worker package with `DATABASE_DSN` unset | PASS | +| Worker package tree with `DATABASE_DSN` unset | PASS | +| Repository `go test ./... -count=1` with `DATABASE_DSN` unset | PASS | +| `go vet ./...` | PASS | +| `go build ./cmd/engram-server` | PASS; disposable binary SHA256 `FCF19C377C32F86071052F6C1DCBB8DA53F5E360F65C1DBF0D12BC1DB74E7760` | +| `git diff --check` | PASS | + +The full command/result matrix is `evidence/production-ready/db-reaper-lifecycle-rework/verification-summary.json`. + +Residue cleanup is recorded in `evidence/production-ready/db-reaper-lifecycle-rework/residue-cleanup.json`: both reaper test databases are absent, their PostgreSQL session count is zero, no worktree/test process remains, the disposable server binary is absent, and the interrupted worktree semantic index created during source routing was removed. The pre-existing PostgreSQL container was retained. + +## Discrepancy surfaced + +One broad DB-backed `go test ./internal/worker -count=1` run failed five tests outside this diff: two DB-AUTH lifecycle tests assigned to the separate DB-AUTH lane, and three crystallization tests that assert direct decision-memory behavior demolished in v5. No failing test touches `internal/worker/reaper/**`, `Service.Shutdown`, or the new shutdown test. This is recorded as `FAIL_OUT_OF_SCOPE` in the verification summary rather than silently presented as green. The affected DB-backed shutdown surface passes under repeat and race, and the worker/full-repository unit baselines pass with `DATABASE_DSN` unset. + +## Scope + +Production/test paths changed: + +- `internal/worker/reaper/reaper.go` +- `internal/worker/reaper/reaper_test.go` +- `internal/worker/service.go` +- `internal/worker/service_reaper_lifecycle_test.go` + +Durable report/evidence paths: + +- `.agent/reports/2026-07-10-db-reaper-lifecycle-rework-maker.md` +- `.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/**` + +## Handoff state + +Status: `READY_FOR_INDEPENDENT_CHECK`. This maker report is not an approval and does not authorize integration. diff --git a/.agent/reports/2026-07-10-db-test-pool-hygiene-evidence-revision-maker.md b/.agent/reports/2026-07-10-db-test-pool-hygiene-evidence-revision-maker.md new file mode 100644 index 00000000..88960a7d --- /dev/null +++ b/.agent/reports/2026-07-10-db-test-pool-hygiene-evidence-revision-maker.md @@ -0,0 +1,109 @@ +# DB-TEST-POOL-HYGIENE evidence revision 2 maker report + +Status: **READY_FOR_RECHECK** + +This is an evidence-only maker handoff. It is not an acceptance verdict. A +different independent checker must verify the final commit before integration. + +## Immutable product boundary + +- Product parent: `bd68c05baf4b7250096dd84f56bebea2aa555970` +- Exact product/evidence candidate and revision base: + `276337b3e96aa5af6d2e7dd9a0002ff957e5ffc9` +- Branch: `work/prc-db-test-pool-hygiene-evidence-r2` +- Worktree: `D:\Dev\engram\.agent\worktrees\dbph-evidence-r2` +- Product/test paths changed by this revision: none. +- `internal/db/gorm/candidate_store_test.go` remains Git blob + `7337f1bd8da4fb315de842eea2e3cce5476250a3`, SHA-256 + `62260c1a2e0705b065295322dd23fcf9b17fd47cb5ebc64134630788e2d23e09`. +- The exact revision commit is reported after the atomic commit because a + commit cannot embed its own hash without changing that hash. + +## Corrected inventory + +The prior packet's 76-call/six-file statement was false for the exact parent. +Mechanical enumeration of every `internal/db/gorm/*_test.go` Git blob at +`bd68c05b...` proves **83 call sites across eight files**. The seven omitted +sites are one call in `temporal_truth_store_migration_test.go` and six calls in +`temporal_truth_store_test.go`. + +`INVENTORY.json` stores every path and parent line number. The permanent +verifier independently regenerates the list from the exact parent and rejects +any total, file set, or line list that differs from 83/8. + +## Preserved product evidence + +The product evidence is unchanged: + +- Exact parent broad package at `max_connections=100`: six governance/migration + semantic failures plus six secondary pool-exhaustion failures and nine + `too many clients` records. +- Exact candidate broad package: the same six semantic failures, zero secondary + exhaustion failures, zero `too many clients` records, and no candidate-only + failure. +- Focused cleanup regression `-count=20`: exit 0. +- Focused cleanup regression under `-race`: exit 0. +- Candidate/helper suite `-count=5`: exit 0. +- Candidate/helper suite under `-race`: exit 0. +- `go vet ./...` and `go build ./...`: exit 0. +- Every recorded fresh database and PostgreSQL session residue count: zero. + +Revision 2 reruns a focused exact-candidate smoke plus vet/build to bind the +unchanged product blob to this handoff; it does not rewrite or reclassify the +existing broad failures. + +The revision-2 commands and exits are recorded verbatim in `14-evidence-r2-focused.log` +and `15-evidence-r2-static.txt`: + +- `go test -p=1 ./internal/db/gorm -run ^TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose$ -count=3`: exit 0; +- `go vet ./...`: exit 0; +- `go build ./...`: exit 0. + +The focused run used fresh database `engram_chk_dbph_evr2_focus_a` and ended +with zero database and PostgreSQL activity residue. Its detached temporary +worktree `D:\Dev\engram\.agent\worktrees\dbph-evidence-r2-runtime` was removed +and is no longer registered. No LF/CRLF verification worktree is used: the +adversarial harness mutates GUID-scoped ordinary files and removes them. + +## Non-paradox checksum contract + +The representation is machine-explicit: `git-blob-bytes-v1`. + +- A manifest entry binds path, Git blob OID, SHA-256, and exact blob byte count. +- Checked-out working-tree bytes are never checksum contract bytes. +- Text blobs in this packet are clean-filtered LF Git blobs. CRLF/raw checkout + substitution must fail. +- `MANIFEST.json` excludes itself and the outer sums file. +- Final `MANIFEST.json` is generated first. +- `SHA256SUMS.txt` is generated second, includes the final manifest, and excludes + itself. No self-referential hash is claimed. + +`Verify-DBPoolHygieneEvidence.ps1` checks the Git object type, path-to-OID +binding, SHA-256, byte count, complete outer sum set, generation-order headers, +and regenerated exact-parent inventory. + +## Permanent fail-closed adversarial proof + +`Test-DBPoolHygieneEvidenceAdversarial.ps1` runs one valid baseline and four +mutations. The harness succeeds only when the baseline exits zero and every +mutation exits nonzero with its expected failure class: + +1. stale/mutated manifest entry; +2. raw CRLF manifest bytes under an LF/Git-blob contract; +3. unsupported raw-checkout representation contract; +4. forged 76-call/six-file inventory. + +The harness uses a GUID-scoped directory under the operating-system temp root, +verifies that path before recursive deletion, and requires zero temp residue. +It creates no Git worktree and no PostgreSQL database. + +The staged-index proof commands are: + +- `pwsh -NoProfile -File Verify-DBPoolHygieneEvidence.ps1 -RepositoryRoot -SourceMode GitIndex -OutputPath verifier-proof.json`: exit 0, PASS, 25 manifest entries, 26 checksum entries, and regenerated 83/8 inventory; +- `pwsh -NoProfile -File Test-DBPoolHygieneEvidenceAdversarial.ps1 -RepositoryRoot -SourceMode GitIndex -OutputPath adversarial-proof.json`: exit 0, with baseline exit 0 and each of the four required mutations exit 1. + +## Finish state + +`review-needed`: one atomic, clean, evidence-only successor is ready for a new +independent checker. No merge, push, rebase, tag, release, integration, primary +checkout, canonical roadmap, or shared control-plane mutation was performed. diff --git a/.agent/reports/2026-07-10-db-test-pool-hygiene-maker.md b/.agent/reports/2026-07-10-db-test-pool-hygiene-maker.md new file mode 100644 index 00000000..d951bf50 --- /dev/null +++ b/.agent/reports/2026-07-10-db-test-pool-hygiene-maker.md @@ -0,0 +1,133 @@ +# DB-TEST-POOL-HYGIENE maker report + +Status: **READY_FOR_RECHECK — EVIDENCE REVISION 2** + +This is a maker handoff, not a PASS/acceptance verdict. A fresh checker must +review the successor before integration. + +## Boundary + +- Exact parent: `bd68c05baf4b7250096dd84f56bebea2aa555970` +- Product/evidence candidate: `276337b3e96aa5af6d2e7dd9a0002ff957e5ffc9` +- Evidence revision branch: `work/prc-db-test-pool-hygiene-evidence-r2` +- Evidence revision worktree: `D:\Dev\engram\.agent\worktrees\dbph-evidence-r2` +- Product scope: none; only `internal/db/gorm/candidate_store_test.go` changed. +- Revision-2 scope: evidence/report/verifier bytes only. The product/test file is + byte-identical to the candidate (`62260c1a...`). +- Forbidden canonical register/Markdown/HTML, integration, tag, remote, and + unrelated product paths were not changed. +- Exact handoff SHA is supplied by the maker handoff after the single commit; + a commit cannot embed its own hash without changing that hash. + +## Cause and closure + +`openCandidateTestDB` created a GORM/`database/sql` PostgreSQL pool but never +closed it. It is a package-wide test owner, not a two-test local helper: exact +exact-parent mechanical inventory found 83 pre-existing call sites across eight +`*_test.go` files. Sequential top-level tests therefore retained idle pools for +the lifetime of one `go test` process and exhausted PostgreSQL's +`max_connections=100` budget. + +The shared owner now registers `sqlDB.Close()` with `t.Cleanup` immediately +after obtaining `*sql.DB`, before ping or migrations. Cleanup failures are +reported on the owning test. This closes the resource class for every caller, +including failure paths, without changing production code. + +The permanent regression opens one parent observer and four child-owned pools. +Each child proves its pool remains queryable and visible during the subtest; +after `t.Run` returns, `pg_stat_activity` must converge to the parent's baseline +within one second. This checks both non-premature close and owner cleanup. + +## TDD evidence + +All PostgreSQL runs used a fresh `engram_mkr_dbph_*` database and recorded +`max_connections`, command, timestamps, exit code, and post-drop DB/session +residue. + +| Evidence | Result | +|---|---| +| `01-parent-broad.summary.log` | Exact parent full package: exit 1; six pre-existing semantic failures followed by six client-exhaustion failures; nine `too many clients` records. | +| `02-parent-red.log` | RED: four child subtests accumulated sessions `1 -> 4` above baseline; exit 1. | +| `03-green-focused.log` | GREEN: each child was live at `1`, then returned to baseline `0`; exit 0. | +| `04-prove-it.log` | Final tolerant regression with only cleanup removed accumulated `1 -> 4`; exit 1. | +| `05-post-prove-green.log` | Cleanup restored; focused regression exit 0. | +| `06-repeat20.log` | Focused regression `-count=20`; exit 0. | +| `07-race.log` | Focused `-race`; exit 0. | +| `09-candidate-repeat5.log` | All candidate/helper-local tests `-count=5`; exit 0. | +| `10-candidate-race.log` | All candidate/helper-local tests under `-race`; exit 0. | +| `08-successor-broad.summary.log` | Full package: exit 1 only for the exact six unrelated semantic failures; zero client exhaustion. | + +Every row above finished with `database_residue=0` and +`activity_residue=0`. + +## Exact-parent comparison + +The parent and successor broad commands were byte-identical: + +```text +go test -p=1 ./internal/db/gorm -count=1 -v +``` + +Both expose the same six existing governance/migration failures: + +- `TestMigration144_RuleGovernanceEscapeConstraints` +- `TestMigration144_RuleGovernanceRollbackAndReapply` +- `TestMigration144_RuleGovernanceSnapshotStatusesAcceptExtendedStates` +- `TestRuleGovernanceStore_AnnotatedCandidateWaitsUntilReviewAfter` +- `TestRuleGovernanceStore_GetLifecycleHealthAggregatesGovernanceTables` +- `TestRuleGovernanceStore_GetLifecycleHealthOmitsGlobalArbiterRunsForProjectScopedReads` + +Only the parent additionally fails three TemporalTruth, two TokenStore, and one +TranscriptStore test after the pool budget is exhausted. The successor has no +new failure and zero `too many clients` occurrence. The full machine comparison +is `11-parent-successor-comparison.txt`; this broad package remains truthfully +FAIL/WARN, not green or allowlisted. + +## Static gates and scope proof + +- `go vet ./...`: exit 0. +- `go build ./...`: exit 0. +- `git diff --check`: exit 0 before evidence staging. +- Coverage: N/A; the only implementation is in `*_test.go`, which Go production + coverage does not instrument. +- Changed implementation file SHA-256: + `62260c1a2e0705b065295322dd23fcf9b17fd47cb5ebc64134630788e2d23e09`. + +## Discrepancy ledger + +1. The first GREEN assertion expected `pg_stat_activity` to drop synchronously. + Subsequent immediate observations sometimes retained one row briefly. A + bounded 10 ms poll proved convergence, so the permanent test requires the + exact baseline within one second; the parent/prove-it leak remains stable and + still fails at `1 -> 4`. +2. Fresh migrations emit existing non-fatal stale pattern/relation-index, + absent `observation_vectors`, and unavailable `vectorscale` warnings. They + were not patched or reclassified. +3. Serena diagnostics for the changed file did not return and was terminated. + This degradation is explicit; `gofmt`, full-repo vet, full-repo build, + focused/race/repeat, and parent-vs-successor runtime evidence are present. +4. The six unrelated broad semantic failures remain visible and block calling + the full package green. +5. Tracked `*.log` evidence was mechanically normalized to UTF-8/LF, tabs were + expanded, and end-of-line whitespace was removed; command text, output + content, exit codes, and timestamps were otherwise unchanged. +6. The two full-package outputs were captured in full, then reduced to compact + metadata/failure/package-result summaries for the tracked packet. The + summaries retain every top-level failure, every client-exhaustion record, + command/limit metadata, exit code, and residue result. +7. Independent checking found that the first packet omitted seven exact-parent + call sites in the two temporal-truth test files, advertised 76/6 instead of + 83/8, and wrote a stale outer checksum for the final manifest. Revision 2 + closes those audit defects without changing product/test implementation. +8. Revision 2 uses the machine-explicit `git-blob-bytes-v1` representation. + `MANIFEST.json` excludes itself and the outer sums file; the outer sums file + is generated only after the final manifest and includes the manifest. This + avoids a self-hash paradox. The permanent verifier rejects CRLF/raw-file + substitution, stale manifest entries, and false 76/6 inventory. + +## Finish state + +`review-needed`: one clean evidence-only successor commit is handed to a fresh +checker. The exact revision commit is reported after commit creation because a +commit cannot embed its own hash. No +integration, release, tag, push, or self-acceptance action was taken. diff --git a/.agent/reports/2026-07-10-release-gates-foundation-revision-4-maker.md b/.agent/reports/2026-07-10-release-gates-foundation-revision-4-maker.md new file mode 100644 index 00000000..32134780 --- /dev/null +++ b/.agent/reports/2026-07-10-release-gates-foundation-revision-4-maker.md @@ -0,0 +1,130 @@ +# RELEASE-GATES Foundation Revision 4 — Maker Handoff + +Status: `REVIEW_REQUIRED` +Foundation/conformance verdict: `READY_FOR_INDEPENDENT_CHECK` +Project-wide release verdict: `BLOCKED` +Rejected predecessor/base: `586b39df3465fb51779cf9225deaedbc212e4f9f` +Plan authority commit: `f987ce16ee1a0777793bc95113edd2885b19e202` +Implementation commit: `46ccf27968055a670f2b89907cc6da4478ac04fd` +Canonical UTF-8/LF plan SHA256: `d7bcfd122e456d9b764595524292d53b0c99447b7f716a1be0707341e4681bf9` + +## Outcome + +Revision 4 closes the five independent-check rejection classes in the release-gate foundation: + +1. Plan authority is now hashed after UTF-8/no-BOM and LF canonicalization. LF and CRLF checkout forms produce the same authority hash; a semantic mutation does not. +2. Workflow conformance now rejects removal or reordering of the explicit source build and rejects removal of `--no-build` from launch. The runtime chain is clean source commit -> server/operator build plus PostgreSQL pull -> post-build source recheck -> prelaunch image IDs -> `up --no-build --pull never` -> running IDs -> immutable-ID Scout inputs. +3. The master plan contains an exact, fail-closed `CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS` lane on `internal/worker/dream_cycle.go` and `internal/worker/dream_cycle_test.go`; store expansion requires a prior root amendment. The lane forbids resurrection of the v5-demolished direct-memory path. +4. The OpenClaw/ingest source lock is the actual root-owned artifact hash `A095E9D7B69DC95CAC4022EB97D2EA9B403D5132F5602FDD85E7D3A93092F5D4`. +5. The overlong revision-3 raw evidence tree and stale maker report were removed. A deterministic 66-character-prefix path-budget gate is tracked and the compact revision-4 evidence is under `.agent/e/rg4/`. + +This is not a project-wide PASS. The foundation fails closed and exposes the remaining product, test, image, OpenClaw, skip, and coverage blockers instead of suppressing them. + +## TDD and adversarial proof + +- RED: the old ownership runner rejected the single-owner dream epoch; raw LF and CRLF hashes differed. +- GREEN: ownership selftest proves LF == CRLF, semantic mutation != authority hash, and singleton plan/state epochs are valid. +- RED: before compaction, a 66-character checkout prefix produced length 262 with 73 tracked-path violations against the 240 ceiling. +- GREEN: implementation head has 1,402 tracked paths, longest combined length 166, zero violations. +- RED: conformance accepted the old stand without a source/build provenance contract. +- GREEN: conformance rejects 30 mutations, including removed build, build moved after launch, removed `--no-build`, wrapper removals, narrowed packages, changed race/count/coverage semantics, CRLF drift, and authority/state corruption. +- A bounded maker/checker review found wrong-type Boolean coercion, weak Scan linkage, order-only false greens, and untracked source contamination. The fixes use strict Boolean types, exact per-service scan/map/command binding, ordered conformance, `--untracked-files=all`, and a post-build HEAD/status recheck. Re-review found no blocker in that bounded scope. + +## Foundation evidence + +- Nine gate selftests: PASS. +- PowerShell parser: PASS for all changed scripts. +- `actionlint .github/workflows/test.yml`: PASS. +- Workflow conformance: PASS; 30 mutations rejected. +- Ownership Ledger: PASS; 48 slices, 325 declarations, 34 epochs. +- PLAN-GOVERNANCE Diff `586b39df..f987ce16`: PASS; 2 changed paths, zero violations. +- RELEASE-GATES Diff `f987ce16..46ccf279`: PASS; 135 changed paths, zero violations. +- Critical suite: PASS; 7/7 tests, zero failures/skips/malformed JSON. +- Dev stand on clean `46ccf279`: Up PASS, Ready PASS, Down PASS, zero residual resources. Build/pull/no-build and prelaunch/running identity all passed. +- Scout expected-negative used exact immutable image IDs: operator-console 5 findings, PostgreSQL 20, server 13. These are release blockers owned by image remediation, not foundation false greens. +- OpenClaw matrix expected-negative stopped before npm because the required tracked `package-lock.json` is absent; pre/post surface clean and cleanup passed. + +Compact machine evidence: `.agent/e/rg4/proof.json`. + +## Truthful project-wide RED + +The canonical full gate was executed without scope reduction: + +```powershell +pwsh ./scripts/production-gates/run-db-suite.ps1 ` + -FreshDatabase -Package ./... -Race -FailOnUnexpectedSkip ` + -Repeat 3 -PostgresContainer ` + -PostgresImage pgvector/pgvector:pg17 +``` + +It returned FAIL in all three repetitions: + +- test failures: 27 / 28 / 27; +- unexpected skips: 25 in every repetition; +- overall coverage: 53.00 / 52.99 / 52.99, below 60; +- seven package coverage floors remain below contract; +- cleanup exit: 0 / 0 / 0; +- direct SQL after the run: zero `engram_prc_rg_%` databases and zero matching sessions; +- the operator-owned PostgreSQL container remained running. + +The exact test, skip, and coverage inventory is `.agent/e/rg4/fail.json`. No allowlist, skip suppression, threshold reduction, or out-of-scope product patch was introduced. + +## Changed foundation surfaces + +- `.agent/plans/2026-07-10-engram-production-ready-master-plan.md` +- `.agent/plans/2026-07-10-engram-production-ready-ownership-state.json` +- `.github/workflows/test.yml` +- `scripts/production-gates/assert-plan-path-ownership.ps1` +- `scripts/production-gates/assert-windows-path-budget.ps1` +- `scripts/production-gates/run-db-suite.ps1` +- `scripts/production-gates/run-dev-stand.ps1` +- compact revision-4 report/evidence paths declared by the plan +- deletion of the declared legacy revision-3 maker report/evidence prefix + +## Independent checker commands + +Use the final candidate SHA from `git rev-parse HEAD`; the report cannot embed the hash of the commit that contains itself. The maker must provide that exact SHA out of band after this report commit and prove it from a clean worktree. + +```powershell +$Plan = '.agent/plans/2026-07-10-engram-production-ready-master-plan.md' +$State = '.agent/plans/2026-07-10-engram-production-ready-ownership-state.json' +$PlanSha = pwsh ./scripts/production-gates/assert-plan-path-ownership.ps1 -Plan $Plan -PrintCanonicalPlanSha256 +$Head = git rev-parse HEAD + +pwsh ./scripts/production-gates/assert-plan-path-ownership.ps1 -SelfTest +pwsh ./scripts/production-gates/assert-windows-path-budget.ps1 -SelfTest +pwsh ./scripts/production-gates/run-db-suite.ps1 -SelfTest +pwsh ./scripts/production-gates/run-dev-stand.ps1 -Config .agent/dev-stand.config.yaml -SelfTest +actionlint .github/workflows/test.yml + +pwsh ./scripts/production-gates/assert-plan-path-ownership.ps1 ` + -Mode Ledger -Plan $Plan -ExpectedPlanSha256 $PlanSha -State $State ` + -Artifact .agent/e/rg4-check/ledger.json + +pwsh ./scripts/production-gates/assert-plan-path-ownership.ps1 ` + -Mode Diff -Slice PLAN-GOVERNANCE ` + -Base 586b39df3465fb51779cf9225deaedbc212e4f9f ` + -Head f987ce16ee1a0777793bc95113edd2885b19e202 ` + -EvidenceNamespace '.agent/reports/evidence/production-ready/plan-governance/**' ` + -ReportNamespace '.agent/reports/production-ready/plan-governance/**' ` + -Plan $Plan -ExpectedPlanSha256 $PlanSha -State $State ` + -Artifact .agent/e/rg4-check/diff-plan.json + +pwsh ./scripts/production-gates/assert-plan-path-ownership.ps1 ` + -Mode Diff -Slice RELEASE-GATES ` + -Base f987ce16ee1a0777793bc95113edd2885b19e202 -Head $Head ` + -EvidenceNamespace '.agent/e/rg4/**' ` + -ReportNamespace .agent/reports/2026-07-10-release-gates-foundation-revision-4-maker.md ` + -Plan $Plan -ExpectedPlanSha256 $PlanSha -State $State ` + -Artifact .agent/e/rg4-check/diff-gate.json + +pwsh ./scripts/production-gates/assert-windows-path-budget.ps1 ` + -Repository . -Ref $Head -CheckoutPrefixLength 66 ` + -MaximumCombinedPathLength 240 -Artifact .agent/e/rg4-check/path.json +``` + +The checker must also extract and run the workflow conformance block, challenge strict Boolean types, duplicate/mismatched Scan services and IDs, late/dead build tokens, `--no-build` removal, CRLF checkout mutation, and an actual fresh 66-character-prefix checkout with `core.longpaths` unset/false. + +## Handoff + +Maker position: `READY_FOR_INDEPENDENT_CHECK` for the revision-4 foundation only. Independent checker and post-review remain mandatory. Project-wide production readiness remains `BLOCKED` by `.agent/e/rg4/fail.json`, exact image findings, and the missing OpenClaw lock/release lane. diff --git a/.agent/reports/2026-07-10-release-gates-r8-maker.md b/.agent/reports/2026-07-10-release-gates-r8-maker.md new file mode 100644 index 00000000..7a422403 --- /dev/null +++ b/.agent/reports/2026-07-10-release-gates-r8-maker.md @@ -0,0 +1,40 @@ +# RELEASE-GATES-R8 maker report + +Verdict: `PASS_PENDING_INDEPENDENT_CHECKER_AND_ROOT_POST_REVIEW` + +## Authority + +- Direct parent: PLAN-GOVERNANCE-R8 commit `37d185b33b8f9411564fda49cf8b0d58321b62fd`. +- Reconstruction base: `d59d1605969b1f567506e96ded524dfd1e4be08a`. +- Canonical UTF-8/LF plan SHA256: `fd2b223a9a62848efc39e1c33bf739bada191508bccb7ba9a73140185638e43d`. +- Scope-map SHA256: `81093184036672008d6b85dfa88a431998ef70b587ab11475aa2b315f03ddf79`. +- Register freeze provenance remains `AB5F882FA110CA823A317061ECBCA0C62516702735325893A56206F9E7A29415`, `updated_at=2026-07-10T22:46:01.2938194+03:00`, 67/67. +- Live structural checks observed two later normal-progress register states, first `8F099B7564FDE5655541E04E7A075B3441F460FD1A2058AFBEE771736D9F83E0` and then `22F2AF0817F1A525EA4436E95326353617294E02CCF2CDAED1A9C94ADC1997FC`. Both passed 67/67 without rewriting the freeze; the latter advanced DB embedding evidence inside its existing owner. + +## Delivered + +- Carried forward the R7 wrong-package repair: twelve exact test names emitted by `internal/mcp` now prove zero observed/executed required tests and fail with all twelve exact missing identities. +- Hardened CI AST conformance so the sole live required-test consumer must match both the exact case-sensitive `internal/grpcserver` package and exact test name. +- Bound CI and the ownership runner to the exact R8 plan, ownership state, and scope-map hashes. +- Added structural scope conformance for deleted plan rows, owner/fold integrity, exact live slice parity, new register rows, and explicitly rejected heads presented as accepted. +- Preserved the corrected non-freezing semantics: ordinary same-lane status/head advancement and timestamp, command, artifact, or notes changes remain valid. + +## TDD and Prove-It + +The initial scope self-test failed RED because `Invoke-ScopeContractAudit` did not exist. GREEN passes both release-runner self-tests. Two final Prove-It mutations fail exactly as required: + +1. Disabling the live package predicate enforcement makes the conformance harness report that `remove live session-start package predicate` was accepted. +2. Disabling live unique-slice-set enforcement makes the scope self-test report that a live register slice missing from the map was accepted. + +The final extracted CI block passed and rejected all 51 mutations. Machine evidence is under `.agent/specs/release-gates-r8/evidence/release-gates/`. + +## Verification + +- `actionlint .github/workflows/test.yml`: exit 0. +- `assert-plan-path-ownership.ps1 -SelfTest`: PASS. +- `run-db-suite.ps1 -SelfTest`: PASS. +- Extracted CI conformance: PASS, 51/51 mutations rejected. +- Live structural Ledger: PASS; 57 maker rows, 333 declarations, 34 repeated exact paths, 36/36 epochs, 67/67 live scope rows, zero errors. +- Local six-axis changed-code review: PASS with one overconstraint corrected before final green. + +The full fresh-database repeat-3/race suite and Docker dev-stand were not run in this maker turn; they remain root-authorized expensive acceptance gates. A fresh independent checker and separate root post-review are mandatory before integration. Cross-model review was unavailable during the maker turn because all native agent slots were occupied, so this report does not claim independent acceptance, integration, or release authorization. diff --git a/.agent/reports/2026-07-10-release-gates-r8-plan-governance.md b/.agent/reports/2026-07-10-release-gates-r8-plan-governance.md new file mode 100644 index 00000000..cabc8009 --- /dev/null +++ b/.agent/reports/2026-07-10-release-gates-r8-plan-governance.md @@ -0,0 +1,32 @@ +# PLAN-GOVERNANCE-R8 maker report + +Verdict: `PASS_PENDING_INDEPENDENT_CHECKER` + +## Authority + +- Reconstruction base: `d59d1605969b1f567506e96ded524dfd1e4be08a`. +- Rejected R7 plan: `a99ce0dfe4d415f90c0f192cbf96bd88710a48f5`. +- Diagnostic R7 release-gates source: `144eeefa003c3e1c0009c4264f41236ee3453b65`. +- R7 checker: `d8ba52d29f1c7f2169e3f76576248ab32d3b6646` (`REVISE`). +- Register freeze provenance: `AB5F882FA110CA823A317061ECBCA0C62516702735325893A56206F9E7A29415`, `updated_at=2026-07-10T22:46:01.2938194+03:00`, 67 rows / 67 unique slices. +- Canonical UTF-8/LF plan SHA256: `fd2b223a9a62848efc39e1c33bf739bada191508bccb7ba9a73140185638e43d`. +- Scope-map SHA256: `81093184036672008d6b85dfa88a431998ef70b587ab11475aa2b315f03ddf79`. + +The register SHA and timestamp freeze provenance only. Live conformance uses the exact unique slice set, classifications, literal owner/fold targets, required plan rows/epochs, and the four explicitly marked rejected-head policies. Same-lane status/head progress plus timestamp, command, artifact, and notes changes do not self-invalidate the plan. + +## Reconciliation + +- Restored all eight omitted predecessor obligations. +- Added all six newly explicit implementation/evidence lanes. +- Mapped all 67 register slices: 56 maker, 4 checker-evidence, 4 meta-fold, 1 historical, and 2 root-integration. +- Kept `MCP-STRUCTURED-INPUT-CLASSIFICATION` and `SECURITY-REVIEW` as plan-only authority rows. +- Reconciled the accepted DB behavioral-edge head, pending pool-hygiene stack, immutable DB embedding product head, rejected interim embedding evidence, and both confirmed SECURITY-PROJECT-IDENTITY R2 blockers. +- Expanded the ownership state from 34 to 36 epochs for `internal/mcp/tools_memory.go` and `docs/operating-engram.md`; updated `candidate_store_test.go` and `internal/worker/service.go` serialization. + +## Verification + +`assert-plan-path-ownership.ps1 -SelfTest` passed. Ledger passed with 57 parsed maker rows, 333 declarations, 34 repeated exact paths, 36 declared/state epochs, and zero errors. Scope parity passed at 67/67 with no missing owner or fold target. Full machine-readable evidence is under `.agent/specs/release-gates-r8/evidence/plan-governance/`. + +TDD is not applicable to this first commit because it changes only governance data and reports. Executable RED/GREEN/Prove-It work belongs to the directly stacked RELEASE-GATES-R8 commit. + +This is maker evidence, not checker acceptance, post-review, integration, or release authorization. diff --git a/.agent/reports/2026-07-11-db-test-pool-hygiene-evidence-revision3-maker.md b/.agent/reports/2026-07-11-db-test-pool-hygiene-evidence-revision3-maker.md new file mode 100644 index 00000000..d860880d --- /dev/null +++ b/.agent/reports/2026-07-11-db-test-pool-hygiene-evidence-revision3-maker.md @@ -0,0 +1,63 @@ +# DB test pool hygiene evidence revision 3 — maker report + +## Decision + +R2 is superseded for evidence acceptance. Its product candidate remains unchanged at +`276337b3e96aa5af6d2e7dd9a0002ff957e5ffc9`, but the R2 verifier failed open for +four evidence-integrity classes: coherent omission of a changed path, non-canonical +ordering, JSON type coercion, and numeric-string coercion. + +R3 repairs the evidence transport only. It does not modify product or test code. + +## Immutable lineage contract + +- Product candidate: `276337b3e96aa5af6d2e7dd9a0002ff957e5ffc9` +- R3 direct parent: `68242c48aaad62ec087166eeb9ea32f14d189450` +- Branch: `work/prc-db-test-pool-hygiene-evidence-r3` +- Product blob retained exactly: + `internal/db/gorm/candidate_store_test.go` = + `7337f1bd8da4fb315de842eea2e3cce5476250a3` / + `62260c1a2e0705b065295322dd23fcf9b17fd47cb5ebc64134630788e2d23e09` +- Inventory retained exactly: 83 call sites in 8 files at product parent + `bd68c05baf4b7250096dd84f56bebea2aa555970`. + +The final commit SHA cannot be embedded in its own tree. It is reported out of band +with the final tree, parent, changed-path list, and gate results. + +## R3 closure + +1. **Whole-delta completeness.** The verifier derives the changed-path set from + `276337b3..candidate`, not from the R2 parent. Every changed path must be a + manifest entry unless it is one of two exact self-references. `MANIFEST.json` + is excluded from its own entries but bound by `SHA256SUMS.txt`; + `SHA256SUMS.txt` alone is self-excluded. Both dynamic proof JSON files are + ordinary manifest and checksum entries. +2. **Canonical order.** Manifest and checksum paths must be unique and strictly + increasing under `StringComparer.Ordinal`. Reversal and duplication fail even + when all hashes are coherently regenerated. +3. **Strict raw JSON schema.** `System.Text.Json` validates raw kinds before any + PowerShell object conversion. Required strings, arrays, booleans, and + non-negative integer tokens reject scalar/array coercion, numeric strings, + decimals, missing fields, duplicate properties, and `null`. +4. **Adversarial proof.** The committed harness covers baseline, coherent missing + changed path, coherent unsorted and duplicate packets, wrong raw types, nulls, + CRLF bytes, wrong representation, and false 76/6 inventory counts. + +## Representation and generation + +The contract bytes are exact LF Git blob bytes (`git cat-file blob`). The builder +selects every tracked DB-pool evidence artifact, every matching maker report, and +the accepted product test blob from the Git index. It writes the manifest first and +the outer checksum second. The final verifier then checks the index packet; the +same verifier is suitable for an independent immutable-revision replay. + +## Verification + +Final results are captured in: + +- `DB-TEST-POOL-HYGIENE.evidence-r3.json` +- `verifier-proof.json` +- `adversarial-proof.json` + +The maker handoff is not acceptance. A fresh checker and root review remain +required before integration. diff --git a/.agent/reports/2026-07-11-db-test-pool-hygiene-evidence-revision4-maker.md b/.agent/reports/2026-07-11-db-test-pool-hygiene-evidence-revision4-maker.md new file mode 100644 index 00000000..d3da8921 --- /dev/null +++ b/.agent/reports/2026-07-11-db-test-pool-hygiene-evidence-revision4-maker.md @@ -0,0 +1,39 @@ +# DB-TEST-POOL-HYGIENE evidence revision 4 maker report + +## Scope and base + +- Role: maker only; independent checker is required after this immutable handoff. +- Evidence parent: `331b5b195a967e7f27dca94038a3480c9afcc84f`. +- Product candidate: `276337b3e96aa5af6d2e7dd9a0002ff957e5ffc9`. +- Worktree: `D:\Dev\engram\.w\dbph-r4`. +- Branch: `work/prc-db-test-pool-hygiene-evidence-r4`. +- Scope: evidence and this maker report only. No product, test, spec, readiness-register, or HTML path is changed. + +## Why revision 4 exists + +The R3 checker proved five coherent false-green packets were accepted: unknown manifest keys, unknown inventory keys, unsupported inventory schema, stale adversarial proof, and stale verifier proof. R4 treats those as one failure class: the packet described shape but did not validate the exact schema and the truth of its committed proof objects. + +R4 therefore uses one shared contract for exact object keys, schema versions, immutable product identities, and the ordered adversarial case catalog. The builder, verifier, and adversarial harness consume that contract instead of maintaining independent acceptance lists. + +## TDD trace + +- RED is preserved in `16-evidence-r4-red.json`: all five R3 false-green packets exited zero and reported PASS against R3. +- GREEN is proven by `adversarial-proof.json`: the original cases plus exact-key, wrong-schema, stale-proof, plausible-false-proof, ordering, diagnostics, CRLF, mixed-EOL, and duplicate-property cases all fail closed from coherent alternate Git indexes. +- REFACTOR keeps the schema and case catalog in `DBPoolHygieneEvidenceContract.ps1`; the builder and both verification paths consume it. +- The project forbade `.agent/specs/**` changes for this evidence-only revision, so the RED/GREEN/REFACTOR evidence is stored in the authorized evidence packet instead of the normal TDD spec location. + +## Evidence contract + +- Every JSON object and entry has an exact allowed-key set; unknown and duplicate properties fail. +- Manifest, inventory, verifier-proof, and adversarial-proof schema versions are exact values, not merely numeric values. +- Committed proofs are parsed and semantically checked for PASS status, Git-index source/revision, representation, current counts, empty-success semantics, exact case order/count, actual-versus-expected results, and required diagnostics. +- Each adversarial mutation gets a fresh repository and index, shares only immutable source objects via Git alternates, rewrites the mutated artifact blob, updates its manifest entry, and rebuilds the outer checksum. CRLF and mixed-EOL manifest mutations are likewise rehashed. +- Dynamic proofs use a deterministic valid bootstrap to break the manifest/checksum cycle. The real verifier and adversarial harness then replace the bootstrap, the packet is rebuilt, and an independent second harness run reproduces the real adversarial proof byte-for-byte. + +## Verification + +Final gate results and counts are recorded in `17-evidence-r4-gates.json` and the two committed proof files. The strict verifier passes with 21 changed paths, 19 directly bound paths, 35 manifest entries, 36 checksum entries, and inventory 83/8. All 35 adversarial cases pass, including the retained original 12; the independent repeat is byte-identical. Go vet/build, the focused database regression, script parsing, staged secret scan, scope checks, product-blob identity, and zero database/activity/temp residue also pass. The immutable commit SHA, tree, exact path list, and ordinal path-list digest are reported out of band because a commit cannot contain its own identity without self-reference. + +## Concerns + +No product-risk concern was introduced: `internal/db/gorm/candidate_store_test.go` remains byte-identical to the accepted product candidate. The remaining process concern is intentional: this maker result is not self-approved and requires the peer checker. diff --git a/.agent/reports/2026-07-11-demolition-portability-r1-maker.md b/.agent/reports/2026-07-11-demolition-portability-r1-maker.md new file mode 100644 index 00000000..0533eeb9 --- /dev/null +++ b/.agent/reports/2026-07-11-demolition-portability-r1-maker.md @@ -0,0 +1,60 @@ +# Demolition-portability R1 maker report + +Status: **READY_FOR_INDEPENDENT_CHECKER** after the staged/frozen candidate gates +listed below. This report describes the bounded candidate based on +`0c6269908aa810a2248f2bfaf3fca4f9f5791359`; it does not authorize synthesis, +merge, push, tag, release, or external mutation. + +The staged candidate owns exactly 15 paths. Its ordinal-LF path digest is +`996b153680df782d4247b6ef72120fba36bfc7cf3fb1015385817e1035ce700f` and its +ordinal-LF status/path digest is +`4761d8020de2f6ba49841291eca5996f7ae928559a69228c383f3ede5df71b18`. +Gitleaks 8.30.0 scanned the staged candidate with no findings. + +## Outcome + +- Graph tests now boot through the real migrated store, clean rows before the + pool closes, use the live edge enum, and prove the live foreign key rather + than trying to create an unreachable dangling row. +- `NodesStore.Create` and `NodesStore.Update` normalize omitted optional + metadata to `{}`, closing the current NOT NULL contract without adding graph + retrieval behavior. +- T022 parses the live items array, requires a real high-confidence match, and + rejects low-confidence or empty-result false greens. Retrieval code is + unchanged. +- Loom uses one compiled cross-platform test helper. Windows and Linux execute + the worker behaviors with zero skip, and package coverage is 86.9%. +- The portable helper exposed a live `limitedWriter` short-write defect. The + master plan was amended before the product edit; the fix now reports the + original input length only after the retained prefix is fully written and + still propagates real writer failures. + +## Evidence + +- `plan-amendment.json` — exact ownership and no-resurrection boundary. +- `red.json` — graph, T022, Loom portability, update metadata, and output-cap + RED observations. +- `prove-it.json` — controlled mutation/restoration proof for all three slices. +- `gates.json` — Windows/Linux, PostgreSQL, race, coverage, build, vet, broad + suite classification, and cleanup results. +- `demolition-guard.json` — live/stale/dormant classification and explicit + removed-v5 exclusions. + +## Broad-suite truth + +The isolated base intentionally does not include the separately accepted T007 +head or the in-flight DB-pool/governance stacks. The whole-repository JSON run +therefore remains red: 34 failed test events across `internal/db/gorm`, +`internal/bulkops`, and `internal/mcp`, plus 20 skips routed to their exact +owners. None is in the owned graph/T022/Loom slices; all focused owned gates, +build, and vet pass. This maker must be checked as a disjoint candidate and then +retested in synthesis with the accepted neighboring heads. + +## Required checker work + +The independent checker must verify exact path closure, replay RED/GREEN and +Prove-It, attack nil/empty metadata, FK enforcement, cleanup ordering, stale +edge enums, T022 empty/high/low behavior, Windows/Linux helper execution, output +cap alignment and underlying Writer errors, race/coverage, broad-suite +classification, zero database/temp-helper residue, and the full demolition +guard. Any HIGH/CRITICAL finding returns `REVISE_HOLD`. diff --git a/.agent/reports/2026-07-11-image-remediation-r2-maker.md b/.agent/reports/2026-07-11-image-remediation-r2-maker.md new file mode 100644 index 00000000..8920f380 --- /dev/null +++ b/.agent/reports/2026-07-11-image-remediation-r2-maker.md @@ -0,0 +1,115 @@ +# IMAGE-REMEDIATION-R2 immutable publish maker report + +Status: **READY_FOR_INDEPENDENT_CHECK after the post-commit cold gate recorded in the maker handoff**. + +This is a maker packet, not an acceptance verdict. The report is committed +before the final exact-HEAD cold build by design: a commit cannot embed its own +SHA without changing that SHA. The handoff supplies the exact successor commit, +ignored runtime-evidence paths, and final gate results. + +## Boundary + +- Exact parent: `0c6269908aa810a2248f2bfaf3fca4f9f5791359`. +- Worktree: `D:\Dev\engram\.agent\worktrees\image-remediation-r2-immutable-publish`. +- Scope: the A11 image build, scan, runtime, and immutable GHCR publication + boundary plus its operator documentation and executable evidence. +- The rejected R1 maker/checker commits are intentionally absent from ancestry. +- Integration, release, tag creation, package publication, and GitHub ruleset + mutation are outside this maker handoff. + +## Why the old path was not production-safe + +The former workflow mixed candidate execution and package-write authority, +relied on moving image tags, did not bind publication to one exact same-run +artifact, and did not prove all three runtime images as one accepted set. That +made a green build an insufficient release authority and left tag overwrite, +artifact substitution, credential exposure, and partial-publication races +under-specified. + +## Implemented architecture + +1. `.github/workflows/docker.yaml` is verification-only. Main, pull request, + and manual runs receive `contents: read`; they never log in to GHCR and never + receive `packages: write`. +2. `.github/workflows/docker-publish.yml` is a trusted `workflow_run` bridge + with two fresh runners: + - `prepare-release` checks out trusted default-branch control code, validates + event/tag/main/ruleset provenance, checks out the exact candidate SHA with + persisted credentials disabled, builds from a tracked-file-only archive, + and uploads exactly one immutable five-file payload; + - `publish-images` checks out trusted default-branch control code only, + repeats provenance/ruleset validation, obtains a REST census of the current + run, downloads by exact artifact ID, validates the payload as data, loads + exact image IDs, and only then receives bounded GHCR credentials. +3. Publication is exact and fail-closed. The three image IDs are mapped to six + destinations: canonical SemVer plus `sha-` for server, + operator-console, and PostgreSQL. Every destination is compared before the + first write, compared again after login, and read back after push. Existing + mismatched refs abort every write; exact matches are verified no-ops. No + `latest`, `main`, or other moving alias is emitted. +4. The artifact bridge rejects extra/duplicate/expired/wrong-run artifacts, + wrong ID/name/digest, extra payload entries, filesystem links/reparse points, + non-canonical paths, traversal, non-regular tar entries, hash/size drift, + manifest drift, and loaded-image label/ID drift. +5. Credential handling uses an isolated `DOCKER_CONFIG`. Logout and recursive + credential removal complete before publication evidence is validated and + uploaded. Candidate code is never checked out or executed in the privileged + job. +6. The images form one auditable runtime set: + - server: pinned Go builder plus pinned distroless Debian 13, UID 65532; + - operator console: pinned Node builder plus pinned distroless Node 22, + non-root runtime and semantic health check; + - PostgreSQL: pinned Wolfi base, PostgreSQL 17.10 and pgvector 0.8.1, including + legacy-volume ownership migration behavior. +7. Compose now requires exact image values through `ENGRAM_SERVER_IMAGE`, + `ENGRAM_OPERATOR_IMAGE`, and `ENGRAM_POSTGRES_IMAGE`; no production default + resolves to a moving repository tag. + +## Executable proof and TDD discrepancies + +- `TestDockerReleaseRefFreshnessGuard` covers workflow permissions/order, + trusted-vs-candidate checkout behavior, hostile refs, event/API provenance, + exact main/tag rulesets, artifact census, payload envelope, archive traversal, + six-destination planning, mismatch refusal, and idempotent publication. +- The protected-main authority guard is pinned to GitHub Actions integration ID + `15368`; the only recovery bypass is User ID `7106373` and only for + `pull_request`. A prove-it mutation to `15369` failed before restoration. +- RED evidence records the rejected one-runner bridge, raw shell/context seams, + manual-dispatch privilege, publication race, healthcheck runner gap, shared + builder VERSION gap, immutable-compose assertion mismatch, and commit-identity + payload mismatch. +- `cmd/engram-healthcheck` has permanent unit coverage and is used instead of + shipping curl or a shell solely for container health checks. +- A provisional no-cache run built and scanned all three images with zero + HIGH/CRITICAL Docker Scout findings and empty cleanup residue. It exposed two + real defects: the operator target did not receive the validated VERSION, and + the runtime test contradicted the immutable compose contract. Both received + permanent regressions. The already-scanned images then passed all three exact + runtime contracts in 225.565 seconds. +- `ValidatePayload`/`LoadPayload` accept both canonical SemVer and the canonical + `sha-<40 lowercase hex>` identity used by audited commit builds. The actual + publication planner and publisher remain strictly SemVer-only. + +## External fail-closed blocker + +Live GitHub evidence found only one active branch ruleset named `main`; it has +no include selector, required status authority, or recovery bypass. No exact +`refs/tags/v*` no-bypass ruleset exists. Therefore publication must and does +stop before registry login. The required state is captured in +`.agent/specs/image-remediation-r2/evidence/LIVE-RULESET-BLOCKER.json`. + +## Checker focus + +- Re-derive the two-runner trust boundary from workflow permissions and checkout + order; do not approve from seam presence alone. +- Mutate artifact identity/digest/run, candidate SHA, integration ID, ruleset + selectors/bypass actors, payload links/traversal, and one of the six remote + config digests; every mutation must fail before a package write. +- Verify the privileged job never checks out or executes candidate code and + that credentials are erased before evidence upload. +- Inspect the final ignored acceptance manifest, payload validation/load output, + runtime JSONL, scanner SARIF, cleanup census, exact commit count, and rejected + ancestry proof supplied in the maker handoff. + +Finish state: **maker freeze only; independent checker and control-plane +ruleset repair are required before integration/publication**. diff --git a/.agent/reports/2026-07-11-image-remediation-r2-security.md b/.agent/reports/2026-07-11-image-remediation-r2-security.md new file mode 100644 index 00000000..e065882d --- /dev/null +++ b/.agent/reports/2026-07-11-image-remediation-r2-security.md @@ -0,0 +1,93 @@ +# IMAGE-REMEDIATION-R2 security review + +Classification: **S4 / Critical** because the change controls production image +publication, receives `packages: write`, processes cross-run artifacts, and +crosses GitHub Actions, Docker, and GHCR trust boundaries. + +Verdict: **PASS WITH A BLOCKING EXTERNAL PRECONDITION for code review; production +publication remains prohibited until the required live GitHub rulesets exist +and an independent checker accepts the implementation**. + +## Attack-surface map + +| Surface | Untrusted or external input | Authority at the boundary | +| --- | --- | --- | +| `docker.yaml` | repository source from main/PR/manual | `contents: read` only | +| `workflow_run` bridge | triggering run metadata, candidate SHA, tag/ref, artifact metadata | trusted default-branch script; prepare job has `contents: read` | +| release payload | current-run artifact plus three Docker archives | publisher has no candidate checkout/execution; validates as data before login | +| GHCR registry | six existing remote refs and possible external package-admin writes | isolated short-lived `GITHUB_TOKEN` with `packages: write` only in publisher | +| runtime images | source tree, package lock, pinned bases/packages, database volume | non-root server/operator; explicit PostgreSQL ownership transition | +| GitHub rulesets | current repository control-plane state | external operator/admin boundary; validation is read-only and fail-closed | + +Attack-surface confidence: **95%**. The review covers every changed workflow, +publication helper, Dockerfile, Compose runtime, and executable critical test. + +## Security invariants and evidence + +- **Least privilege:** verification and preparation cannot publish. Only the + fresh publisher job has `actions: read` plus `packages: write`. +- **No privileged candidate execution:** the publisher checks out trusted main + only. Candidate source is executed solely on the unprivileged prepare runner; + persisted checkout credentials are disabled. +- **Injection resistance:** refs, SHAs, versions, repository identity, IDs, and + digests are passed as typed script arguments and validated; raw event/context + values are not interpolated into shell programs. +- **Artifact integrity:** a fresh REST census requires exactly one non-expired + current-run artifact with the expected ID, name, and SHA-256 digest. Download + is by numeric artifact ID, not name. +- **Path/deserialization safety:** the payload envelope is exactly five regular + files under a trusted no-link output tree. Bundle names are basenames; outer + tar entries must be regular files/directories; absolute/traversal paths and + links are rejected; every byte count and SHA-256 is re-derived. +- **Registry race handling:** all six destinations are compared before login and + again before the first push, then read back. The implementation explicitly + does not claim atomic compare-and-swap semantics from GHCR and records external + package administrators as a residual trust boundary. +- **Credential containment:** `DOCKER_CONFIG` is isolated, logout is mandatory, + and the credential directory is removed before publication evidence upload. +- **Supply-chain pinning:** workflow actions and image sources are digest-pinned; + PostgreSQL/pgvector package versions are exact; the build context comes from + tracked files only and excludes Git metadata/credentials. +- **Container hardening:** server and operator use minimal distroless runtimes + and non-root users. Dedicated compiled health checks avoid adding shell/curl + attack surface. Runtime tests verify user, health, persistence, schema, + restart/recreation, and version contracts. +- **Vulnerability evidence:** `govulncheck ./...` reports zero reachable Go + vulnerabilities. Docker Scout reports zero HIGH/CRITICAL findings in every + provisional image. Secret-pattern review found only empty environment + pass-through variables and a per-run random PostgreSQL password, not embedded + credentials. + +## STRIDE review + +| Threat | Control | +| --- | --- | +| Spoofing | Exact repository, workflow, run, SHA, tag, artifact ID/name/digest, and ruleset actor IDs are independently revalidated. | +| Tampering | Tracked-only build context, same-run immutable artifact census, byte/hash/size checks, exact image IDs, and post-push readback. | +| Repudiation | Acceptance manifest, release bundle, artifact census, pre-login plan, publication result, scanner SARIF, runtime JSONL, and cleanup census form an audit trail. | +| Information disclosure | Candidate code cannot observe publisher credentials; Docker credentials are isolated and erased; build context excludes `.git` and credentials. | +| Denial of service | Malformed/extra/expired artifacts and conflicting tags fail before login/write; cleanup is prefix-bounded and proves zero residue. | +| Elevation of privilege | Package authority exists in one fresh trusted-code job only and is conditional on exact protected-main/tag-ruleset policy. | + +## Findings and residual risk + +| # | Severity | Finding | Disposition | +| --- | --- | --- | --- | +| 1 | BLOCKER / external | Live repository rulesets do not provide the required exact protected-main authority guard, recovery bypass, or no-bypass `refs/tags/v*` protection. | Publication remains fail-closed before login. Repository administrators must configure and independently verify the rulesets. | +| 2 | MEDIUM / accepted scope | GHCR does not expose an atomic immutable-tag compare-and-swap primitive; an external package administrator can race repository workflow publication. | Explicit trust boundary; compare-before-write plus readback detects conflicts but cannot remove external administrator authority. Restrict and audit package-admin membership. | +| 3 | MODERATE / dependency | `npm audit` reports GHSA-gj2h-2fpw-fhv9 in direct `@nuxt/ui` 3.3.7; the affected `UAuthForm`/`UForm` components have no source usage in `apps/operator-console`. The available fix is a major upgrade. | Not reachable in the shipped console by current-source search. Track a separately tested Nuxt UI upgrade; do not introduce those components before upgrade. | +| 4 | LOW / hardening | The exact A11 payload carries hashes, scanner output, and an acceptance manifest but no signed OCI provenance/SBOM attestation. | Preserve as explicit future supply-chain hardening; immutable refs and byte-bound local evidence are the current contract. | + +## Rollback and approval boundary + +- Before package login there is no external side effect; any failed validation + leaves only bounded runner-local artifacts, which cleanup removes. +- Once a previously absent immutable ref is pushed, rollback means retaining the + immutable ref and publishing a new canonical version; force-moving or deleting + a release tag/image is not an allowed rollback. +- The S4 human/control-plane gate is intentionally outside this maker: the user + authorized implementation and verification, but live ruleset mutation and + production publication were not performed. + +Security finish state: **implementation may enter independent checker review; +publication may not proceed while Finding 1 remains open**. diff --git a/.agent/reports/2026-07-11-release-gates-r10-plan-governance.md b/.agent/reports/2026-07-11-release-gates-r10-plan-governance.md new file mode 100644 index 00000000..949ebfe0 --- /dev/null +++ b/.agent/reports/2026-07-11-release-gates-r10-plan-governance.md @@ -0,0 +1,46 @@ +# RELEASE-GATES R10 plan-governance maker report + +Status: `A10_READY_FOR_COMMIT` + +## Outcome + +This governance revision closes the dispatch ambiguity before any R10 guard +implementation is written. It preserves R9 PLAN-GOVERNANCE A and RELEASE-GATES +B as rejected history, starts from exact B head +`f11a77cce88f013839e22662458a3318670445e9`, and forbids checker-only commit +`0354362c427d99eb2993e5acddeb9d5bcd561df7` as a maker base. + +The R9 independent verdict is `REVISE`: two HIGH failure classes and one MEDIUM +failure class. R10 therefore owns strict raw-JSON schema/type/null/duplicate/path +validation and trusted-base PR authority enforcement. The exact twelve-path B10 +envelope is present in the master plan, active contract, ownership state, and +`path-envelope.json` before implementation. + +## Contemporaneous authority + +- SECURITY-PROJECT-IDENTITY R4 maker `320f1d80` is accepted by direct-child + checker `3aa11399`; the exact five-path LF digest is `ff2385aa...e5b5b7d`. +- DB-TEST-POOL-HYGIENE R2 `68242c48` is rejected by checker `a7b2d36b` with four + HIGH evidence-gate failures. Immutable direct-child R3 `331b5b19` is pending + fresh checker and root acceptance; maker GitRevision, adversarial 12/12, + diff-check, and gitleaks evidence is green without changing product paths. +- DB-EMBEDDING-EVIDENCE-TRANSPORT R6 `a1a3bfeb` is immutable and checker-pending. +- Canonical DB repeat-3 remains `0/3`; image HIGH/CRITICAL counts remain + server/PostgreSQL/operator `5/20/13`. Both remain release blockers. +- The v5 demolition exclusions are unchanged and are not R10 build targets. + +## External enforcement truth + +Live GitHub inspection found public User-owned repository `thebtf/engram`, +default branch `main`, and active ruleset `13610955`. The ruleset contains only +deletion and non-fast-forward protection. It does not yet require an authority +guard status. Required-status activation is a separate root-owned transition +after the accepted R10 workflow exists on the default branch; no external +mutation was made by this maker. + +## Commit contract + +A10 must be the direct child of `f11a77cc` and contain only the eight governance +paths in `path-envelope.json`. B10 must be A10's direct child and contain only +the twelve owned implementation/evidence paths. No integration, push, tag, +release, or ruleset edit is authorized here. diff --git a/.agent/reports/2026-07-11-release-gates-r12-plan-governance.md b/.agent/reports/2026-07-11-release-gates-r12-plan-governance.md new file mode 100644 index 00000000..1cf01c81 --- /dev/null +++ b/.agent/reports/2026-07-11-release-gates-r12-plan-governance.md @@ -0,0 +1,34 @@ +# RELEASE-GATES R12 plan-governance / R15 closed-world authority maker report + +Status: `R15_CLOSED_WORLD_AUTHORITY_READY_FOR_FRESH_MAKER_DISTINCT_CHECKER` + +Successor base: `cf85a59894150bdb122067c7bb2c421b3929f1e6` + +## Frozen authority + +A12 is the exact child of rejected A11 `887b7c6144a09829a1a3f43ff5a19d3fb27fb7c1`. It preserves A11 and the parked B11 draft as rejected history. The committed transition manifest no longer requires its own head SHA or container blob. The trusted-base execution artifact binds the actual event head, actual manifest-container blob, canonical manifest digest, trusted validator blob, and required-status producer tuple. Strict latest-base, one-use epoch, expiry, consumed history, two-PR stale-loser behavior, unprivileged successor selftest, and PR-only recovery remain mandatory. + +The plan retains exactly 69 unique slices. Forty-three existing slices are grouped into MB1 through MB4 without replacing their identities. Macro branches, dependencies, accepted predecessors, collision order, and maker-distinct checker/root-review boundaries are frozen in the active contract. + +DOCUMENT R2 is rejected for concurrent duplicate removal success. Its R3 successor is immutable at `9ea95b6adc3a838a459bf78e3ba7a0292153960f`, tree `c15a731de8ca8acac09bce8b209e2a27dd6303cb`, with exactly six changed paths. R3 remains unaccepted pending a fresh checker. + +## Gates + +- A14's maker-distinct checker returned `REVISE` after its expanded 65-case hostile matrix exposed eleven sibling authority false-greens. R15 replaces the recurring partial-field design with one complete canonical-manifest digest embedded in trusted validator bytes plus recursive closed-world hostile checks; the manifest then binds the shipped macro diagnostic by canonical SHA-256, so neither authority path depends on an unreachable predecessor Git object or self-accepts the successor. +- The exact protected surfaces are `authority`, `external_enforcement`, `control_plane_maintenance`, and `macro_batches`. Missing, unknown, alias, duplicate, wrong-type, wrong-value, nested drift, direct-bypass, array-cardinality, and array-order shapes fail through the same comparison path. Collision path identity also uses the existing exact-sequence helper instead of set equality. +- Raw JSON is scanned recursively before `ConvertFrom-Json`. This is required because current Microsoft PowerShell documentation states that duplicate keys otherwise collapse to the last value. Exact and case-alias duplicates are both rejected. +- Fixed-point proof hashing now canonicalizes UTF-8/LF, and an explicit CRLF inverse proves the same authority digest in a fresh `core.autocrlf=true` Windows checkout. +- Nested authority values require exact Boolean, integer, string, array, and null semantics before their values are used. +- Active epoch identity, exact authorized actor/change set, exact active window containing current UTC time, bounded TTL/lifetime, consumed/non-reopen, and two-PR stale-loser invariants are checked and hostile-flipped. +- The required-status integration ID must be a JSON integer with exact value `15368`; PowerShell coercion is not authority. +- All four macro batch identities, branches, exact maker sequences, dependencies, accepted predecessors, MB4 path count, and all seven collision orders are checked. The macro source must be the tracked `challenge-report.json` blob from immutable A13 `69b4b871`, with its canonical byte hash; coordinated path/hash drift cannot self-authorize. +- R12 plan-governance validator, recursive property/permutation selftest, and the unchanged independent checker hostile matrix: PASS, 65/65 expectations, zero false-greens. +- Prove-It: replacing `Test-StrictAuthoritySchema` with `return $true` makes the committed validator exit 1 on `unknown manifest alias was accepted`; restoring the implementation returns GREEN. +- Active-candidate and plan-path-ownership selftests: PASS. +- JSON parse, `git diff --check`, `go build ./...`, `go vet ./...`, and `go test ./... -count=1`: PASS (skips remain non-acceptance evidence). +- Legacy ownership ledger: expected RED with exactly 12 errors, all the single known class `replacement transition_kind` unsupported by the current validator; B12 owns that implementation closure. +- No GitHub ruleset, tag, release, primary checkout, product source, or foreign repository was mutated by A12. + +## Commit boundary + +R15 remains inside the exact 15 paths in `path-envelope.json`; it changes no product, workflow, database, MB1, or external-system path. The successor requires a fresh maker-distinct checker and root post-review before acceptance. B12 remains gated on that acceptance and may change only its declared 21 paths. Synthesis must transplant only the accepted authority delta onto `fef455bcf640f849c2d40c9bc26a459b5593e10a`, the Go 1.25.12 line, then run integrated `govulncheck`; this isolated ancestry retains the known Go 1.25.11 security baseline and is not itself releaseable. diff --git a/.agent/reports/2026-07-11-release-gates-r9-maker.md b/.agent/reports/2026-07-11-release-gates-r9-maker.md new file mode 100644 index 00000000..17ba745d --- /dev/null +++ b/.agent/reports/2026-07-11-release-gates-r9-maker.md @@ -0,0 +1,68 @@ +# RELEASE-GATES-R9 maker report + +## Identity and scope + +- Immutable rejected R8 head: `406fe952c143eb8aaf5895427c568a41d4cec225`. +- Immutable R9 governance commit A: `8cb810095b2bea77ab9812832d9ab8a99c928d18`, direct parent R8. +- This commit B is a direct child of A and changes only the R9 release-gate workflow, the two release-gate scripts, this report, and `.agent/specs/release-gates-r9/evidence/release-gates/**`. +- No product implementation, master-plan, ownership-state, scope-map, active-diff contract, canonical register, primary worktree, integration worktree, HTML report, merge, push, or tag was changed. + +## Implemented release authority + +`assert-active-candidate-path-authority.ps1` is a self-contained frozen gate over the R9 plan and active-diff contract. The workflow pins the canonical UTF-8/LF SHA-256 values: + +- plan: `4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f`; +- scope map (ownership Ledger): `fb170d59f3072117489402fd347cd1432c40adbc842811f92227498bcbc92693`; +- active-diff contract: `d8e7818d84831f047d30a8493f9c7d2a8cea288d5c381735960d11dd02988ae5`. + +The gate validates all nine frozen candidates and 123 frozen paths, exact Git status/path digests, plan ownership, status classes, branch/base/head identities, pending namespaces, and release-acceptance falsehood. Optional pending arrays are normalized: prefix-only R6 emits `allowed_exact_paths: []`, never `[null]`. + +Load-bearing metadata is also semantic, not merely hash-pinned: exact authority paths, rejected R8 head `406fe952...`, R8 scope provenance `ab5f882f...`, discovery-only mutable-register provenance, and SHA-256 ordinal/case-sensitive path serialization are required. The artifact explicitly reports `HISTORICAL_DISCOVERY_ONLY`, `used_for_acceptance=false`, and `mutable_register_read=false`. + +Pending probes must start at the contract's exact `base_anchor` and prove that base is an ancestor of head. Their effective `.agent` surface is every bounded plan-owned declaration for the slice, not only the newest revision prefix. Product/test exact paths remain optional members of the allowed set: + +- R6 accepts all six bounded common/R3/R4/R5/R6/spec evidence families and reports zero exact paths. +- R4 allows either/both exact test paths but does not require an unnecessary `identity_test.go` edit. `identity.go` remains forbidden in the final diff. +- The observed R4 head `ffdbaefb5fb9685899663a40c6b6fef4a08448ba` fails with exactly one violation: `.agent/testing/SECURITY-PROJECT-IDENTITY-R4/behavior-signal.md`. Authority was not broadened; a narrow successor must remove that path. + +`assert-plan-path-ownership.ps1` now preserves empty slice/declaration results as typed arrays. The seven-path misbound DEMOLITION diff therefore returns the explicit `found 0` maker-row failure rather than an internal scalar `Count` exception. + +## TDD evidence + +The committed RED records show five independently observed failure classes before their production fixes: + +1. the active-candidate script was absent; +2. prefix-only pending output serialized a null exact-path declaration; +3. a non-anchor pending probe was not rejected explicitly; +4. R9 load-bearing metadata mutations were not semantically rejected; +5. zero-row Diff mode threw an internal scalar `Count` exception. + +GREEN self-tests reject missing/extra/wrong-owner/wrong-test/stale-namespace/zero-declaration candidates, undeclared and forbidden pending paths, prefix-only null output, incomplete full pending evidence surfaces, non-anchor bases, wrong R8/AB5F provenance, mutable-register acceptance, and wrong digest serialization/case. + +## Verification + +| Gate | Result | +| --- | --- | +| PowerShell parser for both changed gates | PASS | +| `assert-active-candidate-path-authority.ps1 -SelfTest` | PASS | +| frozen default audit | PASS: 9 candidates, 123 paths, 2 pending, 0 errors | +| full local Git replay with required objects | PASS: 9/9 verified | +| R4 `38344455..ffdbaefb` pending probe | expected FAIL: one undeclared `.agent/testing/**` path | +| DEMOLITION `4812589b..d59d1605` | expected FAIL: 7 diff entries, 0 maker rows, no internal exception | +| plan ownership self-test + static Ledger | PASS: 57 rows, 351 declarations, 34 repeated exact paths, 36 epochs | +| SECURITY-PROJECT-IDENTITY R3 replay | PASS: 14 paths, 0 violations | +| rejected DB embedding R5 path replay | PASS: 28 paths, 0 violations; acceptance status remains rejected | +| `actionlint .github/workflows/test.yml` | PASS | +| executable workflow conformance | PASS: all predecessor predicates plus 70 mutations rejected | +| synthesized staged-tree RELEASE-GATES exact Diff | PASS: 24 paths, 0 violations | +| `run-db-suite.ps1 -SelfTest` | PASS: exact package-plus-test and 12-test zero-skip false-green rails | +| tracked critical suite | PASS: 7 passed, 0 failed, 0 skipped | +| `go test ./...` | PASS | +| `go vet ./...` | PASS | +| `go build ./...` | PASS | +| exact staged diff gitleaks | PASS: no leaks | +| native BOM scan over exact staged paths | PASS: 24 paths, no UTF-8/UTF-16 BOM | + +The repository has no `tools/check-bom.cjs`; that requested helper invocation failed with `MODULE_NOT_FOUND` and was not treated as proof. A native byte-prefix scan over the exact staged commit-B set passed. Whole-directory gitleaks reports 14 pre-existing findings in five files outside commit-B scope; the exact staged B diff scan passed with no findings. + +The heavy Docker-backed fresh-database repeat-three suite was not duplicated in this release-gate-only maker worktree. Its runner and false-green semantics are unchanged and the workflow continues to execute it as the canonical release gate. diff --git a/.agent/reports/2026-07-11-release-gates-r9-plan-governance.md b/.agent/reports/2026-07-11-release-gates-r9-plan-governance.md new file mode 100644 index 00000000..30e06960 --- /dev/null +++ b/.agent/reports/2026-07-11-release-gates-r9-plan-governance.md @@ -0,0 +1,65 @@ +# PLAN-GOVERNANCE-R9 maker report + +Status: `READY_FOR_COMMIT_A_VERIFICATION` + +## Decision + +R8 is rejected and immutable at `37d185b33b8f9411564fda49cf8b0d58321b62fd` / `406fe952c143eb8aaf5895427c568a41d4cec225`. R9 preserves its 67/67 structural projection, AB5F provenance, 36 ownership epochs, same-lane progress policy, rejected-head policy, and all predecessor obligations. It adds a tracked exact-diff authority so CI does not need the ignored mutable register or foreign candidate objects. + +Path authority never implies product acceptance. Current candidates, historical/rejected candidates, pending namespaces, classification-only rows, and path-conflicting candidates are distinct machine states. + +## Full resolvable-row audit + +The audit inspected all 14 canonical-register rows whose full base/head objects resolved locally. Exact machine evidence is `resolvable-register-diff-mismatch-inventory.json`. + +| Slice/class | R8 result | R9 disposition | +| --- | --- | --- | +| SECURITY-PROJECT-IDENTITY R3/R4 | FAIL: 11 undeclared of 14; subsequent checker `REVISE/HIGH` | Freeze R3's exact 14-path diff as rejected history; remove the wrong `project_store_test.go` declaration; start pending R4 from product head `38344455`, never checker-only `0d84047c`, bounded to existing `identity_test.go` and/or new black-box `identity_process_test.go` plus evidence/report namespaces; temporary `identity.go` RED mutations are forbidden in the final diff. | +| DB-EMBEDDING-EVIDENCE-TRANSPORT R5 | FAIL: 10 undeclared of 28 | Keep R5 rejected, authorize the literal R5 family, and reserve only the literal R6 family for its exact-base successor. | +| DB-AUTH | FAIL: 1 undeclared report of 5 | Add the exact report. | +| DB-EMBEDDING-STATS | FAIL: 4 undeclared of 8 under the R8 Diff namespaces | Add the exact report and both bounded evidence families. | +| DB-REAPER | FAIL: 2 undeclared of 2 plus `service.go` owner conflict | Reject from frozen current authority; do not create a simultaneous writer. A fresh candidate needs an epoch-safe amendment. | +| DB-BULKOPS | FAIL: 4 current-owner conflicts | Preserve as rejected historical evidence; no acceptance. | +| DB-BULKOPS-BEHAVIORAL-EDGE-REWORK | FAIL: partial register base violates the rejected-predecessor lock on 2 paths | Freeze the full `68b2ce58..bd68c05b` candidate and its 38 exact paths. | +| DEMOLITION-SKIP-CLASSIFICATION | 7 misbound R5 paths, no maker row; R8 Diff throws scalar `Count` error | Reject the register/head binding, preserve the checker classification as provenance, and require a clear zero-declarations/non-empty-diff failure. | +| DB-CRYSTALLIZATION | PASS | Freeze unchanged. | +| DB-TEST-POOL-HYGIENE | PASS | Freeze unchanged. | +| SECURITY-TOOLCHAIN | PASS | Freeze unchanged. | +| MASTER-PLAN / PLAN-GOVERNANCE / RELEASE-GATES | R9 base=head at observation | Explicit in-progress empty self rows; A/B receive separate exact Diff proof after commit. | + +## Frozen contract + +- Candidates: 9. +- Exact frozen paths: 123. +- Pending contracts: literal R6 evidence prefix; R4 exact proxy test plus existing bounded security evidence/report families. +- Path serialization: ordinal, case-sensitive, one normalized UTF-8 path plus LF. +- Excluded conflict: DB-REAPER `service.go` remains AUTH-BOOTSTRAP-SECURITY-owned. +- Corrected lineage: DB-BULKOPS-BEHAVIORAL-EDGE-REWORK starts from rejected predecessor `68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef`, not the live register's partial `cd098397..bd68c05b` window. + +## Authority hashes before commit A + +| Artifact | Canonical SHA256 | +| --- | --- | +| master plan | `4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f` | +| ownership state | `e41f52fbafa317eb1571c76a7d1de9add543da38a1b2471dbe587a849b21c032` | +| scope map | `fb170d59f3072117489402fd347cd1432c40adbc842811f92227498bcbc92693` | +| active-diff contract | `d8e7818d84831f047d30a8493f9c7d2a8cea288d5c381735960d11dd02988ae5` | +| mismatch inventory | `1f42fda4bc8fdd6121ecc894e017c7371cde75c300736b7b067ae89ba94d1a67` | + +The mutable register snapshot was discovery input only (`29865adc048cb3f64ec7d133b3bd901c95115e4ae5b95c98927607de889f77d4` at capture). Neither the frozen gate nor CI requires that ignored file. + +## Boundaries + +No product file, primary checkout, canonical register, HTML report, merge, push, or tag was changed. Commit A contains only plan/state/scope governance plus R9 plan-governance evidence/report. Commit B will add the executable gate/workflow bindings and its own evidence/report. + +## Verification before commit A + +- `assert-plan-path-ownership.ps1 -SelfTest`: PASS. +- Static Ledger: PASS, 57 maker rows, 351 declarations, 34 repeated exact paths, 36 epochs, 67/67 scope entries. +- Live/current Ledger against the ignored register: PASS with the same structural counts; mutable progress was not used as frozen authority. +- Exact SECURITY-PROJECT-IDENTITY R3 Diff: PASS, 14 paths, 0 violations. +- Exact rejected DB-EMBEDDING-EVIDENCE-TRANSPORT R5 Diff: PASS for path authority, 28 paths, 0 violations; status remains rejected. +- Corrected full DB-BULKOPS-BEHAVIORAL-EDGE-REWORK `68b2ce58..bd68c05b`: PASS, 38 paths, 0 violations, rejected-predecessor epoch satisfied. +- DB-AUTH: PASS, 5 paths, 0 violations. +- DB-EMBEDDING-STATS: PASS, 8 paths, 0 violations. +- Frozen-contract preflight: PASS, 9 candidates / 123 exact paths / 2 pending contracts; all digests, ordinal order, classifications, plan owners, branches, and pending declarations match. diff --git a/.agent/reports/db-auth-rework-maker-2026-07-10.md b/.agent/reports/db-auth-rework-maker-2026-07-10.md new file mode 100644 index 00000000..5924e4d7 --- /dev/null +++ b/.agent/reports/db-auth-rework-maker-2026-07-10.md @@ -0,0 +1,155 @@ +# DB-AUTH rework maker report + +Date: 2026-07-10 +Parent commit: `b0c4ab4c07a4c6f512728da52b2e132bacd0289c` +Branch: `work/prc-db-auth` +Worktree: `D:\Dev\engram\.agent\worktrees\prc-db-auth` + +## Outcome + +Concurrent first-admin setup is now serialized by PostgreSQL across independent server processes. Exactly one setup request can create the initial administrator; a concurrent loser receives the typed `ErrInitialAdminSetupAlreadyCompleted` store error and HTTP `409 Conflict` from the real handler. + +The password hash is computed before the database lock. A cheap preflight count remains in the public handler to avoid turning a completed setup endpoint into a bcrypt work amplifier, while the count performed after `pg_advisory_xact_lock` inside `CreateInitialAdmin` is authoritative. + +## Implementation + +- Added `UserStore.CreateInitialAdmin(ctx, email, passwordHash)`. +- Uses a transaction-scoped two-key PostgreSQL advisory lock with stable `ENGR` / `ADMI` keys. +- Uses explicit `READ COMMITTED` transaction isolation so the zero-user check observes a setup committed while this transaction waited for the lock. +- Counts users and inserts the initial admin in the same transaction. +- Returns the typed sentinel `ErrInitialAdminSetupAlreadyCompleted` after the serialized check observes an existing user. +- Relies on transaction rollback for lock cancellation and insert failures, leaving setup retryable. +- Maps the typed losing result to HTTP 409 in `handleSetup`; unrelated database failures remain HTTP 500. +- Added a test-only handler seam after bcrypt and before the store call so both real requests deterministically reach the authoritative database operation before either proceeds. +- Preserved the existing last-active-admin guard and its lifecycle tests. + +## TDD evidence + +### RED: store contract absent + +Timestamp: `2026-07-10T03:58:49.4314543Z` + +```powershell +$env:DATABASE_DSN='postgres://engram:engram@localhost:55432/engram_prc_auth_rework?sslmode=disable'; go test ./internal/db/gorm -run '^TestUserStore_CreateInitialAdmin_ConcurrentIndependentConnectionsExactlyOne$' -count=1 -v +``` + +Exit: `1`. The new regression test did not compile because `CreateInitialAdmin` and `ErrInitialAdminSetupAlreadyCompleted` did not exist. + +### RED: real handler allowed two initial admins + +Timestamp: `2026-07-10T04:02:36.5763198Z` + +```powershell +$env:DATABASE_DSN='postgres://engram:engram@localhost:55432/engram_prc_auth_rework?sslmode=disable'; go test ./internal/worker -run '^TestAuthHandlersLifecycle_ConcurrentInitialAdminSetupExactlyOne$' -count=1 -v +``` + +Exit: `1`. Failure at iteration 0: expected one HTTP 201 response, actual two. + +### GREEN + +The focused store regression passed after adding the serialized store method (`PASS`, package `0.317s`). The focused real-handler regression then passed after routing setup through that method (`PASS`, test `3.60s`, package `3.698s`). + +After adding the deterministic post-bcrypt barrier, both concurrent handler cases passed: + +```powershell +$env:DATABASE_DSN='postgres://engram:engram@localhost:55432/engram_prc_auth_rework?sslmode=disable'; go test ./internal/worker -run '^TestAuthHandlersLifecycle_(ConcurrentInitialAdminSetupExactlyOne|ConcurrentInitialAdminSetupDuplicateEmailFailsSafely)$' -count=1 -v +``` + +Exit: `0`; package `4.024s`. + +### Prove-It sentinel + +`handleSetup` was temporarily changed back to the non-serialized `CreateUser` call while keeping the deterministic barrier. The focused regression failed immediately: + +```powershell +$env:DATABASE_DSN='postgres://engram:engram@localhost:55432/engram_prc_auth_rework?sslmode=disable'; go test ./internal/worker -run '^TestAuthHandlersLifecycle_ConcurrentInitialAdminSetupExactlyOne$' -count=1 -v +``` + +Exit: `1`; iteration 0 expected one created response but observed two. The production call was restored to `CreateInitialAdmin`; the identical command then exited `0` (`PASS`, package `3.709s`). No sentinel change remains in the diff. + +## Final verification on restored production code + +Store regressions plus existing last-admin guard, repeated three times: + +```powershell +$env:DATABASE_DSN='postgres://engram:engram@localhost:55432/engram_prc_auth_rework?sslmode=disable'; go test ./internal/db/gorm -run '^TestUserStore_(CreateInitialAdmin|UpdateUserWithLastAdminGuard)_' -count=3 +``` + +Exit: `0`; package `4.052s`. + +Real handler setup regressions plus existing last-admin lifecycle tests, repeated three times: + +```powershell +$env:DATABASE_DSN='postgres://engram:engram@localhost:55432/engram_prc_auth_rework?sslmode=disable'; go test ./internal/worker -run '^TestAuthHandlersLifecycle_(ConcurrentInitialAdminSetup|InitialAdminSetup|LastAdminDemoteRaceLeavesOneAdmin|DisabledAdminCanBeDemotedWithoutLastAdminError)' -count=3 +``` + +Exit: `0`; package `15.604s`. + +Store race detector: + +```powershell +$env:DATABASE_DSN='postgres://engram:engram@localhost:55432/engram_prc_auth_rework?sslmode=disable'; go test -race ./internal/db/gorm -run '^TestUserStore_(CreateInitialAdmin|UpdateUserWithLastAdminGuard)_' -count=1 +``` + +Exit: `0`; package `2.676s`. + +Handler race detector: + +```powershell +$env:DATABASE_DSN='postgres://engram:engram@localhost:55432/engram_prc_auth_rework?sslmode=disable'; go test -race ./internal/worker -run '^TestAuthHandlersLifecycle_(ConcurrentInitialAdminSetup|InitialAdminSetup|LastAdminDemoteRaceLeavesOneAdmin|DisabledAdminCanBeDemotedWithoutLastAdminError)' -count=1 +``` + +Exit: `0`; package `54.318s`. + +Static checks: + +```powershell +go vet ./internal/db/gorm ./internal/worker +git diff --check +``` + +Both exited `0`. Serena Go diagnostics at warning-or-higher severity returned `{}` for all four changed source/test files. + +## Failure-path and residue coverage + +- Two independent GORM stores and SQL pools, different emails: one success, one typed already-completed error, exactly one active admin, repeated 20 times. +- Two independent real handlers and SQL pools, different emails: one 201, one 409, exactly one user, one active admin, one setup audit event, and zero sessions, repeated 20 times. +- Concurrent duplicate email: one success and one typed/409 loser without duplicate residue. +- Context cancellation while waiting for the advisory lock: no user residue; a later setup succeeds. +- Store insert failure after acquiring the lock: transaction rollback leaves zero users; a later setup succeeds. +- Invalid request, handler insert failure, and cancelled request: no user/audit residue; a later setup succeeds. +- Setup after completion remains 409 and does not add a user or setup audit event. + +## Disclosed command error + +One earlier worker race command used the mistyped database name `engram_prc-db-auth` and exited `1` with `database does not exist`. This was an operator DSN typo, not a product/test failure. The command was immediately rerun with the dedicated database `engram_prc_auth_rework` and passed; the final race result above is from the corrected command and final code. + +## Database hygiene + +Only the dedicated database `engram_prc_auth_rework` was used. No full GORM and worker package tests were run concurrently. + +Before deletion: + +- leftover schemas matching `initial_admin_test_%` or `auth_setup_test_%`: `0` +- active sessions for `engram_prc_auth_rework`: `0` + +Then: + +```sql +DROP DATABASE IF EXISTS engram_prc_auth_rework WITH (FORCE); +``` + +Post-cleanup verification: + +- database rows in `pg_database`: `0` +- active sessions in `pg_stat_activity`: `0` + +No other test database, secret, container state, or external system was modified. + +## Changed paths + +- `internal/db/gorm/user_store.go` +- `internal/db/gorm/user_store_test.go` +- `internal/worker/auth_handlers.go` +- `internal/worker/auth_handlers_lifecycle_test.go` +- `.agent/reports/db-auth-rework-maker-2026-07-10.md` diff --git a/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/01-red-behavior.log b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/01-red-behavior.log new file mode 100644 index 00000000..610b4f5b --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/01-red-behavior.log @@ -0,0 +1,771 @@ +base_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +head_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +database=engram_mkr_bedge_red_behavior_20260710a +command=go test -p=1 ./internal/db/gorm ./internal/mcp -run ^(TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites|TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit|TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs|TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization)$ -count=1 -v +started_utc=2026-07-10T08:27:52.8928902Z +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites + +2026/07/10 11:27:56 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:483 ERROR: column "is_deprecated" does not exist (SQLSTATE 42703) +[2.418ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_patterns_frequency + ON patterns(frequency DESC, last_seen_at_epoch DESC) + WHERE is_deprecated = 0 + +2026/07/10 11:27:56 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:578 ERROR: column "is_deprecated" does not exist (SQLSTATE 42703) +[1.004ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_patterns_type_project + ON patterns(type, project, frequency DESC) + WHERE is_deprecated = 0 + +2026/07/10 11:27:56 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:578 ERROR: column "source_observation_id" does not exist (SQLSTATE 42703) +[0.997ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_relations_source_type + ON observation_relations(source_observation_id, relation_type) + +2026/07/10 11:27:56 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:578 ERROR: column "target_observation_id" does not exist (SQLSTATE 42703) +[0.500ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_relations_target_type + ON observation_relations(target_observation_id, relation_type) + +2026/07/10 11:27:56 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:670 ERROR: column "source_observation_id" does not exist (SQLSTATE 42703) +[0.500ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_relations_source_type_target + ON observation_relations(source_observation_id, relation_type, target_observation_id) + +2026/07/10 11:27:56 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:670 ERROR: column "target_observation_id" does not exist (SQLSTATE 42703) +[1.000ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_relations_target_type_source + ON observation_relations(target_observation_id, relation_type, source_observation_id) + +2026/07/10 11:27:56 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:1447 ERROR: relation "observation_vectors" does not exist (SQLSTATE 42P01) +[1.001ms] [rows:0] + DELETE FROM observation_vectors + WHERE id IN ( + SELECT ov.id FROM observation_vectors ov + LEFT JOIN observations o ON ov.metadata->>'sqlite_id' = o.id::text + WHERE o.id IS NULL + ) + +{"level":"warn","error":"ERROR: relation \"observation_vectors\" does not exist (SQLSTATE 42P01)","time":"2026-07-10T11:27:56+03:00","message":"migration 040: orphan vector cleanup failed (non-fatal)"} +{"level":"info","garbage_deleted":0,"orphan_vectors_deleted":0,"time":"2026-07-10T11:27:56+03:00","message":"migration 040: garbage cleanup complete"} +{"level":"info","orphan_vectors_deleted":0,"time":"2026-07-10T11:27:56+03:00","message":"migration 041: orphan vector purge complete"} +{"level":"info","patterns_deleted":0,"time":"2026-07-10T11:27:56+03:00","message":"migration 042: low-quality pattern purge complete"} +{"level":"info","total_deleted":0,"time":"2026-07-10T11:27:56+03:00","message":"migration 043: radical observation cleanup complete"} + +2026/07/10 11:27:57 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:3502 ERROR: extension "vectorscale" is not available (SQLSTATE 0A000) +[1.000ms] [rows:0] CREATE EXTENSION IF NOT EXISTS vectorscale CASCADE +{"level":"warn","error":"ERROR: extension \"vectorscale\" is not available (SQLSTATE 0A000)","time":"2026-07-10T11:27:57+03:00","message":"migration 109: vectorscale extension not available, skipping DiskANN index"} +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/nil_snapshot + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/nil_snapshot + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/nil_snapshot_store +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/nil_audit_store +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_op_type + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_op_type + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_operation_parameter + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_operation_parameter + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_action_parameter + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_action_parameter + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_candidate_parameter + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_candidate_parameter + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_actor + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_actor + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_before_key +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_before_payload_id + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_before_payload_id + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/prepopulated_after + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/prepopulated_after + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/extra_before_entry + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/extra_before_entry + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/prepopulated_affected_memory_ids + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/prepopulated_affected_memory_ids + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_source_session + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_source_session + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/nil_snapshot +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/nil_snapshot_store +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/nil_audit_store +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_op_type +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_operation_parameter + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_operation_parameter + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_action_parameter + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_action_parameter + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_candidate_parameter + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_candidate_parameter + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_actor + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_actor + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_before_key +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_before_payload_id + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_before_payload_id + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/prepopulated_after + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/prepopulated_after + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/extra_before_entry + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/extra_before_entry + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/prepopulated_affected_memory_ids + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/prepopulated_affected_memory_ids + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_source_session + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_source_session + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/nil_snapshot +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/nil_snapshot_store +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/nil_audit_store +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_op_type +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_operation_parameter + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_operation_parameter + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_action_parameter + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_action_parameter + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_candidate_parameter + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_candidate_parameter + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_actor + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_actor + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_before_key +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_before_payload_id + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_before_payload_id + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/prepopulated_after + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/prepopulated_after + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/extra_before_entry + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/extra_before_entry + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/prepopulated_affected_memory_ids + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/prepopulated_affected_memory_ids + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_source_session + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_source_session + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/nil_snapshot +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/nil_snapshot_store +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/nil_audit_store +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_op_type +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_operation_parameter + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_operation_parameter + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_action_parameter + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_action_parameter + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_candidate_parameter + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_candidate_parameter + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_actor + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_actor + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_before_key +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_before_payload_id + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_before_payload_id + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/prepopulated_after + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/prepopulated_after + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/extra_before_entry + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/extra_before_entry + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/prepopulated_affected_memory_ids + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/prepopulated_affected_memory_ids + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_source_session + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_source_session + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/nil_snapshot +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/nil_snapshot_store +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/nil_audit_store +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_op_type +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_operation_parameter + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_operation_parameter + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_action_parameter + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_action_parameter + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_candidate_parameter + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_candidate_parameter + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_actor + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_actor + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_before_key +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_before_payload_id + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_before_payload_id + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/prepopulated_after + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/prepopulated_after + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/extra_before_entry + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/extra_before_entry + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/prepopulated_affected_memory_ids + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/prepopulated_affected_memory_ids + Messages: invalid candidate-review snapshot binding must fail closed +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_source_session + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_source_session + Messages: invalid candidate-review snapshot binding must fail closed +--- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites (4.57s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/nil_snapshot (0.04s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/nil_snapshot_store (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/nil_audit_store (0.01s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_op_type (0.02s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_operation_parameter (0.03s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_action_parameter (0.02s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_candidate_parameter (0.03s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_actor (0.03s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_before_key (0.02s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_before_payload_id (0.02s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/prepopulated_after (0.02s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/extra_before_entry (0.02s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/prepopulated_affected_memory_ids (0.02s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_source_session (0.02s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/nil_snapshot (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/nil_snapshot_store (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/nil_audit_store (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_op_type (0.01s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_operation_parameter (0.03s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_action_parameter (0.04s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_candidate_parameter (0.03s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_actor (0.03s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_before_key (0.02s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_before_payload_id (0.02s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/prepopulated_after (0.03s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/extra_before_entry (0.02s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/prepopulated_affected_memory_ids (0.03s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_source_session (0.02s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/nil_snapshot (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/nil_snapshot_store (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/nil_audit_store (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_op_type (0.02s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_operation_parameter (0.02s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_action_parameter (0.02s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_candidate_parameter (0.02s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_actor (0.02s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_before_key (0.02s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_before_payload_id (0.02s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/prepopulated_after (0.02s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/extra_before_entry (0.02s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/prepopulated_affected_memory_ids (0.02s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_source_session (0.02s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/nil_snapshot (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/nil_snapshot_store (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/nil_audit_store (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_op_type (0.02s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_operation_parameter (0.02s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_action_parameter (0.02s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_candidate_parameter (0.02s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_actor (0.02s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_before_key (0.02s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_before_payload_id (0.02s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/prepopulated_after (0.02s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/extra_before_entry (0.02s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/prepopulated_affected_memory_ids (0.02s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_source_session (0.02s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/nil_snapshot (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/nil_snapshot_store (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/nil_audit_store (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_op_type (0.02s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_operation_parameter (0.02s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_action_parameter (0.02s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_candidate_parameter (0.02s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_actor (0.02s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_before_key (0.01s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_before_payload_id (0.02s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/prepopulated_after (0.02s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/extra_before_entry (0.02s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/prepopulated_affected_memory_ids (0.02s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_source_session (0.02s) +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit/promote +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit/preserve +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit/reject +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit/suppress +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit/supersede +--- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit (0.26s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit/promote (0.05s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit/preserve (0.03s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit/reject (0.02s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit/suppress (0.02s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit/supersede (0.02s) +FAIL +FAIL github.com/thebtf/engram/internal/db/gorm 4.928s +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/missing_id_field + tools_dryrun_test.go:239: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:239 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/missing_id_field +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_null + tools_dryrun_test.go:250: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:250 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_null +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_top_level_string + tools_dryrun_test.go:250: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:250 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_top_level_string +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_string_member + tools_dryrun_test.go:250: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:250 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_string_member +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_boolean_member + tools_dryrun_test.go:250: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:250 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_boolean_member +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_object_member + tools_dryrun_test.go:250: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:250 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_object_member +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_nested_array + tools_dryrun_test.go:250: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:250 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_nested_array +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_fraction + tools_dryrun_test.go:250: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:250 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_fraction +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_positive_overflow + tools_dryrun_test.go:250: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:250 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_positive_overflow +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_negative_overflow + tools_dryrun_test.go:250: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:250 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_negative_overflow +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_mixed_invalid + tools_dryrun_test.go:250: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:250 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_mixed_invalid +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/dry_run_string + tools_dryrun_test.go:262: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:262 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/dry_run_string +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/dry_run_number + tools_dryrun_test.go:262: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:262 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/dry_run_number +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/dry_run_null + tools_dryrun_test.go:263: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:263 + Error: "bulk_promote: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "dry_run" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/dry_run_null +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/dry_run_object + tools_dryrun_test.go:263: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:263 + Error: "bulk_promote: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "dry_run" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/dry_run_object +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/dry_run_array + tools_dryrun_test.go:263: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:263 + Error: "bulk_promote: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "dry_run" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/dry_run_array +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/missing_id_field + tools_dryrun_test.go:239: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:239 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/missing_id_field +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_null + tools_dryrun_test.go:250: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:250 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_null +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_top_level_string + tools_dryrun_test.go:250: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:250 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_top_level_string +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_string_member + tools_dryrun_test.go:250: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:250 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_string_member +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_boolean_member + tools_dryrun_test.go:250: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:250 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_boolean_member +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_object_member + tools_dryrun_test.go:250: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:250 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_object_member +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_nested_array + tools_dryrun_test.go:250: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:250 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_nested_array +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_fraction + tools_dryrun_test.go:250: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:250 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_fraction +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_positive_overflow + tools_dryrun_test.go:250: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:250 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_positive_overflow +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_negative_overflow + tools_dryrun_test.go:250: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:250 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_negative_overflow +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_mixed_invalid + tools_dryrun_test.go:250: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:250 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_mixed_invalid +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/dry_run_string + tools_dryrun_test.go:262: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:262 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/dry_run_string +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/dry_run_number + tools_dryrun_test.go:262: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:262 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/dry_run_number +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/dry_run_null + tools_dryrun_test.go:263: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:263 + Error: "bulk_delete: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "dry_run" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/dry_run_null +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/dry_run_object + tools_dryrun_test.go:263: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:263 + Error: "bulk_delete: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "dry_run" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/dry_run_object +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/dry_run_array + tools_dryrun_test.go:263: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:263 + Error: "bulk_delete: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "dry_run" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/dry_run_array +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/missing_id_field + tools_dryrun_test.go:239: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:239 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/missing_id_field +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_null + tools_dryrun_test.go:250: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:250 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_null +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_top_level_string + tools_dryrun_test.go:250: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:250 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_top_level_string +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_string_member + tools_dryrun_test.go:250: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:250 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_string_member +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_boolean_member + tools_dryrun_test.go:250: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:250 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_boolean_member +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_object_member + tools_dryrun_test.go:250: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:250 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_object_member +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_nested_array + tools_dryrun_test.go:250: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:250 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_nested_array +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_fraction + tools_dryrun_test.go:250: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:250 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_fraction +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_positive_overflow + tools_dryrun_test.go:250: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:250 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_positive_overflow +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_negative_overflow + tools_dryrun_test.go:250: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:250 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_negative_overflow +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_mixed_invalid + tools_dryrun_test.go:250: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:250 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_mixed_invalid +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/dry_run_string + tools_dryrun_test.go:262: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:262 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/dry_run_string +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/dry_run_number + tools_dryrun_test.go:262: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:262 + Error: An error is expected but got nil. + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/dry_run_number +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/dry_run_null + tools_dryrun_test.go:263: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:263 + Error: "bulk_supersede: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "dry_run" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/dry_run_null +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/dry_run_object + tools_dryrun_test.go:263: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:263 + Error: "bulk_supersede: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "dry_run" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/dry_run_object +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/dry_run_array + tools_dryrun_test.go:263: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:263 + Error: "bulk_supersede: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "dry_run" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/dry_run_array +--- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/missing_id_field (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_null (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_top_level_string (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_string_member (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_boolean_member (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_object_member (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_nested_array (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_fraction (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_positive_overflow (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_negative_overflow (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_mixed_invalid (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/dry_run_string (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/dry_run_number (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/dry_run_null (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/dry_run_object (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/dry_run_array (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/missing_id_field (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_null (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_top_level_string (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_string_member (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_boolean_member (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_object_member (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_nested_array (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_fraction (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_positive_overflow (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_negative_overflow (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_mixed_invalid (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/dry_run_string (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/dry_run_number (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/dry_run_null (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/dry_run_object (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/dry_run_array (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/missing_id_field (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_null (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_top_level_string (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_string_member (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_boolean_member (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_object_member (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_nested_array (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_fraction (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_positive_overflow (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_negative_overflow (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_mixed_invalid (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/dry_run_string (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/dry_run_number (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/dry_run_null (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/dry_run_object (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/dry_run_array (0.00s) +=== RUN TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization +=== RUN TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization/bulk_promote + tools_dryrun_test.go:286: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:286 + Error: Not equal: + expected: 5 + actual : 3 + Test: TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization/bulk_promote +=== RUN TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization/bulk_delete + tools_dryrun_test.go:286: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:286 + Error: Not equal: + expected: 5 + actual : 7 + Test: TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization/bulk_delete +=== RUN TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization/bulk_supersede + tools_dryrun_test.go:286: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:286 + Error: Not equal: + expected: 5 + actual : 7 + Test: TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization/bulk_supersede +--- FAIL: TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization (0.00s) + --- FAIL: TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization/bulk_promote (0.00s) + --- FAIL: TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization/bulk_delete (0.00s) + --- FAIL: TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization/bulk_supersede (0.00s) +FAIL +FAIL github.com/thebtf/engram/internal/mcp 0.113s +FAIL +test_exit=1 +active_sessions_before_terminate=0 +database_residue=0 +activity_residue=0 +finished_utc=2026-07-10T08:28:04.4170941Z diff --git a/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/02-red-spy-seam.log b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/02-red-spy-seam.log new file mode 100644 index 00000000..bfe7fc46 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/02-red-spy-seam.log @@ -0,0 +1,19 @@ +base_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +head_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +database=engram_mkr_bedge_red_spy_20260710a +command=go test -p=1 ./internal/mcp -run ^(TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade|TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun)$ -count=1 -v +started_utc=2026-07-10T08:29:46.9910221Z +# github.com/thebtf/engram/internal/mcp [github.com/thebtf/engram/internal/mcp.test] +internal\mcp\tools_dryrun_test.go:295:21: undefined: executeBulkFacade +internal\mcp\tools_dryrun_test.go:296:21: undefined: executeBulkFacade +internal\mcp\tools_dryrun_test.go:299:2: undefined: executeBulkFacade +internal\mcp\tools_dryrun_test.go:372:21: undefined: executeBulkFacade +internal\mcp\tools_dryrun_test.go:373:21: undefined: executeBulkFacade +internal\mcp\tools_dryrun_test.go:397:6: undefined: executeBulkFacade +FAIL github.com/thebtf/engram/internal/mcp [build failed] +FAIL +test_exit=1 +active_sessions_before_terminate=0 +database_residue=0 +activity_residue=0 +finished_utc=2026-07-10T08:29:50.2378967Z diff --git a/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/03-green-focused.log b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/03-green-focused.log new file mode 100644 index 00000000..f4e68076 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/03-green-focused.log @@ -0,0 +1,455 @@ +base_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +head_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +database=engram_mkr_bedge_green_focus_20260710a +command=go test -p=1 ./internal/db/gorm ./internal/mcp -run ^(TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites|TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit|TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs|TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization|TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade|TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun)$ -count=1 -v +started_utc=2026-07-10T08:34:25.9178509Z +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites + +2026/07/10 11:34:29 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:483 ERROR: column "is_deprecated" does not exist (SQLSTATE 42703) +[1.500ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_patterns_frequency + ON patterns(frequency DESC, last_seen_at_epoch DESC) + WHERE is_deprecated = 0 + +2026/07/10 11:34:29 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:578 ERROR: column "is_deprecated" does not exist (SQLSTATE 42703) +[1.013ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_patterns_type_project + ON patterns(type, project, frequency DESC) + WHERE is_deprecated = 0 + +2026/07/10 11:34:29 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:578 ERROR: column "source_observation_id" does not exist (SQLSTATE 42703) +[0.997ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_relations_source_type + ON observation_relations(source_observation_id, relation_type) + +2026/07/10 11:34:29 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:578 ERROR: column "target_observation_id" does not exist (SQLSTATE 42703) +[1.000ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_relations_target_type + ON observation_relations(target_observation_id, relation_type) + +2026/07/10 11:34:29 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:670 ERROR: column "source_observation_id" does not exist (SQLSTATE 42703) +[0.500ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_relations_source_type_target + ON observation_relations(source_observation_id, relation_type, target_observation_id) + +2026/07/10 11:34:29 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:670 ERROR: column "target_observation_id" does not exist (SQLSTATE 42703) +[1.001ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_relations_target_type_source + ON observation_relations(target_observation_id, relation_type, source_observation_id) + +2026/07/10 11:34:30 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:1447 ERROR: relation "observation_vectors" does not exist (SQLSTATE 42P01) +[0.500ms] [rows:0] + DELETE FROM observation_vectors + WHERE id IN ( + SELECT ov.id FROM observation_vectors ov + LEFT JOIN observations o ON ov.metadata->>'sqlite_id' = o.id::text + WHERE o.id IS NULL + ) + +{"level":"warn","error":"ERROR: relation \"observation_vectors\" does not exist (SQLSTATE 42P01)","time":"2026-07-10T11:34:30+03:00","message":"migration 040: orphan vector cleanup failed (non-fatal)"} +{"level":"info","garbage_deleted":0,"orphan_vectors_deleted":0,"time":"2026-07-10T11:34:30+03:00","message":"migration 040: garbage cleanup complete"} +{"level":"info","orphan_vectors_deleted":0,"time":"2026-07-10T11:34:30+03:00","message":"migration 041: orphan vector purge complete"} +{"level":"info","patterns_deleted":0,"time":"2026-07-10T11:34:30+03:00","message":"migration 042: low-quality pattern purge complete"} +{"level":"info","total_deleted":0,"time":"2026-07-10T11:34:30+03:00","message":"migration 043: radical observation cleanup complete"} + +2026/07/10 11:34:31 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:3502 ERROR: extension "vectorscale" is not available (SQLSTATE 0A000) +[1.002ms] [rows:0] CREATE EXTENSION IF NOT EXISTS vectorscale CASCADE +{"level":"warn","error":"ERROR: extension \"vectorscale\" is not available (SQLSTATE 0A000)","time":"2026-07-10T11:34:31+03:00","message":"migration 109: vectorscale extension not available, skipping DiskANN index"} +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/nil_snapshot +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/nil_snapshot_store +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/nil_audit_store +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_op_type +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_operation_parameter +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_action_parameter +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_candidate_parameter +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_actor +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_before_key +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_before_payload_id +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/prepopulated_after +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/extra_before_entry +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/prepopulated_affected_memory_ids +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_source_session +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/nil_snapshot +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/nil_snapshot_store +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/nil_audit_store +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_op_type +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_operation_parameter +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_action_parameter +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_candidate_parameter +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_actor +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_before_key +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_before_payload_id +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/prepopulated_after +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/extra_before_entry +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/prepopulated_affected_memory_ids +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_source_session +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/nil_snapshot +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/nil_snapshot_store +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/nil_audit_store +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_op_type +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_operation_parameter +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_action_parameter +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_candidate_parameter +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_actor +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_before_key +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_before_payload_id +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/prepopulated_after +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/extra_before_entry +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/prepopulated_affected_memory_ids +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_source_session +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/nil_snapshot +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/nil_snapshot_store +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/nil_audit_store +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_op_type +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_operation_parameter +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_action_parameter +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_candidate_parameter +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_actor +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_before_key +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_before_payload_id +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/prepopulated_after +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/extra_before_entry +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/prepopulated_affected_memory_ids +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_source_session +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/nil_snapshot +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/nil_snapshot_store +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/nil_audit_store +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_op_type +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_operation_parameter +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_action_parameter +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_candidate_parameter +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_actor +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_before_key +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_before_payload_id +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/prepopulated_after +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/extra_before_entry +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/prepopulated_affected_memory_ids +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_source_session +--- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites (3.75s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/nil_snapshot (0.02s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/nil_snapshot_store (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/nil_audit_store (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_op_type (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_operation_parameter (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_action_parameter (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_candidate_parameter (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_actor (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_before_key (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_before_payload_id (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/prepopulated_after (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/extra_before_entry (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/prepopulated_affected_memory_ids (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_source_session (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/nil_snapshot (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/nil_snapshot_store (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/nil_audit_store (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_op_type (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_operation_parameter (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_action_parameter (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_candidate_parameter (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_actor (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_before_key (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_before_payload_id (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/prepopulated_after (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/extra_before_entry (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/prepopulated_affected_memory_ids (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_source_session (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/nil_snapshot (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/nil_snapshot_store (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/nil_audit_store (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_op_type (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_operation_parameter (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_action_parameter (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_candidate_parameter (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_actor (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_before_key (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_before_payload_id (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/prepopulated_after (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/extra_before_entry (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/prepopulated_affected_memory_ids (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_source_session (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/nil_snapshot (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/nil_snapshot_store (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/nil_audit_store (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_op_type (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_operation_parameter (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_action_parameter (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_candidate_parameter (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_actor (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_before_key (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_before_payload_id (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/prepopulated_after (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/extra_before_entry (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/prepopulated_affected_memory_ids (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_source_session (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/nil_snapshot (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/nil_snapshot_store (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/nil_audit_store (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_op_type (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_operation_parameter (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_action_parameter (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_candidate_parameter (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_actor (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_before_key (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_before_payload_id (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/prepopulated_after (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/extra_before_entry (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/prepopulated_affected_memory_ids (0.01s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_source_session (0.01s) +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit/promote +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit/preserve +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit/reject +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit/suppress +=== RUN TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit/supersede +--- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit (0.23s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit/promote (0.04s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit/preserve (0.02s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit/reject (0.02s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit/suppress (0.02s) + --- PASS: TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit/supersede (0.02s) +PASS +ok github.com/thebtf/engram/internal/db/gorm 4.088s +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/missing_id_field +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_null +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_top_level_string +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_string_member +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_boolean_member +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_object_member +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_nested_array +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_fraction +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_positive_overflow +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_negative_overflow +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_mixed_invalid +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/dry_run_string +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/dry_run_number +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/dry_run_null +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/dry_run_object +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/dry_run_array +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/missing_id_field +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_null +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_top_level_string +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_string_member +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_boolean_member +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_object_member +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_nested_array +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_fraction +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_positive_overflow +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_negative_overflow +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_mixed_invalid +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/dry_run_string +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/dry_run_number +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/dry_run_null +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/dry_run_object +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/dry_run_array +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/missing_id_field +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_null +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_top_level_string +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_string_member +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_boolean_member +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_object_member +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_nested_array +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_fraction +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_positive_overflow +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_negative_overflow +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_mixed_invalid +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/dry_run_string +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/dry_run_number +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/dry_run_null +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/dry_run_object +=== RUN TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/dry_run_array +--- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/missing_id_field (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_null (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_top_level_string (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_string_member (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_boolean_member (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_object_member (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_nested_array (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_fraction (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_positive_overflow (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_negative_overflow (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_mixed_invalid (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/dry_run_string (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/dry_run_number (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/dry_run_null (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/dry_run_object (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/dry_run_array (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/missing_id_field (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_null (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_top_level_string (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_string_member (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_boolean_member (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_object_member (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_nested_array (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_fraction (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_positive_overflow (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_negative_overflow (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_mixed_invalid (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/dry_run_string (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/dry_run_number (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/dry_run_null (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/dry_run_object (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/dry_run_array (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/missing_id_field (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_null (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_top_level_string (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_string_member (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_boolean_member (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_object_member (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_nested_array (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_fraction (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_positive_overflow (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_negative_overflow (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_mixed_invalid (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/dry_run_string (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/dry_run_number (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/dry_run_null (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/dry_run_object (0.00s) + --- PASS: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/dry_run_array (0.00s) +=== RUN TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization +=== RUN TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization/bulk_promote +=== RUN TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization/bulk_delete +=== RUN TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization/bulk_supersede +--- PASS: TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization (0.00s) + --- PASS: TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization/bulk_promote (0.00s) + --- PASS: TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization/bulk_delete (0.00s) + --- PASS: TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization/bulk_supersede (0.00s) +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/missing_id_field +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_0 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_1 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_2 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_3 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_4 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_5 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_6 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_7 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_8 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_9 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_dry_run_0 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_dry_run_1 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_dry_run_2 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_dry_run_3 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_dry_run_4 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/missing_id_field +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_0 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_1 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_2 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_3 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_4 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_5 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_6 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_7 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_8 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_9 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_dry_run_0 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_dry_run_1 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_dry_run_2 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_dry_run_3 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_dry_run_4 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/missing_id_field +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_0 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_1 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_2 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_3 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_4 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_5 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_6 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_7 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_8 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_9 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_dry_run_0 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_dry_run_1 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_dry_run_2 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_dry_run_3 +=== RUN TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_dry_run_4 +--- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/missing_id_field (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_0 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_1 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_2 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_3 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_4 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_5 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_6 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_7 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_8 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_9 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_dry_run_0 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_dry_run_1 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_dry_run_2 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_dry_run_3 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_dry_run_4 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/missing_id_field (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_0 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_1 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_2 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_3 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_4 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_5 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_6 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_7 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_8 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_9 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_dry_run_0 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_dry_run_1 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_dry_run_2 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_dry_run_3 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_dry_run_4 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/missing_id_field (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_0 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_1 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_2 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_3 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_4 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_5 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_6 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_7 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_8 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_9 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_dry_run_0 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_dry_run_1 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_dry_run_2 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_dry_run_3 (0.00s) + --- PASS: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_dry_run_4 (0.00s) +=== RUN TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun +=== RUN TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_promote +=== RUN TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_promote/missing +=== RUN TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_promote/false +=== RUN TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_promote/true +=== RUN TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_delete +=== RUN TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_delete/missing +=== RUN TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_delete/false +=== RUN TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_delete/true +=== RUN TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_supersede +=== RUN TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_supersede/missing +=== RUN TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_supersede/false +=== RUN TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_supersede/true +--- PASS: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun (0.00s) + --- PASS: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_promote (0.00s) + --- PASS: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_promote/missing (0.00s) + --- PASS: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_promote/false (0.00s) + --- PASS: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_promote/true (0.00s) + --- PASS: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_delete (0.00s) + --- PASS: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_delete/missing (0.00s) + --- PASS: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_delete/false (0.00s) + --- PASS: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_delete/true (0.00s) + --- PASS: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_supersede (0.00s) + --- PASS: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_supersede/missing (0.00s) + --- PASS: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_supersede/false (0.00s) + --- PASS: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_supersede/true (0.00s) +PASS +ok github.com/thebtf/engram/internal/mcp 0.116s +test_exit=0 +active_sessions_before_terminate=0 +database_residue=0 +activity_residue=0 +finished_utc=2026-07-10T08:34:37.3570030Z diff --git a/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/04-green-repeat20.log b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/04-green-repeat20.log new file mode 100644 index 00000000..7b2c9cc2 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/04-green-repeat20.log @@ -0,0 +1,12 @@ +base_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +head_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +database=engram_mkr_bedge_green_repeat20_20260710a +command=go test -p=1 ./internal/db/gorm ./internal/mcp -run ^(TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites|TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit|TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs|TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization|TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade|TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun)$ -count=20 +started_utc=2026-07-10T08:36:17.1307572Z +ok github.com/thebtf/engram/internal/db/gorm 22.566s +ok github.com/thebtf/engram/internal/mcp 0.126s +test_exit=0 +active_sessions_before_terminate=0 +database_residue=0 +activity_residue=0 +finished_utc=2026-07-10T08:36:44.0665417Z diff --git a/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/05-prove-it-candidate.log b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/05-prove-it-candidate.log new file mode 100644 index 00000000..4e611403 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/05-prove-it-candidate.log @@ -0,0 +1,329 @@ +base_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +head_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +database=engram_mkr_bedge_prove_candidate_20260710a +command=go test -p=1 ./internal/db/gorm -run ^(TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites|TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit)$ -count=1 +started_utc=2026-07-10T08:37:32.0607591Z + +2026/07/10 11:37:35 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:483 ERROR: column "is_deprecated" does not exist (SQLSTATE 42703) +[2.000ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_patterns_frequency + ON patterns(frequency DESC, last_seen_at_epoch DESC) + WHERE is_deprecated = 0 + +2026/07/10 11:37:35 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:578 ERROR: column "is_deprecated" does not exist (SQLSTATE 42703) +[1.003ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_patterns_type_project + ON patterns(type, project, frequency DESC) + WHERE is_deprecated = 0 + +2026/07/10 11:37:35 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:578 ERROR: column "source_observation_id" does not exist (SQLSTATE 42703) +[0.998ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_relations_source_type + ON observation_relations(source_observation_id, relation_type) + +2026/07/10 11:37:35 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:578 ERROR: column "target_observation_id" does not exist (SQLSTATE 42703) +[1.000ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_relations_target_type + ON observation_relations(target_observation_id, relation_type) + +2026/07/10 11:37:35 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:670 ERROR: column "source_observation_id" does not exist (SQLSTATE 42703) +[1.000ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_relations_source_type_target + ON observation_relations(source_observation_id, relation_type, target_observation_id) + +2026/07/10 11:37:35 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:670 ERROR: column "target_observation_id" does not exist (SQLSTATE 42703) +[0.500ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_relations_target_type_source + ON observation_relations(target_observation_id, relation_type, source_observation_id) + +2026/07/10 11:37:35 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:1447 ERROR: relation "observation_vectors" does not exist (SQLSTATE 42P01) +[0.999ms] [rows:0] + DELETE FROM observation_vectors + WHERE id IN ( + SELECT ov.id FROM observation_vectors ov + LEFT JOIN observations o ON ov.metadata->>'sqlite_id' = o.id::text + WHERE o.id IS NULL + ) + +{"level":"warn","error":"ERROR: relation \"observation_vectors\" does not exist (SQLSTATE 42P01)","time":"2026-07-10T11:37:35+03:00","message":"migration 040: orphan vector cleanup failed (non-fatal)"} +{"level":"info","garbage_deleted":0,"orphan_vectors_deleted":0,"time":"2026-07-10T11:37:35+03:00","message":"migration 040: garbage cleanup complete"} +{"level":"info","orphan_vectors_deleted":0,"time":"2026-07-10T11:37:35+03:00","message":"migration 041: orphan vector purge complete"} +{"level":"info","patterns_deleted":0,"time":"2026-07-10T11:37:35+03:00","message":"migration 042: low-quality pattern purge complete"} +{"level":"info","total_deleted":0,"time":"2026-07-10T11:37:35+03:00","message":"migration 043: radical observation cleanup complete"} + +2026/07/10 11:37:36 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:3502 ERROR: extension "vectorscale" is not available (SQLSTATE 0A000) +[0.998ms] [rows:0] CREATE EXTENSION IF NOT EXISTS vectorscale CASCADE +{"level":"warn","error":"ERROR: extension \"vectorscale\" is not available (SQLSTATE 0A000)","time":"2026-07-10T11:37:36+03:00","message":"migration 109: vectorscale extension not available, skipping DiskANN index"} +--- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites (4.30s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_operation_parameter (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_operation_parameter + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_action_parameter (0.03s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_action_parameter + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_candidate_parameter (0.03s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_candidate_parameter + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_actor (0.03s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_actor + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_before_payload_id (0.03s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_before_payload_id + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/prepopulated_after (0.03s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/prepopulated_after + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/extra_before_entry (0.03s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/extra_before_entry + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/prepopulated_affected_memory_ids (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/prepopulated_affected_memory_ids + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_source_session (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/wrong_source_session + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_operation_parameter (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_operation_parameter + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_action_parameter (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_action_parameter + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_candidate_parameter (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_candidate_parameter + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_actor (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_actor + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_before_payload_id (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_before_payload_id + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/prepopulated_after (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/prepopulated_after + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/extra_before_entry (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/extra_before_entry + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/prepopulated_affected_memory_ids (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/prepopulated_affected_memory_ids + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_source_session (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/wrong_source_session + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_operation_parameter (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_operation_parameter + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_action_parameter (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_action_parameter + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_candidate_parameter (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_candidate_parameter + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_actor (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_actor + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_before_payload_id (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_before_payload_id + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/prepopulated_after (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/prepopulated_after + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/extra_before_entry (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/extra_before_entry + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/prepopulated_affected_memory_ids (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/prepopulated_affected_memory_ids + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_source_session (0.03s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/wrong_source_session + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_operation_parameter (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_operation_parameter + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_action_parameter (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_action_parameter + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_candidate_parameter (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_candidate_parameter + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_actor (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_actor + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_before_payload_id (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_before_payload_id + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/prepopulated_after (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/prepopulated_after + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/extra_before_entry (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/extra_before_entry + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/prepopulated_affected_memory_ids (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/prepopulated_affected_memory_ids + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_source_session (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/wrong_source_session + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_operation_parameter (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_operation_parameter + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_action_parameter (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_action_parameter + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_candidate_parameter (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_candidate_parameter + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_actor (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_actor + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_before_payload_id (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_before_payload_id + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/prepopulated_after (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/prepopulated_after + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/extra_before_entry (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/extra_before_entry + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/prepopulated_affected_memory_ids (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/prepopulated_affected_memory_ids + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_source_session (0.02s) + candidate_store_test.go:851: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:851 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/wrong_source_session + Messages: invalid candidate-review snapshot binding must fail closed +FAIL +FAIL github.com/thebtf/engram/internal/db/gorm 4.631s +FAIL +test_exit=1 +active_sessions_before_terminate=0 +database_residue=0 +activity_residue=0 +finished_utc=2026-07-10T08:37:40.7607585Z diff --git a/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/06-prove-it-parser.log b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/06-prove-it-parser.log new file mode 100644 index 00000000..0e87207b --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/06-prove-it-parser.log @@ -0,0 +1,842 @@ +base_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +head_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +database=engram_mkr_bedge_prove_parser_20260710a +command=go test -p=1 ./internal/mcp -run ^(TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs|TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization|TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade|TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun)$ -count=1 +started_utc=2026-07-10T08:38:14.4065370Z +--- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/null_arguments (0.00s) + tools_dryrun_test.go:251: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:251 + Error: "bulk_promote: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "arguments" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/null_arguments + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/array_arguments (0.00s) + tools_dryrun_test.go:251: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:251 + Error: "bulk_promote: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "arguments" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/array_arguments + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/string_arguments (0.00s) + tools_dryrun_test.go:251: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:251 + Error: "bulk_promote: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "arguments" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/string_arguments + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/malformed_arguments (0.00s) + tools_dryrun_test.go:251: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:251 + Error: "bulk_promote: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "arguments" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/malformed_arguments + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/missing_id_field (0.00s) + tools_dryrun_test.go:260: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:260 + Error: "bulk_promote: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "candidate_ids" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/missing_id_field + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_null (0.00s) + tools_dryrun_test.go:271: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:271 + Error: "bulk_promote: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "candidate_ids" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_null + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_top_level_string (0.00s) + tools_dryrun_test.go:271: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:271 + Error: "bulk_promote: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "candidate_ids" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_top_level_string + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_string_member (0.00s) + tools_dryrun_test.go:271: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:271 + Error: "bulk_promote: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "candidate_ids" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_string_member + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_boolean_member (0.00s) + tools_dryrun_test.go:271: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:271 + Error: "bulk_promote: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "candidate_ids" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_boolean_member + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_object_member (0.00s) + tools_dryrun_test.go:271: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:271 + Error: "bulk_promote: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "candidate_ids" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_object_member + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_nested_array (0.00s) + tools_dryrun_test.go:271: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:271 + Error: "bulk_promote: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "candidate_ids" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_nested_array + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_fraction (0.00s) + tools_dryrun_test.go:271: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:271 + Error: "bulk_promote: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "candidate_ids" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_fraction + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_positive_overflow (0.00s) + tools_dryrun_test.go:271: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:271 + Error: "bulk_promote: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "candidate_ids" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_positive_overflow + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_negative_overflow (0.00s) + tools_dryrun_test.go:271: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:271 + Error: "bulk_promote: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "candidate_ids" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_negative_overflow + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_mixed_invalid (0.00s) + tools_dryrun_test.go:271: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:271 + Error: "bulk_promote: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "candidate_ids" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/ids_mixed_invalid + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/dry_run_string (0.00s) + tools_dryrun_test.go:283: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:283 + Error: "bulk_promote: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "dry_run" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/dry_run_string + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/dry_run_number (0.00s) + tools_dryrun_test.go:283: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:283 + Error: "bulk_promote: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "dry_run" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/dry_run_number + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/dry_run_null (0.00s) + tools_dryrun_test.go:283: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:283 + Error: "bulk_promote: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "dry_run" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/dry_run_null + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/dry_run_object (0.00s) + tools_dryrun_test.go:283: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:283 + Error: "bulk_promote: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "dry_run" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/dry_run_object + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/dry_run_array (0.00s) + tools_dryrun_test.go:283: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:283 + Error: "bulk_promote: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "dry_run" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_promote/dry_run_array + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/null_arguments (0.00s) + tools_dryrun_test.go:251: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:251 + Error: "bulk_delete: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "arguments" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/null_arguments + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/array_arguments (0.00s) + tools_dryrun_test.go:251: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:251 + Error: "bulk_delete: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "arguments" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/array_arguments + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/string_arguments (0.00s) + tools_dryrun_test.go:251: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:251 + Error: "bulk_delete: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "arguments" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/string_arguments + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/malformed_arguments (0.00s) + tools_dryrun_test.go:251: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:251 + Error: "bulk_delete: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "arguments" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/malformed_arguments + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/missing_id_field (0.00s) + tools_dryrun_test.go:260: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:260 + Error: "bulk_delete: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "memory_ids" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/missing_id_field + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_null (0.00s) + tools_dryrun_test.go:271: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:271 + Error: "bulk_delete: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "memory_ids" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_null + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_top_level_string (0.00s) + tools_dryrun_test.go:271: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:271 + Error: "bulk_delete: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "memory_ids" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_top_level_string + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_string_member (0.00s) + tools_dryrun_test.go:271: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:271 + Error: "bulk_delete: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "memory_ids" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_string_member + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_boolean_member (0.00s) + tools_dryrun_test.go:271: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:271 + Error: "bulk_delete: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "memory_ids" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_boolean_member + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_object_member (0.00s) + tools_dryrun_test.go:271: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:271 + Error: "bulk_delete: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "memory_ids" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_object_member + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_nested_array (0.00s) + tools_dryrun_test.go:271: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:271 + Error: "bulk_delete: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "memory_ids" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_nested_array + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_fraction (0.00s) + tools_dryrun_test.go:271: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:271 + Error: "bulk_delete: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "memory_ids" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_fraction + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_positive_overflow (0.00s) + tools_dryrun_test.go:271: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:271 + Error: "bulk_delete: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "memory_ids" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_positive_overflow + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_negative_overflow (0.00s) + tools_dryrun_test.go:271: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:271 + Error: "bulk_delete: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "memory_ids" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_negative_overflow + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_mixed_invalid (0.00s) + tools_dryrun_test.go:271: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:271 + Error: "bulk_delete: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "memory_ids" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/ids_mixed_invalid + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/dry_run_string (0.00s) + tools_dryrun_test.go:283: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:283 + Error: "bulk_delete: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "dry_run" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/dry_run_string + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/dry_run_number (0.00s) + tools_dryrun_test.go:283: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:283 + Error: "bulk_delete: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "dry_run" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/dry_run_number + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/dry_run_null (0.00s) + tools_dryrun_test.go:283: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:283 + Error: "bulk_delete: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "dry_run" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/dry_run_null + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/dry_run_object (0.00s) + tools_dryrun_test.go:283: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:283 + Error: "bulk_delete: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "dry_run" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/dry_run_object + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/dry_run_array (0.00s) + tools_dryrun_test.go:283: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:283 + Error: "bulk_delete: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "dry_run" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_delete/dry_run_array + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede (0.00s) + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/null_arguments (0.00s) + tools_dryrun_test.go:251: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:251 + Error: "bulk_supersede: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "arguments" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/null_arguments + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/array_arguments (0.00s) + tools_dryrun_test.go:251: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:251 + Error: "bulk_supersede: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "arguments" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/array_arguments + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/string_arguments (0.00s) + tools_dryrun_test.go:251: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:251 + Error: "bulk_supersede: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "arguments" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/string_arguments + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/malformed_arguments (0.00s) + tools_dryrun_test.go:251: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:251 + Error: "bulk_supersede: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "arguments" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/malformed_arguments + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/missing_id_field (0.00s) + tools_dryrun_test.go:260: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:260 + Error: "bulk_supersede: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "memory_ids" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/missing_id_field + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_null (0.00s) + tools_dryrun_test.go:271: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:271 + Error: "bulk_supersede: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "memory_ids" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_null + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_top_level_string (0.00s) + tools_dryrun_test.go:271: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:271 + Error: "bulk_supersede: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "memory_ids" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_top_level_string + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_string_member (0.00s) + tools_dryrun_test.go:271: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:271 + Error: "bulk_supersede: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "memory_ids" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_string_member + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_boolean_member (0.00s) + tools_dryrun_test.go:271: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:271 + Error: "bulk_supersede: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "memory_ids" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_boolean_member + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_object_member (0.00s) + tools_dryrun_test.go:271: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:271 + Error: "bulk_supersede: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "memory_ids" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_object_member + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_nested_array (0.00s) + tools_dryrun_test.go:271: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:271 + Error: "bulk_supersede: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "memory_ids" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_nested_array + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_fraction (0.00s) + tools_dryrun_test.go:271: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:271 + Error: "bulk_supersede: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "memory_ids" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_fraction + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_positive_overflow (0.00s) + tools_dryrun_test.go:271: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:271 + Error: "bulk_supersede: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "memory_ids" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_positive_overflow + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_negative_overflow (0.00s) + tools_dryrun_test.go:271: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:271 + Error: "bulk_supersede: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "memory_ids" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_negative_overflow + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_mixed_invalid (0.00s) + tools_dryrun_test.go:271: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:271 + Error: "bulk_supersede: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "memory_ids" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/ids_mixed_invalid + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/dry_run_string (0.00s) + tools_dryrun_test.go:283: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:283 + Error: "bulk_supersede: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "dry_run" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/dry_run_string + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/dry_run_number (0.00s) + tools_dryrun_test.go:283: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:283 + Error: "bulk_supersede: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "dry_run" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/dry_run_number + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/dry_run_null (0.00s) + tools_dryrun_test.go:283: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:283 + Error: "bulk_supersede: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "dry_run" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/dry_run_null + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/dry_run_object (0.00s) + tools_dryrun_test.go:283: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:283 + Error: "bulk_supersede: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "dry_run" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/dry_run_object + --- FAIL: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/dry_run_array (0.00s) + tools_dryrun_test.go:283: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:283 + Error: "bulk_supersede: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores" does not contain "dry_run" + Test: TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs/bulk_supersede/dry_run_array +--- FAIL: TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization (0.00s) + --- FAIL: TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization/bulk_promote (0.00s) + tools_dryrun_test.go:301: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:301 + Error: Received unexpected error: + bulk_promote: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores + Test: TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization/bulk_promote + --- FAIL: TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization/bulk_delete (0.00s) + tools_dryrun_test.go:301: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:301 + Error: Received unexpected error: + bulk_delete: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores + Test: TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization/bulk_delete + --- FAIL: TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization/bulk_supersede (0.00s) + tools_dryrun_test.go:301: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:301 + Error: Received unexpected error: + bulk_supersede: facade not available — set ENGRAM_VNEXT_F_ENABLED=true and wire stores + Test: TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization/bulk_supersede +--- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade (0.00s) + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote (0.00s) + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/missing_id_field (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/missing_id_field + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/null_arguments (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/null_arguments + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/array_arguments (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/array_arguments + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/string_arguments (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/string_arguments + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/malformed_arguments (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/malformed_arguments + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_0 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_0 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_1 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_1 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_2 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_2 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_3 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_3 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_4 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_4 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_5 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_5 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_6 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_6 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_7 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_7 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_8 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_8 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_9 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_ids_9 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_dry_run_0 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_dry_run_0 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_dry_run_1 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_dry_run_1 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_dry_run_2 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_dry_run_2 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_dry_run_3 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_dry_run_3 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_dry_run_4 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_promote/invalid_dry_run_4 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete (0.00s) + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/missing_id_field (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/missing_id_field + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/null_arguments (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/null_arguments + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/array_arguments (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/array_arguments + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/string_arguments (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/string_arguments + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/malformed_arguments (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/malformed_arguments + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_0 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_0 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_1 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_1 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_2 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_2 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_3 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_3 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_4 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_4 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_5 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_5 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_6 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_6 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_7 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_7 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_8 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_8 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_9 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_ids_9 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_dry_run_0 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_dry_run_0 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_dry_run_1 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_dry_run_1 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_dry_run_2 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_dry_run_2 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_dry_run_3 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_dry_run_3 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_dry_run_4 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_delete/invalid_dry_run_4 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede (0.00s) + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/missing_id_field (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/missing_id_field + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/null_arguments (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/null_arguments + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/array_arguments (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/array_arguments + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/string_arguments (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/string_arguments + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/malformed_arguments (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/malformed_arguments + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_0 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_0 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_1 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_1 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_2 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_2 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_3 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_3 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_4 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_4 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_5 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_5 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_6 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_6 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_7 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_7 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_8 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_8 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_9 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_ids_9 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_dry_run_0 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_dry_run_0 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_dry_run_1 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_dry_run_1 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_dry_run_2 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_dry_run_2 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_dry_run_3 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_dry_run_3 + --- FAIL: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_dry_run_4 (0.00s) + tools_dryrun_test.go:382: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:382 + Error: An error is expected but got nil. + Test: TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade/bulk_supersede/invalid_dry_run_4 +--- FAIL: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun (0.00s) + --- FAIL: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_promote (0.00s) + --- FAIL: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_promote/missing (0.00s) + tools_dryrun_test.go:438: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:438 + Error: Not equal: + expected: []int64{-9223372036854775808, 1, 9007199254740992, 9007199254740993, 9223372036854775807} + actual : []int64{} + + Diff: + --- Expected + +++ Actual + @@ -1,7 +1,2 @@ + -([]int64) (len=5) { + - (int64) -9223372036854775808, + - (int64) 1, + - (int64) 9007199254740992, + - (int64) 9007199254740993, + - (int64) 9223372036854775807 + +([]int64) { + } + Test: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_promote/missing + --- FAIL: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_promote/false (0.00s) + tools_dryrun_test.go:438: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:438 + Error: Not equal: + expected: []int64{-9223372036854775808, 1, 9007199254740992, 9007199254740993, 9223372036854775807} + actual : []int64{} + + Diff: + --- Expected + +++ Actual + @@ -1,7 +1,2 @@ + -([]int64) (len=5) { + - (int64) -9223372036854775808, + - (int64) 1, + - (int64) 9007199254740992, + - (int64) 9007199254740993, + - (int64) 9223372036854775807 + +([]int64) { + } + Test: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_promote/false + --- FAIL: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_promote/true (0.00s) + tools_dryrun_test.go:435: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:435 + Error: Not equal: + expected: true + actual : false + Test: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_promote/true + tools_dryrun_test.go:438: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:438 + Error: Not equal: + expected: []int64{-9223372036854775808, 1, 9007199254740992, 9007199254740993, 9223372036854775807} + actual : []int64{} + + Diff: + --- Expected + +++ Actual + @@ -1,7 +1,2 @@ + -([]int64) (len=5) { + - (int64) -9223372036854775808, + - (int64) 1, + - (int64) 9007199254740992, + - (int64) 9007199254740993, + - (int64) 9223372036854775807 + +([]int64) { + } + Test: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_promote/true + --- FAIL: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_delete (0.00s) + --- FAIL: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_delete/missing (0.00s) + tools_dryrun_test.go:441: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:441 + Error: Not equal: + expected: []int64{-9223372036854775808, 1, 9007199254740992, 9007199254740993, 9223372036854775807} + actual : []int64{} + + Diff: + --- Expected + +++ Actual + @@ -1,7 +1,2 @@ + -([]int64) (len=5) { + - (int64) -9223372036854775808, + - (int64) 1, + - (int64) 9007199254740992, + - (int64) 9007199254740993, + - (int64) 9223372036854775807 + +([]int64) { + } + Test: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_delete/missing + --- FAIL: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_delete/false (0.00s) + tools_dryrun_test.go:441: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:441 + Error: Not equal: + expected: []int64{-9223372036854775808, 1, 9007199254740992, 9007199254740993, 9223372036854775807} + actual : []int64{} + + Diff: + --- Expected + +++ Actual + @@ -1,7 +1,2 @@ + -([]int64) (len=5) { + - (int64) -9223372036854775808, + - (int64) 1, + - (int64) 9007199254740992, + - (int64) 9007199254740993, + - (int64) 9223372036854775807 + +([]int64) { + } + Test: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_delete/false + --- FAIL: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_delete/true (0.00s) + tools_dryrun_test.go:435: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:435 + Error: Not equal: + expected: true + actual : false + Test: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_delete/true + tools_dryrun_test.go:441: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:441 + Error: Not equal: + expected: []int64{-9223372036854775808, 1, 9007199254740992, 9007199254740993, 9223372036854775807} + actual : []int64{} + + Diff: + --- Expected + +++ Actual + @@ -1,7 +1,2 @@ + -([]int64) (len=5) { + - (int64) -9223372036854775808, + - (int64) 1, + - (int64) 9007199254740992, + - (int64) 9007199254740993, + - (int64) 9223372036854775807 + +([]int64) { + } + Test: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_delete/true + --- FAIL: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_supersede (0.00s) + --- FAIL: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_supersede/missing (0.00s) + tools_dryrun_test.go:441: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:441 + Error: Not equal: + expected: []int64{-9223372036854775808, 1, 9007199254740992, 9007199254740993, 9223372036854775807} + actual : []int64{} + + Diff: + --- Expected + +++ Actual + @@ -1,7 +1,2 @@ + -([]int64) (len=5) { + - (int64) -9223372036854775808, + - (int64) 1, + - (int64) 9007199254740992, + - (int64) 9007199254740993, + - (int64) 9223372036854775807 + +([]int64) { + } + Test: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_supersede/missing + --- FAIL: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_supersede/false (0.00s) + tools_dryrun_test.go:441: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:441 + Error: Not equal: + expected: []int64{-9223372036854775808, 1, 9007199254740992, 9007199254740993, 9223372036854775807} + actual : []int64{} + + Diff: + --- Expected + +++ Actual + @@ -1,7 +1,2 @@ + -([]int64) (len=5) { + - (int64) -9223372036854775808, + - (int64) 1, + - (int64) 9007199254740992, + - (int64) 9007199254740993, + - (int64) 9223372036854775807 + +([]int64) { + } + Test: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_supersede/false + --- FAIL: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_supersede/true (0.00s) + tools_dryrun_test.go:435: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:435 + Error: Not equal: + expected: true + actual : false + Test: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_supersede/true + tools_dryrun_test.go:441: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/tools_dryrun_test.go:441 + Error: Not equal: + expected: []int64{-9223372036854775808, 1, 9007199254740992, 9007199254740993, 9223372036854775807} + actual : []int64{} + + Diff: + --- Expected + +++ Actual + @@ -1,7 +1,2 @@ + -([]int64) (len=5) { + - (int64) -9223372036854775808, + - (int64) 1, + - (int64) 9007199254740992, + - (int64) 9007199254740993, + - (int64) 9223372036854775807 + +([]int64) { + } + Test: TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun/bulk_supersede/true +FAIL +FAIL github.com/thebtf/engram/internal/mcp 0.139s +FAIL +test_exit=1 +active_sessions_before_terminate=0 +database_residue=0 +activity_residue=0 +finished_utc=2026-07-10T08:38:19.0298344Z diff --git a/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/07-post-prove-green.log b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/07-post-prove-green.log new file mode 100644 index 00000000..01b6a2a6 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/07-post-prove-green.log @@ -0,0 +1,12 @@ +base_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +head_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +database=engram_mkr_bedge_post_prove_green_20260710a +command=go test -p=1 ./internal/db/gorm ./internal/mcp -run ^(TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites|TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit|TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs|TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization|TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade|TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun)$ -count=1 +started_utc=2026-07-10T08:38:56.1896229Z +ok github.com/thebtf/engram/internal/db/gorm 3.688s +ok github.com/thebtf/engram/internal/mcp 0.091s +test_exit=0 +active_sessions_before_terminate=0 +database_residue=0 +activity_residue=0 +finished_utc=2026-07-10T08:39:04.9174418Z diff --git a/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/08-full-packages.log b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/08-full-packages.log new file mode 100644 index 00000000..26abe49e --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/08-full-packages.log @@ -0,0 +1,424 @@ +base_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +head_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +database=engram_mkr_bedge_full_packages_20260710a +command=go test -p=1 ./internal/db/gorm ./internal/mcp -count=1 +started_utc=2026-07-10T08:39:24.7238176Z +{"level":"warn","error":"ERROR: relation \"observation_vectors\" does not exist (SQLSTATE 42P01)","time":"2026-07-10T11:39:27+03:00","message":"migration 040: orphan vector cleanup failed (non-fatal)"} +{"level":"info","garbage_deleted":0,"orphan_vectors_deleted":0,"time":"2026-07-10T11:39:27+03:00","message":"migration 040: garbage cleanup complete"} +{"level":"info","orphan_vectors_deleted":0,"time":"2026-07-10T11:39:27+03:00","message":"migration 041: orphan vector purge complete"} +{"level":"info","patterns_deleted":0,"time":"2026-07-10T11:39:27+03:00","message":"migration 042: low-quality pattern purge complete"} +{"level":"info","total_deleted":0,"time":"2026-07-10T11:39:27+03:00","message":"migration 043: radical observation cleanup complete"} +{"level":"warn","error":"ERROR: extension \"vectorscale\" is not available (SQLSTATE 0A000)","time":"2026-07-10T11:39:28+03:00","message":"migration 109: vectorscale extension not available, skipping DiskANN index"} + +2026/07/10 11:39:30 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store.go:151 ERROR: duplicate key value violates unique constraint "idx_candidates_fingerprint_pending" (SQLSTATE 23505) +[2.502ms] [rows:0] INSERT INTO "crystallization_candidates" ("created_at","updated_at","review_after","source_session_id","proposed_content","proposed_tier","proposed_epistemic_type","proposed_promotion_target","evidence_handles","privacy_scope","status","fingerprint","affected_projects","promoted_memory_id","confidence","recurrence_count") VALUES ('2026-07-10 11:39:30.921','2026-07-10 11:39:30.921','2026-07-17 08:39:30.92','session-fp-1783672770914798700','idempotent content','episodic','observation','rule','[]','project','pending','a4638b783aed09e6','{}',NULL,0.5,1) RETURNING "id" +--- FAIL: TestCandidateStore_PromoteWithMemoryAndSnapshot_AmendFailureRollsBackPromotion (0.13s) + candidate_store_test.go:507: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:507 + Error: "promote_with_memory_snapshot: snapshot actor does not match review actor" does not contain "forced snapshot amend failure" + Test: TestCandidateStore_PromoteWithMemoryAndSnapshot_AmendFailureRollsBackPromotion +--- FAIL: TestCandidateStore_PreserveWithMemoryAndSnapshot_RequiresCandidateReviewSnapshotBeforeMutation (0.00s) + candidate_store_test.go:565: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:565 + Error: "preserve_with_memory_snapshot: candidate review snapshot is required" does not contain "candidate_review snapshot is required" + Test: TestCandidateStore_PreserveWithMemoryAndSnapshot_RequiresCandidateReviewSnapshotBeforeMutation + +2026/07/10 11:39:32 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/audit_store.go:46 ERROR: forced candidate_review audit failure (SQLSTATE P0001) +[2.000ms] [rows:0] INSERT INTO "audit_log" ("memory_id","action","actor","source_session_id","before_state","after_state","reason") VALUES (NULL,'candidate_review','agent/fail','session-candidate-review-supersede-audit-rollback-1783672772251471800','{"created_at":"2026-07-10T11:39:32.252471+03:00","updated_at":"2026-07-10T11:39:32.252471+03:00","review_after":"2026-07-17T11:39:32.251471+03:00","source_session_id":"session-candidate-review-supersede-audit-rollback-1783672772251471800","proposed_content":"content for candidate review transaction test","proposed_tier":"episodic","proposed_epistemic_type":"observation","proposed_promotion_target":"rule","privacy_scope":"project","status":"pending","fingerprint":"9a2e9f2cccee1e21","affected_projects":["test-project"],"id":20,"confidence":0.5,"recurrence_count":1}','{"created_at":"2026-07-10T11:39:32.252471+03:00","updated_at":"2026-07-10T11:39:32.271015+03:00","review_after":"2026-07-17T11:39:32.251471+03:00","source_session_id":"session-candidate-review-supersede-audit-rollback-1783672772251471800","proposed_content":"content for candidate review transaction test","proposed_tier":"episodic","proposed_epistemic_type":"observation","proposed_promotion_target":"rule","privacy_scope":"project","status":"superseded","fingerprint":"9a2e9f2cccee1e21","affected_projects":["test-project"],"id":20,"confidence":0.5,"recurrence_count":1}','candidate 20 review action supersede') RETURNING "id","created_at" +{"level":"debug","connections":2,"time":"2026-07-10T11:39:37+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":2,"time":"2026-07-10T11:39:37+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":2,"time":"2026-07-10T11:39:37+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":2,"time":"2026-07-10T11:39:37+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":2,"time":"2026-07-10T11:39:38+03:00","message":"Connection pool warmed"} +{"level":"info","time":"2026-07-10T11:39:38+03:00","message":"Starting database optimization"} +{"level":"info","duration":160.7167,"time":"2026-07-10T11:39:38+03:00","message":"Database optimization complete"} +{"level":"debug","connections":2,"time":"2026-07-10T11:39:38+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":2,"time":"2026-07-10T11:39:38+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":2,"time":"2026-07-10T11:39:38+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":2,"time":"2026-07-10T11:39:38+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":2,"time":"2026-07-10T11:39:38+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":2,"time":"2026-07-10T11:39:39+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":2,"time":"2026-07-10T11:39:39+03:00","message":"Connection pool warmed"} + +2026/07/10 11:39:45 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:214 ERROR: new row for relation "memories" violates check constraint "memories_privacy_scope_chk" (SQLSTATE 23514) +[0.500ms] [rows:0] INSERT INTO memories (project, content, privacy_scope) VALUES ('t001-test', 'T001 invalid fixture', 'invalid_scope') + +2026/07/10 11:39:45 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:175 sql: database is closed +[0.000ms] [rows:0] DELETE FROM memories WHERE project = 't001-test' + +2026/07/10 11:39:45 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:260 sql: database is closed +[0.000ms] [rows:0] DELETE FROM memories WHERE project = 't006-backfill-test' + +2026/07/10 11:39:45 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:379 sql: database is closed +[0.000ms] [rows:0] DELETE FROM memories WHERE project = 't001b-test' + +2026/07/10 11:39:45 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:479 ERROR: new row for relation "knowledge_nodes" violates check constraint "knowledge_nodes_type_chk" (SQLSTATE 23514) +[0.502ms] [rows:0] INSERT INTO knowledge_nodes (node_type, external_ref, project) VALUES ('invalid_node_type', 'ref-invalid', 't009-test') + +2026/07/10 11:39:45 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:490 ERROR: duplicate key value violates unique constraint "idx_knowledge_nodes_type_ref_active" (SQLSTATE 23505) +[1.001ms] [rows:0] INSERT INTO knowledge_nodes (node_type, external_ref, project) VALUES ('skill', 'unique-test-skill', 't009-test') + +2026/07/10 11:39:45 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:444 sql: database is closed +[0.000ms] [rows:0] DELETE FROM knowledge_nodes WHERE project = 't009-test' + +2026/07/10 11:39:45 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:573 sql: database is closed +[0.000ms] [rows:0] DELETE FROM memories WHERE project = 't010-test' + +2026/07/10 11:39:45 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:574 sql: database is closed +[0.000ms] [rows:0] DELETE FROM knowledge_edges WHERE source_session_id = 't010-test' + +2026/07/10 11:39:45 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:531 sql: database is closed +[0.000ms] [rows:0] DELETE FROM knowledge_nodes WHERE project = 't010-test' + +2026/07/10 11:39:45 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:695 ERROR: new row for relation "crystallization_candidates" violates check constraint "crystallization_candidates_status_check" (SQLSTATE 23514) +[1.007ms] [rows:0] + INSERT INTO crystallization_candidates (proposed_content, status) + VALUES ('test', 'invalid_status') + + +2026/07/10 11:39:45 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:823 ERROR: new row for relation "bulk_op_snapshots" violates check constraint "bulk_op_snapshots_op_type_check" (SQLSTATE 23514) +[0.500ms] [rows:0] + INSERT INTO bulk_op_snapshots (snapshot_id, op_type, actor, before_state) + VALUES ('test-snap-invalid', 'invalid_op', 'test-actor', '{}') + + +2026/07/10 11:39:45 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:780 sql: database is closed +[0.000ms] [rows:0] DELETE FROM bulk_op_snapshots WHERE snapshot_id LIKE 'test-snap-%' + +2026/07/10 11:39:46 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:884 ERROR: new row for relation "bulk_op_snapshots" violates check constraint "bulk_op_snapshots_op_type_check" (SQLSTATE 23514) +[1.541ms] [rows:0] + INSERT INTO bulk_op_snapshots (snapshot_id, op_type, actor, before_state) + VALUES ('test-m153-candidate-review-1783672786003038400-invalid', 'invalid_op_after_blocked_rollback', 'test-actor', '{}') + + +2026/07/10 11:39:46 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:873 sql: database is closed +[0.000ms] [rows:0] DELETE FROM bulk_op_snapshots WHERE snapshot_id IN ('test-m153-candidate-review-1783672786003038400', 'test-m153-candidate-review-1783672786003038400-invalid') + +2026/07/10 11:39:46 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:921 ERROR: new row for relation "bulk_op_snapshots" violates check constraint "bulk_op_snapshots_op_type_check" (SQLSTATE 23514) +[1.500ms] [rows:0] + INSERT INTO bulk_op_snapshots (snapshot_id, op_type, actor, before_state) + VALUES ('test-m154-forgetting-review-1783672786114199700-invalid', 'invalid_op_after_blocked_forgetting_rollback', 'test-actor', '{}') + + +2026/07/10 11:39:46 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:910 sql: database is closed +[0.000ms] [rows:0] DELETE FROM bulk_op_snapshots WHERE snapshot_id IN ('test-m154-forgetting-review-1783672786114199700', 'test-m154-forgetting-review-1783672786114199700-invalid') + +2026/07/10 11:39:46 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:947 sql: database is closed +[0.000ms] [rows:0] DELETE FROM rule_governance_snapshots WHERE snapshot_id = 'test-rg-snap-1783672786226258900' + +2026/07/10 11:39:46 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:1034 ERROR: new row for relation "api_tokens" violates check constraint "api_tokens_principal_kind_chk" (SQLSTATE 23514) +[1.504ms] [rows:0] + INSERT INTO api_tokens (name, token_hash, token_prefix, scope, principal, principal_kind) + VALUES ('test-principal-1783672786339758700-invalid', 'hash-invalid', 'p148bad0', 'read-write', 'principal/bad', 'daemon') + + +2026/07/10 11:39:46 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:981 sql: database is closed +[0.000ms] [rows:0] DELETE FROM api_tokens WHERE name LIKE 'test-principal-1783672786339758700%' + +2026/07/10 11:39:48 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[1.999ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-arbiter-annotation-1783672788230078600' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:39:48 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.000ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-arbiter-terminal-run-1783672788379132700' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:39:48 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.000ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-arbiter-annotation-mismatch-1783672788511731300' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:39:48 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[0.500ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-arbiter-annotation-other-1783672788519731700' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:39:48 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:627 record not found +[0.999ms] [rows:0] SELECT * FROM "rule_arbiter_evaluations" WHERE id = 2 AND candidate_id = 3 AND run_id = 3 AND action = 'hold' ORDER BY "rule_arbiter_evaluations"."id" LIMIT 1 + +2026/07/10 11:39:48 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.005ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-arbiter-requeue-1783672788652256200' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 +--- FAIL: TestRuleGovernanceStore_AnnotatedCandidateWaitsUntilReviewAfter (0.18s) + rule_arbiter_store_test.go:195: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_arbiter_store_test.go:195 + Error: []int64{1} does not contain 5 + Test: TestRuleGovernanceStore_AnnotatedCandidateWaitsUntilReviewAfter + +2026/07/10 11:39:48 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[3.000ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-arbiter-claim-race-1783672788826969800' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:39:48 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.500ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-arbiter-confidence-1783672788987584700' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:39:49 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.000ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-rg3-health-1783672789116093000-pending-1783672789116093000' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:39:49 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[1.000ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-rg3-health-1783672789116093000-rejected-1783672789123593700' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 +--- FAIL: TestRuleGovernanceStore_GetLifecycleHealthAggregatesGovernanceTables (0.18s) + rule_governance_rg3_store_test.go:93: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_rg3_store_test.go:93 + Error: Not equal: + expected: 1 + actual : 5 + Test: TestRuleGovernanceStore_GetLifecycleHealthAggregatesGovernanceTables +--- FAIL: TestRuleGovernanceStore_GetLifecycleHealthOmitsGlobalArbiterRunsForProjectScopedReads (0.12s) + rule_governance_rg3_store_test.go:128: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_rg3_store_test.go:128 + Error: Not equal: + expected: 1 + actual : 6 + Test: TestRuleGovernanceStore_GetLifecycleHealthOmitsGlobalArbiterRunsForProjectScopedReads + +2026/07/10 11:39:49 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.000ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-rg3-queue-1783672789417649200-global-1783672789417649200' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:39:49 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[0.500ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-rg3-queue-1783672789417649200-conflict-1783672789425149100' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:39:49 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[0.999ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-rg3-queue-1783672789417649200-hold-1783672789429650100' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:39:49 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[0.500ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-rg3-queue-1783672789417649200-unclear-1783672789434648900' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:39:49 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[1.502ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-rg3-queue-filter-1783672789558522500-live-conflict-1783672789558522500' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:39:49 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[0.500ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-rg3-queue-filter-1783672789558522500-resolved-conflict-1783672789571520300' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:39:49 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[0.999ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-rg3-queue-filter-1783672789558522500-noise-0-1783672789587022100' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:39:49 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[0.500ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-rg3-queue-filter-1783672789558522500-noise-1-1783672789592521600' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:39:49 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[1.000ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-rg3-queue-filter-1783672789558522500-noise-2-1783672789597021400' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:39:50 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migration_rule_governance.go:196 ERROR: cannot drop table rule_versions because other objects depend on it (SQLSTATE 2BP01) +[1.501ms] [rows:0] DROP TABLE IF EXISTS rule_versions +--- FAIL: TestMigration144_RuleGovernanceRollbackAndReapply (0.13s) + rule_governance_store_test.go:32: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store_test.go:32 + Error: Received unexpected error: + ERROR: cannot drop table rule_versions because other objects depend on it (SQLSTATE 2BP01) + Test: TestMigration144_RuleGovernanceRollbackAndReapply + +2026/07/10 11:39:50 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migration_rule_governance.go:196 ERROR: cannot drop table rule_versions because other objects depend on it (SQLSTATE 2BP01) +[1.005ms] [rows:0] DROP TABLE IF EXISTS rule_versions +--- FAIL: TestMigration144_RuleGovernanceEscapeConstraints (0.13s) + rule_governance_store_test.go:45: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store_test.go:45 + Error: Received unexpected error: + ERROR: cannot drop table rule_versions because other objects depend on it (SQLSTATE 2BP01) + Test: TestMigration144_RuleGovernanceEscapeConstraints + +2026/07/10 11:39:50 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.000ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-idempotent-fingerprint' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:39:51 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[1.999ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-draft-fingerprint' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:39:51 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1625 record not found +[2.000ms] [rows:0] SELECT * FROM "rule_versions" WHERE source_candidate_id = 21 ORDER BY "rule_versions"."id" LIMIT 1 + +2026/07/10 11:39:51 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.501ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-unknown-actor-kind-1783672791536984100' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:39:51 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1625 record not found +[2.002ms] [rows:0] SELECT * FROM "rule_versions" WHERE source_candidate_id = 22 ORDER BY "rule_versions"."id" LIMIT 1 + +2026/07/10 11:39:51 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.001ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-blank-transition-actor-1783672791658360100' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:39:51 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1625 record not found +[1.498ms] [rows:0] SELECT * FROM "rule_versions" WHERE source_candidate_id = 23 ORDER BY "rule_versions"."id" LIMIT 1 + +2026/07/10 11:39:51 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[0.999ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-blank-transition-actor kind-1783672791670860700' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:39:51 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1625 record not found +[0.999ms] [rows:0] SELECT * FROM "rule_versions" WHERE source_candidate_id = 24 ORDER BY "rule_versions"."id" LIMIT 1 + +2026/07/10 11:39:51 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[0.498ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-blank-transition-reason-1783672791679862500' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:39:51 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1625 record not found +[1.000ms] [rows:0] SELECT * FROM "rule_versions" WHERE source_candidate_id = 25 ORDER BY "rule_versions"."id" LIMIT 1 + +2026/07/10 11:39:51 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[1.004ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-blank-transition-evidence handle-1783672791687860000' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:39:51 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1625 record not found +[1.001ms] [rows:0] SELECT * FROM "rule_versions" WHERE source_candidate_id = 26 ORDER BY "rule_versions"."id" LIMIT 1 + +2026/07/10 11:39:51 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.500ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-snapshot-required-1783672791812232600' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:39:51 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1625 record not found +[1.500ms] [rows:0] SELECT * FROM "rule_versions" WHERE source_candidate_id = 27 ORDER BY "rule_versions"."id" LIMIT 1 + +2026/07/10 11:39:51 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.265ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-snapshot-log-1783672791968604100' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:39:51 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1625 record not found +[1.755ms] [rows:0] SELECT * FROM "rule_versions" WHERE source_candidate_id = 28 ORDER BY "rule_versions"."id" LIMIT 1 + +2026/07/10 11:39:52 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.498ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-authority-1783672792240952400' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:39:52 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1625 record not found +[2.004ms] [rows:0] SELECT * FROM "rule_versions" WHERE source_candidate_id = 29 ORDER BY "rule_versions"."id" LIMIT 1 + +2026/07/10 11:39:52 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.000ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-log-rollback-1783672792412023100' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:39:52 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1625 record not found +[2.003ms] [rows:0] SELECT * FROM "rule_versions" WHERE source_candidate_id = 30 ORDER BY "rule_versions"."id" LIMIT 1 + +2026/07/10 11:39:52 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1664 ERROR: new row for relation "rule_transition_log" violates check constraint "rg0_transition_log_fail_test" (SQLSTATE 23514) +[0.498ms] [rows:0] INSERT INTO "rule_transition_log" ("created_at","rule_version_id","candidate_id","actor","actor_kind","action","from_state","to_state","reason","evidence_handles_json","snapshot_id") VALUES ('2026-07-10 11:39:52.452',22,30,'codex','agent','rule_version_transition','shadow','canary','force-log-fail','["evidence:rg0-transition"]','') RETURNING "id" + +2026/07/10 11:39:52 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.500ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-snapshot-rollback-1783672792568063700' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:39:52 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1625 record not found +[2.029ms] [rows:0] SELECT * FROM "rule_versions" WHERE source_candidate_id = 31 ORDER BY "rule_versions"."id" LIMIT 1 + +2026/07/10 11:39:52 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1692 ERROR: duplicate key value violates unique constraint "rule_governance_snapshots_snapshot_id_key" (SQLSTATE 23505) +[0.998ms] [rows:0] INSERT INTO "rule_governance_snapshots" ("created_at","rolled_back_at","snapshot_id","op_type","actor","before_state_json","after_state_json","status","pinned") VALUES ('2026-07-10 11:39:52.615',NULL,'rg0-duplicate-1783672792608596200','rule_transition','codex','{"project":"rg0-project","rule_versions":[{"state":"canary","id":23}]}','{"project":"rg0-project","rule_versions":[{"state":"active_project","id":23}]}','committed',false) RETURNING "id" + +2026/07/10 11:39:52 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migration_rule_governance.go:196 ERROR: cannot drop table rule_versions because other objects depend on it (SQLSTATE 2BP01) +[1.502ms] [rows:0] DROP TABLE IF EXISTS rule_versions +--- FAIL: TestMigration144_RuleGovernanceSnapshotStatusesAcceptExtendedStates (0.16s) + rule_governance_store_test.go:729: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store_test.go:729 + Error: Received unexpected error: + ERROR: cannot drop table rule_versions because other objects depend on it (SQLSTATE 2BP01) + Test: TestMigration144_RuleGovernanceSnapshotStatusesAcceptExtendedStates + +2026/07/10 11:39:53 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_injection_event_store_test.go:32 ERROR: new row for relation "rule_injection_events" violates check constraint "rule_injection_events_type_chk" (SQLSTATE 23514) +[1.500ms] [rows:0] + INSERT INTO rule_injection_events (session_id, project, surface, event_type) + VALUES ('rg2-invalid-session', 'rg2-project', 'session-start', 'invalid_event') + + +2026/07/10 11:39:58 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/state_store_test.go:188 record not found +[2.268ms] [rows:0] SELECT * FROM "audit_log" WHERE action = 'write_project_state' AND actor = 'agent' AND reason LIKE '%state-audit-project-1783672798727582100%' ORDER BY id DESC,"audit_log"."id" LIMIT 1 + +2026/07/10 11:39:59 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/state_store_test.go:397 record not found +[1.500ms] [rows:0] SELECT * FROM "audit_log" WHERE action = 'read_resume_state' AND actor = 'agent:developer' AND source_session_id = 'state-resume-session-1783672799194955600' ORDER BY id DESC,"audit_log"."id" LIMIT 1 + +2026/07/10 11:39:59 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/state_store.go:216 record not found +[1.999ms] [rows:0] SELECT * FROM "agent_project_state" WHERE project = 'state-resume-project-scope-missing-1783672799755699600' ORDER BY "agent_project_state"."id" LIMIT 1 +{"level":"debug","connections":5,"time":"2026-07-10T11:40:00+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T11:40:00+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T11:40:00+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T11:40:00+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T11:40:00+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T11:40:00+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T11:40:00+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T11:40:00+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T11:40:00+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T11:40:01+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T11:40:01+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T11:40:01+03:00","message":"Connection pool warmed"} +{"level":"info","time":"2026-07-10T11:40:01+03:00","message":"Starting database optimization"} +{"level":"info","duration":192.0614,"time":"2026-07-10T11:40:01+03:00","message":"Database optimization complete"} + +2026/07/10 11:40:02 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:29 +[error] failed to initialize database, got error failed to connect to `user=engram database=engram_mkr_bedge_full_packages_20260710a`: 127.0.0.1:55432 (127.0.0.1): server error: FATAL: sorry, too many clients already (SQLSTATE 53300) +--- FAIL: TestTemporalTruthStore_LoadSelectedRecordsUsesDBNowForValidFrom (0.01s) + temporal_truth_store_test.go:377: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:30 + D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/temporal_truth_store_test.go:377 + Error: Received unexpected error: + failed to connect to `user=engram database=engram_mkr_bedge_full_packages_20260710a`: 127.0.0.1:55432 (127.0.0.1): server error: FATAL: sorry, too many clients already (SQLSTATE 53300) + Test: TestTemporalTruthStore_LoadSelectedRecordsUsesDBNowForValidFrom + Messages: open test DB +--- FAIL: TestTokenStore_CreateWithPrincipalRoundTrip (0.00s) + token_store_test.go:14: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/credential_store_test.go:29 + D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/token_store_test.go:14 + Error: Received unexpected error: + failed to connect to `user=engram database=engram_mkr_bedge_full_packages_20260710a`: 127.0.0.1:55432 (127.0.0.1): server error: FATAL: sorry, too many clients already (SQLSTATE 53300) + Test: TestTokenStore_CreateWithPrincipalRoundTrip + Messages: open test db +--- FAIL: TestTokenStore_CreateWithPrincipalRejectsKindWithoutPrincipal (0.00s) + token_store_test.go:51: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/credential_store_test.go:29 + D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/token_store_test.go:51 + Error: Received unexpected error: + failed to connect to `user=engram database=engram_mkr_bedge_full_packages_20260710a`: 127.0.0.1:55432 (127.0.0.1): server error: FATAL: sorry, too many clients already (SQLSTATE 53300) + Test: TestTokenStore_CreateWithPrincipalRejectsKindWithoutPrincipal + Messages: open test db +--- FAIL: TestTranscriptStore_Lifecycle (0.00s) + transcript_store_test.go:64: open test db: failed to connect to `user=engram database=engram_mkr_bedge_full_packages_20260710a`: 127.0.0.1:55432 (127.0.0.1): server error: FATAL: sorry, too many clients already (SQLSTATE 53300) +FAIL +FAIL github.com/thebtf/engram/internal/db/gorm 35.866s +{"level":"debug","connections":1,"time":"2026-07-10T11:40:03+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:40:03+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:40:03+03:00","message":"Connection pool warmed"} +--- FAIL: TestHybridTG3_ConfidenceMin_FloorEnforced_T022 (0.13s) + integration_tg3_hybrid_test.go:83: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/integration_tg3_hybrid_test.go:83 + Error: Received unexpected error: + json: cannot unmarshal array into Go value of type map[string]interface {} + Test: TestHybridTG3_ConfidenceMin_FloorEnforced_T022 + Messages: response must be valid JSON +{"level":"debug","connections":1,"time":"2026-07-10T11:40:03+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:40:03+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:40:03+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:40:03+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:40:04+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:40:04+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:40:04+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T11:40:04+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T11:40:04+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:40:04+03:00","message":"Connection pool warmed"} +--- FAIL: TestEC_F1_TagDerivedBackfill_T007 (0.13s) + store_memory_compat_t007_test.go:157: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/store_memory_compat_t007_test.go:157 + Error: Should be true + Test: TestEC_F1_TagDerivedBackfill_T007 + Messages: global-scoped row must be returned by MemoryStore.List within its own project +{"level":"debug","connections":1,"time":"2026-07-10T11:40:04+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:40:04+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:40:05+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:40:05+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:40:05+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T11:40:05+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T11:40:05+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T11:40:05+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:40:06+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:40:06+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:40:06+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:40:06+03:00","message":"Connection pool warmed"} +{"level":"debug","soft_limit":1000,"time":"2026-07-10T11:40:06+03:00","message":"edit_memory: content truncated to soft limit"} +{"level":"warn","time":"2026-07-10T11:40:06+03:00","message":"edit_memory: content contains secrets — redacting before storage"} +{"level":"error","audit_label":"test-panic","memory_id":99,"panic":"simulated audit panic","time":"2026-07-10T11:40:06+03:00","message":"audit: goroutine panic recovered"} +{"level":"error","error":"simulated db error","audit_label":"test-error","memory_id":88,"time":"2026-07-10T11:40:06+03:00","message":"audit: async write failed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:40:06+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:40:06+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:40:06+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:40:07+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:40:07+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:40:07+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:40:07+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:40:07+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:40:07+03:00","message":"Connection pool warmed"} +{"level":"error","error":"temporal truth feature flag required","tool":"temporal_truth","args":"{\"fact_id\":\"42\",\"project\":\"engram\"}","time":"2026-07-10T11:40:07+03:00","message":"Tool call failed"} +{"level":"error","error":"temporal truth provider not configured","tool":"temporal_truth","args":"{\"fact_id\":\"42\",\"project\":\"engram\"}","time":"2026-07-10T11:40:07+03:00","message":"Tool call failed"} +{"level":"error","error":"temporal truth feature flag required","tool":"temporal_truth_refresh","args":"{\"project\":\"engram\"}","time":"2026-07-10T11:40:07+03:00","message":"Tool call failed"} +{"level":"error","error":"temporal truth provider not configured","tool":"temporal_truth_refresh","args":"{\"project\":\"engram\"}","time":"2026-07-10T11:40:07+03:00","message":"Tool call failed"} +{"level":"error","error":"codebase_search requires ENGRAM_CODE_INTEL_ENABLED=true","tool":"codebase_search","args":"{\"query\":\"hello\",\"project\":\"test\"}","time":"2026-07-10T11:40:07+03:00","message":"Tool call failed"} +{"level":"error","error":"unknown tool: ","tool":"","args":"","time":"2026-07-10T11:40:07+03:00","message":"Tool call failed"} +{"level":"debug","method":"initialized","time":"2026-07-10T11:40:07+03:00","message":"MCP client initialized"} +{"level":"error","error":"unknown tool: no_such_tool","tool":"no_such_tool","args":"{}","time":"2026-07-10T11:40:07+03:00","message":"Tool call failed"} +{"level":"debug","method":"initialized","time":"2026-07-10T11:40:07+03:00","message":"MCP client initialized"} +{"level":"debug","connections":5,"time":"2026-07-10T11:40:07+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T11:40:07+03:00","message":"Connection pool warmed"} +FAIL +FAIL github.com/thebtf/engram/internal/mcp 4.890s +FAIL +test_exit=1 +active_sessions_before_terminate=0 +database_residue=0 +activity_residue=0 +finished_utc=2026-07-10T08:40:09.4600013Z diff --git a/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/09-legacy-compat.log b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/09-legacy-compat.log new file mode 100644 index 00000000..e7a41b00 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/09-legacy-compat.log @@ -0,0 +1,12 @@ +base_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +head_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +database=engram_mkr_bedge_legacy_compat_20260710a +command=go test -p=1 ./internal/db/gorm ./internal/mcp -run ^(TestCandidateStore_PromoteWithMemoryAndSnapshot_AmendFailureRollsBackPromotion|TestCandidateStore_PreserveWithMemoryAndSnapshot_RequiresCandidateReviewSnapshotBeforeMutation|TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites|TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit|TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs|TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization|TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade|TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun)$ -count=1 +started_utc=2026-07-10T08:41:07.6755830Z +ok github.com/thebtf/engram/internal/db/gorm 3.999s +ok github.com/thebtf/engram/internal/mcp 0.097s +test_exit=0 +active_sessions_before_terminate=0 +database_residue=0 +activity_residue=0 +finished_utc=2026-07-10T08:41:18.5962758Z diff --git a/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/10-full-gorm.log b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/10-full-gorm.log new file mode 100644 index 00000000..90f96ca0 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/10-full-gorm.log @@ -0,0 +1,350 @@ +base_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +head_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +database=engram_mkr_bedge_full_gorm_20260710a +command=go test -p=1 ./internal/db/gorm -count=1 +started_utc=2026-07-10T08:41:45.6843259Z +{"level":"warn","error":"ERROR: relation \"observation_vectors\" does not exist (SQLSTATE 42P01)","time":"2026-07-10T11:41:50+03:00","message":"migration 040: orphan vector cleanup failed (non-fatal)"} +{"level":"info","garbage_deleted":0,"orphan_vectors_deleted":0,"time":"2026-07-10T11:41:50+03:00","message":"migration 040: garbage cleanup complete"} +{"level":"info","orphan_vectors_deleted":0,"time":"2026-07-10T11:41:50+03:00","message":"migration 041: orphan vector purge complete"} +{"level":"info","patterns_deleted":0,"time":"2026-07-10T11:41:50+03:00","message":"migration 042: low-quality pattern purge complete"} +{"level":"info","total_deleted":0,"time":"2026-07-10T11:41:50+03:00","message":"migration 043: radical observation cleanup complete"} +{"level":"warn","error":"ERROR: extension \"vectorscale\" is not available (SQLSTATE 0A000)","time":"2026-07-10T11:41:51+03:00","message":"migration 109: vectorscale extension not available, skipping DiskANN index"} + +2026/07/10 11:41:54 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store.go:151 ERROR: duplicate key value violates unique constraint "idx_candidates_fingerprint_pending" (SQLSTATE 23505) +[2.499ms] [rows:0] INSERT INTO "crystallization_candidates" ("created_at","updated_at","review_after","source_session_id","proposed_content","proposed_tier","proposed_epistemic_type","proposed_promotion_target","evidence_handles","privacy_scope","status","fingerprint","affected_projects","promoted_memory_id","confidence","recurrence_count") VALUES ('2026-07-10 11:41:54.142','2026-07-10 11:41:54.142','2026-07-17 08:41:54.141','session-fp-1783672914134907400','idempotent content','episodic','observation','rule','[]','project','pending','92aa3bf9b122ff1d','{}',NULL,0.5,1) RETURNING "id" + +2026/07/10 11:41:54 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/snapshot_store.go:379 ERROR: forced snapshot amend failure (SQLSTATE P0001) +[1.503ms] [rows:0] UPDATE "bulk_op_snapshots" SET "affected_memory_ids"='{3}',"before_state"='{"candidate:16":{"kind":"restore","before":{"id":16,"status":"pending","confidence":0.5,"created_at":"2026-07-10T11:41:54.951266+03:00","updated_at":"2026-07-10T11:41:54.951266+03:00","fingerprint":"79858fbcebf3d445","review_after":"2026-07-17T08:41:54.9502663Z","privacy_scope":"project","proposed_tier":"episodic","proposed_content":"content for snapshot amend rollback test","recurrence_count":1,"affected_projects":["test-project"],"source_session_id":"session-promote-snapshot-rollback-1783672914950266300","proposed_epistemic_type":"observation","proposed_promotion_target":"rule"}},"memory:3":{"kind":"delete"}}' WHERE snapshot_id = 'candidate-review-2c6f5f57-075c-441b-9009-1264d5f4d032' + +2026/07/10 11:41:55 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/audit_store.go:46 ERROR: forced candidate_review audit failure (SQLSTATE P0001) +[1.998ms] [rows:0] INSERT INTO "audit_log" ("memory_id","action","actor","source_session_id","before_state","after_state","reason") VALUES (NULL,'candidate_review','agent/fail','session-candidate-review-supersede-audit-rollback-1783672915557788000','{"created_at":"2026-07-10T11:41:55.558288+03:00","updated_at":"2026-07-10T11:41:55.558288+03:00","review_after":"2026-07-17T11:41:55.557788+03:00","source_session_id":"session-candidate-review-supersede-audit-rollback-1783672915557788000","proposed_content":"content for candidate review transaction test","proposed_tier":"episodic","proposed_epistemic_type":"observation","proposed_promotion_target":"rule","privacy_scope":"project","status":"pending","fingerprint":"2492a14019966cd8","affected_projects":["test-project"],"id":20,"confidence":0.5,"recurrence_count":1}','{"created_at":"2026-07-10T11:41:55.558288+03:00","updated_at":"2026-07-10T11:41:55.574789+03:00","review_after":"2026-07-17T11:41:55.557788+03:00","source_session_id":"session-candidate-review-supersede-audit-rollback-1783672915557788000","proposed_content":"content for candidate review transaction test","proposed_tier":"episodic","proposed_epistemic_type":"observation","proposed_promotion_target":"rule","privacy_scope":"project","status":"superseded","fingerprint":"2492a14019966cd8","affected_projects":["test-project"],"id":20,"confidence":0.5,"recurrence_count":1}','candidate 20 review action supersede') RETURNING "id","created_at" +{"level":"debug","connections":2,"time":"2026-07-10T11:42:00+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":2,"time":"2026-07-10T11:42:00+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":2,"time":"2026-07-10T11:42:00+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":2,"time":"2026-07-10T11:42:01+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":2,"time":"2026-07-10T11:42:01+03:00","message":"Connection pool warmed"} +{"level":"info","time":"2026-07-10T11:42:01+03:00","message":"Starting database optimization"} +{"level":"info","duration":240.1342,"time":"2026-07-10T11:42:01+03:00","message":"Database optimization complete"} +{"level":"debug","connections":2,"time":"2026-07-10T11:42:01+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":2,"time":"2026-07-10T11:42:01+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":2,"time":"2026-07-10T11:42:02+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":2,"time":"2026-07-10T11:42:02+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":2,"time":"2026-07-10T11:42:02+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":2,"time":"2026-07-10T11:42:02+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":2,"time":"2026-07-10T11:42:03+03:00","message":"Connection pool warmed"} + +2026/07/10 11:42:14 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:214 ERROR: new row for relation "memories" violates check constraint "memories_privacy_scope_chk" (SQLSTATE 23514) +[2.000ms] [rows:0] INSERT INTO memories (project, content, privacy_scope) VALUES ('t001-test', 'T001 invalid fixture', 'invalid_scope') + +2026/07/10 11:42:14 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:175 sql: database is closed +[0.000ms] [rows:0] DELETE FROM memories WHERE project = 't001-test' + +2026/07/10 11:42:15 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:260 sql: database is closed +[0.000ms] [rows:0] DELETE FROM memories WHERE project = 't006-backfill-test' + +2026/07/10 11:42:15 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:379 sql: database is closed +[0.000ms] [rows:0] DELETE FROM memories WHERE project = 't001b-test' + +2026/07/10 11:42:15 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:479 ERROR: new row for relation "knowledge_nodes" violates check constraint "knowledge_nodes_type_chk" (SQLSTATE 23514) +[1.999ms] [rows:0] INSERT INTO knowledge_nodes (node_type, external_ref, project) VALUES ('invalid_node_type', 'ref-invalid', 't009-test') + +2026/07/10 11:42:15 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:490 ERROR: duplicate key value violates unique constraint "idx_knowledge_nodes_type_ref_active" (SQLSTATE 23505) +[2.067ms] [rows:0] INSERT INTO knowledge_nodes (node_type, external_ref, project) VALUES ('skill', 'unique-test-skill', 't009-test') + +2026/07/10 11:42:15 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:444 sql: database is closed +[0.000ms] [rows:0] DELETE FROM knowledge_nodes WHERE project = 't009-test' + +2026/07/10 11:42:16 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:573 sql: database is closed +[0.000ms] [rows:0] DELETE FROM memories WHERE project = 't010-test' + +2026/07/10 11:42:16 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:574 sql: database is closed +[0.000ms] [rows:0] DELETE FROM knowledge_edges WHERE source_session_id = 't010-test' + +2026/07/10 11:42:16 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:531 sql: database is closed +[0.000ms] [rows:0] DELETE FROM knowledge_nodes WHERE project = 't010-test' + +2026/07/10 11:42:16 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:695 ERROR: new row for relation "crystallization_candidates" violates check constraint "crystallization_candidates_status_check" (SQLSTATE 23514) +[1.000ms] [rows:0] + INSERT INTO crystallization_candidates (proposed_content, status) + VALUES ('test', 'invalid_status') + + +2026/07/10 11:42:16 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:823 ERROR: new row for relation "bulk_op_snapshots" violates check constraint "bulk_op_snapshots_op_type_check" (SQLSTATE 23514) +[1.500ms] [rows:0] + INSERT INTO bulk_op_snapshots (snapshot_id, op_type, actor, before_state) + VALUES ('test-snap-invalid', 'invalid_op', 'test-actor', '{}') + + +2026/07/10 11:42:16 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:780 sql: database is closed +[0.000ms] [rows:0] DELETE FROM bulk_op_snapshots WHERE snapshot_id LIKE 'test-snap-%' + +2026/07/10 11:42:16 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:884 ERROR: new row for relation "bulk_op_snapshots" violates check constraint "bulk_op_snapshots_op_type_check" (SQLSTATE 23514) +[1.498ms] [rows:0] + INSERT INTO bulk_op_snapshots (snapshot_id, op_type, actor, before_state) + VALUES ('test-m153-candidate-review-1783672936760114000-invalid', 'invalid_op_after_blocked_rollback', 'test-actor', '{}') + + +2026/07/10 11:42:16 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:873 sql: database is closed +[0.000ms] [rows:0] DELETE FROM bulk_op_snapshots WHERE snapshot_id IN ('test-m153-candidate-review-1783672936760114000', 'test-m153-candidate-review-1783672936760114000-invalid') + +2026/07/10 11:42:16 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:921 ERROR: new row for relation "bulk_op_snapshots" violates check constraint "bulk_op_snapshots_op_type_check" (SQLSTATE 23514) +[2.000ms] [rows:0] + INSERT INTO bulk_op_snapshots (snapshot_id, op_type, actor, before_state) + VALUES ('test-m154-forgetting-review-1783672936880114000-invalid', 'invalid_op_after_blocked_forgetting_rollback', 'test-actor', '{}') + + +2026/07/10 11:42:16 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:910 sql: database is closed +[0.000ms] [rows:0] DELETE FROM bulk_op_snapshots WHERE snapshot_id IN ('test-m154-forgetting-review-1783672936880114000', 'test-m154-forgetting-review-1783672936880114000-invalid') + +2026/07/10 11:42:17 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:947 sql: database is closed +[0.000ms] [rows:0] DELETE FROM rule_governance_snapshots WHERE snapshot_id = 'test-rg-snap-1783672937010112900' + +2026/07/10 11:42:17 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:1034 ERROR: new row for relation "api_tokens" violates check constraint "api_tokens_principal_kind_chk" (SQLSTATE 23514) +[1.501ms] [rows:0] + INSERT INTO api_tokens (name, token_hash, token_prefix, scope, principal, principal_kind) + VALUES ('test-principal-1783672937148151300-invalid', 'hash-invalid', 'p148bad0', 'read-write', 'principal/bad', 'daemon') + + +2026/07/10 11:42:17 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:981 sql: database is closed +[0.000ms] [rows:0] DELETE FROM api_tokens WHERE name LIKE 'test-principal-1783672937148151300%' + +2026/07/10 11:42:19 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.500ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-arbiter-annotation-1783672939329077800' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:42:19 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.499ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-arbiter-terminal-run-1783672939492578700' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:42:19 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.001ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-arbiter-annotation-mismatch-1783672939644077300' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:42:19 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[1.001ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-arbiter-annotation-other-1783672939652577300' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:42:19 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:627 record not found +[2.000ms] [rows:0] SELECT * FROM "rule_arbiter_evaluations" WHERE id = 2 AND candidate_id = 3 AND run_id = 3 AND action = 'hold' ORDER BY "rule_arbiter_evaluations"."id" LIMIT 1 + +2026/07/10 11:42:19 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[1.999ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-arbiter-requeue-1783672939801586900' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 +--- FAIL: TestRuleGovernanceStore_AnnotatedCandidateWaitsUntilReviewAfter (0.19s) + rule_arbiter_store_test.go:195: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_arbiter_store_test.go:195 + Error: []int64{1} does not contain 5 + Test: TestRuleGovernanceStore_AnnotatedCandidateWaitsUntilReviewAfter + +2026/07/10 11:42:20 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.001ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-arbiter-claim-race-1783672939998588000' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:42:20 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.498ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-arbiter-confidence-1783672940172127300' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:42:20 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.010ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-rg3-health-1783672940331717600-pending-1783672940331717600' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:42:20 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[1.000ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-rg3-health-1783672940331717600-rejected-1783672940339722100' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 +--- FAIL: TestRuleGovernanceStore_GetLifecycleHealthAggregatesGovernanceTables (0.23s) + rule_governance_rg3_store_test.go:93: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_rg3_store_test.go:93 + Error: Not equal: + expected: 1 + actual : 5 + Test: TestRuleGovernanceStore_GetLifecycleHealthAggregatesGovernanceTables +--- FAIL: TestRuleGovernanceStore_GetLifecycleHealthOmitsGlobalArbiterRunsForProjectScopedReads (0.19s) + rule_governance_rg3_store_test.go:128: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_rg3_store_test.go:128 + Error: Not equal: + expected: 1 + actual : 6 + Test: TestRuleGovernanceStore_GetLifecycleHealthOmitsGlobalArbiterRunsForProjectScopedReads + +2026/07/10 11:42:20 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.990ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-rg3-queue-1783672940754285600-global-1783672940754285600' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:42:20 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[1.501ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-rg3-queue-1783672940754285600-conflict-1783672940764775200' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:42:20 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[1.000ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-rg3-queue-1783672940754285600-hold-1783672940771775700' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:42:20 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[1.001ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-rg3-queue-1783672940754285600-unclear-1783672940778880900' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:42:20 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.004ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-rg3-queue-filter-1783672940961047500-live-conflict-1783672940961047500' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:42:20 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[1.500ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-rg3-queue-filter-1783672940961047500-resolved-conflict-1783672940970047200' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:42:20 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[1.999ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-rg3-queue-filter-1783672940961047500-noise-0-1783672940988546900' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:42:20 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[1.001ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-rg3-queue-filter-1783672940961047500-noise-1-1783672940996547100' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:42:21 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[1.000ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-rg3-queue-filter-1783672940961047500-noise-2-1783672941003045700' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:42:22 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migration_rule_governance.go:196 ERROR: cannot drop table rule_versions because other objects depend on it (SQLSTATE 2BP01) +[2.001ms] [rows:0] DROP TABLE IF EXISTS rule_versions +--- FAIL: TestMigration144_RuleGovernanceRollbackAndReapply (0.26s) + rule_governance_store_test.go:32: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store_test.go:32 + Error: Received unexpected error: + ERROR: cannot drop table rule_versions because other objects depend on it (SQLSTATE 2BP01) + Test: TestMigration144_RuleGovernanceRollbackAndReapply + +2026/07/10 11:42:22 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migration_rule_governance.go:196 ERROR: cannot drop table rule_versions because other objects depend on it (SQLSTATE 2BP01) +[1.500ms] [rows:0] DROP TABLE IF EXISTS rule_versions +--- FAIL: TestMigration144_RuleGovernanceEscapeConstraints (0.18s) + rule_governance_store_test.go:45: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store_test.go:45 + Error: Received unexpected error: + ERROR: cannot drop table rule_versions because other objects depend on it (SQLSTATE 2BP01) + Test: TestMigration144_RuleGovernanceEscapeConstraints + +2026/07/10 11:42:22 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.502ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-idempotent-fingerprint' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:42:23 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.497ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-draft-fingerprint' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:42:23 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1625 record not found +[2.998ms] [rows:0] SELECT * FROM "rule_versions" WHERE source_candidate_id = 21 ORDER BY "rule_versions"."id" LIMIT 1 + +2026/07/10 11:42:23 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.499ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-unknown-actor-kind-1783672943588979900' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:42:23 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1625 record not found +[2.500ms] [rows:0] SELECT * FROM "rule_versions" WHERE source_candidate_id = 22 ORDER BY "rule_versions"."id" LIMIT 1 + +2026/07/10 11:42:23 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.499ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-blank-transition-actor-1783672943739604400' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:42:23 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1625 record not found +[2.002ms] [rows:0] SELECT * FROM "rule_versions" WHERE source_candidate_id = 23 ORDER BY "rule_versions"."id" LIMIT 1 + +2026/07/10 11:42:23 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[0.499ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-blank-transition-actor kind-1783672943756105100' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:42:23 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1625 record not found +[0.998ms] [rows:0] SELECT * FROM "rule_versions" WHERE source_candidate_id = 24 ORDER BY "rule_versions"."id" LIMIT 1 + +2026/07/10 11:42:23 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[1.002ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-blank-transition-reason-1783672943765104000' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:42:23 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1625 record not found +[1.198ms] [rows:0] SELECT * FROM "rule_versions" WHERE source_candidate_id = 25 ORDER BY "rule_versions"."id" LIMIT 1 + +2026/07/10 11:42:23 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[1.001ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-blank-transition-evidence handle-1783672943773818000' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:42:23 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1625 record not found +[0.998ms] [rows:0] SELECT * FROM "rule_versions" WHERE source_candidate_id = 26 ORDER BY "rule_versions"."id" LIMIT 1 + +2026/07/10 11:42:23 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.501ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-snapshot-required-1783672943903827200' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:42:23 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1625 record not found +[2.002ms] [rows:0] SELECT * FROM "rule_versions" WHERE source_candidate_id = 27 ORDER BY "rule_versions"."id" LIMIT 1 + +2026/07/10 11:42:24 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[3.000ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-snapshot-log-1783672944122893200' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:42:24 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1625 record not found +[2.502ms] [rows:0] SELECT * FROM "rule_versions" WHERE source_candidate_id = 28 ORDER BY "rule_versions"."id" LIMIT 1 + +2026/07/10 11:42:24 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[3.001ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-authority-1783672944498030600' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:42:24 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1625 record not found +[4.000ms] [rows:0] SELECT * FROM "rule_versions" WHERE source_candidate_id = 29 ORDER BY "rule_versions"."id" LIMIT 1 + +2026/07/10 11:42:24 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[3.001ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-log-rollback-1783672944720574300' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:42:24 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1625 record not found +[1.502ms] [rows:0] SELECT * FROM "rule_versions" WHERE source_candidate_id = 30 ORDER BY "rule_versions"."id" LIMIT 1 + +2026/07/10 11:42:24 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1664 ERROR: new row for relation "rule_transition_log" violates check constraint "rg0_transition_log_fail_test" (SQLSTATE 23514) +[0.998ms] [rows:0] INSERT INTO "rule_transition_log" ("created_at","rule_version_id","candidate_id","actor","actor_kind","action","from_state","to_state","reason","evidence_handles_json","snapshot_id") VALUES ('2026-07-10 11:42:24.766',22,30,'codex','agent','rule_version_transition','shadow','canary','force-log-fail','["evidence:rg0-transition"]','') RETURNING "id" + +2026/07/10 11:42:24 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.499ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-snapshot-rollback-1783672944893625600' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 11:42:24 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1625 record not found +[1.996ms] [rows:0] SELECT * FROM "rule_versions" WHERE source_candidate_id = 31 ORDER BY "rule_versions"."id" LIMIT 1 + +2026/07/10 11:42:24 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1692 ERROR: duplicate key value violates unique constraint "rule_governance_snapshots_snapshot_id_key" (SQLSTATE 23505) +[1.000ms] [rows:0] INSERT INTO "rule_governance_snapshots" ("created_at","rolled_back_at","snapshot_id","op_type","actor","before_state_json","after_state_json","status","pinned") VALUES ('2026-07-10 11:42:24.948',NULL,'rg0-duplicate-1783672944940640100','rule_transition','codex','{"project":"rg0-project","rule_versions":[{"state":"canary","id":23}]}','{"project":"rg0-project","rule_versions":[{"state":"active_project","id":23}]}','committed',false) RETURNING "id" + +2026/07/10 11:42:25 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migration_rule_governance.go:196 ERROR: cannot drop table rule_versions because other objects depend on it (SQLSTATE 2BP01) +[2.499ms] [rows:0] DROP TABLE IF EXISTS rule_versions +--- FAIL: TestMigration144_RuleGovernanceSnapshotStatusesAcceptExtendedStates (0.22s) + rule_governance_store_test.go:729: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store_test.go:729 + Error: Received unexpected error: + ERROR: cannot drop table rule_versions because other objects depend on it (SQLSTATE 2BP01) + Test: TestMigration144_RuleGovernanceSnapshotStatusesAcceptExtendedStates + +2026/07/10 11:42:25 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_injection_event_store_test.go:32 ERROR: new row for relation "rule_injection_events" violates check constraint "rule_injection_events_type_chk" (SQLSTATE 23514) +[2.501ms] [rows:0] + INSERT INTO rule_injection_events (session_id, project, surface, event_type) + VALUES ('rg2-invalid-session', 'rg2-project', 'session-start', 'invalid_event') + + +2026/07/10 11:42:31 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/state_store_test.go:232 record not found +[2.503ms] [rows:0] SELECT * FROM "audit_log" WHERE action = 'read_resume_state' AND actor = 'agent:developer' AND source_session_id = 'state-audit-resume-1783672951131012000' ORDER BY id DESC,"audit_log"."id" LIMIT 1 + +2026/07/10 11:42:31 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/state_store.go:216 record not found +[1.999ms] [rows:0] SELECT * FROM "agent_project_state" WHERE project = 'state-resume-project-scope-missing-1783672951948619700' ORDER BY "agent_project_state"."id" LIMIT 1 +{"level":"debug","connections":5,"time":"2026-07-10T11:42:32+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T11:42:32+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T11:42:32+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T11:42:32+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T11:42:32+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T11:42:32+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T11:42:32+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T11:42:33+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T11:42:33+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T11:42:33+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T11:42:33+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T11:42:33+03:00","message":"Connection pool warmed"} +{"level":"info","time":"2026-07-10T11:42:33+03:00","message":"Starting database optimization"} +{"level":"info","duration":194.516,"time":"2026-07-10T11:42:33+03:00","message":"Database optimization complete"} + +2026/07/10 11:42:34 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:29 +[error] failed to initialize database, got error failed to connect to `user=engram database=engram_mkr_bedge_full_gorm_20260710a`: 127.0.0.1:55432 (127.0.0.1): server error: FATAL: sorry, too many clients already (SQLSTATE 53300) +--- FAIL: TestTemporalTruthStore_LoadSelectedRecordsUsesDBNowForValidFrom (0.00s) + temporal_truth_store_test.go:377: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:30 + D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/temporal_truth_store_test.go:377 + Error: Received unexpected error: + failed to connect to `user=engram database=engram_mkr_bedge_full_gorm_20260710a`: 127.0.0.1:55432 (127.0.0.1): server error: FATAL: sorry, too many clients already (SQLSTATE 53300) + Test: TestTemporalTruthStore_LoadSelectedRecordsUsesDBNowForValidFrom + Messages: open test DB +--- FAIL: TestTokenStore_CreateWithPrincipalRoundTrip (0.00s) + token_store_test.go:14: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/credential_store_test.go:29 + D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/token_store_test.go:14 + Error: Received unexpected error: + failed to connect to `user=engram database=engram_mkr_bedge_full_gorm_20260710a`: 127.0.0.1:55432 (127.0.0.1): server error: FATAL: sorry, too many clients already (SQLSTATE 53300) + Test: TestTokenStore_CreateWithPrincipalRoundTrip + Messages: open test db +--- FAIL: TestTokenStore_CreateWithPrincipalRejectsKindWithoutPrincipal (0.00s) + token_store_test.go:51: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/credential_store_test.go:29 + D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/token_store_test.go:51 + Error: Received unexpected error: + failed to connect to `user=engram database=engram_mkr_bedge_full_gorm_20260710a`: 127.0.0.1:55432 (127.0.0.1): server error: FATAL: sorry, too many clients already (SQLSTATE 53300) + Test: TestTokenStore_CreateWithPrincipalRejectsKindWithoutPrincipal + Messages: open test db +--- FAIL: TestTranscriptStore_Lifecycle (0.00s) + transcript_store_test.go:64: open test db: failed to connect to `user=engram database=engram_mkr_bedge_full_gorm_20260710a`: 127.0.0.1:55432 (127.0.0.1): server error: FATAL: sorry, too many clients already (SQLSTATE 53300) +FAIL +FAIL github.com/thebtf/engram/internal/db/gorm 45.434s +FAIL +test_exit=1 +active_sessions_before_terminate=0 +database_residue=0 +activity_residue=0 +finished_utc=2026-07-10T08:42:36.0281251Z diff --git a/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/11-full-mcp.log b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/11-full-mcp.log new file mode 100644 index 00000000..f9db0c62 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/11-full-mcp.log @@ -0,0 +1,81 @@ +base_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +head_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +database=engram_mkr_bedge_full_mcp_20260710a +command=go test -p=1 ./internal/mcp -count=1 +started_utc=2026-07-10T08:43:02.7657603Z +{"level":"warn","error":"ERROR: relation \"observation_vectors\" does not exist (SQLSTATE 42P01)","time":"2026-07-10T11:43:05+03:00","message":"migration 040: orphan vector cleanup failed (non-fatal)"} +{"level":"info","garbage_deleted":0,"orphan_vectors_deleted":0,"time":"2026-07-10T11:43:05+03:00","message":"migration 040: garbage cleanup complete"} +{"level":"info","orphan_vectors_deleted":0,"time":"2026-07-10T11:43:05+03:00","message":"migration 041: orphan vector purge complete"} +{"level":"info","patterns_deleted":0,"time":"2026-07-10T11:43:05+03:00","message":"migration 042: low-quality pattern purge complete"} +{"level":"info","total_deleted":0,"time":"2026-07-10T11:43:05+03:00","message":"migration 043: radical observation cleanup complete"} +{"level":"warn","error":"ERROR: extension \"vectorscale\" is not available (SQLSTATE 0A000)","time":"2026-07-10T11:43:07+03:00","message":"migration 109: vectorscale extension not available, skipping DiskANN index"} +{"level":"debug","connections":1,"time":"2026-07-10T11:43:08+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:43:08+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:43:08+03:00","message":"Connection pool warmed"} +--- FAIL: TestHybridTG3_ConfidenceMin_FloorEnforced_T022 (0.13s) + integration_tg3_hybrid_test.go:83: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/integration_tg3_hybrid_test.go:83 + Error: Received unexpected error: + json: cannot unmarshal array into Go value of type map[string]interface {} + Test: TestHybridTG3_ConfidenceMin_FloorEnforced_T022 + Messages: response must be valid JSON +{"level":"debug","connections":1,"time":"2026-07-10T11:43:08+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:43:08+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:43:09+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:43:09+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:43:09+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:43:09+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:43:09+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T11:43:09+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T11:43:09+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:43:09+03:00","message":"Connection pool warmed"} +--- FAIL: TestEC_F1_TagDerivedBackfill_T007 (0.13s) + store_memory_compat_t007_test.go:157: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/store_memory_compat_t007_test.go:157 + Error: Should be true + Test: TestEC_F1_TagDerivedBackfill_T007 + Messages: global-scoped row must be returned by MemoryStore.List within its own project +{"level":"debug","connections":1,"time":"2026-07-10T11:43:09+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:43:10+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:43:10+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:43:10+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:43:10+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T11:43:10+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T11:43:10+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T11:43:10+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:43:11+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:43:11+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:43:11+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:43:11+03:00","message":"Connection pool warmed"} +{"level":"debug","soft_limit":1000,"time":"2026-07-10T11:43:11+03:00","message":"edit_memory: content truncated to soft limit"} +{"level":"warn","time":"2026-07-10T11:43:11+03:00","message":"edit_memory: content contains secrets — redacting before storage"} +{"level":"error","audit_label":"test-panic","memory_id":99,"panic":"simulated audit panic","time":"2026-07-10T11:43:11+03:00","message":"audit: goroutine panic recovered"} +{"level":"error","error":"simulated db error","audit_label":"test-error","memory_id":88,"time":"2026-07-10T11:43:11+03:00","message":"audit: async write failed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:43:11+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:43:11+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:43:12+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:43:12+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:43:12+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:43:12+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:43:12+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:43:12+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T11:43:12+03:00","message":"Connection pool warmed"} +{"level":"error","error":"temporal truth feature flag required","tool":"temporal_truth","args":"{\"fact_id\":\"42\",\"project\":\"engram\"}","time":"2026-07-10T11:43:12+03:00","message":"Tool call failed"} +{"level":"error","error":"temporal truth provider not configured","tool":"temporal_truth","args":"{\"fact_id\":\"42\",\"project\":\"engram\"}","time":"2026-07-10T11:43:12+03:00","message":"Tool call failed"} +{"level":"error","error":"temporal truth feature flag required","tool":"temporal_truth_refresh","args":"{\"project\":\"engram\"}","time":"2026-07-10T11:43:12+03:00","message":"Tool call failed"} +{"level":"error","error":"temporal truth provider not configured","tool":"temporal_truth_refresh","args":"{\"project\":\"engram\"}","time":"2026-07-10T11:43:12+03:00","message":"Tool call failed"} +{"level":"error","error":"codebase_search requires ENGRAM_CODE_INTEL_ENABLED=true","tool":"codebase_search","args":"{\"query\":\"hello\",\"project\":\"test\"}","time":"2026-07-10T11:43:12+03:00","message":"Tool call failed"} +{"level":"debug","method":"initialized","time":"2026-07-10T11:43:12+03:00","message":"MCP client initialized"} +{"level":"error","error":"unknown tool: ","tool":"","args":"","time":"2026-07-10T11:43:12+03:00","message":"Tool call failed"} +{"level":"error","error":"unknown tool: no_such_tool","tool":"no_such_tool","args":"{}","time":"2026-07-10T11:43:12+03:00","message":"Tool call failed"} +{"level":"debug","method":"initialized","time":"2026-07-10T11:43:12+03:00","message":"MCP client initialized"} +{"level":"debug","connections":5,"time":"2026-07-10T11:43:12+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T11:43:12+03:00","message":"Connection pool warmed"} +FAIL +FAIL github.com/thebtf/engram/internal/mcp 8.179s +FAIL +test_exit=1 +active_sessions_before_terminate=0 +database_residue=0 +activity_residue=0 +finished_utc=2026-07-10T08:43:14.5891355Z diff --git a/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/12-race-focused.log b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/12-race-focused.log new file mode 100644 index 00000000..82f18b62 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/12-race-focused.log @@ -0,0 +1,12 @@ +base_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +head_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +database=engram_mkr_bedge_race_focus_20260710a +command=go test -race -p=1 ./internal/db/gorm ./internal/mcp -run ^(TestCandidateStore_PromoteWithMemoryAndSnapshot_AmendFailureRollsBackPromotion|TestCandidateStore_PreserveWithMemoryAndSnapshot_RequiresCandidateReviewSnapshotBeforeMutation|TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites|TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit|TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs|TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization|TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade|TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun)$ -count=1 +started_utc=2026-07-10T08:44:42.8875943Z +ok github.com/thebtf/engram/internal/db/gorm 5.425s +ok github.com/thebtf/engram/internal/mcp 1.093s +test_exit=0 +active_sessions_before_terminate=0 +database_residue=0 +activity_residue=0 +finished_utc=2026-07-10T08:45:11.3676002Z diff --git a/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/13-vet.log b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/13-vet.log new file mode 100644 index 00000000..0ab7dcb3 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/13-vet.log @@ -0,0 +1,10 @@ +base_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +head_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +database=engram_mkr_bedge_vet_20260710a +command=go vet ./internal/db/gorm ./internal/mcp +started_utc=2026-07-10T08:45:33.3316942Z +test_exit=0 +active_sessions_before_terminate=0 +database_residue=0 +activity_residue=0 +finished_utc=2026-07-10T08:45:39.2698320Z diff --git a/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/14-coverage.log b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/14-coverage.log new file mode 100644 index 00000000..fd52a752 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/14-coverage.log @@ -0,0 +1,12 @@ +base_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +head_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +database=engram_mkr_bedge_coverage_20260710a +command=go test -p=1 ./internal/db/gorm ./internal/mcp -run ^(TestCandidateStore_PromoteWithMemoryAndSnapshot_AmendFailureRollsBackPromotion|TestCandidateStore_PreserveWithMemoryAndSnapshot_RequiresCandidateReviewSnapshotBeforeMutation|TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites|TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit|TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs|TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization|TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade|TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun)$ -count=1 -covermode=atomic -coverprofile=.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/coverage.out +started_utc=2026-07-10T08:46:07.1620949Z +ok github.com/thebtf/engram/internal/db/gorm 3.880s coverage: 14.9% of statements +ok github.com/thebtf/engram/internal/mcp 0.157s coverage: 1.8% of statements +test_exit=0 +active_sessions_before_terminate=0 +database_residue=0 +activity_residue=0 +finished_utc=2026-07-10T08:46:18.9633242Z diff --git a/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/15-cover-functions.log b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/15-cover-functions.log new file mode 100644 index 00000000..3ce888e3 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/15-cover-functions.log @@ -0,0 +1,951 @@ +base_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +head_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +database=engram_mkr_bedge_coverfunc_20260710a +command=go tool cover -func=.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/coverage.out +started_utc=2026-07-10T08:47:08.5087912Z +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:28: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:34: NewAttentionEventStore 0.0% +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:38: Create 0.0% +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:52: Get 0.0% +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:66: ListByProject 0.0% +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:92: attentionEventRowFromRecord 0.0% +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:137: attentionEventRowToStored 0.0% +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:154: validAttentionEventHorizon 0.0% +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:163: validAttentionEventPrivacyClass 0.0% +github.com/thebtf/engram/internal/db/gorm/audit_store.go:25: TableName 100.0% +github.com/thebtf/engram/internal/db/gorm/audit_store.go:33: NewAuditStore 100.0% +github.com/thebtf/engram/internal/db/gorm/audit_store.go:38: Log 66.7% +github.com/thebtf/engram/internal/db/gorm/audit_store.go:45: logTx 66.7% +github.com/thebtf/engram/internal/db/gorm/audit_store.go:53: GetByMemory 0.0% +github.com/thebtf/engram/internal/db/gorm/audit_store.go:80: LogAudit 0.0% +github.com/thebtf/engram/internal/db/gorm/audit_store.go:92: DeleteOlderThan 0.0% +github.com/thebtf/engram/internal/db/gorm/auth_models.go:15: DashboardRoles 0.0% +github.com/thebtf/engram/internal/db/gorm/auth_models.go:20: NormalizeDashboardRole 0.0% +github.com/thebtf/engram/internal/db/gorm/auth_models.go:43: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/auth_models.go:61: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/auth_models.go:76: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:26: NewAuthSessionStore 0.0% +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:31: CreateSession 0.0% +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:52: GetAnySession 0.0% +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:65: GetSession 0.0% +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:74: RevokeSession 0.0% +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:108: DeleteSession 0.0% +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:114: DeleteUserSessions 0.0% +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:134: CleanExpired 0.0% +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:139: validateSessionRow 0.0% +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:154: generateSessionID 0.0% +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:28: NewBehavioralRulesStore 0.0% +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:34: Create 0.0% +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:74: Get 0.0% +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:97: List 0.0% +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:103: ListEnabled 0.0% +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:107: list 0.0% +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:140: ListAll 0.0% +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:164: Update 0.0% +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:201: SetEnabled 0.0% +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:234: Delete 0.0% +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:256: behavioralRuleRowToModel 0.0% +github.com/thebtf/engram/internal/db/gorm/books_store.go:22: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/books_store.go:33: NewBooksStore 0.0% +github.com/thebtf/engram/internal/db/gorm/books_store.go:41: Create 0.0% +github.com/thebtf/engram/internal/db/gorm/books_store.go:62: GetStatus 0.0% +github.com/thebtf/engram/internal/db/gorm/books_store.go:78: UpdateStatus 0.0% +github.com/thebtf/engram/internal/db/gorm/books_store.go:112: isValidBookStatus 0.0% +github.com/thebtf/engram/internal/db/gorm/books_store.go:121: booksJobFromRecord 0.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:45: TableName 100.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:50: Value 100.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:57: Scan 57.1% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:72: toDomainCandidate 100.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:100: fromDomainCandidate 81.8% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:139: NewCandidateStore 100.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:146: Create 71.4% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:159: Get 75.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:170: ListByStatus 0.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:194: ListExpiredPending 0.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:235: transitionStatus 0.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:288: transitionStatusTx 66.7% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:330: TransitionToPromoted 0.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:347: PromoteWithMemory 0.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:376: PromoteWithMemoryAndSnapshot 100.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:390: PreserveWithMemoryAndSnapshot 100.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:401: promoteWithMemoryAndSnapshotAction 82.4% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:462: validatePromoteMemory 60.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:472: promoteWithMemoryTx 72.7% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:515: logPromoteAudit 90.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:534: normalizeCandidateReviewActor 75.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:542: validateCandidateReviewSnapshotBinding 93.2% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:615: logCandidateReviewAuditTx 76.5% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:655: createCandidateReviewSnapshotTx 62.5% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:672: TransitionToRejected 0.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:679: TransitionToRejectedWithSnapshot 100.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:693: TransitionToSuppressedWithSnapshot 100.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:707: TransitionToSupersededWithSnapshot 100.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:717: transitionWithSnapshot 81.8% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:759: amendCandidateReviewAfterTx 66.7% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:817: TransitionToSuperseded 0.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:823: TransitionToDecayed 0.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:833: RevertRawTx 0.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:875: GetByFingerprintAnyStatus 0.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:895: GetByFingerprint 0.0% +github.com/thebtf/engram/internal/db/gorm/citation_log_store.go:25: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/citation_log_store.go:33: NewCitationLogStore 0.0% +github.com/thebtf/engram/internal/db/gorm/citation_log_store.go:39: RecordBatch 0.0% +github.com/thebtf/engram/internal/db/gorm/citation_log_store.go:51: GetBySession 0.0% +github.com/thebtf/engram/internal/db/gorm/citation_log_store.go:71: GetByMemory 0.0% +github.com/thebtf/engram/internal/db/gorm/citation_log_store.go:91: DeleteOlderThan 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:54: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:67: NewCodeChunkStore 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:78: Upsert 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:119: DeleteByProjectFile 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:144: DeleteStaleForProject 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:172: ListByProject 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:198: CountByProject 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:220: UpdateEmbedding 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:240: ListUnembedded 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:264: StaleKey 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:281: ListIdentityKeysByProject 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:315: TouchSession 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:354: RegisterSession 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:387: DeleteBySessionMismatch 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:447: SearchCodeFTS 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:523: FindSimilarCode 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:593: CountEmbeddedByProject 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:611: MaxUpdatedAtByProject 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:634: DeleteSession 0.0% +github.com/thebtf/engram/internal/db/gorm/credential_store.go:26: NewCredentialStore 0.0% +github.com/thebtf/engram/internal/db/gorm/credential_store.go:34: Create 0.0% +github.com/thebtf/engram/internal/db/gorm/credential_store.go:81: Get 0.0% +github.com/thebtf/engram/internal/db/gorm/credential_store.go:103: GetByName 0.0% +github.com/thebtf/engram/internal/db/gorm/credential_store.go:120: List 0.0% +github.com/thebtf/engram/internal/db/gorm/credential_store.go:141: ListAll 0.0% +github.com/thebtf/engram/internal/db/gorm/credential_store.go:169: Delete 0.0% +github.com/thebtf/engram/internal/db/gorm/credential_store.go:191: DeleteByName 0.0% +github.com/thebtf/engram/internal/db/gorm/credential_store.go:212: CountCredentials 0.0% +github.com/thebtf/engram/internal/db/gorm/credential_store.go:229: CountWithDifferentFingerprint 0.0% +github.com/thebtf/engram/internal/db/gorm/credential_store.go:247: DeleteOrphanedByFingerprint 0.0% +github.com/thebtf/engram/internal/db/gorm/credential_store.go:262: credentialRowToModel 0.0% +github.com/thebtf/engram/internal/db/gorm/document_store.go:29: NewDocumentStore 0.0% +github.com/thebtf/engram/internal/db/gorm/document_store.go:37: UpsertDocument 0.0% +github.com/thebtf/engram/internal/db/gorm/document_store.go:72: GetDocument 0.0% +github.com/thebtf/engram/internal/db/gorm/document_store.go:87: GetContent 0.0% +github.com/thebtf/engram/internal/db/gorm/document_store.go:100: ListDocuments 0.0% +github.com/thebtf/engram/internal/db/gorm/document_store.go:116: UpsertChunks 0.0% +github.com/thebtf/engram/internal/db/gorm/document_store.go:123: SearchChunks 0.0% +github.com/thebtf/engram/internal/db/gorm/document_store.go:129: ChunksExist 0.0% +github.com/thebtf/engram/internal/db/gorm/document_store.go:134: DeactivateDocument 0.0% +github.com/thebtf/engram/internal/db/gorm/document_store.go:147: CollectionDocCounts 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:123: NewDomainOwnerStore 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:129: Upsert 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:157: UpdateIfUnchanged 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:188: Get 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:202: List 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:240: Delete 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:257: RegisterUserFromInvitation 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:318: ListAccessRoles 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:348: ListAccessInvitations 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:353: ListAccessSessions 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:358: ListAccessAudit 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:363: GetAccessUserDrilldown 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:400: LogAccessEvent 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:404: logAccessEventTx 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:436: normalizeDomainOwner 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:461: normalizeDomainOwnerListOptions 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:484: validDomainOwnerPrincipalKind 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:493: validDomainOwnerMode 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:519: listAccessInvitations 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:591: listAccessSessions 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:644: queryAccessAudit 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:678: marshalAuditState 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:690: decodeAuditJSON 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:701: invitationStatusFromFields 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:714: sessionStatusFromFields 0.0% +github.com/thebtf/engram/internal/db/gorm/helpers.go:22: EnsureSessionExists 0.0% +github.com/thebtf/engram/internal/db/gorm/helpers.go:48: sqlNullString 0.0% +github.com/thebtf/engram/internal/db/gorm/helpers.go:62: ParseLimitParam 0.0% +github.com/thebtf/engram/internal/db/gorm/helpers.go:74: ParseLimitParamWithMax 0.0% +github.com/thebtf/engram/internal/db/gorm/helpers.go:87: ParseOffsetParam 0.0% +github.com/thebtf/engram/internal/db/gorm/helpers.go:105: ParsePaginationParams 0.0% +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:20: NewInjectionLogStore 0.0% +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:26: Record 0.0% +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:55: GetBySession 0.0% +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:93: DeleteOlderThan 0.0% +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:28: NewInvitationStore 0.0% +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:33: GenerateCode 0.0% +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:42: CreateInvitation 0.0% +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:75: GetInvitationByID 0.0% +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:87: GetValidInvitation 0.0% +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:101: ConsumeInvitation 0.0% +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:126: RevokeInvitation 0.0% +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:162: ListInvitations 0.0% +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:170: validateInvitationRow 0.0% +github.com/thebtf/engram/internal/db/gorm/issue_store.go:18: projectBareName 0.0% +github.com/thebtf/engram/internal/db/gorm/issue_store.go:33: NewIssueStore 0.0% +github.com/thebtf/engram/internal/db/gorm/issue_store.go:39: ResolveProject 0.0% +github.com/thebtf/engram/internal/db/gorm/issue_store.go:53: CreateIssue 0.0% +github.com/thebtf/engram/internal/db/gorm/issue_store.go:111: ListIssues 0.0% +github.com/thebtf/engram/internal/db/gorm/issue_store.go:121: ListIssuesEx 0.0% +github.com/thebtf/engram/internal/db/gorm/issue_store.go:172: GetIssue 0.0% +github.com/thebtf/engram/internal/db/gorm/issue_store.go:193: UpdateIssueStatus 0.0% +github.com/thebtf/engram/internal/db/gorm/issue_store.go:222: AddComment 0.0% +github.com/thebtf/engram/internal/db/gorm/issue_store.go:254: AcknowledgeIssues 0.0% +github.com/thebtf/engram/internal/db/gorm/issue_store.go:278: ReopenIssue 0.0% +github.com/thebtf/engram/internal/db/gorm/issue_store.go:321: CloseIssue 0.0% +github.com/thebtf/engram/internal/db/gorm/issue_store.go:333: CloseIssueFromAnySource 0.0% +github.com/thebtf/engram/internal/db/gorm/issue_store.go:426: formatCloseCallerProjects 0.0% +github.com/thebtf/engram/internal/db/gorm/issue_store.go:443: RejectIssue 0.0% +github.com/thebtf/engram/internal/db/gorm/issue_store.go:471: DeleteIssue 0.0% +github.com/thebtf/engram/internal/db/gorm/issue_store.go:489: UpdateIssueFields 0.0% +github.com/thebtf/engram/internal/db/gorm/issue_store.go:528: GetTrackedProjects 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:34: NewMemoryStore 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:91: normalizeMetaMemoryLimit 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:101: normalizeMetaMemoryProbeLimit 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:112: normalizeMetaMemoryFTSScanBudget 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:116: sanitizeMetaText 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:132: sanitizeMetaTags 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:144: cloneMetaTags 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:153: metaMemoryTitleFromLine 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:161: metaMemoryRowsToRecords 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:175: metaMemoryMatchesOptions 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:209: validateMemoryForCreate 55.6% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:225: validateMemoryOwnershipForCreate 50.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:249: isValidMemoryOwnerPrincipalKind 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:258: memoryRowForCreate 70.6% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:309: copyPrivacyFields 40.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:327: copyPrincipalMemoryFields 30.8% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:351: advisoryLockKey 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:361: tagContainmentJSON 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:376: Create 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:406: CreateWithLifecycle 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:434: createMemoryWithLifecycleTx 85.7% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:450: CreateWithLifecycleIfTagAbsent 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:509: Get 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:530: List 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:606: ListWithFilters 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:628: ListPrincipalMemory 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:649: baseMemoryListQuery 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:653: basePrincipalMemoryQuery 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:661: applyCurrentMemoryValidity 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:667: findMemoryRows 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:685: applyMemoryListOptions 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:730: normalizeMemoryListLimit 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:744: normalizeMemoryListOffset 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:751: escapeSQLLike 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:767: ListWithOffset 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:812: ListForInjection 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:847: Update 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:887: Delete 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:913: Supersede 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:950: MarkSuperseded 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:978: UpdateLifecycleFields 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:999: IncrementInjectionCount 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1007: BatchIncrementCited 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1022: BatchIncrementInjected 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1034: BatchIncrementUncited 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1044: GetProjectCitationRate 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1082: BatchIncrementCitedN 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1098: BatchIncrementUncitedN 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1106: BatchIncrementViolated 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1114: memoryRowToModel 50.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1174: ListBySourceAgentAndTag 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1208: SearchMetaMemoryTagPrefixIDs 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1236: SearchMetaMemoryFTSIDs 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1291: GetMetaMemoryByIDs 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1332: QueryMetaIndex 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1406: appendUniqueMetaIDs 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1418: metaIDSet 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1426: metaIndexScores 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1437: metaIndexRRF 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1481: metaIndexReason 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1502: tokenizeFTSTerms 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1541: hasNegationTerm 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1557: SearchFTS 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1581: normalizeSearchFTSLimit 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1591: searchFTSQueryVariants 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1603: searchFTSPage 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1650: GetByIDs 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1686: CountActiveSince 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1700: MaxActiveID 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1716: LockRawByIDsTx 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1757: rawMemoryRestoreUpdates 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1812: RestoreRaw 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1836: RestoreRawTx 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1862: HardDeleteTx 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1878: GetDB 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1883: ListAllActive 0.0% +github.com/thebtf/engram/internal/db/gorm/migration_access_milestone.go:14: accessMilestoneMigration156 71.4% +github.com/thebtf/engram/internal/db/gorm/migration_api_token_principals.go:10: apiTokenPrincipalsMigration148 45.5% +github.com/thebtf/engram/internal/db/gorm/migration_behavioral_rules_enabled.go:10: behavioralRulesEnabledMigration151 60.0% +github.com/thebtf/engram/internal/db/gorm/migration_books.go:16: booksJobsMigration155 71.4% +github.com/thebtf/engram/internal/db/gorm/migration_memory_domain_owners.go:10: memoryDomainOwnersMigration150 71.4% +github.com/thebtf/engram/internal/db/gorm/migration_memory_principals.go:10: memoryPrincipalsMigration149 45.5% +github.com/thebtf/engram/internal/db/gorm/migration_rule_arbiter.go:11: ruleArbiterBackgroundMigration145 45.5% +github.com/thebtf/engram/internal/db/gorm/migration_rule_governance.go:11: ruleGovernanceMigration144 45.5% +github.com/thebtf/engram/internal/db/gorm/migration_rule_governance_snapshot_statuses.go:10: ruleGovernanceSnapshotStatusesMigration147 45.5% +github.com/thebtf/engram/internal/db/gorm/migration_state.go:32: GetMigrationState 0.0% +github.com/thebtf/engram/internal/db/gorm/migration_state.go:62: sortAppliedMigrationIDs 0.0% +github.com/thebtf/engram/internal/db/gorm/migration_state.go:78: migrationSequence 0.0% +github.com/thebtf/engram/internal/db/gorm/migration_temporal_truth.go:13: temporalTruthRecordsMigration157 71.4% +github.com/thebtf/engram/internal/db/gorm/migrations.go:16: runMigrations 48.8% +github.com/thebtf/engram/internal/db/gorm/migrations.go:4799: candidateReviewSnapshotOpTypeMigration153 29.4% +github.com/thebtf/engram/internal/db/gorm/migrations.go:4845: forgettingReviewSnapshotOpTypeMigration154 29.4% +github.com/thebtf/engram/internal/db/gorm/migrations.go:4891: attentionEventsMigration158 55.6% +github.com/thebtf/engram/internal/db/gorm/models.go:44: TableName 100.0% +github.com/thebtf/engram/internal/db/gorm/models.go:47: BeforeCreate 0.0% +github.com/thebtf/engram/internal/db/gorm/models.go:75: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/models.go:92: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/models.go:109: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/models.go:122: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/models.go:140: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/models.go:160: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/models.go:188: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/models.go:200: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/models.go:220: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/models.go:249: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/models.go:304: TableName 100.0% +github.com/thebtf/engram/internal/db/gorm/models.go:317: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/models.go:334: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/project_store.go:23: UpsertProject 0.0% +github.com/thebtf/engram/internal/db/gorm/project_store.go:55: ResolveProjectID 0.0% +github.com/thebtf/engram/internal/db/gorm/promotion_store.go:21: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/promotion_store.go:29: NewPromotionStore 0.0% +github.com/thebtf/engram/internal/db/gorm/promotion_store.go:34: LogPromotion 0.0% +github.com/thebtf/engram/internal/db/gorm/promotion_store.go:48: GetHistory 0.0% +github.com/thebtf/engram/internal/db/gorm/purge_store.go:34: NewPurgeStore 0.0% +github.com/thebtf/engram/internal/db/gorm/purge_store.go:80: PurgeProject 0.0% +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:23: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:41: NewRetrievalStatsLogStore 0.0% +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:52: LogEvent 0.0% +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:70: flusher 0.0% +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:102: flush 0.0% +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:109: Close 0.0% +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:130: GetStats 0.0% +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:174: Cleanup 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:139: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:157: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:174: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:176: nullableString 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:180: stringFromNull 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:187: validRuleConfidence 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:199: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:230: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:247: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:262: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:268: NewRuleGovernanceStore 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:272: CreateRuleCandidate 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:304: GetRuleCandidate 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:312: GetRuleCandidateByFingerprint 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:333: ListRuleCandidates 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:356: ListRenderableRuleVersions 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:386: ListLegacyBehavioralRuleFallback 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:412: ListPendingRuleCandidatesForArbiter 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:478: StartRuleArbiterRun 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:493: FinishRuleArbiterRun 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:543: CreateRuleArbiterEvaluation 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:590: AnnotateRuleCandidate 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:646: CreateDraftFromCandidate 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:733: RejectRuleCandidate 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:768: TransitionRuleVersion 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:825: CreateRuleSnapshot 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:841: GetLifecycleHealth 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:883: ListExceptionQueueGroups 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1072: ListRuleGovernanceSnapshots 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1095: PinRuleGovernanceSnapshot 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1125: RollbackRuleGovernanceSnapshot 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1202: fromRuleCandidate 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1232: toRuleCandidate 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1267: toRuleArbiterRun 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1287: fromRuleArbiterEvaluation 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1306: toRuleArbiterEvaluation 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1323: toRuleVersion 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1354: toRuleGovernanceSnapshot 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1372: toRuleGovernanceSnapshotSummary 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1384: projectFromRuleVersionRow 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1394: projectFromSnapshotRow 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1414: countCandidateStatuses 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1443: countVersionStates 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1459: countArbiterRunStatuses 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1475: countTransitionActions 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1495: countSnapshotStatuses 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1513: countInjectionEventTypes 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1531: applyRuleSince 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1538: healthCountTotal 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1571: ruleGovernanceSnapshotStateForRuleVersion 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1586: decodeRuleGovernanceSnapshotState 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1616: decodeRuleGovernanceSnapshotStatePtr 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1623: getRuleVersionByCandidateTx 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1635: ensureRuleFamilyTx 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1650: createRuleTransitionLogTx 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1670: createRuleSnapshotTx 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1675: createRuleSnapshotRowTx 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1698: validateCandidateToDraftRequest 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1708: hasNonBlankEvidenceHandle 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1717: hasNegativeRuleArbiterCount 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1727: validateRuleCandidateForCreate 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1749: objectJSONFromMap 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1760: arrayJSONFromStrings 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1771: objectJSON 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1775: objectOrArrayJSON 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1782: nullableObjectJSON 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1790: decodeObject 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1801: decodeStrings 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1812: isUniqueViolation 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:28: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:55: NewRuleInjectionEventStore 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:59: RecordEvents 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:80: ListBySession 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:106: AggregateByProjectRuleAndEventType 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:160: telemetryQuery 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:171: telemetryReasons 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:183: fromRuleInjectionEvent 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:213: toRuleInjectionEvent 0.0% +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:24: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:32: NewSearchQueryLogStore 0.0% +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:38: LogQuery 0.0% +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:69: GetAnalytics 0.0% +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:136: GetRecent 0.0% +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:169: Cleanup 0.0% +github.com/thebtf/engram/internal/db/gorm/segment_store.go:22: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/segment_store.go:30: NewSegmentStore 0.0% +github.com/thebtf/engram/internal/db/gorm/segment_store.go:35: GetCurrentSegment 0.0% +github.com/thebtf/engram/internal/db/gorm/segment_store.go:51: CreateSegment 0.0% +github.com/thebtf/engram/internal/db/gorm/segment_store.go:90: GetSegments 0.0% +github.com/thebtf/engram/internal/db/gorm/segment_store.go:100: CloseAllSegments 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:31: NewSessionStore 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:41: CreateSDKSession 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:99: GetSessionByID 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:112: FindAnySDKSession 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:127: ResolveClaudeSessionID 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:142: IncrementPromptCounter 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:176: GetPromptCounter 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:188: GetSessionsToday 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:204: GetAllProjects 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:220: ListSDKSessions 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:257: UpdateSessionOutcome 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:354: GetOutcome 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:378: resolveSessionForOutcome 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:403: UpdateUtilityPropagatedAt 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:421: UpdateUtilityPropagatedAtIfStale 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:436: ClearUtilityPropagatedAt 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:451: GetStrategyStats 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:488: GetLearningCurve 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:534: UpdateInjectionStrategy 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:543: toModelSDKSession 0.0% +github.com/thebtf/engram/internal/db/gorm/settings_store.go:32: NewSettingsStore 0.0% +github.com/thebtf/engram/internal/db/gorm/settings_store.go:40: Set 0.0% +github.com/thebtf/engram/internal/db/gorm/settings_store.go:123: Get 0.0% +github.com/thebtf/engram/internal/db/gorm/settings_store.go:140: List 0.0% +github.com/thebtf/engram/internal/db/gorm/settings_store.go:159: Delete 0.0% +github.com/thebtf/engram/internal/db/gorm/settings_store.go:185: modelSettingRowToModel 0.0% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:34: TableName 100.0% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:39: Value 88.9% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:55: Scan 33.3% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:74: parsePostgresArray 86.4% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:109: toDomainSnapshot 70.0% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:139: fromDomainSnapshot 70.0% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:173: NewSnapshotStore 100.0% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:180: Create 0.0% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:184: createTx 66.7% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:201: Get 0.0% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:212: GetForUpdateTx 0.0% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:228: GetByID 0.0% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:238: List 0.0% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:261: MarkRolledBack 0.0% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:268: MarkRolledBackTx 0.0% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:289: Pin 0.0% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:310: AmendPromoteEntries 0.0% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:320: amendPromoteEntriesTx 73.5% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:391: DeleteOlderThan 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:23: Value 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:30: Scan 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:59: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:72: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:83: NewStateStore 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:88: WriteSessionState 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:137: ReadSessionState 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:156: WriteProjectState 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:200: ReadProjectState 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:211: readProjectStateRow 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:222: projectStateFromRow 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:232: ReadResumePacket 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:323: normalizeStateStoreResumePacketRequest 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:333: canonicalizeStateStoreResumeScopes 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:367: validateStateStoreResumePacketRequest 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:403: hasStateStoreResumeScope 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:412: sessionStateFromRow 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:432: resumePacketID 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:456: stateVersionFromTime 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:463: stateEvidenceRefsFromSlots 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:483: stateEvidenceRefsFromProjectRow 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:487: appendUniqueStateEvidenceRefs 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:503: stateActionFromProjectRow 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:525: stateVerificationFromProjectRow 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:533: parseStateStringSlice 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:554: cleanStateStrings 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:566: requireDB 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:573: stateActionFromSlots 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:581: stateVerificationFromSlots 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:589: parseStateAction 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:628: parseStateVerification 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:667: mapString 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:678: inferActionKind 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:685: inferVerificationKind 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:692: validActionKind 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:701: validVerificationKind 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:710: marshalJSONObject 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:724: validateSessionStateBudget 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:728: unmarshalJSONObject 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:764: LogResumeReadAudit 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:786: resumeReadAuditStateFrom 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:812: firstNonEmpty 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:821: logAuditAsync 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:44: NewStore 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:84: openGORM 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:97: resolveMaxConns 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:109: configurePool 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:123: WarmPool 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:151: Close 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:156: Ping 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:164: GetRawDB 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:169: GetDB 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:175: Stats 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:184: Optimize 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:199: HealthCheck 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:222: HealthCheckForce 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:238: performHealthCheck 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:274: poolStatsFromDBStats 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:289: applyHealthThresholds 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:372: NewPoolMetrics 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:384: RecordLatency 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:398: RecordPoolStats 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:414: GetMetricsSummary 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:442: computeLatencyStats 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:461: computeP95 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:485: GetMetrics 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:495: ResetMetrics 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:504: WithTimeout 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:526: ExecWithTimeout 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:543: QueryRowWithTimeout 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:555: TransactionWithTimeout 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:21: mustParseTemporalTruthSentinel 75.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:44: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:81: NewTemporalTruthStore 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:87: LoadStoredRecords 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:97: LoadSelectedRecords 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:105: loadStoredRecordRows 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:134: RefreshProject 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:164: requireDB 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:171: loadProjectMemories 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:183: buildTemporalTruthRows 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:238: collapseTemporalTruthChainByValidFrom 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:261: temporalTruthRootID 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:281: temporalTruthMemoryValidFrom 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:294: temporalTruthRowFromMemory 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:310: temporalTruthMemoryValidUntil 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:327: temporalTruthHasExplicitValidUntil 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:331: temporalTruthInvalidatedAt 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:342: temporalTruthInvalidationRationale 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:352: isTemporalTruthOpenEnded 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:356: temporalTruthReadValidUntil 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:364: temporalTruthReadInvalidatedAt 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:372: temporalTruthRowsToStoredRecords 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:390: temporalTruthStoredRecordsToRecords 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:408: temporalTruthProvenanceFromSourceMemoryIDs 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:424: deriveTemporalTruthFactClass 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:430: temporalTruthFactClassKey 100.0% +github.com/thebtf/engram/internal/db/gorm/token_store.go:19: NewTokenStore 0.0% +github.com/thebtf/engram/internal/db/gorm/token_store.go:24: Create 0.0% +github.com/thebtf/engram/internal/db/gorm/token_store.go:30: CreateWithPrincipal 0.0% +github.com/thebtf/engram/internal/db/gorm/token_store.go:58: List 0.0% +github.com/thebtf/engram/internal/db/gorm/token_store.go:70: FindByPrefix 0.0% +github.com/thebtf/engram/internal/db/gorm/token_store.go:82: Revoke 0.0% +github.com/thebtf/engram/internal/db/gorm/token_store.go:98: IncrementStats 0.0% +github.com/thebtf/engram/internal/db/gorm/token_store.go:109: IncrementErrorCount 0.0% +github.com/thebtf/engram/internal/db/gorm/token_store.go:117: GetByID 0.0% +github.com/thebtf/engram/internal/db/gorm/token_store.go:132: BatchIncrementStats 0.0% +github.com/thebtf/engram/internal/db/gorm/transcript_store.go:25: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/transcript_store.go:33: NewTranscriptStore 0.0% +github.com/thebtf/engram/internal/db/gorm/transcript_store.go:43: Create 0.0% +github.com/thebtf/engram/internal/db/gorm/transcript_store.go:57: ListUnprocessedSince 0.0% +github.com/thebtf/engram/internal/db/gorm/transcript_store.go:71: MarkProcessed 0.0% +github.com/thebtf/engram/internal/db/gorm/transcript_store.go:87: PruneProcessed 0.0% +github.com/thebtf/engram/internal/db/gorm/transcript_store.go:100: PruneUnprocessedOlderThan 0.0% +github.com/thebtf/engram/internal/db/gorm/user_store.go:17: NewUserStore 0.0% +github.com/thebtf/engram/internal/db/gorm/user_store.go:22: CreateUser 0.0% +github.com/thebtf/engram/internal/db/gorm/user_store.go:36: GetUserByEmail 0.0% +github.com/thebtf/engram/internal/db/gorm/user_store.go:45: GetUserByID 0.0% +github.com/thebtf/engram/internal/db/gorm/user_store.go:54: ListUsers 0.0% +github.com/thebtf/engram/internal/db/gorm/user_store.go:63: UpdateUser 0.0% +github.com/thebtf/engram/internal/db/gorm/user_store.go:75: CountUsers 0.0% +github.com/thebtf/engram/internal/db/gorm/user_store.go:84: CountAdmins 0.0% +github.com/thebtf/engram/internal/db/gorm/user_store.go:95: UpdateUserWithLastAdminGuard 0.0% +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:33: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:48: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:57: NewVersionedDocumentStore 0.0% +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:62: versionedDocHashContent 0.0% +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:70: Create 0.0% +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:129: ReadLatest 0.0% +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:144: ReadVersion 0.0% +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:159: List 0.0% +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:179: DeleteBySourceBookJobID 0.0% +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:195: versionedDocBuildListFilters 0.0% +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:217: GetHistory 0.0% +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:236: AddComment 0.0% +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:257: GetComments 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33: effectiveAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44: isAuditEnabled 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52: runAuditAsync 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77: marshalState 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92: logAuditCreate 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117: logAuditEdit 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142: logAuditDelete 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166: logAuditGeneric 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189: logAuditSupersede 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:30: parseArgs 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:46: coerceString 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:67: coerceInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:97: coerceInt64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:127: coerceFloat64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:151: coerceBool 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:177: coerceStringSlice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:204: coerceInt64Slice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:222: clampToInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:236: clampInt64ToInt 0.0% +github.com/thebtf/engram/internal/mcp/context.go:17: extractProjectFromHeader 0.0% +github.com/thebtf/engram/internal/mcp/context.go:22: contextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:29: ContextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:35: projectFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:41: contextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:48: ContextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:54: sessionFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:61: actorFromContext 0.0% +github.com/thebtf/engram/internal/mcp/health.go:22: NewMCPHealth 0.0% +github.com/thebtf/engram/internal/mcp/health.go:29: RecordRequest 0.0% +github.com/thebtf/engram/internal/mcp/health.go:36: RecordError 0.0% +github.com/thebtf/engram/internal/mcp/health.go:42: rotateWindowIfNeeded 0.0% +github.com/thebtf/engram/internal/mcp/health.go:55: HandleHealth 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28: ruleGovernanceCaptureEnabled 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39: captureActiveRuleIntent 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104: ruleIntentFingerprint 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113: marshalRuleCandidateIntentResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:127: NewServer 100.0% +github.com/thebtf/engram/internal/mcp/server.go:141: SetBackfillStatusFunc 0.0% +github.com/thebtf/engram/internal/mcp/server.go:146: SetVersionedDocumentStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:151: SetIssueStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:156: SetMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:161: SetMetaMemoryIndex 0.0% +github.com/thebtf/engram/internal/mcp/server.go:166: SetHintQueue 0.0% +github.com/thebtf/engram/internal/mcp/server.go:171: SetStateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:176: SetDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/server.go:181: SetBehavioralRulesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:186: SetRuleGovernanceStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:191: SetRuleInjectionTelemetryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:195: SetPromotionStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:199: SetGraphStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:204: SetNodesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:211: SetAuditStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:216: SetPurgeStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:222: SetCandidateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:228: SetSnapshotStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:234: SetBulkFacade 0.0% +github.com/thebtf/engram/internal/mcp/server.go:240: setTestAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/server.go:246: setTestMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/server.go:252: setTestMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/server.go:260: SetWriteLintOrchestrator 0.0% +github.com/thebtf/engram/internal/mcp/server.go:269: SetRedactionRules 0.0% +github.com/thebtf/engram/internal/mcp/server.go:274: SetEmbeddingStores 0.0% +github.com/thebtf/engram/internal/mcp/server.go:282: SetRerankClient 0.0% +github.com/thebtf/engram/internal/mcp/server.go:290: SetStatsDB 0.0% +github.com/thebtf/engram/internal/mcp/server.go:297: HandleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:303: ListTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:332: Version 0.0% +github.com/thebtf/engram/internal/mcp/server.go:383: Run 0.0% +github.com/thebtf/engram/internal/mcp/server.go:427: handleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:461: handleNotification 0.0% +github.com/thebtf/engram/internal/mcp/server.go:473: handleInitialize 0.0% +github.com/thebtf/engram/internal/mcp/server.go:496: buildInstructions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:660: storeMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:712: recallMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:805: primaryTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:942: handleToolsList 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1612: handleToolsCall 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1644: sanitizeToolCallArgs 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1656: callTool 5.2% +github.com/thebtf/engram/internal/mcp/server.go:1874: sendResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1884: sendError 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1896: handleFindSimilarObservations 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1927: handleGetMemoryStats 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2055: handleBackfillStatus 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2071: handleCheckSystemHealth 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2216: handleAnalyzeSearchPatterns 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2246: handleSearchSessions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2251: handleListSessions 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:18: buildAdminTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:68: adminActionsForEnv 33.3% +github.com/thebtf/engram/internal/mcp/tools_admin.go:80: vnextEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:84: handleAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:120: handlePurgeProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27: ambientHintsEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32: ambientHintsTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48: handleGetAmbientHints 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86: normalizeAmbientHintsToolLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96: ambientHintItems 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114: errMissingSessionID 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:31: handleGetMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:107: memoryBriefUsesPrincipalScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:115: handlePrincipalMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:259: truncateBriefContent 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:270: filterInjectionByScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:29: parseBulkStructuredArgs 100.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:69: bulkOpsTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:139: handleBulkPromote 80.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:196: handleBulkDelete 80.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:251: handleBulkSupersede 80.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31: candidateItemFromDomain 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51: newCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59: requireCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68: candidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165: handleListCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208: handleGetCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239: handlePromoteCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348: handleRejectCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402: handleSupersedeCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34: codeIntelEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42: SetCodeChunkStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48: codebaseSearchTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79: codebaseStatusTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100: handleCodebaseSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194: handleCodebaseStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:21: getVault 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:35: credentialStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:49: handleStoreCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:130: handleGetCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:192: handleListCredentials 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:243: handleDeleteCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:302: handleVaultStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:338: expandTagHierarchy 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:16: directivesCaptureEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:20: rememberDirectiveTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:38: currentDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:48: handleRememberDirective 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:72: parseRememberDirectiveArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10: handleDocsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:15: handleListCollections 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:61: handleListDocuments 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:121: handleGetDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:165: handleRemoveDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:197: handleIngestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:235: handleSearchCollection 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15: handleDocCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61: handleDocRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117: handleDocUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122: handleDocList 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175: handleDocHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232: handleDocComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19: SetExperienceProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23: experienceHistoryTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40: experienceHistoryReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65: experienceHistoryDetailSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82: experienceHistoryTriggerEnum 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91: handleExperienceHistoryRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103: handleExperienceHistoryDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115: parseExperienceHistoryReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142: parseExperienceHistoryDetailArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157: experienceHistoryTriggersFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180: marshalExperienceHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12: handleFeedbackConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36: handleSetSessionOutcome 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:27: governanceTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:98: handleListSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:167: handleRollbackSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:215: handlePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:258: handleRedactionRulesStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:284: resolveGovernanceActor 60.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:64: handleGraph 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:100: graphAddEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:216: mcpGraphEndpointExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:243: mcpGraphEdgeAlreadyExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:276: graphAddNode 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:317: graphRemoveEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:332: graphGetEdges 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:397: filterEdgesByNodeType 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:457: graphTraverse 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:480: graphFindPath 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:502: graphSynonyms 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23: graphCreateEdgeWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80: graphEndpointExistsWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114: graphDuplicateEdgeExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25: handleIngest 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43: ingestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20: handleImportInstincts 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:19: issuesToolSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:109: validateIssueActionParams 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:143: handleIssues 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:189: resolveSourceProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:205: handleIssueCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:250: handleIssueList 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:311: handleIssueGet 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:344: handleIssueUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:382: handleIssueComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:408: handleIssueReopen 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:425: handleIssueClose 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22: handleLifecycle 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48: lifecycleInfo 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87: lifecyclePromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118: lifecycleDemote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149: lifecycleSetConfidence 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172: lifecycleSetDefeasibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191: lifecycleSleepStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197: lifecycleDecayPreview 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233: marshalJSON 75.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:35: vnextFEnabled 100.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:42: isValidPrivacyScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:54: derivePrivacyScopeFromLegacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:82: deriveLegacyScopeFromPrivacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:93: applyPrincipalMemoryMetadata 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:135: addPrincipalMemoryFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:161: newScopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:172: writeLintVisibilityCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:186: writeLintVisibilityOptions 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:192: scopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:202: filterVisibleWriteGateCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:214: domainManageAllowed 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:218: List 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:272: writeLintVisibilityFetchLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:286: Get 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:297: Create 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:301: Update 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:305: MarkSuperseded 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:319: effectiveMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:329: isValidStoreObservationType 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:354: handleStoreMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111: handleEditMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218: computeTTLDays 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258: truncateTitle 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270: keepRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280: keepRecallMemoryFilters 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342: handleRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690: staleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700: marshalWithStaleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727: Rank 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1751: handleRecallMemoryHybrid 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252: handleRateMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281: handleSuppressMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17: SetDomainRegistryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21: checkDomainWriteMCP 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43: addDomainWriteDecisionFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51: marshalStoreMemoryAugmented 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26: newMemoryStoreSignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33: s6OutcomeEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37: effectiveMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47: currentMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58: rateMemorySignificanceTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74: handleRateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109: RateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18: s2MetaMemoryEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22: knowAboutTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39: handleKnowAbout 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104: parseKnowAboutLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118: summarizeMetaIndexTags 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153: summarizeMetaIndexDateRange 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23: SetPrincipalMemoryQueryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27: principalMemoryQueryTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52: handleQueryPrincipalMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134: principalMemoryQueryCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149: parsePrincipalMemoryQueryLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160: principalMemoryQueryText 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167: parsePrincipalMemoryQueryVisibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179: parsePrincipalMemoryQueryOffset 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190: parsePrincipalMemoryQueryInt 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215: parsePrincipalMemoryQueryBool 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:28: handleRecall 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:125: parseRecallIncludedPrincipals 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:165: appendRecallIncludedPrincipalMemories 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:223: recallIncludeTargetMatchesCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:231: recallPrincipalQueryItemToMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:247: handleRecallSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20: currentReviewLoopCandidateLister 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30: reviewLoopCandidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65: reviewLoopReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78: reviewPacketIDSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91: handleReviewMetricsRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110: handleReviewQueueRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140: handleReviewPacketDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151: handleReviewPacketPreviewAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167: handleReviewPacketApplyAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189: parseReviewLoopReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212: reviewLoopMCPPacketTypeSupported 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217: reviewLoopActionFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225: reviewLoopReasonFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233: loadReviewPacketCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256: applyReviewPacketPreserve 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278: applyReviewPacketSuppress 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296: reviewLoopMemoryFromCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320: filterRiskyMCPReviewCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330: marshalReviewLoop 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17: ruleGovernanceReadTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126: handleRuleGovernanceHealth 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176: handleRuleGovernanceQueue 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233: handleRuleGovernanceSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278: handleRuleGovernanceUsefulness 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338: handleRuleGovernanceTransition 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373: handleRuleGovernancePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406: handleRuleGovernanceRollback 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483: requireRuleGovernanceReadAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495: requireRuleGovernanceProjectOrAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505: ruleGovernanceCallerIsAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510: requireRuleGovernanceAdminAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518: redactRuleGovernanceEvidenceHandles 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535: redactRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553: ruleGovernanceEvidenceHandleHasSensitiveText 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559: isCanonicalRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580: isSafeRuleGovernanceEvidenceID 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594: parseRuleGovernanceTransitionRequest 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604: parseRuleGovernanceSince 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623: boundedRuleGovernanceLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634: formatRuleGovernanceTime 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641: formatRuleGovernanceTimePtr 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649: stringRuleCandidateStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657: stringRuleVersionStateCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665: stringRuleArbiterRunStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673: stringRuleInjectionEventTypeCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:17: handleStoreRule 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:133: handleListRules 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:22: handleSettingsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:51: SetSettingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:57: settingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:67: isSecretSettingKey 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:74: requireAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:85: handleSetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:145: handleGetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:181: handleListSettings 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:216: handleDeleteSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:35: resumeScopesFromFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:52: stateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:82: setStateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:142: handleGetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:219: handleSetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:274: decodeSessionStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:292: validateSessionStateBudget 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:303: validateNativeResumePacket 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:349: decodeProjectStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:364: requireStateObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:383: requireNestedObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10: handleStoreConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21: SetTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25: temporalTruthEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30: temporalTruthTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39: temporalTruthRefreshTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48: temporalTruthRefreshSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58: temporalTruthSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72: currentTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82: handleTemporalTruth 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102: handleTemporalTruthRefresh 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122: parseTemporalTruthArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151: parseTemporalTruthRefreshProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10: handleVaultConsolidated 0.0% +total: (statements) 9.0% +test_exit=0 +active_sessions_before_terminate=0 +database_residue=0 +activity_residue=0 +finished_utc=2026-07-10T08:47:10.7006897Z diff --git a/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/16-final-residue.log b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/16-final-residue.log new file mode 100644 index 00000000..0f142b18 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/16-final-residue.log @@ -0,0 +1,6 @@ +checked_utc=2026-07-10T09:10:54.3826001Z +database_query=SELECT count(*) FROM pg_database WHERE datname LIKE 'engram_mkr_bedge_%'; +database_residue=0 +activity_query=SELECT count(*) FROM pg_stat_activity WHERE datname LIKE 'engram_mkr_bedge_%'; +activity_residue=0 +exit_code=0 diff --git a/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/17-review-red-authoritative-binding.log b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/17-review-red-authoritative-binding.log new file mode 100644 index 00000000..559bad2a --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/17-review-red-authoritative-binding.log @@ -0,0 +1,89 @@ +base_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +head_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +database=engram_mkr_bedge_review_red_auth_20260710a +command=go test -p=1 ./internal/db/gorm -run ^TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites$ -count=1 +started_utc=2026-07-10T09:00:25.4966846Z + +2026/07/10 12:00:28 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:483 ERROR: column "is_deprecated" does not exist (SQLSTATE 42703) +[2.500ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_patterns_frequency + ON patterns(frequency DESC, last_seen_at_epoch DESC) + WHERE is_deprecated = 0 + +2026/07/10 12:00:28 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:578 ERROR: column "is_deprecated" does not exist (SQLSTATE 42703) +[0.999ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_patterns_type_project + ON patterns(type, project, frequency DESC) + WHERE is_deprecated = 0 + +2026/07/10 12:00:28 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:578 ERROR: column "source_observation_id" does not exist (SQLSTATE 42703) +[1.001ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_relations_source_type + ON observation_relations(source_observation_id, relation_type) + +2026/07/10 12:00:28 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:578 ERROR: column "target_observation_id" does not exist (SQLSTATE 42703) +[0.503ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_relations_target_type + ON observation_relations(target_observation_id, relation_type) + +2026/07/10 12:00:28 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:670 ERROR: column "source_observation_id" does not exist (SQLSTATE 42703) +[1.000ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_relations_source_type_target + ON observation_relations(source_observation_id, relation_type, target_observation_id) + +2026/07/10 12:00:28 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:670 ERROR: column "target_observation_id" does not exist (SQLSTATE 42703) +[0.498ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_relations_target_type_source + ON observation_relations(target_observation_id, relation_type, source_observation_id) + +2026/07/10 12:00:28 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:1447 ERROR: relation "observation_vectors" does not exist (SQLSTATE 42P01) +[1.001ms] [rows:0] + DELETE FROM observation_vectors + WHERE id IN ( + SELECT ov.id FROM observation_vectors ov + LEFT JOIN observations o ON ov.metadata->>'sqlite_id' = o.id::text + WHERE o.id IS NULL + ) + +{"level":"warn","error":"ERROR: relation \"observation_vectors\" does not exist (SQLSTATE 42P01)","time":"2026-07-10T12:00:28+03:00","message":"migration 040: orphan vector cleanup failed (non-fatal)"} +{"level":"info","garbage_deleted":0,"orphan_vectors_deleted":0,"time":"2026-07-10T12:00:28+03:00","message":"migration 040: garbage cleanup complete"} +{"level":"info","orphan_vectors_deleted":0,"time":"2026-07-10T12:00:28+03:00","message":"migration 041: orphan vector purge complete"} +{"level":"info","patterns_deleted":0,"time":"2026-07-10T12:00:28+03:00","message":"migration 042: low-quality pattern purge complete"} +{"level":"info","total_deleted":0,"time":"2026-07-10T12:00:28+03:00","message":"migration 043: radical observation cleanup complete"} + +2026/07/10 12:00:29 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:3502 ERROR: extension "vectorscale" is not available (SQLSTATE 0A000) +[0.500ms] [rows:0] CREATE EXTENSION IF NOT EXISTS vectorscale CASCADE +{"level":"warn","error":"ERROR: extension \"vectorscale\" is not available (SQLSTATE 0A000)","time":"2026-07-10T12:00:29+03:00","message":"migration 109: vectorscale extension not available, skipping DiskANN index"} +--- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites (3.71s) + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/forged_payload_and_source_session (0.04s) + candidate_store_test.go:858: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:858 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/promote/forged_payload_and_source_session + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/forged_payload_and_source_session (0.02s) + candidate_store_test.go:858: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:858 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/preserve/forged_payload_and_source_session + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/forged_payload_and_source_session (0.02s) + candidate_store_test.go:858: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:858 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/reject/forged_payload_and_source_session + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/forged_payload_and_source_session (0.02s) + candidate_store_test.go:858: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:858 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/suppress/forged_payload_and_source_session + Messages: invalid candidate-review snapshot binding must fail closed + --- FAIL: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/forged_payload_and_source_session (0.02s) + candidate_store_test.go:858: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:858 + Error: An error is expected but got nil. + Test: TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites/supersede/forged_payload_and_source_session + Messages: invalid candidate-review snapshot binding must fail closed +FAIL +FAIL github.com/thebtf/engram/internal/db/gorm 3.804s +FAIL +test_exit=1 +active_sessions_before_terminate=0 +database_residue=0 +activity_residue=0 +finished_utc=2026-07-10T09:00:33.1311874Z diff --git a/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/18-review-green-authoritative-binding.log b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/18-review-green-authoritative-binding.log new file mode 100644 index 00000000..1d0ddcdb --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/18-review-green-authoritative-binding.log @@ -0,0 +1,88 @@ +base_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +head_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +database=engram_mkr_bedge_review_green_auth_20260710a +command=go test -p=1 ./internal/db/gorm ./internal/mcp -run ^(TestCandidateStore_PromoteWithMemoryAndSnapshot_AmendFailureRollsBackPromotion|TestCandidateStore_PreserveWithMemoryAndSnapshot_RequiresCandidateReviewSnapshotBeforeMutation|TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites|TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit|TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs|TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization|TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade|TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun)$ -count=1 +started_utc=2026-07-10T09:02:05.5443407Z + +2026/07/10 12:02:08 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:483 ERROR: column "is_deprecated" does not exist (SQLSTATE 42703) +[2.002ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_patterns_frequency + ON patterns(frequency DESC, last_seen_at_epoch DESC) + WHERE is_deprecated = 0 + +2026/07/10 12:02:08 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:578 ERROR: column "is_deprecated" does not exist (SQLSTATE 42703) +[1.000ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_patterns_type_project + ON patterns(type, project, frequency DESC) + WHERE is_deprecated = 0 + +2026/07/10 12:02:08 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:578 ERROR: column "source_observation_id" does not exist (SQLSTATE 42703) +[0.500ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_relations_source_type + ON observation_relations(source_observation_id, relation_type) + +2026/07/10 12:02:08 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:578 ERROR: column "target_observation_id" does not exist (SQLSTATE 42703) +[1.000ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_relations_target_type + ON observation_relations(target_observation_id, relation_type) + +2026/07/10 12:02:08 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:670 ERROR: column "source_observation_id" does not exist (SQLSTATE 42703) +[0.502ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_relations_source_type_target + ON observation_relations(source_observation_id, relation_type, target_observation_id) + +2026/07/10 12:02:08 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:670 ERROR: column "target_observation_id" does not exist (SQLSTATE 42703) +[0.999ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_relations_target_type_source + ON observation_relations(target_observation_id, relation_type, source_observation_id) + +2026/07/10 12:02:09 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:1447 ERROR: relation "observation_vectors" does not exist (SQLSTATE 42P01) +[0.500ms] [rows:0] + DELETE FROM observation_vectors + WHERE id IN ( + SELECT ov.id FROM observation_vectors ov + LEFT JOIN observations o ON ov.metadata->>'sqlite_id' = o.id::text + WHERE o.id IS NULL + ) + +{"level":"warn","error":"ERROR: relation \"observation_vectors\" does not exist (SQLSTATE 42P01)","time":"2026-07-10T12:02:09+03:00","message":"migration 040: orphan vector cleanup failed (non-fatal)"} +{"level":"info","garbage_deleted":0,"orphan_vectors_deleted":0,"time":"2026-07-10T12:02:09+03:00","message":"migration 040: garbage cleanup complete"} +{"level":"info","orphan_vectors_deleted":0,"time":"2026-07-10T12:02:09+03:00","message":"migration 041: orphan vector purge complete"} +{"level":"info","patterns_deleted":0,"time":"2026-07-10T12:02:09+03:00","message":"migration 042: low-quality pattern purge complete"} +{"level":"info","total_deleted":0,"time":"2026-07-10T12:02:09+03:00","message":"migration 043: radical observation cleanup complete"} + +2026/07/10 12:02:10 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations.go:3502 ERROR: extension "vectorscale" is not available (SQLSTATE 0A000) +[0.500ms] [rows:0] CREATE EXTENSION IF NOT EXISTS vectorscale CASCADE +{"level":"warn","error":"ERROR: extension \"vectorscale\" is not available (SQLSTATE 0A000)","time":"2026-07-10T12:02:10+03:00","message":"migration 109: vectorscale extension not available, skipping DiskANN index"} +--- FAIL: TestCandidateStore_PromoteWithMemoryAndSnapshot_AmendFailureRollsBackPromotion (2.66s) + candidate_store_test.go:501: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:501 + Error: "promote_with_memory_snapshot: candidate review snapshot before payload does not match authoritative candidate" does not contain "forced snapshot amend failure" + Test: TestCandidateStore_PromoteWithMemoryAndSnapshot_AmendFailureRollsBackPromotion +--- FAIL: TestCandidateStore_PreserveWithMemoryAndSnapshot_RequiresCandidateReviewSnapshotBeforeMutation (0.00s) +panic: runtime error: invalid memory address or nil pointer dereference [recovered, repanicked] +[signal 0xc0000005 code=0x0 addr=0x0 pc=0x7ff73820555b] + +goroutine 16 [running]: +testing.tRunner.func1.2({0x7ff7387751a0, 0x7ff738f4d030}) + C:/Users/btf/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.11.windows-amd64/src/testing/testing.go:1872 +0x239 +testing.tRunner.func1() + C:/Users/btf/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.11.windows-amd64/src/testing/testing.go:1875 +0x35b +panic({0x7ff7387751a0?, 0x7ff738f4d030?}) + C:/Users/btf/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.11.windows-amd64/src/runtime/panic.go:783 +0x132 +gorm.io/gorm.(*DB).Session(0x0, 0xc000543b90) + C:/Users/btf/go/pkg/mod/gorm.io/gorm@v1.31.1/gorm.go:252 +0x3b +gorm.io/gorm.(*DB).WithContext(...) + C:/Users/btf/go/pkg/mod/gorm.io/gorm@v1.31.1/gorm.go:353 +github.com/thebtf/engram/internal/db/gorm.(*CandidateStore).promoteWithMemoryAndSnapshotAction(0xc00004df50, {0x7ff7389c6428, 0x7ff738fbfaa0}, 0x0, 0x2a, 0xc00004dd58, 0x0, {0x7ff73886bfc5, 0xe}, {0x7ff738866b58, ...}, ...) + D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store.go:427 +0x128 +github.com/thebtf/engram/internal/db/gorm.(*CandidateStore).PreserveWithMemoryAndSnapshot(0x7ff738a21c37?, {0x7ff7389c6428?, 0x7ff738fbfaa0?}, 0x0?, 0x210022?, 0x0?, 0x7ff737f3a4d7?, {0x7ff73886bfc5?, 0x0?}) + D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store.go:399 +0x54 +github.com/thebtf/engram/internal/db/gorm.TestCandidateStore_PreserveWithMemoryAndSnapshot_RequiresCandidateReviewSnapshotBeforeMutation(0xc0007821c0) + D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:556 +0x111 +testing.tRunner(0xc0007821c0, 0x7ff7388d3638) + C:/Users/btf/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.11.windows-amd64/src/testing/testing.go:1934 +0xc3 +created by testing.(*T).Run in goroutine 1 + C:/Users/btf/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.11.windows-amd64/src/testing/testing.go:1997 +0x44b +FAIL github.com/thebtf/engram/internal/db/gorm 2.759s +ok github.com/thebtf/engram/internal/mcp 0.091s +FAIL +test_exit=1 +active_sessions_before_terminate=0 +database_residue=0 +activity_residue=0 +finished_utc=2026-07-10T09:02:14.8179546Z diff --git a/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/19-review-green-authoritative-binding.log b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/19-review-green-authoritative-binding.log new file mode 100644 index 00000000..376cd384 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/19-review-green-authoritative-binding.log @@ -0,0 +1,12 @@ +base_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +head_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +database=engram_mkr_bedge_review_green_auth_20260710b +command=go test -p=1 ./internal/db/gorm ./internal/mcp -run ^(TestCandidateStore_PromoteWithMemoryAndSnapshot_AmendFailureRollsBackPromotion|TestCandidateStore_PreserveWithMemoryAndSnapshot_RequiresCandidateReviewSnapshotBeforeMutation|TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites|TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit|TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs|TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization|TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade|TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun)$ -count=1 +started_utc=2026-07-10T09:04:05.0529053Z +ok github.com/thebtf/engram/internal/db/gorm 3.640s +ok github.com/thebtf/engram/internal/mcp 0.100s +test_exit=0 +active_sessions_before_terminate=0 +database_residue=0 +activity_residue=0 +finished_utc=2026-07-10T09:04:15.0515007Z diff --git a/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/20-review-repeat20.log b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/20-review-repeat20.log new file mode 100644 index 00000000..03eb34e0 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/20-review-repeat20.log @@ -0,0 +1,12 @@ +base_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +head_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +database=engram_mkr_bedge_review_repeat20_20260710a +command=go test -p=1 ./internal/db/gorm ./internal/mcp -run ^(TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites|TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit|TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs|TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization|TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade|TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun)$ -count=20 +started_utc=2026-07-10T09:04:31.8618062Z +ok github.com/thebtf/engram/internal/db/gorm 30.402s +ok github.com/thebtf/engram/internal/mcp 0.119s +test_exit=0 +active_sessions_before_terminate=0 +database_residue=0 +activity_residue=0 +finished_utc=2026-07-10T09:05:06.0102152Z diff --git a/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/21-review-race-focused.log b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/21-review-race-focused.log new file mode 100644 index 00000000..f59b4e6d --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/21-review-race-focused.log @@ -0,0 +1,12 @@ +base_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +head_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +database=engram_mkr_bedge_review_race_20260710a +command=go test -race -p=1 ./internal/db/gorm ./internal/mcp -run ^(TestCandidateStore_PromoteWithMemoryAndSnapshot_AmendFailureRollsBackPromotion|TestCandidateStore_PreserveWithMemoryAndSnapshot_RequiresCandidateReviewSnapshotBeforeMutation|TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites|TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit|TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs|TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization|TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade|TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun)$ -count=1 +started_utc=2026-07-10T09:05:21.1803510Z +ok github.com/thebtf/engram/internal/db/gorm 5.184s +ok github.com/thebtf/engram/internal/mcp 1.089s +test_exit=0 +active_sessions_before_terminate=0 +database_residue=0 +activity_residue=0 +finished_utc=2026-07-10T09:05:39.4393708Z diff --git a/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/22-review-vet.log b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/22-review-vet.log new file mode 100644 index 00000000..e1502659 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/22-review-vet.log @@ -0,0 +1,10 @@ +base_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +head_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +database=engram_mkr_bedge_review_vet_20260710a +command=go vet ./internal/db/gorm ./internal/mcp +started_utc=2026-07-10T09:05:52.8410044Z +test_exit=0 +active_sessions_before_terminate=0 +database_residue=0 +activity_residue=0 +finished_utc=2026-07-10T09:05:55.4729862Z diff --git a/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/23-review-coverage.log b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/23-review-coverage.log new file mode 100644 index 00000000..83a276a2 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/23-review-coverage.log @@ -0,0 +1,12 @@ +base_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +head_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +database=engram_mkr_bedge_review_coverage_20260710a +command=go test -p=1 ./internal/db/gorm ./internal/mcp -run ^(TestCandidateStore_PromoteWithMemoryAndSnapshot_AmendFailureRollsBackPromotion|TestCandidateStore_PreserveWithMemoryAndSnapshot_RequiresCandidateReviewSnapshotBeforeMutation|TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites|TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit|TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs|TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization|TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade|TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun)$ -count=1 -covermode=atomic -coverprofile= .agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/coverage.out +started_utc=2026-07-10T09:06:19.4994123Z +ok github.com/thebtf/engram/internal/db/gorm 4.357s coverage: 15.4% of statements +ok github.com/thebtf/engram/internal/mcp 0.115s coverage: 1.8% of statements +test_exit=0 +active_sessions_before_terminate=0 +database_residue=0 +activity_residue=0 +finished_utc=2026-07-10T09:06:31.6544016Z diff --git a/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/24-review-cover-functions.log b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/24-review-cover-functions.log new file mode 100644 index 00000000..ab3b5647 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/24-review-cover-functions.log @@ -0,0 +1,12 @@ +base_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +head_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +database=engram_mkr_bedge_review_coverfunc_20260710a +command=go tool cover -func= .agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/coverage.out +started_utc=2026-07-10T09:06:50.4458404Z +too many options +For usage information, run "go tool cover -help" +test_exit=2 +active_sessions_before_terminate=0 +database_residue=0 +activity_residue=0 +finished_utc=2026-07-10T09:06:52.3834483Z diff --git a/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/25-review-cover-functions.log b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/25-review-cover-functions.log new file mode 100644 index 00000000..a237933a --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/25-review-cover-functions.log @@ -0,0 +1,952 @@ +base_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +head_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +database=engram_mkr_bedge_review_coverfunc_20260710b +command=go tool cover -func=.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/coverage.out +started_utc=2026-07-10T09:07:12.6414703Z +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:28: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:34: NewAttentionEventStore 0.0% +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:38: Create 0.0% +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:52: Get 0.0% +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:66: ListByProject 0.0% +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:92: attentionEventRowFromRecord 0.0% +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:137: attentionEventRowToStored 0.0% +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:154: validAttentionEventHorizon 0.0% +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:163: validAttentionEventPrivacyClass 0.0% +github.com/thebtf/engram/internal/db/gorm/audit_store.go:25: TableName 100.0% +github.com/thebtf/engram/internal/db/gorm/audit_store.go:33: NewAuditStore 100.0% +github.com/thebtf/engram/internal/db/gorm/audit_store.go:38: Log 66.7% +github.com/thebtf/engram/internal/db/gorm/audit_store.go:45: logTx 66.7% +github.com/thebtf/engram/internal/db/gorm/audit_store.go:53: GetByMemory 0.0% +github.com/thebtf/engram/internal/db/gorm/audit_store.go:80: LogAudit 0.0% +github.com/thebtf/engram/internal/db/gorm/audit_store.go:92: DeleteOlderThan 0.0% +github.com/thebtf/engram/internal/db/gorm/auth_models.go:15: DashboardRoles 0.0% +github.com/thebtf/engram/internal/db/gorm/auth_models.go:20: NormalizeDashboardRole 0.0% +github.com/thebtf/engram/internal/db/gorm/auth_models.go:43: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/auth_models.go:61: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/auth_models.go:76: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:26: NewAuthSessionStore 0.0% +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:31: CreateSession 0.0% +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:52: GetAnySession 0.0% +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:65: GetSession 0.0% +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:74: RevokeSession 0.0% +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:108: DeleteSession 0.0% +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:114: DeleteUserSessions 0.0% +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:134: CleanExpired 0.0% +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:139: validateSessionRow 0.0% +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:154: generateSessionID 0.0% +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:28: NewBehavioralRulesStore 0.0% +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:34: Create 0.0% +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:74: Get 0.0% +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:97: List 0.0% +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:103: ListEnabled 0.0% +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:107: list 0.0% +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:140: ListAll 0.0% +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:164: Update 0.0% +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:201: SetEnabled 0.0% +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:234: Delete 0.0% +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:256: behavioralRuleRowToModel 0.0% +github.com/thebtf/engram/internal/db/gorm/books_store.go:22: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/books_store.go:33: NewBooksStore 0.0% +github.com/thebtf/engram/internal/db/gorm/books_store.go:41: Create 0.0% +github.com/thebtf/engram/internal/db/gorm/books_store.go:62: GetStatus 0.0% +github.com/thebtf/engram/internal/db/gorm/books_store.go:78: UpdateStatus 0.0% +github.com/thebtf/engram/internal/db/gorm/books_store.go:112: isValidBookStatus 0.0% +github.com/thebtf/engram/internal/db/gorm/books_store.go:121: booksJobFromRecord 0.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:46: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:51: Value 100.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:58: Scan 57.1% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:73: toDomainCandidate 100.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:101: fromDomainCandidate 81.8% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:140: NewCandidateStore 100.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:147: Create 71.4% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:160: Get 75.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:171: ListByStatus 0.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:195: ListExpiredPending 0.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:236: transitionStatus 0.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:289: transitionStatusTx 66.7% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:331: TransitionToPromoted 0.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:348: PromoteWithMemory 0.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:377: PromoteWithMemoryAndSnapshot 100.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:391: PreserveWithMemoryAndSnapshot 100.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:402: promoteWithMemoryAndSnapshotAction 80.6% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:466: validatePromoteMemory 80.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:476: promoteWithMemoryTx 70.8% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:519: logPromoteAudit 100.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:538: normalizeCandidateReviewActor 50.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:546: validateCandidateReviewSnapshotBinding 87.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:640: candidateReviewPayloadMatchesAuthoritative 75.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:681: logCandidateReviewAuditTx 100.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:721: createCandidateReviewSnapshotTx 100.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:738: TransitionToRejected 0.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:745: TransitionToRejectedWithSnapshot 75.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:759: TransitionToSuppressedWithSnapshot 50.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:773: TransitionToSupersededWithSnapshot 50.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:783: transitionWithSnapshot 63.6% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:828: amendCandidateReviewAfterTx 0.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:886: TransitionToSuperseded 0.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:892: TransitionToDecayed 0.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:902: RevertRawTx 0.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:944: GetByFingerprintAnyStatus 0.0% +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:964: GetByFingerprint 0.0% +github.com/thebtf/engram/internal/db/gorm/citation_log_store.go:25: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/citation_log_store.go:33: NewCitationLogStore 0.0% +github.com/thebtf/engram/internal/db/gorm/citation_log_store.go:39: RecordBatch 0.0% +github.com/thebtf/engram/internal/db/gorm/citation_log_store.go:51: GetBySession 0.0% +github.com/thebtf/engram/internal/db/gorm/citation_log_store.go:71: GetByMemory 0.0% +github.com/thebtf/engram/internal/db/gorm/citation_log_store.go:91: DeleteOlderThan 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:54: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:67: NewCodeChunkStore 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:78: Upsert 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:119: DeleteByProjectFile 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:144: DeleteStaleForProject 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:172: ListByProject 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:198: CountByProject 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:220: UpdateEmbedding 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:240: ListUnembedded 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:264: StaleKey 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:281: ListIdentityKeysByProject 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:315: TouchSession 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:354: RegisterSession 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:387: DeleteBySessionMismatch 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:447: SearchCodeFTS 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:523: FindSimilarCode 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:593: CountEmbeddedByProject 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:611: MaxUpdatedAtByProject 0.0% +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:634: DeleteSession 0.0% +github.com/thebtf/engram/internal/db/gorm/credential_store.go:26: NewCredentialStore 0.0% +github.com/thebtf/engram/internal/db/gorm/credential_store.go:34: Create 0.0% +github.com/thebtf/engram/internal/db/gorm/credential_store.go:81: Get 0.0% +github.com/thebtf/engram/internal/db/gorm/credential_store.go:103: GetByName 0.0% +github.com/thebtf/engram/internal/db/gorm/credential_store.go:120: List 0.0% +github.com/thebtf/engram/internal/db/gorm/credential_store.go:141: ListAll 0.0% +github.com/thebtf/engram/internal/db/gorm/credential_store.go:169: Delete 0.0% +github.com/thebtf/engram/internal/db/gorm/credential_store.go:191: DeleteByName 0.0% +github.com/thebtf/engram/internal/db/gorm/credential_store.go:212: CountCredentials 0.0% +github.com/thebtf/engram/internal/db/gorm/credential_store.go:229: CountWithDifferentFingerprint 0.0% +github.com/thebtf/engram/internal/db/gorm/credential_store.go:247: DeleteOrphanedByFingerprint 0.0% +github.com/thebtf/engram/internal/db/gorm/credential_store.go:262: credentialRowToModel 0.0% +github.com/thebtf/engram/internal/db/gorm/document_store.go:29: NewDocumentStore 0.0% +github.com/thebtf/engram/internal/db/gorm/document_store.go:37: UpsertDocument 0.0% +github.com/thebtf/engram/internal/db/gorm/document_store.go:72: GetDocument 0.0% +github.com/thebtf/engram/internal/db/gorm/document_store.go:87: GetContent 0.0% +github.com/thebtf/engram/internal/db/gorm/document_store.go:100: ListDocuments 0.0% +github.com/thebtf/engram/internal/db/gorm/document_store.go:116: UpsertChunks 0.0% +github.com/thebtf/engram/internal/db/gorm/document_store.go:123: SearchChunks 0.0% +github.com/thebtf/engram/internal/db/gorm/document_store.go:129: ChunksExist 0.0% +github.com/thebtf/engram/internal/db/gorm/document_store.go:134: DeactivateDocument 0.0% +github.com/thebtf/engram/internal/db/gorm/document_store.go:147: CollectionDocCounts 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:123: NewDomainOwnerStore 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:129: Upsert 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:157: UpdateIfUnchanged 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:188: Get 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:202: List 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:240: Delete 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:257: RegisterUserFromInvitation 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:318: ListAccessRoles 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:348: ListAccessInvitations 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:353: ListAccessSessions 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:358: ListAccessAudit 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:363: GetAccessUserDrilldown 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:400: LogAccessEvent 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:404: logAccessEventTx 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:436: normalizeDomainOwner 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:461: normalizeDomainOwnerListOptions 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:484: validDomainOwnerPrincipalKind 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:493: validDomainOwnerMode 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:519: listAccessInvitations 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:591: listAccessSessions 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:644: queryAccessAudit 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:678: marshalAuditState 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:690: decodeAuditJSON 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:701: invitationStatusFromFields 0.0% +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:714: sessionStatusFromFields 0.0% +github.com/thebtf/engram/internal/db/gorm/helpers.go:22: EnsureSessionExists 0.0% +github.com/thebtf/engram/internal/db/gorm/helpers.go:48: sqlNullString 0.0% +github.com/thebtf/engram/internal/db/gorm/helpers.go:62: ParseLimitParam 0.0% +github.com/thebtf/engram/internal/db/gorm/helpers.go:74: ParseLimitParamWithMax 0.0% +github.com/thebtf/engram/internal/db/gorm/helpers.go:87: ParseOffsetParam 0.0% +github.com/thebtf/engram/internal/db/gorm/helpers.go:105: ParsePaginationParams 0.0% +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:20: NewInjectionLogStore 0.0% +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:26: Record 0.0% +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:55: GetBySession 0.0% +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:93: DeleteOlderThan 0.0% +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:28: NewInvitationStore 0.0% +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:33: GenerateCode 0.0% +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:42: CreateInvitation 0.0% +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:75: GetInvitationByID 0.0% +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:87: GetValidInvitation 0.0% +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:101: ConsumeInvitation 0.0% +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:126: RevokeInvitation 0.0% +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:162: ListInvitations 0.0% +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:170: validateInvitationRow 0.0% +github.com/thebtf/engram/internal/db/gorm/issue_store.go:18: projectBareName 0.0% +github.com/thebtf/engram/internal/db/gorm/issue_store.go:33: NewIssueStore 0.0% +github.com/thebtf/engram/internal/db/gorm/issue_store.go:39: ResolveProject 0.0% +github.com/thebtf/engram/internal/db/gorm/issue_store.go:53: CreateIssue 0.0% +github.com/thebtf/engram/internal/db/gorm/issue_store.go:111: ListIssues 0.0% +github.com/thebtf/engram/internal/db/gorm/issue_store.go:121: ListIssuesEx 0.0% +github.com/thebtf/engram/internal/db/gorm/issue_store.go:172: GetIssue 0.0% +github.com/thebtf/engram/internal/db/gorm/issue_store.go:193: UpdateIssueStatus 0.0% +github.com/thebtf/engram/internal/db/gorm/issue_store.go:222: AddComment 0.0% +github.com/thebtf/engram/internal/db/gorm/issue_store.go:254: AcknowledgeIssues 0.0% +github.com/thebtf/engram/internal/db/gorm/issue_store.go:278: ReopenIssue 0.0% +github.com/thebtf/engram/internal/db/gorm/issue_store.go:321: CloseIssue 0.0% +github.com/thebtf/engram/internal/db/gorm/issue_store.go:333: CloseIssueFromAnySource 0.0% +github.com/thebtf/engram/internal/db/gorm/issue_store.go:426: formatCloseCallerProjects 0.0% +github.com/thebtf/engram/internal/db/gorm/issue_store.go:443: RejectIssue 0.0% +github.com/thebtf/engram/internal/db/gorm/issue_store.go:471: DeleteIssue 0.0% +github.com/thebtf/engram/internal/db/gorm/issue_store.go:489: UpdateIssueFields 0.0% +github.com/thebtf/engram/internal/db/gorm/issue_store.go:528: GetTrackedProjects 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:34: NewMemoryStore 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:91: normalizeMetaMemoryLimit 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:101: normalizeMetaMemoryProbeLimit 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:112: normalizeMetaMemoryFTSScanBudget 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:116: sanitizeMetaText 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:132: sanitizeMetaTags 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:144: cloneMetaTags 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:153: metaMemoryTitleFromLine 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:161: metaMemoryRowsToRecords 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:175: metaMemoryMatchesOptions 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:209: validateMemoryForCreate 55.6% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:225: validateMemoryOwnershipForCreate 50.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:249: isValidMemoryOwnerPrincipalKind 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:258: memoryRowForCreate 70.6% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:309: copyPrivacyFields 40.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:327: copyPrincipalMemoryFields 30.8% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:351: advisoryLockKey 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:361: tagContainmentJSON 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:376: Create 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:406: CreateWithLifecycle 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:434: createMemoryWithLifecycleTx 85.7% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:450: CreateWithLifecycleIfTagAbsent 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:509: Get 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:530: List 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:606: ListWithFilters 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:628: ListPrincipalMemory 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:649: baseMemoryListQuery 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:653: basePrincipalMemoryQuery 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:661: applyCurrentMemoryValidity 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:667: findMemoryRows 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:685: applyMemoryListOptions 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:730: normalizeMemoryListLimit 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:744: normalizeMemoryListOffset 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:751: escapeSQLLike 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:767: ListWithOffset 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:812: ListForInjection 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:847: Update 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:887: Delete 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:913: Supersede 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:950: MarkSuperseded 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:978: UpdateLifecycleFields 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:999: IncrementInjectionCount 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1007: BatchIncrementCited 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1022: BatchIncrementInjected 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1034: BatchIncrementUncited 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1044: GetProjectCitationRate 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1082: BatchIncrementCitedN 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1098: BatchIncrementUncitedN 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1106: BatchIncrementViolated 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1114: memoryRowToModel 50.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1174: ListBySourceAgentAndTag 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1208: SearchMetaMemoryTagPrefixIDs 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1236: SearchMetaMemoryFTSIDs 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1291: GetMetaMemoryByIDs 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1332: QueryMetaIndex 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1406: appendUniqueMetaIDs 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1418: metaIDSet 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1426: metaIndexScores 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1437: metaIndexRRF 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1481: metaIndexReason 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1502: tokenizeFTSTerms 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1541: hasNegationTerm 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1557: SearchFTS 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1581: normalizeSearchFTSLimit 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1591: searchFTSQueryVariants 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1603: searchFTSPage 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1650: GetByIDs 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1686: CountActiveSince 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1700: MaxActiveID 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1716: LockRawByIDsTx 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1757: rawMemoryRestoreUpdates 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1812: RestoreRaw 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1836: RestoreRawTx 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1862: HardDeleteTx 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1878: GetDB 0.0% +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1883: ListAllActive 0.0% +github.com/thebtf/engram/internal/db/gorm/migration_access_milestone.go:14: accessMilestoneMigration156 71.4% +github.com/thebtf/engram/internal/db/gorm/migration_api_token_principals.go:10: apiTokenPrincipalsMigration148 45.5% +github.com/thebtf/engram/internal/db/gorm/migration_behavioral_rules_enabled.go:10: behavioralRulesEnabledMigration151 60.0% +github.com/thebtf/engram/internal/db/gorm/migration_books.go:16: booksJobsMigration155 71.4% +github.com/thebtf/engram/internal/db/gorm/migration_memory_domain_owners.go:10: memoryDomainOwnersMigration150 71.4% +github.com/thebtf/engram/internal/db/gorm/migration_memory_principals.go:10: memoryPrincipalsMigration149 45.5% +github.com/thebtf/engram/internal/db/gorm/migration_rule_arbiter.go:11: ruleArbiterBackgroundMigration145 45.5% +github.com/thebtf/engram/internal/db/gorm/migration_rule_governance.go:11: ruleGovernanceMigration144 45.5% +github.com/thebtf/engram/internal/db/gorm/migration_rule_governance_snapshot_statuses.go:10: ruleGovernanceSnapshotStatusesMigration147 45.5% +github.com/thebtf/engram/internal/db/gorm/migration_state.go:32: GetMigrationState 0.0% +github.com/thebtf/engram/internal/db/gorm/migration_state.go:62: sortAppliedMigrationIDs 0.0% +github.com/thebtf/engram/internal/db/gorm/migration_state.go:78: migrationSequence 0.0% +github.com/thebtf/engram/internal/db/gorm/migration_temporal_truth.go:13: temporalTruthRecordsMigration157 71.4% +github.com/thebtf/engram/internal/db/gorm/migrations.go:16: runMigrations 48.8% +github.com/thebtf/engram/internal/db/gorm/migrations.go:4799: candidateReviewSnapshotOpTypeMigration153 29.4% +github.com/thebtf/engram/internal/db/gorm/migrations.go:4845: forgettingReviewSnapshotOpTypeMigration154 29.4% +github.com/thebtf/engram/internal/db/gorm/migrations.go:4891: attentionEventsMigration158 55.6% +github.com/thebtf/engram/internal/db/gorm/models.go:44: TableName 100.0% +github.com/thebtf/engram/internal/db/gorm/models.go:47: BeforeCreate 0.0% +github.com/thebtf/engram/internal/db/gorm/models.go:75: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/models.go:92: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/models.go:109: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/models.go:122: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/models.go:140: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/models.go:160: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/models.go:188: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/models.go:200: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/models.go:220: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/models.go:249: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/models.go:304: TableName 100.0% +github.com/thebtf/engram/internal/db/gorm/models.go:317: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/models.go:334: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/project_store.go:23: UpsertProject 0.0% +github.com/thebtf/engram/internal/db/gorm/project_store.go:55: ResolveProjectID 0.0% +github.com/thebtf/engram/internal/db/gorm/promotion_store.go:21: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/promotion_store.go:29: NewPromotionStore 0.0% +github.com/thebtf/engram/internal/db/gorm/promotion_store.go:34: LogPromotion 0.0% +github.com/thebtf/engram/internal/db/gorm/promotion_store.go:48: GetHistory 0.0% +github.com/thebtf/engram/internal/db/gorm/purge_store.go:34: NewPurgeStore 0.0% +github.com/thebtf/engram/internal/db/gorm/purge_store.go:80: PurgeProject 0.0% +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:23: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:41: NewRetrievalStatsLogStore 0.0% +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:52: LogEvent 0.0% +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:70: flusher 0.0% +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:102: flush 0.0% +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:109: Close 0.0% +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:130: GetStats 0.0% +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:174: Cleanup 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:139: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:157: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:174: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:176: nullableString 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:180: stringFromNull 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:187: validRuleConfidence 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:199: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:230: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:247: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:262: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:268: NewRuleGovernanceStore 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:272: CreateRuleCandidate 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:304: GetRuleCandidate 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:312: GetRuleCandidateByFingerprint 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:333: ListRuleCandidates 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:356: ListRenderableRuleVersions 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:386: ListLegacyBehavioralRuleFallback 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:412: ListPendingRuleCandidatesForArbiter 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:478: StartRuleArbiterRun 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:493: FinishRuleArbiterRun 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:543: CreateRuleArbiterEvaluation 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:590: AnnotateRuleCandidate 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:646: CreateDraftFromCandidate 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:733: RejectRuleCandidate 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:768: TransitionRuleVersion 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:825: CreateRuleSnapshot 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:841: GetLifecycleHealth 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:883: ListExceptionQueueGroups 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1072: ListRuleGovernanceSnapshots 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1095: PinRuleGovernanceSnapshot 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1125: RollbackRuleGovernanceSnapshot 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1202: fromRuleCandidate 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1232: toRuleCandidate 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1267: toRuleArbiterRun 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1287: fromRuleArbiterEvaluation 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1306: toRuleArbiterEvaluation 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1323: toRuleVersion 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1354: toRuleGovernanceSnapshot 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1372: toRuleGovernanceSnapshotSummary 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1384: projectFromRuleVersionRow 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1394: projectFromSnapshotRow 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1414: countCandidateStatuses 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1443: countVersionStates 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1459: countArbiterRunStatuses 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1475: countTransitionActions 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1495: countSnapshotStatuses 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1513: countInjectionEventTypes 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1531: applyRuleSince 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1538: healthCountTotal 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1571: ruleGovernanceSnapshotStateForRuleVersion 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1586: decodeRuleGovernanceSnapshotState 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1616: decodeRuleGovernanceSnapshotStatePtr 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1623: getRuleVersionByCandidateTx 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1635: ensureRuleFamilyTx 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1650: createRuleTransitionLogTx 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1670: createRuleSnapshotTx 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1675: createRuleSnapshotRowTx 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1698: validateCandidateToDraftRequest 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1708: hasNonBlankEvidenceHandle 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1717: hasNegativeRuleArbiterCount 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1727: validateRuleCandidateForCreate 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1749: objectJSONFromMap 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1760: arrayJSONFromStrings 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1771: objectJSON 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1775: objectOrArrayJSON 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1782: nullableObjectJSON 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1790: decodeObject 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1801: decodeStrings 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1812: isUniqueViolation 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:28: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:55: NewRuleInjectionEventStore 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:59: RecordEvents 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:80: ListBySession 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:106: AggregateByProjectRuleAndEventType 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:160: telemetryQuery 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:171: telemetryReasons 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:183: fromRuleInjectionEvent 0.0% +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:213: toRuleInjectionEvent 0.0% +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:24: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:32: NewSearchQueryLogStore 0.0% +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:38: LogQuery 0.0% +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:69: GetAnalytics 0.0% +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:136: GetRecent 0.0% +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:169: Cleanup 0.0% +github.com/thebtf/engram/internal/db/gorm/segment_store.go:22: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/segment_store.go:30: NewSegmentStore 0.0% +github.com/thebtf/engram/internal/db/gorm/segment_store.go:35: GetCurrentSegment 0.0% +github.com/thebtf/engram/internal/db/gorm/segment_store.go:51: CreateSegment 0.0% +github.com/thebtf/engram/internal/db/gorm/segment_store.go:90: GetSegments 0.0% +github.com/thebtf/engram/internal/db/gorm/segment_store.go:100: CloseAllSegments 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:31: NewSessionStore 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:41: CreateSDKSession 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:99: GetSessionByID 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:112: FindAnySDKSession 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:127: ResolveClaudeSessionID 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:142: IncrementPromptCounter 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:176: GetPromptCounter 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:188: GetSessionsToday 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:204: GetAllProjects 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:220: ListSDKSessions 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:257: UpdateSessionOutcome 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:354: GetOutcome 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:378: resolveSessionForOutcome 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:403: UpdateUtilityPropagatedAt 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:421: UpdateUtilityPropagatedAtIfStale 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:436: ClearUtilityPropagatedAt 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:451: GetStrategyStats 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:488: GetLearningCurve 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:534: UpdateInjectionStrategy 0.0% +github.com/thebtf/engram/internal/db/gorm/session_store.go:543: toModelSDKSession 0.0% +github.com/thebtf/engram/internal/db/gorm/settings_store.go:32: NewSettingsStore 0.0% +github.com/thebtf/engram/internal/db/gorm/settings_store.go:40: Set 0.0% +github.com/thebtf/engram/internal/db/gorm/settings_store.go:123: Get 0.0% +github.com/thebtf/engram/internal/db/gorm/settings_store.go:140: List 0.0% +github.com/thebtf/engram/internal/db/gorm/settings_store.go:159: Delete 0.0% +github.com/thebtf/engram/internal/db/gorm/settings_store.go:185: modelSettingRowToModel 0.0% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:34: TableName 100.0% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:39: Value 88.9% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:55: Scan 33.3% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:74: parsePostgresArray 86.4% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:109: toDomainSnapshot 70.0% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:139: fromDomainSnapshot 70.0% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:173: NewSnapshotStore 100.0% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:180: Create 0.0% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:184: createTx 66.7% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:201: Get 0.0% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:212: GetForUpdateTx 0.0% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:228: GetByID 0.0% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:238: List 0.0% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:261: MarkRolledBack 0.0% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:268: MarkRolledBackTx 0.0% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:289: Pin 0.0% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:310: AmendPromoteEntries 0.0% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:320: amendPromoteEntriesTx 73.5% +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:391: DeleteOlderThan 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:23: Value 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:30: Scan 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:59: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:72: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:83: NewStateStore 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:88: WriteSessionState 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:137: ReadSessionState 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:156: WriteProjectState 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:200: ReadProjectState 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:211: readProjectStateRow 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:222: projectStateFromRow 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:232: ReadResumePacket 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:323: normalizeStateStoreResumePacketRequest 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:333: canonicalizeStateStoreResumeScopes 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:367: validateStateStoreResumePacketRequest 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:403: hasStateStoreResumeScope 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:412: sessionStateFromRow 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:432: resumePacketID 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:456: stateVersionFromTime 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:463: stateEvidenceRefsFromSlots 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:483: stateEvidenceRefsFromProjectRow 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:487: appendUniqueStateEvidenceRefs 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:503: stateActionFromProjectRow 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:525: stateVerificationFromProjectRow 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:533: parseStateStringSlice 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:554: cleanStateStrings 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:566: requireDB 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:573: stateActionFromSlots 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:581: stateVerificationFromSlots 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:589: parseStateAction 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:628: parseStateVerification 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:667: mapString 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:678: inferActionKind 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:685: inferVerificationKind 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:692: validActionKind 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:701: validVerificationKind 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:710: marshalJSONObject 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:724: validateSessionStateBudget 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:728: unmarshalJSONObject 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:764: LogResumeReadAudit 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:786: resumeReadAuditStateFrom 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:812: firstNonEmpty 0.0% +github.com/thebtf/engram/internal/db/gorm/state_store.go:821: logAuditAsync 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:44: NewStore 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:84: openGORM 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:97: resolveMaxConns 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:109: configurePool 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:123: WarmPool 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:151: Close 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:156: Ping 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:164: GetRawDB 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:169: GetDB 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:175: Stats 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:184: Optimize 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:199: HealthCheck 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:222: HealthCheckForce 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:238: performHealthCheck 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:274: poolStatsFromDBStats 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:289: applyHealthThresholds 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:372: NewPoolMetrics 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:384: RecordLatency 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:398: RecordPoolStats 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:414: GetMetricsSummary 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:442: computeLatencyStats 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:461: computeP95 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:485: GetMetrics 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:495: ResetMetrics 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:504: WithTimeout 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:526: ExecWithTimeout 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:543: QueryRowWithTimeout 0.0% +github.com/thebtf/engram/internal/db/gorm/store.go:555: TransactionWithTimeout 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:21: mustParseTemporalTruthSentinel 75.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:44: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:81: NewTemporalTruthStore 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:87: LoadStoredRecords 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:97: LoadSelectedRecords 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:105: loadStoredRecordRows 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:134: RefreshProject 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:164: requireDB 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:171: loadProjectMemories 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:183: buildTemporalTruthRows 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:238: collapseTemporalTruthChainByValidFrom 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:261: temporalTruthRootID 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:281: temporalTruthMemoryValidFrom 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:294: temporalTruthRowFromMemory 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:310: temporalTruthMemoryValidUntil 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:327: temporalTruthHasExplicitValidUntil 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:331: temporalTruthInvalidatedAt 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:342: temporalTruthInvalidationRationale 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:352: isTemporalTruthOpenEnded 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:356: temporalTruthReadValidUntil 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:364: temporalTruthReadInvalidatedAt 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:372: temporalTruthRowsToStoredRecords 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:390: temporalTruthStoredRecordsToRecords 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:408: temporalTruthProvenanceFromSourceMemoryIDs 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:424: deriveTemporalTruthFactClass 0.0% +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:430: temporalTruthFactClassKey 100.0% +github.com/thebtf/engram/internal/db/gorm/token_store.go:19: NewTokenStore 0.0% +github.com/thebtf/engram/internal/db/gorm/token_store.go:24: Create 0.0% +github.com/thebtf/engram/internal/db/gorm/token_store.go:30: CreateWithPrincipal 0.0% +github.com/thebtf/engram/internal/db/gorm/token_store.go:58: List 0.0% +github.com/thebtf/engram/internal/db/gorm/token_store.go:70: FindByPrefix 0.0% +github.com/thebtf/engram/internal/db/gorm/token_store.go:82: Revoke 0.0% +github.com/thebtf/engram/internal/db/gorm/token_store.go:98: IncrementStats 0.0% +github.com/thebtf/engram/internal/db/gorm/token_store.go:109: IncrementErrorCount 0.0% +github.com/thebtf/engram/internal/db/gorm/token_store.go:117: GetByID 0.0% +github.com/thebtf/engram/internal/db/gorm/token_store.go:132: BatchIncrementStats 0.0% +github.com/thebtf/engram/internal/db/gorm/transcript_store.go:25: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/transcript_store.go:33: NewTranscriptStore 0.0% +github.com/thebtf/engram/internal/db/gorm/transcript_store.go:43: Create 0.0% +github.com/thebtf/engram/internal/db/gorm/transcript_store.go:57: ListUnprocessedSince 0.0% +github.com/thebtf/engram/internal/db/gorm/transcript_store.go:71: MarkProcessed 0.0% +github.com/thebtf/engram/internal/db/gorm/transcript_store.go:87: PruneProcessed 0.0% +github.com/thebtf/engram/internal/db/gorm/transcript_store.go:100: PruneUnprocessedOlderThan 0.0% +github.com/thebtf/engram/internal/db/gorm/user_store.go:17: NewUserStore 0.0% +github.com/thebtf/engram/internal/db/gorm/user_store.go:22: CreateUser 0.0% +github.com/thebtf/engram/internal/db/gorm/user_store.go:36: GetUserByEmail 0.0% +github.com/thebtf/engram/internal/db/gorm/user_store.go:45: GetUserByID 0.0% +github.com/thebtf/engram/internal/db/gorm/user_store.go:54: ListUsers 0.0% +github.com/thebtf/engram/internal/db/gorm/user_store.go:63: UpdateUser 0.0% +github.com/thebtf/engram/internal/db/gorm/user_store.go:75: CountUsers 0.0% +github.com/thebtf/engram/internal/db/gorm/user_store.go:84: CountAdmins 0.0% +github.com/thebtf/engram/internal/db/gorm/user_store.go:95: UpdateUserWithLastAdminGuard 0.0% +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:33: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:48: TableName 0.0% +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:57: NewVersionedDocumentStore 0.0% +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:62: versionedDocHashContent 0.0% +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:70: Create 0.0% +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:129: ReadLatest 0.0% +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:144: ReadVersion 0.0% +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:159: List 0.0% +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:179: DeleteBySourceBookJobID 0.0% +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:195: versionedDocBuildListFilters 0.0% +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:217: GetHistory 0.0% +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:236: AddComment 0.0% +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:257: GetComments 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33: effectiveAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44: isAuditEnabled 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52: runAuditAsync 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77: marshalState 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92: logAuditCreate 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117: logAuditEdit 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142: logAuditDelete 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166: logAuditGeneric 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189: logAuditSupersede 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:30: parseArgs 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:46: coerceString 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:67: coerceInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:97: coerceInt64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:127: coerceFloat64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:151: coerceBool 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:177: coerceStringSlice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:204: coerceInt64Slice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:222: clampToInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:236: clampInt64ToInt 0.0% +github.com/thebtf/engram/internal/mcp/context.go:17: extractProjectFromHeader 0.0% +github.com/thebtf/engram/internal/mcp/context.go:22: contextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:29: ContextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:35: projectFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:41: contextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:48: ContextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:54: sessionFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:61: actorFromContext 0.0% +github.com/thebtf/engram/internal/mcp/health.go:22: NewMCPHealth 0.0% +github.com/thebtf/engram/internal/mcp/health.go:29: RecordRequest 0.0% +github.com/thebtf/engram/internal/mcp/health.go:36: RecordError 0.0% +github.com/thebtf/engram/internal/mcp/health.go:42: rotateWindowIfNeeded 0.0% +github.com/thebtf/engram/internal/mcp/health.go:55: HandleHealth 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28: ruleGovernanceCaptureEnabled 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39: captureActiveRuleIntent 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104: ruleIntentFingerprint 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113: marshalRuleCandidateIntentResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:127: NewServer 100.0% +github.com/thebtf/engram/internal/mcp/server.go:141: SetBackfillStatusFunc 0.0% +github.com/thebtf/engram/internal/mcp/server.go:146: SetVersionedDocumentStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:151: SetIssueStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:156: SetMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:161: SetMetaMemoryIndex 0.0% +github.com/thebtf/engram/internal/mcp/server.go:166: SetHintQueue 0.0% +github.com/thebtf/engram/internal/mcp/server.go:171: SetStateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:176: SetDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/server.go:181: SetBehavioralRulesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:186: SetRuleGovernanceStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:191: SetRuleInjectionTelemetryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:195: SetPromotionStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:199: SetGraphStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:204: SetNodesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:211: SetAuditStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:216: SetPurgeStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:222: SetCandidateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:228: SetSnapshotStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:234: SetBulkFacade 0.0% +github.com/thebtf/engram/internal/mcp/server.go:240: setTestAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/server.go:246: setTestMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/server.go:252: setTestMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/server.go:260: SetWriteLintOrchestrator 0.0% +github.com/thebtf/engram/internal/mcp/server.go:269: SetRedactionRules 0.0% +github.com/thebtf/engram/internal/mcp/server.go:274: SetEmbeddingStores 0.0% +github.com/thebtf/engram/internal/mcp/server.go:282: SetRerankClient 0.0% +github.com/thebtf/engram/internal/mcp/server.go:290: SetStatsDB 0.0% +github.com/thebtf/engram/internal/mcp/server.go:297: HandleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:303: ListTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:332: Version 0.0% +github.com/thebtf/engram/internal/mcp/server.go:383: Run 0.0% +github.com/thebtf/engram/internal/mcp/server.go:427: handleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:461: handleNotification 0.0% +github.com/thebtf/engram/internal/mcp/server.go:473: handleInitialize 0.0% +github.com/thebtf/engram/internal/mcp/server.go:496: buildInstructions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:660: storeMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:712: recallMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:805: primaryTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:942: handleToolsList 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1612: handleToolsCall 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1644: sanitizeToolCallArgs 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1656: callTool 5.2% +github.com/thebtf/engram/internal/mcp/server.go:1874: sendResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1884: sendError 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1896: handleFindSimilarObservations 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1927: handleGetMemoryStats 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2055: handleBackfillStatus 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2071: handleCheckSystemHealth 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2216: handleAnalyzeSearchPatterns 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2246: handleSearchSessions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2251: handleListSessions 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:18: buildAdminTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:68: adminActionsForEnv 33.3% +github.com/thebtf/engram/internal/mcp/tools_admin.go:80: vnextEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:84: handleAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:120: handlePurgeProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27: ambientHintsEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32: ambientHintsTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48: handleGetAmbientHints 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86: normalizeAmbientHintsToolLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96: ambientHintItems 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114: errMissingSessionID 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:31: handleGetMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:107: memoryBriefUsesPrincipalScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:115: handlePrincipalMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:259: truncateBriefContent 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:270: filterInjectionByScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:29: parseBulkStructuredArgs 100.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:69: bulkOpsTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:139: handleBulkPromote 80.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:196: handleBulkDelete 80.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:251: handleBulkSupersede 80.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31: candidateItemFromDomain 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51: newCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59: requireCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68: candidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165: handleListCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208: handleGetCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239: handlePromoteCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348: handleRejectCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402: handleSupersedeCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34: codeIntelEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42: SetCodeChunkStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48: codebaseSearchTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79: codebaseStatusTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100: handleCodebaseSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194: handleCodebaseStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:21: getVault 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:35: credentialStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:49: handleStoreCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:130: handleGetCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:192: handleListCredentials 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:243: handleDeleteCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:302: handleVaultStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:338: expandTagHierarchy 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:16: directivesCaptureEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:20: rememberDirectiveTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:38: currentDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:48: handleRememberDirective 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:72: parseRememberDirectiveArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10: handleDocsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:15: handleListCollections 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:61: handleListDocuments 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:121: handleGetDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:165: handleRemoveDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:197: handleIngestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:235: handleSearchCollection 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15: handleDocCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61: handleDocRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117: handleDocUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122: handleDocList 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175: handleDocHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232: handleDocComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19: SetExperienceProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23: experienceHistoryTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40: experienceHistoryReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65: experienceHistoryDetailSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82: experienceHistoryTriggerEnum 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91: handleExperienceHistoryRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103: handleExperienceHistoryDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115: parseExperienceHistoryReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142: parseExperienceHistoryDetailArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157: experienceHistoryTriggersFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180: marshalExperienceHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12: handleFeedbackConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36: handleSetSessionOutcome 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:27: governanceTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:98: handleListSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:167: handleRollbackSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:215: handlePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:258: handleRedactionRulesStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:284: resolveGovernanceActor 60.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:64: handleGraph 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:100: graphAddEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:216: mcpGraphEndpointExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:243: mcpGraphEdgeAlreadyExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:276: graphAddNode 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:317: graphRemoveEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:332: graphGetEdges 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:397: filterEdgesByNodeType 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:457: graphTraverse 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:480: graphFindPath 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:502: graphSynonyms 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23: graphCreateEdgeWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80: graphEndpointExistsWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114: graphDuplicateEdgeExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25: handleIngest 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43: ingestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20: handleImportInstincts 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:19: issuesToolSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:109: validateIssueActionParams 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:143: handleIssues 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:189: resolveSourceProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:205: handleIssueCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:250: handleIssueList 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:311: handleIssueGet 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:344: handleIssueUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:382: handleIssueComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:408: handleIssueReopen 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:425: handleIssueClose 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22: handleLifecycle 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48: lifecycleInfo 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87: lifecyclePromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118: lifecycleDemote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149: lifecycleSetConfidence 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172: lifecycleSetDefeasibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191: lifecycleSleepStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197: lifecycleDecayPreview 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233: marshalJSON 75.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:35: vnextFEnabled 100.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:42: isValidPrivacyScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:54: derivePrivacyScopeFromLegacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:82: deriveLegacyScopeFromPrivacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:93: applyPrincipalMemoryMetadata 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:135: addPrincipalMemoryFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:161: newScopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:172: writeLintVisibilityCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:186: writeLintVisibilityOptions 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:192: scopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:202: filterVisibleWriteGateCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:214: domainManageAllowed 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:218: List 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:272: writeLintVisibilityFetchLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:286: Get 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:297: Create 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:301: Update 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:305: MarkSuperseded 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:319: effectiveMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:329: isValidStoreObservationType 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:354: handleStoreMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111: handleEditMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218: computeTTLDays 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258: truncateTitle 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270: keepRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280: keepRecallMemoryFilters 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342: handleRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690: staleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700: marshalWithStaleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727: Rank 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1751: handleRecallMemoryHybrid 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252: handleRateMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281: handleSuppressMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17: SetDomainRegistryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21: checkDomainWriteMCP 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43: addDomainWriteDecisionFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51: marshalStoreMemoryAugmented 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26: newMemoryStoreSignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33: s6OutcomeEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37: effectiveMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47: currentMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58: rateMemorySignificanceTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74: handleRateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109: RateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18: s2MetaMemoryEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22: knowAboutTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39: handleKnowAbout 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104: parseKnowAboutLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118: summarizeMetaIndexTags 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153: summarizeMetaIndexDateRange 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23: SetPrincipalMemoryQueryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27: principalMemoryQueryTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52: handleQueryPrincipalMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134: principalMemoryQueryCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149: parsePrincipalMemoryQueryLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160: principalMemoryQueryText 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167: parsePrincipalMemoryQueryVisibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179: parsePrincipalMemoryQueryOffset 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190: parsePrincipalMemoryQueryInt 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215: parsePrincipalMemoryQueryBool 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:28: handleRecall 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:125: parseRecallIncludedPrincipals 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:165: appendRecallIncludedPrincipalMemories 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:223: recallIncludeTargetMatchesCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:231: recallPrincipalQueryItemToMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:247: handleRecallSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20: currentReviewLoopCandidateLister 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30: reviewLoopCandidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65: reviewLoopReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78: reviewPacketIDSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91: handleReviewMetricsRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110: handleReviewQueueRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140: handleReviewPacketDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151: handleReviewPacketPreviewAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167: handleReviewPacketApplyAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189: parseReviewLoopReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212: reviewLoopMCPPacketTypeSupported 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217: reviewLoopActionFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225: reviewLoopReasonFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233: loadReviewPacketCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256: applyReviewPacketPreserve 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278: applyReviewPacketSuppress 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296: reviewLoopMemoryFromCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320: filterRiskyMCPReviewCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330: marshalReviewLoop 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17: ruleGovernanceReadTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126: handleRuleGovernanceHealth 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176: handleRuleGovernanceQueue 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233: handleRuleGovernanceSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278: handleRuleGovernanceUsefulness 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338: handleRuleGovernanceTransition 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373: handleRuleGovernancePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406: handleRuleGovernanceRollback 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483: requireRuleGovernanceReadAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495: requireRuleGovernanceProjectOrAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505: ruleGovernanceCallerIsAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510: requireRuleGovernanceAdminAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518: redactRuleGovernanceEvidenceHandles 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535: redactRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553: ruleGovernanceEvidenceHandleHasSensitiveText 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559: isCanonicalRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580: isSafeRuleGovernanceEvidenceID 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594: parseRuleGovernanceTransitionRequest 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604: parseRuleGovernanceSince 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623: boundedRuleGovernanceLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634: formatRuleGovernanceTime 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641: formatRuleGovernanceTimePtr 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649: stringRuleCandidateStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657: stringRuleVersionStateCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665: stringRuleArbiterRunStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673: stringRuleInjectionEventTypeCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:17: handleStoreRule 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:133: handleListRules 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:22: handleSettingsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:51: SetSettingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:57: settingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:67: isSecretSettingKey 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:74: requireAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:85: handleSetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:145: handleGetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:181: handleListSettings 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:216: handleDeleteSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:35: resumeScopesFromFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:52: stateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:82: setStateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:142: handleGetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:219: handleSetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:274: decodeSessionStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:292: validateSessionStateBudget 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:303: validateNativeResumePacket 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:349: decodeProjectStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:364: requireStateObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:383: requireNestedObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10: handleStoreConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21: SetTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25: temporalTruthEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30: temporalTruthTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39: temporalTruthRefreshTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48: temporalTruthRefreshSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58: temporalTruthSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72: currentTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82: handleTemporalTruth 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102: handleTemporalTruthRefresh 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122: parseTemporalTruthArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151: parseTemporalTruthRefreshProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10: handleVaultConsolidated 0.0% +total: (statements) 9.0% +test_exit=0 +active_sessions_before_terminate=0 +database_residue=0 +activity_residue=0 +finished_utc=2026-07-10T09:07:15.2380703Z diff --git a/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/26-review-full-gorm.log b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/26-review-full-gorm.log new file mode 100644 index 00000000..0e02522f --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/26-review-full-gorm.log @@ -0,0 +1,356 @@ +base_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +head_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +database=engram_mkr_bedge_review_full_gorm_20260710a +command=go test -p=1 ./internal/db/gorm -count=1 +started_utc=2026-07-10T09:07:29.3624972Z +{"level":"warn","error":"ERROR: relation \"observation_vectors\" does not exist (SQLSTATE 42P01)","time":"2026-07-10T12:07:32+03:00","message":"migration 040: orphan vector cleanup failed (non-fatal)"} +{"level":"info","garbage_deleted":0,"orphan_vectors_deleted":0,"time":"2026-07-10T12:07:32+03:00","message":"migration 040: garbage cleanup complete"} +{"level":"info","orphan_vectors_deleted":0,"time":"2026-07-10T12:07:32+03:00","message":"migration 041: orphan vector purge complete"} +{"level":"info","patterns_deleted":0,"time":"2026-07-10T12:07:32+03:00","message":"migration 042: low-quality pattern purge complete"} +{"level":"info","total_deleted":0,"time":"2026-07-10T12:07:32+03:00","message":"migration 043: radical observation cleanup complete"} +{"level":"warn","error":"ERROR: extension \"vectorscale\" is not available (SQLSTATE 0A000)","time":"2026-07-10T12:07:33+03:00","message":"migration 109: vectorscale extension not available, skipping DiskANN index"} + +2026/07/10 12:07:35 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store.go:152 ERROR: duplicate key value violates unique constraint "idx_candidates_fingerprint_pending" (SQLSTATE 23505) +[2.499ms] [rows:0] INSERT INTO "crystallization_candidates" ("created_at","updated_at","review_after","source_session_id","proposed_content","proposed_tier","proposed_epistemic_type","proposed_promotion_target","evidence_handles","privacy_scope","status","fingerprint","affected_projects","promoted_memory_id","confidence","recurrence_count") VALUES ('2026-07-10 12:07:35.834','2026-07-10 12:07:35.834','2026-07-17 09:07:35.834','session-fp-1783674455826591600','idempotent content','episodic','observation','rule','[]','project','pending','d7717189018819e9','{}',NULL,0.5,1) RETURNING "id" + +2026/07/10 12:07:36 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/snapshot_store.go:379 ERROR: forced snapshot amend failure (SQLSTATE P0001) +[1.500ms] [rows:0] UPDATE "bulk_op_snapshots" SET "affected_memory_ids"='{3}',"before_state"='{"candidate:16":{"kind":"restore","before":{"id":16,"status":"pending","confidence":0.5,"created_at":"2026-07-10T12:07:36.5636371+03:00","updated_at":"2026-07-10T12:07:36.5636371+03:00","fingerprint":"333f441010dbc8ca","review_after":"2026-07-17T09:07:36.5626386Z","privacy_scope":"project","proposed_tier":"episodic","proposed_content":"content for snapshot amend rollback test","recurrence_count":1,"affected_projects":["test-project"],"source_session_id":"session-promote-snapshot-rollback-1783674456562638600","proposed_epistemic_type":"observation","proposed_promotion_target":"rule"}},"memory:3":{"kind":"delete"}}' WHERE snapshot_id = 'candidate-review-9b4ed382-31fd-465f-9f55-0013ed58a326' + +2026/07/10 12:07:37 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/audit_store.go:46 ERROR: forced candidate_review audit failure (SQLSTATE P0001) +[1.500ms] [rows:0] INSERT INTO "audit_log" ("memory_id","action","actor","source_session_id","before_state","after_state","reason") VALUES (NULL,'candidate_review','agent/fail','session-candidate-review-supersede-audit-rollback-1783674457042805800','{"created_at":"2026-07-10T12:07:37.043305+03:00","updated_at":"2026-07-10T12:07:37.043305+03:00","review_after":"2026-07-17T12:07:37.042805+03:00","source_session_id":"session-candidate-review-supersede-audit-rollback-1783674457042805800","proposed_content":"content for candidate review transaction test","proposed_tier":"episodic","proposed_epistemic_type":"observation","proposed_promotion_target":"rule","privacy_scope":"project","status":"pending","fingerprint":"f87a1593a81b626f","affected_projects":["test-project"],"id":20,"confidence":0.5,"recurrence_count":1}','{"created_at":"2026-07-10T12:07:37.043305+03:00","updated_at":"2026-07-10T12:07:37.063845+03:00","review_after":"2026-07-17T12:07:37.042805+03:00","source_session_id":"session-candidate-review-supersede-audit-rollback-1783674457042805800","proposed_content":"content for candidate review transaction test","proposed_tier":"episodic","proposed_epistemic_type":"observation","proposed_promotion_target":"rule","privacy_scope":"project","status":"superseded","fingerprint":"f87a1593a81b626f","affected_projects":["test-project"],"id":20,"confidence":0.5,"recurrence_count":1}','candidate 20 review action supersede') RETURNING "id","created_at" +{"level":"debug","connections":2,"time":"2026-07-10T12:07:41+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":2,"time":"2026-07-10T12:07:41+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":2,"time":"2026-07-10T12:07:41+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":2,"time":"2026-07-10T12:07:41+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":2,"time":"2026-07-10T12:07:41+03:00","message":"Connection pool warmed"} +{"level":"info","time":"2026-07-10T12:07:41+03:00","message":"Starting database optimization"} +{"level":"info","duration":201.7541,"time":"2026-07-10T12:07:42+03:00","message":"Database optimization complete"} +{"level":"debug","connections":2,"time":"2026-07-10T12:07:42+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":2,"time":"2026-07-10T12:07:42+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":2,"time":"2026-07-10T12:07:42+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":2,"time":"2026-07-10T12:07:42+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":2,"time":"2026-07-10T12:07:42+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":2,"time":"2026-07-10T12:07:42+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":2,"time":"2026-07-10T12:07:42+03:00","message":"Connection pool warmed"} + +2026/07/10 12:07:48 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:214 ERROR: new row for relation "memories" violates check constraint "memories_privacy_scope_chk" (SQLSTATE 23514) +[0.500ms] [rows:0] INSERT INTO memories (project, content, privacy_scope) VALUES ('t001-test', 'T001 invalid fixture', 'invalid_scope') + +2026/07/10 12:07:48 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:175 sql: database is closed +[0.000ms] [rows:0] DELETE FROM memories WHERE project = 't001-test' + +2026/07/10 12:07:48 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:260 sql: database is closed +[0.000ms] [rows:0] DELETE FROM memories WHERE project = 't006-backfill-test' + +2026/07/10 12:07:48 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:379 sql: database is closed +[0.000ms] [rows:0] DELETE FROM memories WHERE project = 't001b-test' + +2026/07/10 12:07:48 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:479 ERROR: new row for relation "knowledge_nodes" violates check constraint "knowledge_nodes_type_chk" (SQLSTATE 23514) +[1.000ms] [rows:0] INSERT INTO knowledge_nodes (node_type, external_ref, project) VALUES ('invalid_node_type', 'ref-invalid', 't009-test') + +2026/07/10 12:07:48 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:490 ERROR: duplicate key value violates unique constraint "idx_knowledge_nodes_type_ref_active" (SQLSTATE 23505) +[1.000ms] [rows:0] INSERT INTO knowledge_nodes (node_type, external_ref, project) VALUES ('skill', 'unique-test-skill', 't009-test') + +2026/07/10 12:07:48 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:444 sql: database is closed +[0.000ms] [rows:0] DELETE FROM knowledge_nodes WHERE project = 't009-test' + +2026/07/10 12:07:48 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:573 sql: database is closed +[0.000ms] [rows:0] DELETE FROM memories WHERE project = 't010-test' + +2026/07/10 12:07:48 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:574 sql: database is closed +[0.000ms] [rows:0] DELETE FROM knowledge_edges WHERE source_session_id = 't010-test' + +2026/07/10 12:07:48 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:531 sql: database is closed +[0.000ms] [rows:0] DELETE FROM knowledge_nodes WHERE project = 't010-test' + +2026/07/10 12:07:49 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:695 ERROR: new row for relation "crystallization_candidates" violates check constraint "crystallization_candidates_status_check" (SQLSTATE 23514) +[1.000ms] [rows:0] + INSERT INTO crystallization_candidates (proposed_content, status) + VALUES ('test', 'invalid_status') + + +2026/07/10 12:07:49 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:823 ERROR: new row for relation "bulk_op_snapshots" violates check constraint "bulk_op_snapshots_op_type_check" (SQLSTATE 23514) +[1.004ms] [rows:0] + INSERT INTO bulk_op_snapshots (snapshot_id, op_type, actor, before_state) + VALUES ('test-snap-invalid', 'invalid_op', 'test-actor', '{}') + + +2026/07/10 12:07:49 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:780 sql: database is closed +[0.000ms] [rows:0] DELETE FROM bulk_op_snapshots WHERE snapshot_id LIKE 'test-snap-%' + +2026/07/10 12:07:49 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:884 ERROR: new row for relation "bulk_op_snapshots" violates check constraint "bulk_op_snapshots_op_type_check" (SQLSTATE 23514) +[1.502ms] [rows:0] + INSERT INTO bulk_op_snapshots (snapshot_id, op_type, actor, before_state) + VALUES ('test-m153-candidate-review-1783674469289279000-invalid', 'invalid_op_after_blocked_rollback', 'test-actor', '{}') + + +2026/07/10 12:07:49 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:873 sql: database is closed +[0.000ms] [rows:0] DELETE FROM bulk_op_snapshots WHERE snapshot_id IN ('test-m153-candidate-review-1783674469289279000', 'test-m153-candidate-review-1783674469289279000-invalid') + +2026/07/10 12:07:49 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:921 ERROR: new row for relation "bulk_op_snapshots" violates check constraint "bulk_op_snapshots_op_type_check" (SQLSTATE 23514) +[1.500ms] [rows:0] + INSERT INTO bulk_op_snapshots (snapshot_id, op_type, actor, before_state) + VALUES ('test-m154-forgetting-review-1783674469397280200-invalid', 'invalid_op_after_blocked_forgetting_rollback', 'test-actor', '{}') + + +2026/07/10 12:07:49 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:910 sql: database is closed +[0.000ms] [rows:0] DELETE FROM bulk_op_snapshots WHERE snapshot_id IN ('test-m154-forgetting-review-1783674469397280200', 'test-m154-forgetting-review-1783674469397280200-invalid') + +2026/07/10 12:07:49 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:947 sql: database is closed +[0.000ms] [rows:0] DELETE FROM rule_governance_snapshots WHERE snapshot_id = 'test-rg-snap-1783674469509816800' + +2026/07/10 12:07:49 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:1034 ERROR: new row for relation "api_tokens" violates check constraint "api_tokens_principal_kind_chk" (SQLSTATE 23514) +[2.007ms] [rows:0] + INSERT INTO api_tokens (name, token_hash, token_prefix, scope, principal, principal_kind) + VALUES ('test-principal-1783674469633314800-invalid', 'hash-invalid', 'p148bad0', 'read-write', 'principal/bad', 'daemon') + + +2026/07/10 12:07:49 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migrations_integration_test.go:981 sql: database is closed +[0.000ms] [rows:0] DELETE FROM api_tokens WHERE name LIKE 'test-principal-1783674469633314800%' + +2026/07/10 12:07:51 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.000ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-arbiter-annotation-1783674471496051000' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 12:07:51 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.000ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-arbiter-terminal-run-1783674471636080300' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 12:07:51 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.000ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-arbiter-annotation-mismatch-1783674471766333700' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 12:07:51 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[0.500ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-arbiter-annotation-other-1783674471778333600' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 12:07:51 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:627 record not found +[1.500ms] [rows:0] SELECT * FROM "rule_arbiter_evaluations" WHERE id = 2 AND candidate_id = 3 AND run_id = 3 AND action = 'hold' ORDER BY "rule_arbiter_evaluations"."id" LIMIT 1 + +2026/07/10 12:07:51 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[1.500ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-arbiter-requeue-1783674471903409500' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 +--- FAIL: TestRuleGovernanceStore_AnnotatedCandidateWaitsUntilReviewAfter (0.16s) + rule_arbiter_store_test.go:195: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_arbiter_store_test.go:195 + Error: []int64{1} does not contain 5 + Test: TestRuleGovernanceStore_AnnotatedCandidateWaitsUntilReviewAfter + +2026/07/10 12:07:52 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[1.500ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-arbiter-claim-race-1783674472062914900' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 12:07:52 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.500ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-arbiter-confidence-1783674472207960600' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 12:07:52 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.000ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-rg3-health-1783674472341623000-pending-1783674472341623000' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 12:07:52 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[1.000ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-rg3-health-1783674472341623000-rejected-1783674472351622600' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 +--- FAIL: TestRuleGovernanceStore_GetLifecycleHealthAggregatesGovernanceTables (0.19s) + rule_governance_rg3_store_test.go:93: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_rg3_store_test.go:93 + Error: Not equal: + expected: 1 + actual : 5 + Test: TestRuleGovernanceStore_GetLifecycleHealthAggregatesGovernanceTables +--- FAIL: TestRuleGovernanceStore_GetLifecycleHealthOmitsGlobalArbiterRunsForProjectScopedReads (0.13s) + rule_governance_rg3_store_test.go:128: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_rg3_store_test.go:128 + Error: Not equal: + expected: 1 + actual : 6 + Test: TestRuleGovernanceStore_GetLifecycleHealthOmitsGlobalArbiterRunsForProjectScopedReads + +2026/07/10 12:07:52 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.000ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-rg3-queue-1783674472679096500-global-1783674472679096500' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 12:07:52 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[0.999ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-rg3-queue-1783674472679096500-conflict-1783674472687596100' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 12:07:52 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[0.500ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-rg3-queue-1783674472679096500-hold-1783674472693093000' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 12:07:52 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[1.000ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-rg3-queue-1783674472679096500-unclear-1783674472698591000' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 12:07:52 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.005ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-rg3-queue-filter-1783674472844091400-live-conflict-1783674472844091400' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 12:07:52 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[0.500ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-rg3-queue-filter-1783674472844091400-resolved-conflict-1783674472852591300' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 12:07:52 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[0.498ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-rg3-queue-filter-1783674472844091400-noise-0-1783674472868094700' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 12:07:52 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[1.001ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-rg3-queue-filter-1783674472844091400-noise-1-1783674472873091600' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 12:07:52 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[1.000ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-rg3-queue-filter-1783674472844091400-noise-2-1783674472878592300' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 12:07:53 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migration_rule_governance.go:196 ERROR: cannot drop table rule_versions because other objects depend on it (SQLSTATE 2BP01) +[2.610ms] [rows:0] DROP TABLE IF EXISTS rule_versions +--- FAIL: TestMigration144_RuleGovernanceRollbackAndReapply (0.15s) + rule_governance_store_test.go:32: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store_test.go:32 + Error: Received unexpected error: + ERROR: cannot drop table rule_versions because other objects depend on it (SQLSTATE 2BP01) + Test: TestMigration144_RuleGovernanceRollbackAndReapply + +2026/07/10 12:07:53 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migration_rule_governance.go:196 ERROR: cannot drop table rule_versions because other objects depend on it (SQLSTATE 2BP01) +[1.002ms] [rows:0] DROP TABLE IF EXISTS rule_versions +--- FAIL: TestMigration144_RuleGovernanceEscapeConstraints (0.15s) + rule_governance_store_test.go:45: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store_test.go:45 + Error: Received unexpected error: + ERROR: cannot drop table rule_versions because other objects depend on it (SQLSTATE 2BP01) + Test: TestMigration144_RuleGovernanceEscapeConstraints + +2026/07/10 12:07:54 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.000ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-idempotent-fingerprint' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 12:07:54 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.502ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-draft-fingerprint' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 12:07:54 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1625 record not found +[1.500ms] [rows:0] SELECT * FROM "rule_versions" WHERE source_candidate_id = 21 ORDER BY "rule_versions"."id" LIMIT 1 + +2026/07/10 12:07:54 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.500ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-unknown-actor-kind-1783674474954388900' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 12:07:54 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1625 record not found +[2.002ms] [rows:0] SELECT * FROM "rule_versions" WHERE source_candidate_id = 22 ORDER BY "rule_versions"."id" LIMIT 1 + +2026/07/10 12:07:55 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.002ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-blank-transition-actor-1783674475071733700' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 12:07:55 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1625 record not found +[1.500ms] [rows:0] SELECT * FROM "rule_versions" WHERE source_candidate_id = 23 ORDER BY "rule_versions"."id" LIMIT 1 + +2026/07/10 12:07:55 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[1.000ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-blank-transition-actor kind-1783674475084430500' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 12:07:55 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1625 record not found +[0.999ms] [rows:0] SELECT * FROM "rule_versions" WHERE source_candidate_id = 24 ORDER BY "rule_versions"."id" LIMIT 1 + +2026/07/10 12:07:55 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[0.500ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-blank-transition-reason-1783674475093430900' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 12:07:55 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1625 record not found +[0.500ms] [rows:0] SELECT * FROM "rule_versions" WHERE source_candidate_id = 25 ORDER BY "rule_versions"."id" LIMIT 1 + +2026/07/10 12:07:55 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[1.000ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-blank-transition-evidence handle-1783674475101931000' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 12:07:55 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1625 record not found +[1.001ms] [rows:0] SELECT * FROM "rule_versions" WHERE source_candidate_id = 26 ORDER BY "rule_versions"."id" LIMIT 1 + +2026/07/10 12:07:55 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.998ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-snapshot-required-1783674475222995300' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 12:07:55 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1625 record not found +[1.997ms] [rows:0] SELECT * FROM "rule_versions" WHERE source_candidate_id = 27 ORDER BY "rule_versions"."id" LIMIT 1 + +2026/07/10 12:07:55 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.001ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-snapshot-log-1783674475375906800' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 12:07:55 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1625 record not found +[1.999ms] [rows:0] SELECT * FROM "rule_versions" WHERE source_candidate_id = 28 ORDER BY "rule_versions"."id" LIMIT 1 + +2026/07/10 12:07:55 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.497ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-authority-1783674475618907200' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 12:07:55 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1625 record not found +[1.501ms] [rows:0] SELECT * FROM "rule_versions" WHERE source_candidate_id = 29 ORDER BY "rule_versions"."id" LIMIT 1 + +2026/07/10 12:07:55 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[2.001ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-log-rollback-1783674475770164300' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 12:07:55 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1625 record not found +[1.000ms] [rows:0] SELECT * FROM "rule_versions" WHERE source_candidate_id = 30 ORDER BY "rule_versions"."id" LIMIT 1 + +2026/07/10 12:07:55 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1664 ERROR: new row for relation "rule_transition_log" violates check constraint "rg0_transition_log_fail_test" (SQLSTATE 23514) +[0.500ms] [rows:0] INSERT INTO "rule_transition_log" ("created_at","rule_version_id","candidate_id","actor","actor_kind","action","from_state","to_state","reason","evidence_handles_json","snapshot_id") VALUES ('2026-07-10 12:07:55.806',22,30,'codex','agent','rule_version_transition','shadow','canary','force-log-fail','["evidence:rg0-transition"]','') RETURNING "id" + +2026/07/10 12:07:55 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:323 record not found +[1.500ms] [rows:0] SELECT * FROM "rule_candidates" WHERE fingerprint = 'rg0-snapshot-rollback-1783674475906164000' AND status IN ('pending','drafted') ORDER BY created_at ASC,"rule_candidates"."id" LIMIT 1 + +2026/07/10 12:07:55 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1625 record not found +[1.500ms] [rows:0] SELECT * FROM "rule_versions" WHERE source_candidate_id = 31 ORDER BY "rule_versions"."id" LIMIT 1 + +2026/07/10 12:07:55 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store.go:1692 ERROR: duplicate key value violates unique constraint "rule_governance_snapshots_snapshot_id_key" (SQLSTATE 23505) +[1.000ms] [rows:0] INSERT INTO "rule_governance_snapshots" ("created_at","rolled_back_at","snapshot_id","op_type","actor","before_state_json","after_state_json","status","pinned") VALUES ('2026-07-10 12:07:55.947',NULL,'rg0-duplicate-1783674475940664300','rule_transition','codex','{"project":"rg0-project","rule_versions":[{"state":"canary","id":23}]}','{"project":"rg0-project","rule_versions":[{"state":"active_project","id":23}]}','committed',false) RETURNING "id" + +2026/07/10 12:07:56 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/migration_rule_governance.go:196 ERROR: cannot drop table rule_versions because other objects depend on it (SQLSTATE 2BP01) +[1.500ms] [rows:0] DROP TABLE IF EXISTS rule_versions +--- FAIL: TestMigration144_RuleGovernanceSnapshotStatusesAcceptExtendedStates (0.13s) + rule_governance_store_test.go:729: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_governance_store_test.go:729 + Error: Received unexpected error: + ERROR: cannot drop table rule_versions because other objects depend on it (SQLSTATE 2BP01) + Test: TestMigration144_RuleGovernanceSnapshotStatusesAcceptExtendedStates + +2026/07/10 12:07:56 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/rule_injection_event_store_test.go:32 ERROR: new row for relation "rule_injection_events" violates check constraint "rule_injection_events_type_chk" (SQLSTATE 23514) +[1.500ms] [rows:0] + INSERT INTO rule_injection_events (session_id, project, surface, event_type) + VALUES ('rg2-invalid-session', 'rg2-project', 'session-start', 'invalid_event') + + +2026/07/10 12:08:01 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/state_store_test.go:188 record not found +[2.000ms] [rows:0] SELECT * FROM "audit_log" WHERE action = 'write_project_state' AND actor = 'agent' AND reason LIKE '%state-audit-project-1783674481107651500%' ORDER BY id DESC,"audit_log"."id" LIMIT 1 + +2026/07/10 12:08:01 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/state_store_test.go:293 record not found +[1.503ms] [rows:0] SELECT * FROM "audit_log" WHERE action = 'read_resume_conflict' AND actor = 'agent:developer' AND source_session_id = 'state-audit-conflict-1783674481365639500' ORDER BY id DESC,"audit_log"."id" LIMIT 1 + +2026/07/10 12:08:01 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/state_store_test.go:397 record not found +[1.499ms] [rows:0] SELECT * FROM "audit_log" WHERE action = 'read_resume_state' AND actor = 'agent:developer' AND source_session_id = 'state-resume-session-1783674481498169500' ORDER BY id DESC,"audit_log"."id" LIMIT 1 + +2026/07/10 12:08:02 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/state_store.go:216 record not found +[1.000ms] [rows:0] SELECT * FROM "agent_project_state" WHERE project = 'state-resume-project-scope-missing-1783674482009713700' ORDER BY "agent_project_state"."id" LIMIT 1 +{"level":"debug","connections":5,"time":"2026-07-10T12:08:02+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T12:08:02+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T12:08:02+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T12:08:02+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T12:08:02+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T12:08:02+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T12:08:02+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T12:08:03+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T12:08:03+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T12:08:03+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T12:08:03+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T12:08:03+03:00","message":"Connection pool warmed"} +{"level":"info","time":"2026-07-10T12:08:03+03:00","message":"Starting database optimization"} +{"level":"info","duration":199.4947,"time":"2026-07-10T12:08:03+03:00","message":"Database optimization complete"} + +2026/07/10 12:08:04 D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:29 +[error] failed to initialize database, got error failed to connect to `user=engram database=engram_mkr_bedge_review_full_gorm_20260710a`: 127.0.0.1:55432 (127.0.0.1): server error: FATAL: sorry, too many clients already (SQLSTATE 53300) +--- FAIL: TestTemporalTruthStore_LoadSelectedRecordsUsesDBNowForValidFrom (0.00s) + temporal_truth_store_test.go:377: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/candidate_store_test.go:30 + D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/temporal_truth_store_test.go:377 + Error: Received unexpected error: + failed to connect to `user=engram database=engram_mkr_bedge_review_full_gorm_20260710a`: 127.0.0.1:55432 (127.0.0.1): server error: FATAL: sorry, too many clients already (SQLSTATE 53300) + Test: TestTemporalTruthStore_LoadSelectedRecordsUsesDBNowForValidFrom + Messages: open test DB +--- FAIL: TestTokenStore_CreateWithPrincipalRoundTrip (0.00s) + token_store_test.go:14: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/credential_store_test.go:29 + D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/token_store_test.go:14 + Error: Received unexpected error: + failed to connect to `user=engram database=engram_mkr_bedge_review_full_gorm_20260710a`: 127.0.0.1:55432 (127.0.0.1): server error: FATAL: sorry, too many clients already (SQLSTATE 53300) + Test: TestTokenStore_CreateWithPrincipalRoundTrip + Messages: open test db +--- FAIL: TestTokenStore_CreateWithPrincipalRejectsKindWithoutPrincipal (0.00s) + token_store_test.go:51: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/credential_store_test.go:29 + D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/db/gorm/token_store_test.go:51 + Error: Received unexpected error: + failed to connect to `user=engram database=engram_mkr_bedge_review_full_gorm_20260710a`: 127.0.0.1:55432 (127.0.0.1): server error: FATAL: sorry, too many clients already (SQLSTATE 53300) + Test: TestTokenStore_CreateWithPrincipalRejectsKindWithoutPrincipal + Messages: open test db +--- FAIL: TestTranscriptStore_Lifecycle (0.00s) + transcript_store_test.go:64: open test db: failed to connect to `user=engram database=engram_mkr_bedge_review_full_gorm_20260710a`: 127.0.0.1:55432 (127.0.0.1): server error: FATAL: sorry, too many clients already (SQLSTATE 53300) +FAIL +FAIL github.com/thebtf/engram/internal/db/gorm 33.258s +FAIL +test_exit=1 +active_sessions_before_terminate=0 +database_residue=0 +activity_residue=0 +finished_utc=2026-07-10T09:08:06.2577895Z diff --git a/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/27-review-full-mcp.log b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/27-review-full-mcp.log new file mode 100644 index 00000000..b34d83d6 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/27-review-full-mcp.log @@ -0,0 +1,81 @@ +base_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +head_sha=68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef +database=engram_mkr_bedge_review_full_mcp_20260710a +command=go test -p=1 ./internal/mcp -count=1 +started_utc=2026-07-10T09:08:23.3053868Z +{"level":"warn","error":"ERROR: relation \"observation_vectors\" does not exist (SQLSTATE 42P01)","time":"2026-07-10T12:08:26+03:00","message":"migration 040: orphan vector cleanup failed (non-fatal)"} +{"level":"info","garbage_deleted":0,"orphan_vectors_deleted":0,"time":"2026-07-10T12:08:26+03:00","message":"migration 040: garbage cleanup complete"} +{"level":"info","orphan_vectors_deleted":0,"time":"2026-07-10T12:08:26+03:00","message":"migration 041: orphan vector purge complete"} +{"level":"info","patterns_deleted":0,"time":"2026-07-10T12:08:26+03:00","message":"migration 042: low-quality pattern purge complete"} +{"level":"info","total_deleted":0,"time":"2026-07-10T12:08:26+03:00","message":"migration 043: radical observation cleanup complete"} +{"level":"warn","error":"ERROR: extension \"vectorscale\" is not available (SQLSTATE 0A000)","time":"2026-07-10T12:08:27+03:00","message":"migration 109: vectorscale extension not available, skipping DiskANN index"} +{"level":"debug","connections":1,"time":"2026-07-10T12:08:29+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T12:08:29+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T12:08:29+03:00","message":"Connection pool warmed"} +--- FAIL: TestHybridTG3_ConfidenceMin_FloorEnforced_T022 (0.13s) + integration_tg3_hybrid_test.go:83: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/integration_tg3_hybrid_test.go:83 + Error: Received unexpected error: + json: cannot unmarshal array into Go value of type map[string]interface {} + Test: TestHybridTG3_ConfidenceMin_FloorEnforced_T022 + Messages: response must be valid JSON +{"level":"debug","connections":1,"time":"2026-07-10T12:08:29+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T12:08:30+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T12:08:30+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T12:08:30+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T12:08:30+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T12:08:30+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T12:08:30+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T12:08:30+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T12:08:30+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T12:08:30+03:00","message":"Connection pool warmed"} +--- FAIL: TestEC_F1_TagDerivedBackfill_T007 (0.12s) + store_memory_compat_t007_test.go:157: + Error Trace: D:/Dev/engram/.agent/worktrees/prc-db-bulkops/internal/mcp/store_memory_compat_t007_test.go:157 + Error: Should be true + Test: TestEC_F1_TagDerivedBackfill_T007 + Messages: global-scoped row must be returned by MemoryStore.List within its own project +{"level":"debug","connections":1,"time":"2026-07-10T12:08:31+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T12:08:31+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T12:08:31+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T12:08:31+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T12:08:31+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T12:08:31+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T12:08:31+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T12:08:31+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T12:08:32+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T12:08:32+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T12:08:32+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T12:08:32+03:00","message":"Connection pool warmed"} +{"level":"debug","soft_limit":1000,"time":"2026-07-10T12:08:32+03:00","message":"edit_memory: content truncated to soft limit"} +{"level":"warn","time":"2026-07-10T12:08:32+03:00","message":"edit_memory: content contains secrets — redacting before storage"} +{"level":"error","audit_label":"test-panic","memory_id":99,"panic":"simulated audit panic","time":"2026-07-10T12:08:32+03:00","message":"audit: goroutine panic recovered"} +{"level":"error","error":"simulated db error","audit_label":"test-error","memory_id":88,"time":"2026-07-10T12:08:32+03:00","message":"audit: async write failed"} +{"level":"debug","connections":1,"time":"2026-07-10T12:08:32+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T12:08:33+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T12:08:33+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T12:08:33+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T12:08:33+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T12:08:33+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T12:08:33+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T12:08:33+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":1,"time":"2026-07-10T12:08:33+03:00","message":"Connection pool warmed"} +{"level":"error","error":"temporal truth feature flag required","tool":"temporal_truth","args":"{\"fact_id\":\"42\",\"project\":\"engram\"}","time":"2026-07-10T12:08:34+03:00","message":"Tool call failed"} +{"level":"error","error":"temporal truth provider not configured","tool":"temporal_truth","args":"{\"fact_id\":\"42\",\"project\":\"engram\"}","time":"2026-07-10T12:08:34+03:00","message":"Tool call failed"} +{"level":"error","error":"temporal truth feature flag required","tool":"temporal_truth_refresh","args":"{\"project\":\"engram\"}","time":"2026-07-10T12:08:34+03:00","message":"Tool call failed"} +{"level":"error","error":"temporal truth provider not configured","tool":"temporal_truth_refresh","args":"{\"project\":\"engram\"}","time":"2026-07-10T12:08:34+03:00","message":"Tool call failed"} +{"level":"error","error":"codebase_search requires ENGRAM_CODE_INTEL_ENABLED=true","tool":"codebase_search","args":"{\"query\":\"hello\",\"project\":\"test\"}","time":"2026-07-10T12:08:34+03:00","message":"Tool call failed"} +{"level":"error","error":"unknown tool: no_such_tool","tool":"no_such_tool","args":"{}","time":"2026-07-10T12:08:34+03:00","message":"Tool call failed"} +{"level":"debug","method":"initialized","time":"2026-07-10T12:08:34+03:00","message":"MCP client initialized"} +{"level":"error","error":"unknown tool: ","tool":"","args":"","time":"2026-07-10T12:08:34+03:00","message":"Tool call failed"} +{"level":"debug","method":"initialized","time":"2026-07-10T12:08:34+03:00","message":"MCP client initialized"} +{"level":"debug","connections":5,"time":"2026-07-10T12:08:34+03:00","message":"Connection pool warmed"} +{"level":"debug","connections":5,"time":"2026-07-10T12:08:34+03:00","message":"Connection pool warmed"} +FAIL +FAIL github.com/thebtf/engram/internal/mcp 8.501s +FAIL +test_exit=1 +active_sessions_before_terminate=0 +database_residue=0 +activity_residue=0 +finished_utc=2026-07-10T09:08:35.4259701Z diff --git a/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/A-candidate-review-snapshot-binding.red.json b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/A-candidate-review-snapshot-binding.red.json new file mode 100644 index 00000000..e100255b --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/A-candidate-review-snapshot-binding.red.json @@ -0,0 +1,14 @@ +{ + "phase": "RED", + "observed_at_utc": "2026-07-10T08:28:04.4170941Z", + "base_sha": "68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef", + "database": "engram_mkr_bedge_red_behavior_20260710a", + "command": "go test -p=1 ./internal/db/gorm ./internal/mcp -run ^(TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites|TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit|TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs|TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization)$ -count=1 -v", + "exit_code": 1, + "test": "TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites", + "observed_failure": "Public candidate-review snapshot seams accepted invalid bindings, including nil or wrong-op snapshots on promote and mismatched operation, action, candidate, actor, before-state, affected-memory, and source-session fields.", + "representative_excerpt": "invalid candidate-review snapshot binding must fail closed: An error is expected but got nil", + "database_residue": 0, + "activity_residue": 0, + "raw_log": "01-red-behavior.log" +} diff --git a/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/B-bulk-structured-input.red.json b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/B-bulk-structured-input.red.json new file mode 100644 index 00000000..445f4810 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/B-bulk-structured-input.red.json @@ -0,0 +1,32 @@ +{ + "phase": "RED", + "observed_at_utc": "2026-07-10T08:29:50.2378967Z", + "base_sha": "68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef", + "databases": [ + "engram_mkr_bedge_red_behavior_20260710a", + "engram_mkr_bedge_red_spy_20260710a" + ], + "behavior_command_exit_code": 1, + "spy_command_exit_code": 1, + "tests": [ + "TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs", + "TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization", + "TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade", + "TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun" + ], + "observed_failures": [ + "Lossy coercion accepted strings, booleans, objects, nested arrays, fractions, overflows, and wrong dry_run types instead of rejecting the public request.", + "Numbers above 2^53 lost identity and delete/supersede previews did not normalize IDs.", + "The facade-spy test failed to compile because the pre-change handler had no executeBulkFacade seam, proving the required pre-facade invocation assertion was not yet expressible." + ], + "representative_excerpts": [ + "TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization/bulk_promote: expected 5, actual 3", + "internal\\mcp\\tools_dryrun_test.go:295:21: undefined: executeBulkFacade" + ], + "database_residue": 0, + "activity_residue": 0, + "raw_logs": [ + "01-red-behavior.log", + "02-red-spy-seam.log" + ] +} diff --git a/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/DB-BULKOPS-BEHAVIORAL-EDGE-REWORK.final.json b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/DB-BULKOPS-BEHAVIORAL-EDGE-REWORK.final.json new file mode 100644 index 00000000..e35dd6e5 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/DB-BULKOPS-BEHAVIORAL-EDGE-REWORK.final.json @@ -0,0 +1,228 @@ +{ + "task": "DB-BULKOPS behavioral-edge rework", + "base_sha": "68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef", + "status": "READY_FOR_INDEPENDENT_CHECK", + "formal_acceptance": false, + "scope": { + "product_and_test_paths": [ + "internal/db/gorm/candidate_store.go", + "internal/db/gorm/candidate_store_test.go", + "internal/mcp/tools_bulkops.go", + "internal/mcp/tools_dryrun_test.go" + ], + "evidence_namespace": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/", + "maker_report": ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker.md" + }, + "source_sha256": { + "internal/db/gorm/candidate_store.go": "e5102fc82df34cc85e2039cf62ce96155b725d3728518a196476eb2351b458c2", + "internal/db/gorm/candidate_store_test.go": "8fb5258f01557ca7991b5a211f51107e69e4acd5740c5b254e63308f8969e4ff", + "internal/mcp/tools_bulkops.go": "89ca7932ccafe7fa52c79099d6ecbca20a04aa7faff94ff5ec92c9d68dc7cefa", + "internal/mcp/tools_dryrun_test.go": "2a4fbe5e29548b3df2eb45f16ab8e08e7938e9e95a8604e4a6f7cfeac05d0a90" + }, + "cause_closure": { + "candidate_review": { + "class": "All public candidate-review WithSnapshot mutation seams previously trusted partially self-consistent snapshots instead of enforcing one complete binding invariant.", + "closed_invariant": [ + "promote, preserve, reject, suppress, and supersede route through the same fail-closed validator", + "snapshot, snapshot store, and audit store are required", + "op_type, parameters.operation, parameters.action, parameters.candidate_id, and normalized actor are bound", + "initial affected_memory_ids is empty", + "BeforeState contains exactly one candidate: restore entry with nonempty Before and empty After", + "the embedded payload ID and source session are bound", + "inside the same mutation transaction, SELECT FOR UPDATE loads the authoritative candidate before any snapshot or mutation write", + "the complete rollback-relevant payload is compared to the authoritative row, allowing only sub-microsecond PostgreSQL timestamp precision differences", + "invalid bindings produce zero candidate, memory, snapshot, and candidate_review audit writes", + "valid seams commit exactly one synchronous candidate_review audit" + ] + }, + "bulk_structured_input": { + "class": "Public bulk tools previously used lossy any/float64 coercion, allowing wrong types and losing exact IDs.", + "closed_invariant": [ + "bulk_promote, bulk_delete, and bulk_supersede parse raw json.RawMessage before facade invocation", + "ID fields must be arrays of exact integral int64 JSON numbers", + "1.0, 1e0, 9007199254740993, MinInt64, and MaxInt64 preserve exact identity", + "fractional, overflow, string, boolean, object, nested-array, null, malformed, and non-object inputs fail before the facade", + "present dry_run accepts only JSON true or false; missing dry_run defaults false", + "zero removal, deduplication, and sorting occur only after exact parsing", + "nil-facade dry-run and wired non-dry paths use the same normalized IDs" + ] + } + }, + "tdd": { + "red": [ + { + "log": "01-red-behavior.log", + "command": "go test -p=1 ./internal/db/gorm ./internal/mcp -run ^(TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites|TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit|TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs|TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization)$ -count=1 -v", + "exit_code": 1, + "database": "engram_mkr_bedge_red_behavior_20260710a", + "residue": "0/0" + }, + { + "log": "02-red-spy-seam.log", + "command": "go test -p=1 ./internal/mcp -run ^(TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade|TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun)$ -count=1 -v", + "exit_code": 1, + "database": "engram_mkr_bedge_red_spy_20260710a", + "residue": "0/0" + }, + { + "log": "05-prove-it-candidate.log", + "command": "go test -p=1 ./internal/db/gorm -run ^(TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites|TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit)$ -count=1", + "exit_code": 1, + "mutation": "temporarily bypassed the candidate-review validator", + "residue": "0/0" + }, + { + "log": "06-prove-it-parser.log", + "command": "go test -p=1 ./internal/mcp -run ^(TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs|TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization|TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade|TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun)$ -count=1", + "exit_code": 1, + "mutation": "temporarily bypassed the strict parser", + "residue": "0/0" + }, + { + "log": "17-review-red-authoritative-binding.log", + "command": "go test -p=1 ./internal/db/gorm -run ^TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites$ -count=1", + "exit_code": 1, + "database": "engram_mkr_bedge_review_red_auth_20260710a", + "observed": "A forged Before payload plus matching forged snapshot source session was accepted by all five public seams.", + "residue": "0/0" + } + ], + "final_green": [ + { + "log": "19-review-green-authoritative-binding.log", + "command": "go test -p=1 ./internal/db/gorm ./internal/mcp -run ^(TestCandidateStore_PromoteWithMemoryAndSnapshot_AmendFailureRollsBackPromotion|TestCandidateStore_PreserveWithMemoryAndSnapshot_RequiresCandidateReviewSnapshotBeforeMutation|TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites|TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit|TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs|TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization|TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade|TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun)$ -count=1", + "exit_code": 0, + "database": "engram_mkr_bedge_review_green_auth_20260710b", + "residue": "0/0" + }, + { + "log": "20-review-repeat20.log", + "command": "go test -p=1 ./internal/db/gorm ./internal/mcp -run ^(TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites|TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit|TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs|TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization|TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade|TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun)$ -count=20", + "exit_code": 0, + "database": "engram_mkr_bedge_review_repeat20_20260710a", + "residue": "0/0" + }, + { + "log": "21-review-race-focused.log", + "command": "go test -race -p=1 ./internal/db/gorm ./internal/mcp -run ^(TestCandidateStore_PromoteWithMemoryAndSnapshot_AmendFailureRollsBackPromotion|TestCandidateStore_PreserveWithMemoryAndSnapshot_RequiresCandidateReviewSnapshotBeforeMutation|TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites|TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit|TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs|TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization|TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade|TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun)$ -count=1", + "exit_code": 0, + "database": "engram_mkr_bedge_review_race_20260710a", + "residue": "0/0" + }, + { + "log": "22-review-vet.log", + "command": "go vet ./internal/db/gorm ./internal/mcp", + "exit_code": 0, + "database": "engram_mkr_bedge_review_vet_20260710a", + "residue": "0/0" + }, + { + "log": "23-review-coverage.log", + "command": "go test -p=1 ./internal/db/gorm ./internal/mcp -run ^(TestCandidateStore_PromoteWithMemoryAndSnapshot_AmendFailureRollsBackPromotion|TestCandidateStore_PreserveWithMemoryAndSnapshot_RequiresCandidateReviewSnapshotBeforeMutation|TestCandidateStore_AllCandidateReviewSnapshotSeamsRejectInvalidBindingsWithoutWrites|TestCandidateStore_AllCandidateReviewSnapshotSeamsCommitExactlyOneAudit|TestBulkOps_PublicDispatchRejectsInvalidStructuredInputs|TestBulkOps_PublicDispatchPreservesExactIntegralIDsBeforeNormalization|TestBulkOps_InvalidStructuredInputsDoNotInvokeWiredFacade|TestBulkOps_WiredFacadeReceivesExactNormalizedIDsAndStrictDryRun)$ -count=1 -covermode=atomic -coverprofile=.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/coverage.out", + "exit_code": 0, + "database": "engram_mkr_bedge_review_coverage_20260710a", + "residue": "0/0" + }, + { + "log": "25-review-cover-functions.log", + "command": "go tool cover -func=.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/coverage.out", + "exit_code": 0, + "database": "engram_mkr_bedge_review_coverfunc_20260710b", + "residue": "0/0" + } + ] + }, + "coverage": { + "gorm_package": "15.4%", + "mcp_package": "1.8%", + "validateCandidateReviewSnapshotBinding": "87.0%", + "candidateReviewPayloadMatchesAuthoritative": "75.0%", + "promoteWithMemoryAndSnapshotAction": "80.6%", + "transitionWithSnapshot": "63.6%", + "parseBulkStructuredArgs": "100.0%", + "handleBulkPromote": "80.0%", + "handleBulkDelete": "80.0%", + "handleBulkSupersede": "80.0%" + }, + "full_package_gates": [ + { + "log": "26-review-full-gorm.log", + "command": "go test -p=1 ./internal/db/gorm -count=1", + "exit_code": 1, + "classification": "documented unrelated baseline plus PostgreSQL max-client cascade; no candidate-review test failed", + "known_baseline_failures": [ + "TestRuleGovernanceStore_AnnotatedCandidateWaitsUntilReviewAfter", + "TestRuleGovernanceStore_GetLifecycleHealthAggregatesGovernanceTables", + "TestRuleGovernanceStore_GetLifecycleHealthOmitsGlobalArbiterRunsForProjectScopedReads", + "TestMigration144_RuleGovernanceRollbackAndReapply", + "TestMigration144_RuleGovernanceEscapeConstraints", + "TestMigration144_RuleGovernanceSnapshotStatusesAcceptExtendedStates" + ], + "max_client_cascade": [ + "TestTemporalTruthStore_LoadSelectedRecordsUsesDBNowForValidFrom", + "TestTokenStore_CreateWithPrincipalRoundTrip", + "TestTokenStore_CreateWithPrincipalRejectsKindWithoutPrincipal", + "TestTranscriptStore_Lifecycle" + ], + "residue": "0/0" + }, + { + "log": "27-review-full-mcp.log", + "command": "go test -p=1 ./internal/mcp -count=1", + "exit_code": 1, + "classification": "documented unrelated baseline; no bulk structured-input test failed", + "known_baseline_failures": [ + "TestHybridTG3_ConfidenceMin_FloorEnforced_T022", + "TestEC_F1_TagDerivedBackfill_T007" + ], + "residue": "0/0" + } + ], + "precommit_review": { + "role": "maker-side hardening only; not formal independent acceptance", + "initial_verdict": "REVISE/BLOCK", + "finding": "Snapshot validation was self-consistent but not bound to the locked authoritative candidate.", + "resolution": "Added transaction-bound SELECT FOR UPDATE, complete payload comparison, and the forged payload plus forged source-session sibling case across all five seams.", + "formal_checker": "required after this commit" + }, + "diagnostics": { + "errors": 0, + "warnings": 0, + "notes": "Serena reported only pre-existing or non-blocking modernize hints (interface{} to any, maps.Copy, and Go 1.22 loop-copy hints)." + }, + "discrepancies": [ + { + "log": "08-full-packages.log", + "issue": "The first full-package run exposed an old amend-rollback fixture with an invalid snapshot and a preserve error-string compatibility mismatch.", + "resolution": "Updated the fixture to use the canonical reviewpacket snapshot and preserved the legacy candidate_review wording; 09-legacy-compat.log passed." + }, + { + "log": "18-review-green-authoritative-binding.log", + "issue": "The first authoritative-binding implementation compared raw timestamp JSON exactly and moved all validation inside the transaction, rejecting a legitimate sub-microsecond timestamp representation and panicking in a legacy nil-DB preflight test.", + "resolution": "Restored structural preflight before DB access, repeated validation inside the transaction, and limited timestamp tolerance to PostgreSQL precision while comparing every other candidate field exactly; 19, 20, and 21 passed." + }, + { + "log": "24-review-cover-functions.log", + "issue": "PowerShell argument binding split -func= and go tool cover exited 2.", + "resolution": "Reran with an explicit GoArgs array; 25-review-cover-functions.log exited 0." + }, + { + "issue": "Captured Go/GORM logs contained trailing spaces and tab-indented test output that failed the staged git diff whitespace check.", + "resolution": "Mechanically replaced tabs with spaces and removed only end-of-line whitespace in evidence *.log files before final hashing; command/output text, exit codes, and timestamps were otherwise preserved." + } + ], + "out_of_scope_audit_node": { + "id": "MCP-STRUCTURED-INPUT-VALIDATION", + "path": "store_memory.supersedes", + "finding": "The public handler still reaches lossy coercion without explicit raw structured-input type validation.", + "action": "Reported only. No edits were made to coerce.go or tools_memory.go under this task's strict scope." + }, + "cleanup": { + "log": "16-final-residue.log", + "checked_utc": "2026-07-10T09:10:54.3826001Z", + "database_prefix": "engram_mkr_bedge_%", + "database_residue": 0, + "activity_residue": 0, + "exit_code": 0 + } +} diff --git a/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/Invoke-MakerGo.ps1 b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/Invoke-MakerGo.ps1 new file mode 100644 index 00000000..7d09e625 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/Invoke-MakerGo.ps1 @@ -0,0 +1,118 @@ +param( + [Parameter(Mandatory = $true)] + [ValidatePattern('^engram_mkr_bedge_[a-z0-9_]+$')] + [string]$DatabaseName, + + [Parameter(Mandatory = $true)] + [string]$LogPath, + + [Parameter(Mandatory = $true, ValueFromRemainingArguments = $true)] + [string[]]$GoArgs +) + +$ErrorActionPreference = 'Stop' +$container = 'engram-prc-postgres' +$worktree = 'D:\Dev\engram\.agent\worktrees\prc-db-bulkops' +$baseCommit = '68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef' +$logDirectory = Split-Path -Parent $LogPath +New-Item -ItemType Directory -Force -Path $logDirectory | Out-Null + +$containerEnv = @{} +$inspectEnv = docker inspect --format '{{range .Config.Env}}{{println .}}{{end}}' $container +if ($LASTEXITCODE -ne 0) { + throw "docker inspect failed for $container" +} +foreach ($line in $inspectEnv) { + $parts = $line -split '=', 2 + if ($parts.Count -eq 2) { + $containerEnv[$parts[0]] = $parts[1] + } +} +$pgUser = $containerEnv['POSTGRES_USER'] +$pgPassword = $containerEnv['POSTGRES_PASSWORD'] +if ([string]::IsNullOrWhiteSpace($pgUser) -or [string]::IsNullOrWhiteSpace($pgPassword)) { + throw 'POSTGRES_USER/POSTGRES_PASSWORD are unavailable from the maker container' +} + +$portLine = docker port $container 5432/tcp | Select-Object -First 1 +if ($LASTEXITCODE -ne 0 -or $portLine -notmatch ':(\d+)$') { + throw "could not resolve host PostgreSQL port for $container" +} +$hostPort = $Matches[1] + +function Invoke-MakerPsql { + param([Parameter(Mandatory = $true)][string]$Sql) + $output = docker exec -e "PGPASSWORD=$pgPassword" $container psql -v ON_ERROR_STOP=1 -U $pgUser -d postgres -Atc $Sql + if ($LASTEXITCODE -ne 0) { + throw "psql failed: $Sql" + } + return $output +} + +function Write-MakerLog { + param([Parameter(Mandatory = $true)][AllowEmptyString()][string]$Line) + $Line | Tee-Object -FilePath $LogPath -Append +} + +if (Test-Path -LiteralPath $LogPath) { + Remove-Item -LiteralPath $LogPath -Force +} + +$existing = Invoke-MakerPsql "SELECT count(*) FROM pg_database WHERE datname = '$DatabaseName';" +if ([int]$existing -ne 0) { + throw "maker database already exists: $DatabaseName" +} + +$currentHead = git -C $worktree rev-parse HEAD +if ($LASTEXITCODE -ne 0) { + throw "could not resolve maker worktree HEAD" +} +Write-MakerLog "base_sha=$baseCommit" +Write-MakerLog "head_sha=$currentHead" +Write-MakerLog "database=$DatabaseName" +Write-MakerLog "command=go $($GoArgs -join ' ')" +Write-MakerLog "started_utc=$([DateTime]::UtcNow.ToString('o'))" + +$testExit = 99 +$cleanupFailed = $false +try { + Invoke-MakerPsql "CREATE DATABASE `"$DatabaseName`";" | Out-Null + $escapedUser = [uri]::EscapeDataString($pgUser) + $escapedPassword = [uri]::EscapeDataString($pgPassword) + $env:DATABASE_DSN = "postgres://${escapedUser}:${escapedPassword}@127.0.0.1:${hostPort}/${DatabaseName}?sslmode=disable" + + Push-Location $worktree + try { + & go @GoArgs 2>&1 | Tee-Object -FilePath $LogPath -Append + $testExit = $LASTEXITCODE + } + finally { + Pop-Location + } + Write-MakerLog "test_exit=$testExit" +} +finally { + try { + $activeBefore = Invoke-MakerPsql "SELECT count(*) FROM pg_stat_activity WHERE datname = '$DatabaseName' AND pid <> pg_backend_pid();" + Write-MakerLog "active_sessions_before_terminate=$activeBefore" + Invoke-MakerPsql "SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = '$DatabaseName' AND pid <> pg_backend_pid();" | Out-Null + Invoke-MakerPsql "DROP DATABASE IF EXISTS `"$DatabaseName`" WITH (FORCE);" | Out-Null + $databaseResidue = Invoke-MakerPsql "SELECT count(*) FROM pg_database WHERE datname = '$DatabaseName';" + $activityResidue = Invoke-MakerPsql "SELECT count(*) FROM pg_stat_activity WHERE datname = '$DatabaseName';" + Write-MakerLog "database_residue=$databaseResidue" + Write-MakerLog "activity_residue=$activityResidue" + Write-MakerLog "finished_utc=$([DateTime]::UtcNow.ToString('o'))" + if ([int]$databaseResidue -ne 0 -or [int]$activityResidue -ne 0) { + $cleanupFailed = $true + } + } + catch { + $cleanupFailed = $true + Write-MakerLog "cleanup_error=$($_.Exception.Message)" + } +} + +if ($cleanupFailed) { + exit 97 +} +exit $testExit diff --git a/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/SHA256SUMS.txt b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/SHA256SUMS.txt new file mode 100644 index 00000000..a2ad5978 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/SHA256SUMS.txt @@ -0,0 +1,40 @@ +SHA-256 manifest for DB-BULKOPS behavioral-edge rework. +The manifest intentionally excludes itself. + +e5102fc82df34cc85e2039cf62ce96155b725d3728518a196476eb2351b458c2 internal/db/gorm/candidate_store.go +8fb5258f01557ca7991b5a211f51107e69e4acd5740c5b254e63308f8969e4ff internal/db/gorm/candidate_store_test.go +89ca7932ccafe7fa52c79099d6ecbca20a04aa7faff94ff5ec92c9d68dc7cefa internal/mcp/tools_bulkops.go +2a4fbe5e29548b3df2eb45f16ab8e08e7938e9e95a8604e4a6f7cfeac05d0a90 internal/mcp/tools_dryrun_test.go +c240b459475b6adf82c21156e691a0c33b547e0d84ce5dcd5acbfad72a9e1d90 .agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker.md +2a28984547833010d88ea54984a0019671b015a3cb0e4b0021a1b9061653dd3f .agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/01-red-behavior.log +85498937b436c88dcfe5b90f90a973fa981aea83d54e247b7482bf774d8ba8fb .agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/02-red-spy-seam.log +b1d8800aaeaafe788888afcb06d9a7aff8f0d9daf49ed81dd508da3398ca60c4 .agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/03-green-focused.log +abefd3e0fb0f54ddafb5a66c94e62add263919303c29080d8cbb17a9fecdb8c2 .agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/04-green-repeat20.log +579c484a1582b02bf3f889f6a78ad72561ff4183fa1a1f000bd4334834c65fd6 .agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/05-prove-it-candidate.log +830a038c705670a169263d6e7a6e1a9cf205678685c1d9627fccb36eb6039f2a .agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/06-prove-it-parser.log +cbe28b1a1f1c5d70fa52719963f80479d3ffe48694f2680cfc933b5e57d65bd0 .agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/07-post-prove-green.log +0194a116302b6c52dcb6afe6c2ba6cca157c71bdfd3808e0264345ac5c5996ae .agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/08-full-packages.log +98439330ddbb90c42e84b48eeed5e38b37844f6ca4cb450780aa9a3ab2b8d24b .agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/09-legacy-compat.log +11e1dc2b378a381480f122023bdb3f488c89911862fac8d567870aa768d428c9 .agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/10-full-gorm.log +a2de0f9f45b61b0bea7e8af9e09beb1b6f8b0a01e666c4fe0ebe5eeb98718a8c .agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/11-full-mcp.log +89c1378677eac6666d80271d911922abd3fa06173b0b4f8729aca47e8c247cf3 .agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/12-race-focused.log +bb715715ce14a1828b24c20e4a7e5d6ad5e51dc2f90a68dbd55ed63157189593 .agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/13-vet.log +db9bb770a062b9e6642dd8c6d6fea31e6a29a26638a5bb6ba6add062d0ffab90 .agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/14-coverage.log +0bcbb3cbdbc5923b1f23e9a0db6c0e63a14ed373f4261cc74476874fdcaf13f3 .agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/15-cover-functions.log +9dd91963763500496146c6d0ab0e066dd10c5c7ad16c1a751baeddcaa9956937 .agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/16-final-residue.log +0b783aacd7d74680a1df4cae7a17d25004330b18afaec4b64b1352f7e84609c3 .agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/17-review-red-authoritative-binding.log +07e5498ffeced631f856062ffb625bf2d66bb704dd0ef2351c149a80da8fd24f .agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/18-review-green-authoritative-binding.log +1602588251c80c486ba19f964735c616df26c4146e1bcfb828a75f9c76d2e183 .agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/19-review-green-authoritative-binding.log +a3104b089b02ceda788990ddb7ec9a2da375f1f6ece88126162435e6a1dea22b .agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/20-review-repeat20.log +49aa5a6cb698c8508529d1267fec2a674591939b4ef1600a059e95fe0f7b773d .agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/21-review-race-focused.log +01d417c93f189f6847e1f859930823053b93876038a6e75aee839bca5ea74260 .agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/22-review-vet.log +bb02a4e743d4d4d135c5b98461ad68dea8871f0f73afd48aadf15bf0f5fe4045 .agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/23-review-coverage.log +b3ff6f175364824a81801a4c00d45c4710fd5b6c24cfa2f7b9402b759eea8c3d .agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/24-review-cover-functions.log +3c7ea6ce11279100e6d566f6ec7006e8344b6625660d19be4a6cc0b5cb49402b .agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/25-review-cover-functions.log +a84299a00aa34d222761f70d5df62689afc07870590e23f0a097dc510dee5d30 .agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/26-review-full-gorm.log +3873bfb6896c9aede28079372c51c16011b307b880174b560a615fc9ba5c0b70 .agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/27-review-full-mcp.log +84914266ac9e2aae449eae713d8f0e5558fe4cdeb01ce119f6ef26e9f3418b1b .agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/A-candidate-review-snapshot-binding.red.json +21fdf6d0e388db9209e3598c3c7b29021bf7e5a0f5a9dc738159d95de10933a9 .agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/B-bulk-structured-input.red.json +807341616e0e93827c970bc166598157778d58d664d6c0e6a4a504706f0dce5f .agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/coverage.out +1dc790ebb00bd2a33c2569fe72792f03963bd9613b2190a8f636873707eb5008 .agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/DB-BULKOPS-BEHAVIORAL-EDGE-REWORK.final.json +f49e485bb531dae52b6de24c481e58ea68baccdc9744fd79e906ca29828b3a5f .agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/Invoke-MakerGo.ps1 diff --git a/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/coverage.out b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/coverage.out new file mode 100644 index 00000000..b212d787 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/coverage.out @@ -0,0 +1,7881 @@ +mode: atomic +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:28.45,28.74 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:34.63,36.2 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:38.141,39.29 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:39.29,41.3 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:42.2,43.16 2 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:43.16,45.3 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:46.2,46.64 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:46.64,48.3 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:49.2,49.44 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:52.110,53.29 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:53.29,55.3 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:56.2,56.13 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:56.13,58.3 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:59.2,60.68 2 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:60.68,62.3 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:63.2,63.45 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:66.138,67.29 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:67.29,69.3 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:70.2,71.19 2 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:71.19,73.3 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:74.2,74.16 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:77.2,82.33 2 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:82.33,84.3 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:85.2,86.22 2 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:86.22,88.3 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:89.2,89.21 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:92.100,94.19 2 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:94.19,96.3 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:97.2,98.21 2 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:98.21,100.3 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:101.2,102.26 2 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:102.26,104.3 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:105.2,105.61 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:105.61,107.3 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:108.2,109.25 2 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:109.25,111.3 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:112.2,112.27 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:112.27,114.3 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:115.2,116.42 2 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:116.42,118.3 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:119.2,120.52 2 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:120.52,122.3 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:123.2,134.8 2 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:137.91,138.16 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:138.16,140.3 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:141.2,151.3 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:154.52,155.15 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:156.41,157.14 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:158.10,159.15 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:163.57,164.15 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:165.38,166.14 1 0 +github.com/thebtf/engram/internal/db/gorm/attention_event_store.go:167.10,168.15 1 0 +github.com/thebtf/engram/internal/db/gorm/audit_store.go:25.41,25.63 1 2 +github.com/thebtf/engram/internal/db/gorm/audit_store.go:33.45,35.2 1 72 +github.com/thebtf/engram/internal/db/gorm/audit_store.go:38.74,39.67 1 2 +github.com/thebtf/engram/internal/db/gorm/audit_store.go:39.67,41.3 1 0 +github.com/thebtf/engram/internal/db/gorm/audit_store.go:42.2,42.12 1 2 +github.com/thebtf/engram/internal/db/gorm/audit_store.go:45.89,46.65 1 5 +github.com/thebtf/engram/internal/db/gorm/audit_store.go:46.65,48.3 1 0 +github.com/thebtf/engram/internal/db/gorm/audit_store.go:49.2,49.12 1 5 +github.com/thebtf/engram/internal/db/gorm/audit_store.go:53.107,54.16 1 0 +github.com/thebtf/engram/internal/db/gorm/audit_store.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/db/gorm/audit_store.go:57.2,63.16 3 0 +github.com/thebtf/engram/internal/db/gorm/audit_store.go:63.16,65.3 1 0 +github.com/thebtf/engram/internal/db/gorm/audit_store.go:66.2,66.21 1 0 +github.com/thebtf/engram/internal/db/gorm/audit_store.go:80.96,85.19 2 0 +github.com/thebtf/engram/internal/db/gorm/audit_store.go:85.19,87.3 1 0 +github.com/thebtf/engram/internal/db/gorm/audit_store.go:88.2,88.26 1 0 +github.com/thebtf/engram/internal/db/gorm/audit_store.go:92.92,97.2 2 0 +github.com/thebtf/engram/internal/db/gorm/auth_models.go:15.32,17.2 1 0 +github.com/thebtf/engram/internal/db/gorm/auth_models.go:20.58,22.20 2 0 +github.com/thebtf/engram/internal/db/gorm/auth_models.go:23.33,24.36 1 0 +github.com/thebtf/engram/internal/db/gorm/auth_models.go:25.26,26.33 1 0 +github.com/thebtf/engram/internal/db/gorm/auth_models.go:27.10,28.97 1 0 +github.com/thebtf/engram/internal/db/gorm/auth_models.go:43.32,43.50 1 0 +github.com/thebtf/engram/internal/db/gorm/auth_models.go:61.38,61.62 1 0 +github.com/thebtf/engram/internal/db/gorm/auth_models.go:76.39,76.60 1 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:26.57,28.2 1 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:31.132,33.16 2 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:33.16,35.3 1 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:36.2,45.48 3 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:45.48,47.3 1 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:48.2,48.18 1 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:52.75,54.14 2 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:54.14,56.3 1 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:57.2,58.68 2 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:58.68,60.3 1 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:61.2,61.19 1 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:65.72,67.16 2 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:70.2,70.33 1 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:74.100,76.14 2 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:76.14,78.3 1 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:79.2,81.50 3 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:81.50,83.111 2 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:83.111,85.4 1 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:86.3,86.28 1 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:86.28,89.4 2 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:90.3,95.23 3 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:95.23,97.4 1 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:98.3,98.116 1 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:98.116,100.4 1 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:101.3,102.13 2 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:104.2,104.21 1 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:108.59,111.2 2 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:114.100,115.17 1 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:115.17,117.3 1 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:118.2,124.22 4 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:124.22,126.3 1 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:127.2,129.25 1 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:134.58,137.2 2 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:139.66,140.17 1 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:140.17,142.3 1 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:143.2,144.27 2 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:144.27,146.3 1 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:147.2,147.32 1 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:147.32,149.3 1 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:150.2,150.18 1 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:154.42,156.40 2 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:156.40,158.3 1 0 +github.com/thebtf/engram/internal/db/gorm/auth_session_store.go:159.2,159.35 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:28.66,30.2 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:34.121,35.17 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:35.17,37.3 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:38.2,38.24 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:38.24,40.3 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:42.2,47.25 3 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:47.25,50.3 2 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:52.2,62.22 2 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:62.22,64.3 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:66.2,66.64 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:66.64,68.3 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:69.2,69.43 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:74.99,75.13 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:75.13,77.3 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:78.2,82.16 3 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:82.16,84.3 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:85.2,85.44 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:97.120,99.2 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:103.127,105.2 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:107.138,108.16 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:112.2,117.20 2 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:117.20,119.3 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:119.8,121.3 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:122.2,122.17 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:122.17,124.3 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:126.2,127.44 2 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:127.44,129.3 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:130.2,131.22 2 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:131.22,133.3 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:134.2,134.20 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:140.106,141.16 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:141.16,143.3 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:145.2,150.33 2 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:150.33,152.3 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:154.2,155.22 2 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:155.22,157.3 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:158.2,158.20 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:164.121,165.17 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:165.17,167.3 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:168.2,168.18 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:168.18,170.3 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:171.2,171.24 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:171.24,173.3 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:175.2,190.25 4 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:190.25,192.3 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:193.2,193.30 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:193.30,195.3 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:197.2,197.28 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:201.138,202.13 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:202.13,204.3 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:206.2,212.21 3 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:212.21,213.61 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:213.61,215.4 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:218.2,222.25 2 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:222.25,224.3 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:225.2,225.30 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:225.30,227.3 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:229.2,229.23 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:234.76,235.13 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:235.13,237.3 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:238.2,246.25 3 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:246.25,248.3 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:249.2,249.30 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:249.30,251.3 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:252.2,252.12 1 0 +github.com/thebtf/engram/internal/db/gorm/behavioral_rules_store.go:256.75,269.2 1 0 +github.com/thebtf/engram/internal/db/gorm/books_store.go:22.42,22.65 1 0 +github.com/thebtf/engram/internal/db/gorm/books_store.go:33.46,34.18 1 0 +github.com/thebtf/engram/internal/db/gorm/books_store.go:34.18,36.3 1 0 +github.com/thebtf/engram/internal/db/gorm/books_store.go:37.2,37.39 1 0 +github.com/thebtf/engram/internal/db/gorm/books_store.go:41.94,42.29 1 0 +github.com/thebtf/engram/internal/db/gorm/books_store.go:42.29,44.3 1 0 +github.com/thebtf/engram/internal/db/gorm/books_store.go:46.2,47.21 2 0 +github.com/thebtf/engram/internal/db/gorm/books_store.go:47.21,49.3 1 0 +github.com/thebtf/engram/internal/db/gorm/books_store.go:51.2,55.68 2 0 +github.com/thebtf/engram/internal/db/gorm/books_store.go:55.68,57.3 1 0 +github.com/thebtf/engram/internal/db/gorm/books_store.go:58.2,58.40 1 0 +github.com/thebtf/engram/internal/db/gorm/books_store.go:62.89,63.29 1 0 +github.com/thebtf/engram/internal/db/gorm/books_store.go:63.29,65.3 1 0 +github.com/thebtf/engram/internal/db/gorm/books_store.go:66.2,66.13 1 0 +github.com/thebtf/engram/internal/db/gorm/books_store.go:66.13,68.3 1 0 +github.com/thebtf/engram/internal/db/gorm/books_store.go:70.2,71.87 2 0 +github.com/thebtf/engram/internal/db/gorm/books_store.go:71.87,73.3 1 0 +github.com/thebtf/engram/internal/db/gorm/books_store.go:74.2,74.40 1 0 +github.com/thebtf/engram/internal/db/gorm/books_store.go:78.140,79.29 1 0 +github.com/thebtf/engram/internal/db/gorm/books_store.go:79.29,81.3 1 0 +github.com/thebtf/engram/internal/db/gorm/books_store.go:82.2,82.13 1 0 +github.com/thebtf/engram/internal/db/gorm/books_store.go:82.13,84.3 1 0 +github.com/thebtf/engram/internal/db/gorm/books_store.go:85.2,85.32 1 0 +github.com/thebtf/engram/internal/db/gorm/books_store.go:85.32,87.3 1 0 +github.com/thebtf/engram/internal/db/gorm/books_store.go:89.2,93.40 2 0 +github.com/thebtf/engram/internal/db/gorm/books_store.go:93.40,95.3 1 0 +github.com/thebtf/engram/internal/db/gorm/books_store.go:95.8,97.3 1 0 +github.com/thebtf/engram/internal/db/gorm/books_store.go:99.2,103.25 2 0 +github.com/thebtf/engram/internal/db/gorm/books_store.go:103.25,105.3 1 0 +github.com/thebtf/engram/internal/db/gorm/books_store.go:106.2,106.30 1 0 +github.com/thebtf/engram/internal/db/gorm/books_store.go:106.30,108.3 1 0 +github.com/thebtf/engram/internal/db/gorm/books_store.go:109.2,109.29 1 0 +github.com/thebtf/engram/internal/db/gorm/books_store.go:112.56,113.16 1 0 +github.com/thebtf/engram/internal/db/gorm/books_store.go:114.113,115.14 1 0 +github.com/thebtf/engram/internal/db/gorm/books_store.go:116.10,117.15 1 0 +github.com/thebtf/engram/internal/db/gorm/books_store.go:121.65,130.2 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:45.40,45.79 1 3 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:50.48,51.17 1 106 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:51.17,53.3 1 9 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:54.2,54.23 1 97 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:57.47,58.16 1 104 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:58.16,61.3 2 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:62.2,62.25 1 104 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:63.14,64.30 1 104 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:65.14,66.17 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:68.2,68.12 1 104 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:72.74,74.32 2 164 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:74.32,76.3 1 164 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:77.2,96.10 2 164 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:100.76,102.28 2 76 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:102.28,104.3 1 76 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:105.2,106.29 2 76 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:106.29,108.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:109.2,126.20 3 76 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:126.20,128.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:129.2,129.10 1 76 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:139.77,141.2 1 78 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:146.132,147.14 1 76 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:147.14,149.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:150.2,152.25 3 76 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:152.25,154.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:155.2,155.36 1 76 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:159.103,161.68 2 76 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:161.68,163.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:164.2,164.37 1 76 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:170.162,171.16 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:171.16,173.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:174.2,178.19 2 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:178.19,180.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:181.2,182.44 2 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:182.44,184.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:185.2,186.22 2 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:186.22,188.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:189.2,189.17 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:194.140,195.20 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:195.20,197.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:198.2,204.16 4 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:204.16,206.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:207.2,208.22 2 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:208.22,210.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:211.2,211.17 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:242.45,245.67 2 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:245.67,249.3 3 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:250.2,250.16 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:250.16,252.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:258.2,258.25 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:258.25,260.22 2 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:260.22,262.4 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:263.3,270.13 3 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:270.13,271.17 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:271.17,272.33 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:272.33,275.6 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:277.4,279.64 3 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:279.64,282.5 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:285.2,285.20 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:294.79,298.37 2 3 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:298.37,300.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:302.2,303.43 2 3 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:303.43,305.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:306.2,312.33 3 3 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:312.33,314.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:316.2,316.110 1 3 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:316.110,318.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:321.2,321.66 1 3 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:321.66,323.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:324.2,324.45 1 3 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:330.144,333.2 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:351.61,352.51 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:352.51,354.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:356.2,358.67 3 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:358.67,362.3 3 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:363.2,363.16 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:363.16,365.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:367.2,368.45 2 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:383.85,385.2 1 16 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:397.85,399.2 1 16 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:410.85,411.51 1 32 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:411.51,413.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:414.2,415.24 2 32 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:415.24,417.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:418.2,419.21 2 32 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:419.21,421.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:422.2,422.135 1 32 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:422.135,424.3 1 29 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:426.2,430.67 5 3 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:430.67,433.17 3 3 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:433.17,435.4 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:437.3,438.17 2 3 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:438.17,440.4 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:442.3,442.28 1 3 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:442.28,443.126 1 3 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:443.126,445.5 1 1 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:447.3,448.17 2 2 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:448.17,450.4 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:451.3,452.106 2 2 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:454.2,454.16 1 3 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:454.16,456.3 1 1 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:458.2,459.62 2 2 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:462.54,463.16 1 32 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:463.16,465.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:466.2,466.53 1 32 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:466.53,468.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:469.2,469.12 1 32 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:472.211,476.46 2 3 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:476.46,478.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:479.2,480.64 2 3 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:480.64,482.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:483.2,485.28 2 3 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:485.28,489.3 3 3 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:492.2,493.16 2 3 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:493.16,495.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:496.2,496.20 1 3 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:496.20,498.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:501.2,506.119 2 3 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:506.119,508.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:509.2,509.75 1 3 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:509.75,511.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:512.2,512.54 1 3 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:515.142,516.76 1 2 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:516.76,518.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:519.2,526.12 3 2 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:526.12,527.16 1 2 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:527.16,527.29 1 2 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:528.3,530.38 3 2 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:534.57,536.17 2 61 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:536.17,538.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:539.2,539.14 1 61 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:549.9,550.21 1 77 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:550.21,552.3 1 6 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:553.2,553.26 1 71 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:553.26,555.3 1 5 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:556.2,556.25 1 66 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:556.25,558.3 1 5 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:559.2,559.63 1 61 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:559.63,561.3 1 5 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:562.2,563.60 2 56 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:563.60,565.3 1 5 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:566.2,566.42 1 51 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:566.42,568.3 1 5 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:570.2,571.94 2 46 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:571.94,573.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:574.2,575.136 2 46 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:575.136,577.3 1 5 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:578.2,579.116 2 41 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:579.116,581.3 1 5 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:582.2,583.129 2 36 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:583.129,585.3 1 5 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:587.2,588.89 2 31 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:588.89,590.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:591.2,591.23 1 31 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:591.23,593.3 1 5 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:594.2,596.9 3 26 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:596.9,598.3 1 5 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:599.2,599.94 1 21 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:599.94,601.3 1 5 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:602.2,603.71 2 16 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:603.71,605.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:606.2,606.39 1 16 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:606.39,608.3 1 5 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:609.2,609.65 1 11 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:609.65,611.3 1 5 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:612.2,612.12 1 6 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:623.9,624.25 1 5 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:624.25,626.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:627.2,627.35 1 5 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:627.35,629.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:630.2,631.16 2 5 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:631.16,633.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:634.2,635.16 2 5 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:635.16,637.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:638.2,641.18 4 5 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:641.18,643.3 1 2 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:644.2,652.43 2 5 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:655.205,656.21 1 6 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:656.21,658.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:659.2,659.26 1 6 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:659.26,661.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:662.2,663.16 2 6 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:663.16,665.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:666.2,666.29 1 6 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:672.135,674.2 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:686.69,688.2 1 15 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:700.69,702.2 1 15 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:713.69,715.2 1 15 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:726.69,728.120 2 45 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:728.120,730.3 1 42 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:732.2,734.67 3 3 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:734.67,737.17 3 3 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:737.17,739.4 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:741.3,742.17 2 3 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:742.17,744.4 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:745.3,747.17 3 3 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:747.17,749.4 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:750.3,751.102 2 3 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:753.2,753.16 1 3 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:753.16,755.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:756.2,756.47 1 3 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:764.28,765.53 1 5 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:765.53,767.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:769.2,772.33 2 5 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:772.33,774.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:775.2,775.66 1 5 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:775.66,777.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:779.2,780.74 2 5 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:780.74,782.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:783.2,785.9 3 5 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:785.9,787.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:788.2,788.43 1 5 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:788.43,790.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:792.2,793.16 2 5 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:793.16,795.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:796.2,799.16 4 5 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:799.16,801.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:803.2,806.25 2 5 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:806.25,808.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:809.2,809.30 1 5 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:809.30,811.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:812.2,812.38 1 5 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:817.122,819.2 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:823.119,825.2 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:833.114,834.14 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:834.14,836.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:837.2,837.15 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:837.15,839.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:840.2,862.25 4 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:862.25,864.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:865.2,865.30 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:865.30,867.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:868.2,868.12 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:875.135,876.23 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:876.23,878.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:879.2,884.44 3 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:884.44,886.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:887.2,887.16 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:887.16,889.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:890.2,890.37 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:895.126,896.23 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:896.23,898.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:899.2,903.44 3 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:903.44,905.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:906.2,906.16 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:906.16,908.3 1 0 +github.com/thebtf/engram/internal/db/gorm/candidate_store.go:909.2,909.37 1 0 +github.com/thebtf/engram/internal/db/gorm/citation_log_store.go:25.42,25.67 1 0 +github.com/thebtf/engram/internal/db/gorm/citation_log_store.go:33.58,35.2 1 0 +github.com/thebtf/engram/internal/db/gorm/citation_log_store.go:39.93,40.23 1 0 +github.com/thebtf/engram/internal/db/gorm/citation_log_store.go:40.23,42.3 1 0 +github.com/thebtf/engram/internal/db/gorm/citation_log_store.go:43.2,43.69 1 0 +github.com/thebtf/engram/internal/db/gorm/citation_log_store.go:43.69,45.3 1 0 +github.com/thebtf/engram/internal/db/gorm/citation_log_store.go:46.2,46.12 1 0 +github.com/thebtf/engram/internal/db/gorm/citation_log_store.go:51.106,52.21 1 0 +github.com/thebtf/engram/internal/db/gorm/citation_log_store.go:52.21,54.3 1 0 +github.com/thebtf/engram/internal/db/gorm/citation_log_store.go:55.2,60.16 3 0 +github.com/thebtf/engram/internal/db/gorm/citation_log_store.go:60.16,62.3 1 0 +github.com/thebtf/engram/internal/db/gorm/citation_log_store.go:63.2,63.17 1 0 +github.com/thebtf/engram/internal/db/gorm/citation_log_store.go:63.17,65.3 1 0 +github.com/thebtf/engram/internal/db/gorm/citation_log_store.go:66.2,66.18 1 0 +github.com/thebtf/engram/internal/db/gorm/citation_log_store.go:71.103,72.19 1 0 +github.com/thebtf/engram/internal/db/gorm/citation_log_store.go:72.19,74.3 1 0 +github.com/thebtf/engram/internal/db/gorm/citation_log_store.go:75.2,80.16 3 0 +github.com/thebtf/engram/internal/db/gorm/citation_log_store.go:80.16,82.3 1 0 +github.com/thebtf/engram/internal/db/gorm/citation_log_store.go:83.2,83.17 1 0 +github.com/thebtf/engram/internal/db/gorm/citation_log_store.go:83.17,85.3 1 0 +github.com/thebtf/engram/internal/db/gorm/citation_log_store.go:86.2,86.18 1 0 +github.com/thebtf/engram/internal/db/gorm/citation_log_store.go:91.101,95.25 2 0 +github.com/thebtf/engram/internal/db/gorm/citation_log_store.go:95.25,97.3 1 0 +github.com/thebtf/engram/internal/db/gorm/citation_log_store.go:98.2,98.33 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:54.37,54.61 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:67.53,69.2 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:78.78,79.18 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:79.18,81.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:90.2,111.25 2 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:111.25,113.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:114.2,114.12 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:119.101,120.21 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:120.21,122.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:123.2,123.20 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:123.20,125.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:126.2,129.25 2 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:129.25,131.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:132.2,132.12 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:144.112,145.21 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:145.21,147.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:148.2,148.24 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:148.24,151.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:156.2,163.25 2 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:163.25,165.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:166.2,166.12 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:172.112,173.21 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:173.21,175.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:176.2,176.16 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:176.16,178.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:179.2,184.76 2 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:184.76,186.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:187.2,188.22 2 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:188.22,191.3 2 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:192.2,192.17 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:198.95,199.21 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:199.21,201.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:202.2,206.78 2 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:206.78,208.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:209.2,209.19 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:220.100,221.13 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:221.13,223.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:224.2,226.25 2 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:226.25,228.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:229.2,229.12 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:240.95,241.16 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:241.16,243.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:244.2,249.76 2 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:249.76,251.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:252.2,253.22 2 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:253.22,256.3 2 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:257.2,257.17 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:264.76,266.2 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:281.116,282.21 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:282.21,284.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:285.2,293.33 3 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:293.33,295.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:296.2,297.25 2 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:297.25,303.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:304.2,304.17 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:315.123,316.21 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:316.21,318.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:319.2,319.21 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:319.21,321.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:322.2,322.24 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:322.24,324.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:325.2,334.25 2 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:334.25,336.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:337.2,337.33 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:354.98,355.21 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:355.21,357.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:358.2,358.21 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:358.21,360.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:361.2,366.25 2 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:366.25,368.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:369.2,369.12 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:387.115,388.21 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:388.21,390.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:391.2,391.21 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:391.21,393.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:399.2,402.39 2 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:402.39,404.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:405.2,405.21 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:405.21,409.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:411.2,413.25 2 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:413.25,415.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:416.2,416.33 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:447.125,448.21 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:448.21,450.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:451.2,451.17 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:451.17,453.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:454.2,454.16 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:454.16,456.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:457.2,457.17 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:457.17,459.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:464.2,495.76 4 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:495.76,497.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:499.2,500.25 2 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:500.25,510.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:511.2,511.17 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:523.159,524.21 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:524.21,526.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:527.2,527.24 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:527.24,529.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:530.2,530.16 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:530.16,532.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:533.2,533.20 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:533.20,535.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:537.2,570.76 5 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:570.76,572.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:574.2,575.25 2 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:575.25,585.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:586.2,586.17 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:593.103,594.21 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:594.21,596.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:597.2,601.78 2 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:601.78,603.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:604.2,604.19 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:611.112,612.21 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:612.21,614.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:615.2,620.35 2 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:620.35,622.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:623.2,623.25 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:623.25,625.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:626.2,626.33 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:634.105,635.21 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:635.21,637.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:638.2,638.21 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:638.21,640.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:641.2,643.25 2 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:643.25,645.3 1 0 +github.com/thebtf/engram/internal/db/gorm/code_chunk_store.go:646.2,646.33 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:26.56,28.2 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:34.108,35.17 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:35.17,37.3 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:38.2,38.24 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:38.24,40.3 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:41.2,41.20 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:41.20,43.3 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:44.2,44.36 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:44.36,46.3 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:47.2,47.41 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:47.41,49.3 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:55.2,69.22 4 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:69.22,71.3 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:73.2,73.64 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:73.64,75.3 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:76.2,76.39 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:81.101,82.19 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:82.19,84.3 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:85.2,85.15 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:85.15,87.3 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:88.2,92.16 3 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:92.16,94.3 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:95.2,95.40 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:103.98,104.15 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:104.15,106.3 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:107.2,112.16 3 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:115.2,115.40 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:120.99,121.19 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:121.19,123.3 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:124.2,129.16 3 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:129.16,131.3 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:132.2,133.22 2 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:133.22,135.3 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:136.2,136.20 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:141.86,147.16 3 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:150.2,151.22 2 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:151.22,153.3 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:154.2,154.20 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:169.82,170.19 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:170.19,172.3 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:173.2,173.15 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:173.15,175.3 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:176.2,179.25 2 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:179.25,181.3 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:182.2,182.30 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:182.30,184.3 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:185.2,185.12 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:191.79,192.15 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:192.15,194.3 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:196.2,200.33 2 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:200.33,202.3 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:203.2,204.25 2 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:204.25,206.3 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:207.2,207.12 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:212.80,218.16 3 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:218.16,220.3 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:221.2,221.19 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:229.120,236.16 3 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:239.2,239.19 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:247.118,248.30 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:248.30,250.3 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:251.2,255.25 2 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:255.25,257.3 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:258.2,258.33 1 0 +github.com/thebtf/engram/internal/db/gorm/credential_store.go:262.63,276.2 1 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:29.52,34.2 1 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:37.125,44.21 3 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:44.21,46.3 1 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:48.2,59.111 2 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:59.111,61.3 1 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:63.2,64.119 2 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:64.119,66.3 1 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:68.2,68.18 1 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:72.102,76.33 2 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:76.33,77.36 1 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:77.36,79.4 1 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:80.3,80.50 1 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:83.2,83.18 1 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:87.88,89.86 2 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:89.86,90.36 1 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:90.36,92.4 1 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:93.3,93.49 1 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:96.2,96.22 1 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:100.116,102.16 2 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:102.16,104.3 1 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:106.2,107.66 2 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:107.66,109.3 1 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:111.2,111.18 1 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:116.91,118.2 1 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:123.111,125.2 1 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:129.80,131.2 1 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:134.96,139.21 1 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:139.21,141.3 1 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:143.2,143.12 1 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:147.92,156.16 3 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:156.16,158.3 1 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:159.2,162.18 3 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:162.18,165.56 3 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:165.56,167.4 1 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:168.3,168.29 1 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:171.2,171.35 1 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:171.35,173.3 1 0 +github.com/thebtf/engram/internal/db/gorm/document_store.go:175.2,175.20 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:123.58,125.2 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:129.95,131.16 2 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:131.16,133.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:135.2,148.16 5 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:148.16,150.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:151.2,151.31 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:157.135,159.16 2 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:159.16,161.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:162.2,162.32 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:162.32,164.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:166.2,175.22 3 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:175.22,177.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:178.2,178.27 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:178.27,179.57 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:179.57,181.4 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:182.3,182.91 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:184.2,184.31 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:188.90,190.18 2 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:190.18,192.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:193.2,194.86 2 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:194.86,196.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:197.2,197.18 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:202.107,204.16 2 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:204.16,206.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:208.2,209.29 2 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:209.29,211.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:212.2,212.37 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:212.37,214.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:215.2,215.41 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:215.41,217.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:218.2,218.27 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:218.27,220.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:221.2,222.27 2 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:222.27,224.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:226.2,227.48 2 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:227.48,229.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:230.2,231.22 2 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:231.22,233.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:234.2,234.20 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:240.77,242.18 2 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:242.18,244.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:245.2,246.22 2 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:246.22,248.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:249.2,249.27 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:249.27,251.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:252.2,252.12 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:257.126,261.16 4 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:261.16,263.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:264.2,264.17 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:264.17,266.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:267.2,267.43 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:267.43,269.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:271.2,272.70 2 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:272.70,274.114 2 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:274.114,276.4 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:277.3,277.56 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:277.56,279.4 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:280.3,280.96 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:280.96,282.4 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:283.3,284.17 2 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:284.17,286.4 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:287.3,294.47 3 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:294.47,296.4 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:297.3,299.82 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:299.82,301.4 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:302.3,309.5 2 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:311.2,311.16 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:311.16,313.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:314.2,314.21 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:318.94,328.33 3 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:328.33,330.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:331.2,332.27 2 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:332.27,334.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:335.2,339.34 2 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:339.34,340.66 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:340.66,342.4 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:344.2,344.20 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:348.114,350.2 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:353.129,355.2 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:358.104,360.2 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:363.127,364.17 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:364.17,366.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:367.2,367.16 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:367.16,369.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:370.2,371.73 2 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:371.73,373.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:374.2,375.16 2 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:375.16,377.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:378.2,379.16 2 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:379.16,381.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:382.2,383.16 2 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:383.16,385.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:386.2,387.16 2 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:387.16,389.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:390.2,396.8 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:400.96,402.2 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:404.114,407.18 3 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:407.18,409.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:410.2,410.17 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:410.17,412.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:413.2,414.16 2 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:414.16,416.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:417.2,418.16 2 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:418.16,420.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:421.2,422.24 2 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:422.24,424.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:425.2,433.49 2 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:436.65,437.15 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:437.15,439.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:440.2,446.22 2 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:446.22,448.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:449.2,449.30 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:449.30,451.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:452.2,452.60 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:452.60,454.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:455.2,455.37 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:455.37,457.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:458.2,458.17 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:461.99,466.94 5 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:466.94,468.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:469.2,469.57 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:469.57,471.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:472.2,472.21 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:472.21,474.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:475.2,475.22 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:475.22,477.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:478.2,478.21 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:478.21,480.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:481.2,481.18 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:484.54,485.14 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:486.101,487.14 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:488.10,489.15 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:493.45,494.14 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:495.70,496.14 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:497.10,498.15 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:519.147,520.16 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:520.16,522.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:523.2,542.22 2 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:542.22,544.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:545.2,545.19 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:545.19,547.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:548.2,550.44 3 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:550.44,552.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:553.2,554.27 2 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:554.27,572.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:573.2,573.20 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:591.144,592.16 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:592.16,594.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:595.2,612.19 3 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:612.19,614.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:615.2,615.21 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:615.21,617.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:618.2,620.44 3 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:620.44,622.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:623.2,624.27 2 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:624.27,640.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:641.2,641.20 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:644.145,645.16 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:645.16,647.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:648.2,649.25 2 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:649.25,651.23 2 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:651.23,653.4 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:653.9,655.4 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:656.8,656.29 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:656.29,658.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:659.2,660.82 2 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:660.82,662.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:663.2,664.27 2 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:664.27,674.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:675.2,675.20 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:678.57,679.14 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:679.14,681.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:682.2,683.16 2 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:683.16,685.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:686.2,687.18 2 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:690.59,691.34 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:691.34,693.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:694.2,695.51 2 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:695.51,697.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:698.2,698.12 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:701.91,702.19 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:702.19,704.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:705.2,705.22 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:705.22,707.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:708.2,708.40 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:708.40,710.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:711.2,711.18 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:714.80,715.22 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:715.22,717.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:718.2,718.40 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:718.40,720.3 1 0 +github.com/thebtf/engram/internal/db/gorm/domain_owner_store.go:721.2,721.17 1 0 +github.com/thebtf/engram/internal/db/gorm/helpers.go:22.96,42.2 3 0 +github.com/thebtf/engram/internal/db/gorm/helpers.go:48.45,49.13 1 0 +github.com/thebtf/engram/internal/db/gorm/helpers.go:49.13,51.3 1 0 +github.com/thebtf/engram/internal/db/gorm/helpers.go:52.2,52.47 1 0 +github.com/thebtf/engram/internal/db/gorm/helpers.go:62.61,63.46 1 0 +github.com/thebtf/engram/internal/db/gorm/helpers.go:63.46,64.63 1 0 +github.com/thebtf/engram/internal/db/gorm/helpers.go:64.63,66.4 1 0 +github.com/thebtf/engram/internal/db/gorm/helpers.go:68.2,68.21 1 0 +github.com/thebtf/engram/internal/db/gorm/helpers.go:74.78,75.19 1 0 +github.com/thebtf/engram/internal/db/gorm/helpers.go:75.19,77.3 1 0 +github.com/thebtf/engram/internal/db/gorm/helpers.go:78.2,79.22 2 0 +github.com/thebtf/engram/internal/db/gorm/helpers.go:79.22,81.3 1 0 +github.com/thebtf/engram/internal/db/gorm/helpers.go:82.2,82.14 1 0 +github.com/thebtf/engram/internal/db/gorm/helpers.go:87.44,88.47 1 0 +github.com/thebtf/engram/internal/db/gorm/helpers.go:88.47,89.64 1 0 +github.com/thebtf/engram/internal/db/gorm/helpers.go:89.64,91.4 1 0 +github.com/thebtf/engram/internal/db/gorm/helpers.go:93.2,93.10 1 0 +github.com/thebtf/engram/internal/db/gorm/helpers.go:105.80,110.2 1 0 +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:20.60,22.2 1 0 +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:26.109,27.21 1 0 +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:27.21,29.3 1 0 +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:30.2,30.19 1 0 +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:30.19,32.3 1 0 +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:33.2,33.25 1 0 +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:33.25,35.3 1 0 +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:37.2,38.16 2 0 +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:38.16,40.3 1 0 +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:42.2,46.16 2 0 +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:46.16,48.3 1 0 +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:49.2,49.12 1 0 +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:55.98,56.21 1 0 +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:56.21,58.3 1 0 +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:60.2,61.16 2 0 +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:61.16,63.3 1 0 +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:65.2,69.16 2 0 +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:69.16,71.3 1 0 +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:72.2,75.18 3 0 +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:75.18,77.41 2 0 +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:77.41,79.4 1 0 +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:80.3,80.43 1 0 +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:82.2,82.35 1 0 +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:82.35,84.3 1 0 +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:85.2,85.19 1 0 +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:85.19,87.3 1 0 +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:88.2,88.20 1 0 +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:93.102,95.16 2 0 +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:99.2,103.16 2 0 +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:103.16,105.3 1 0 +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:106.2,107.16 2 0 +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:107.16,109.3 1 0 +github.com/thebtf/engram/internal/db/gorm/injection_log_store.go:110.2,110.15 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:28.55,30.2 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:33.58,35.40 2 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:35.40,37.3 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:38.2,38.35 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:42.138,44.16 2 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:44.16,46.3 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:47.2,48.16 2 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:48.16,50.3 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:51.2,52.24 2 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:52.24,54.3 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:55.2,56.27 2 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:56.27,58.3 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:60.2,68.47 2 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:68.47,70.3 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:71.2,71.17 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:75.76,76.13 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:76.13,78.3 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:79.2,80.51 2 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:80.51,82.3 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:83.2,83.18 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:87.80,89.16 2 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:89.16,91.3 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:92.2,93.71 2 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:93.71,95.3 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:96.2,96.36 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:101.80,103.16 2 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:103.16,105.3 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:106.2,106.50 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:106.50,108.114 2 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:108.114,110.4 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:111.3,111.56 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:111.56,113.4 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:114.3,117.83 2 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:117.83,119.4 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:120.3,120.13 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:126.101,127.13 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:127.13,129.3 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:130.2,132.50 3 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:132.50,134.94 2 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:134.94,136.4 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:137.3,137.45 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:137.45,139.4 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:140.3,140.27 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:140.27,143.4 2 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:144.3,149.23 3 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:149.23,151.4 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:152.3,152.135 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:152.135,154.4 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:155.3,156.13 2 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:158.2,158.21 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:162.68,164.79 2 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:164.79,166.3 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:167.2,167.25 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:170.66,171.16 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:171.16,173.3 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:174.2,175.44 2 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:175.44,177.3 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:178.2,178.26 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:178.26,180.3 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:181.2,181.31 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:181.31,183.3 1 0 +github.com/thebtf/engram/internal/db/gorm/invitation_store.go:184.2,184.17 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:18.47,20.2 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:33.45,35.2 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:39.83,41.2 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:53.84,69.26 3 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:69.26,71.3 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:72.2,72.28 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:72.28,74.3 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:75.2,75.24 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:75.24,77.3 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:80.2,81.36 2 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:81.36,83.3 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:84.2,85.40 2 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:85.40,87.3 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:88.2,88.36 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:88.36,90.3 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:92.2,92.69 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:92.69,94.3 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:95.2,95.24 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:111.147,118.2 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:121.113,123.16 2 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:127.2,132.32 2 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:132.32,136.3 2 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:137.2,137.32 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:137.32,141.3 2 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:142.2,142.30 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:142.30,144.3 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:145.2,145.33 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:145.33,147.3 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:148.2,148.23 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:148.23,150.3 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:152.2,153.50 2 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:153.50,155.3 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:157.2,164.16 3 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:164.16,166.3 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:168.2,168.27 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:172.94,174.70 2 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:174.70,175.36 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:175.36,177.4 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:178.3,178.52 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:181.2,185.37 2 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:185.37,187.3 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:189.2,189.30 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:193.92,200.16 3 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:201.18,202.31 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:203.18,204.31 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:205.22,206.35 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:207.16,208.29 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:211.2,212.25 2 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:212.25,214.3 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:215.2,215.30 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:215.30,217.3 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:218.2,218.12 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:222.107,232.67 3 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:232.67,235.89 2 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:235.89,237.4 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:238.3,238.17 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:238.17,240.4 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:241.3,241.51 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:241.51,243.4 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:244.3,244.85 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:246.2,246.16 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:246.16,248.3 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:249.2,249.24 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:254.89,255.19 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:255.19,257.3 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:259.2,269.25 3 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:269.25,271.3 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:272.2,272.33 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:278.115,279.67 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:279.67,282.52 2 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:282.52,283.37 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:283.37,285.5 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:286.4,286.14 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:288.3,288.33 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:288.33,290.4 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:293.3,299.26 3 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:299.26,301.4 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:302.3,302.31 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:302.31,304.4 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:307.3,307.20 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:307.20,315.4 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:317.3,317.13 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:321.92,323.2 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:333.109,334.67 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:334.67,336.52 2 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:336.52,337.37 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:337.37,339.5 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:340.4,340.14 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:357.3,360.48 4 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:360.48,362.27 2 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:362.27,363.13 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:365.4,365.36 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:365.36,367.5 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:368.4,368.40 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:368.40,369.13 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:371.4,372.76 2 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:375.3,375.47 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:375.47,380.30 3 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:380.30,383.83 3 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:383.83,385.11 2 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:388.4,388.19 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:388.19,395.5 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:402.3,403.52 2 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:403.52,405.4 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:406.3,406.31 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:406.31,408.4 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:410.3,416.26 3 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:416.26,418.4 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:419.3,419.31 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:419.31,421.4 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:422.3,422.13 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:426.73,427.26 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:427.26,429.3 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:430.2,431.39 2 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:431.39,432.42 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:432.42,434.12 2 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:436.3,436.82 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:438.2,438.46 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:443.115,444.19 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:444.19,446.3 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:447.2,447.67 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:447.67,454.26 3 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:454.26,456.4 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:457.3,457.31 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:457.31,459.4 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:460.3,466.11 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:471.71,472.67 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:472.67,473.84 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:473.84,475.4 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:476.3,477.26 2 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:477.26,479.4 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:480.3,480.31 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:480.31,482.4 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:483.3,483.13 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:489.135,493.17 2 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:493.17,495.3 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:496.2,496.16 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:496.16,498.3 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:499.2,499.20 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:499.20,501.33 2 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:501.33,503.4 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:504.3,504.33 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:506.2,506.21 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:506.21,507.34 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:507.34,509.4 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:510.3,510.30 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:512.2,512.19 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:512.19,514.3 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:516.2,517.25 2 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:517.25,519.3 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:520.2,520.30 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:520.30,522.3 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:523.2,523.12 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:528.80,539.16 3 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:539.16,541.3 1 0 +github.com/thebtf/engram/internal/db/gorm/issue_store.go:542.2,542.22 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:34.48,36.2 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:91.46,92.16 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:92.16,94.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:95.2,95.32 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:95.32,97.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:98.2,98.14 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:101.51,103.32 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:103.32,105.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:106.2,106.17 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:106.17,108.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:109.2,109.14 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:112.54,114.2 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:116.58,117.68 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:117.68,118.27 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:118.27,120.4 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:121.3,121.11 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:123.2,123.18 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:123.18,125.28 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:125.28,127.4 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:129.2,129.33 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:132.47,134.27 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:134.27,136.16 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:136.16,137.12 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:139.3,139.31 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:141.2,141.15 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:144.44,145.17 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:145.17,147.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:148.2,150.15 3 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:153.50,155.16 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:155.16,157.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:158.2,158.13 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:161.77,163.22 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:163.22,171.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:172.2,172.15 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:175.74,176.16 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:176.16,178.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:179.2,179.97 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:179.97,181.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:182.2,182.155 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:182.155,184.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:185.2,185.114 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:185.114,187.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:188.2,188.84 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:188.84,190.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:191.2,191.67 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:191.67,193.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:194.2,194.23 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:194.23,196.31 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:196.31,197.20 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:197.20,199.10 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:202.3,202.15 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:202.15,204.4 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:206.2,206.13 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:209.56,210.16 1 32 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:210.16,212.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:213.2,213.23 1 32 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:213.23,215.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:216.2,216.23 1 32 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:216.23,218.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:219.2,219.62 1 32 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:219.62,221.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:222.2,222.12 1 32 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:225.65,230.17 4 32 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:230.17,231.17 1 32 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:231.17,233.4 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:234.3,234.23 1 32 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:234.23,236.4 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:237.3,237.13 1 32 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:240.2,240.58 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:240.58,242.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:243.2,243.68 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:243.68,245.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:246.2,246.12 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:249.56,250.14 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:251.35,252.14 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:253.10,254.15 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:258.91,273.21 2 3 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:273.21,275.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:276.2,276.22 1 3 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:276.22,278.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:279.2,279.28 1 3 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:279.28,281.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:282.2,282.29 1 3 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:282.29,284.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:285.2,285.22 1 3 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:285.22,287.21 1 3 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:287.21,289.4 1 3 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:290.3,290.30 1 3 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:290.30,292.4 1 3 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:293.3,293.30 1 3 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:293.30,295.4 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:297.2,297.12 1 3 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:309.57,310.28 1 3 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:310.28,312.3 1 3 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:312.8,314.30 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:314.30,315.27 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:315.27,317.10 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:321.2,322.33 2 3 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:322.33,324.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:327.65,331.17 3 3 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:331.17,333.3 1 3 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:335.2,336.16 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:336.16,338.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:339.2,340.22 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:340.22,344.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:346.2,348.34 3 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:351.45,353.29 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:353.29,356.3 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:357.2,358.48 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:361.53,363.16 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:363.16,365.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:366.2,366.30 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:376.95,377.53 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:377.53,379.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:381.2,392.64 5 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:392.64,394.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:395.2,395.35 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:406.108,407.53 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:407.53,409.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:411.2,422.64 5 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:422.64,424.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:425.2,425.35 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:434.112,439.62 5 3 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:439.62,441.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:442.2,442.35 1 3 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:454.33,455.53 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:455.53,457.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:458.2,458.27 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:458.27,460.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:461.2,461.21 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:461.21,463.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:465.2,468.67 4 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:468.67,469.83 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:469.83,471.4 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:473.3,474.17 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:474.17,476.4 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:477.3,482.17 3 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:482.17,485.4 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:486.3,486.46 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:486.46,488.4 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:490.3,495.46 4 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:495.46,497.4 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:498.3,499.13 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:501.2,501.16 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:501.16,503.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:504.2,504.32 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:509.82,510.13 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:510.13,512.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:513.2,517.16 3 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:517.16,519.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:520.2,520.36 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:530.102,532.16 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:532.16,534.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:535.2,535.20 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:606.120,607.19 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:607.19,609.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:611.2,615.16 3 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:615.16,617.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:618.2,618.20 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:628.124,630.53 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:630.53,632.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:634.2,635.57 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:635.57,637.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:639.2,640.16 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:640.16,641.20 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:641.20,643.4 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:644.3,644.85 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:646.2,646.20 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:649.47,651.2 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:653.70,655.46 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:655.46,657.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:658.2,658.38 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:661.54,665.2 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:667.77,675.16 4 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:675.16,677.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:678.2,679.22 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:679.22,681.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:682.2,682.20 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:685.68,686.28 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:686.28,688.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:688.8,690.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:691.2,691.28 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:691.28,693.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:694.2,694.71 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:694.71,696.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:697.2,697.38 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:697.38,700.48 3 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:700.48,702.15 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:702.15,703.13 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:705.4,706.66 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:708.3,708.21 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:708.21,710.4 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:712.2,712.23 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:712.23,714.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:715.2,715.66 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:715.66,717.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:718.2,718.85 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:718.85,720.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:721.2,721.77 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:721.77,723.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:724.2,724.60 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:724.60,726.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:727.2,727.10 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:730.46,735.16 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:735.16,737.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:738.2,738.32 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:738.32,740.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:741.2,741.14 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:744.48,745.16 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:745.16,747.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:748.2,748.15 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:751.41,754.2 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:767.124,768.19 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:768.19,770.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:771.2,771.16 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:771.16,773.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:774.2,774.16 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:774.16,776.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:778.2,799.16 3 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:799.16,801.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:802.2,803.22 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:803.22,805.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:806.2,806.20 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:812.114,813.19 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:813.19,815.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:816.2,816.16 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:816.16,818.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:819.2,826.22 4 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:826.22,829.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:831.2,834.16 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:834.16,836.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:837.2,838.22 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:838.22,840.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:841.2,841.20 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:847.95,848.16 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:848.16,850.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:851.2,851.17 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:851.17,853.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:854.2,854.23 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:854.23,856.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:858.2,874.25 4 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:874.25,876.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:877.2,877.30 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:877.30,879.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:882.2,882.27 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:887.67,888.13 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:888.13,890.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:891.2,899.25 3 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:899.25,901.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:902.2,902.30 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:902.30,904.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:905.2,905.12 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:913.99,914.13 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:914.13,916.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:918.2,919.107 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:919.107,921.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:922.2,932.25 4 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:932.25,934.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:935.2,935.30 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:935.30,937.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:938.2,938.27 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:950.87,951.18 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:951.18,953.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:954.2,954.16 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:954.16,956.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:957.2,965.25 3 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:965.25,967.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:970.2,970.30 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:970.30,972.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:973.2,973.12 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:978.105,979.13 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:979.13,981.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:982.2,982.19 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:982.19,984.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:985.2,989.25 3 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:989.25,991.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:992.2,992.30 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:992.30,994.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:995.2,995.12 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:999.84,1003.2 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1007.83,1012.2 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1022.86,1023.19 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1023.19,1025.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1026.2,1029.9 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1034.85,1039.2 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1044.116,1058.16 3 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1058.16,1060.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1061.2,1061.74 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1061.74,1063.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1064.2,1065.16 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1065.16,1067.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1068.2,1068.18 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1082.113,1094.2 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1098.97,1103.2 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1106.97,1111.2 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1114.51,1161.51 2 3 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1161.51,1165.3 3 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1166.2,1166.10 1 3 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1174.128,1175.19 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1175.19,1177.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1178.2,1178.23 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1178.23,1180.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1181.2,1181.15 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1181.15,1183.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1185.2,1186.16 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1186.16,1188.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1189.2,1195.16 3 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1195.16,1197.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1198.2,1199.22 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1199.22,1201.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1202.2,1202.20 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1208.143,1210.19 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1210.19,1212.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1213.2,1214.18 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1214.18,1216.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1217.2,1227.16 4 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1227.16,1229.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1230.2,1230.17 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1236.136,1238.19 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1238.19,1240.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1241.2,1242.17 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1242.17,1244.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1245.2,1250.35 6 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1250.35,1252.65 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1252.65,1254.63 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1254.63,1256.5 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1257.4,1257.22 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1257.22,1258.10 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1260.4,1261.18 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1261.18,1263.5 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1264.4,1264.23 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1264.23,1265.10 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1267.4,1267.30 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1267.30,1268.45 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1268.45,1269.14 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1271.5,1273.30 3 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1273.30,1274.11 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1277.4,1277.30 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1277.30,1278.10 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1280.4,1280.24 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1282.3,1282.46 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1282.46,1283.9 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1286.2,1286.17 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1291.120,1292.19 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1292.19,1294.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1295.2,1296.19 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1296.19,1298.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1299.2,1314.16 3 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1314.16,1316.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1317.2,1318.52 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1318.52,1320.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1321.2,1322.25 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1322.25,1323.30 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1323.30,1325.4 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1327.2,1327.20 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1332.105,1334.19 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1334.19,1336.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1337.2,1347.33 5 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1347.33,1349.16 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1349.16,1350.12 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1352.3,1354.17 3 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1354.17,1356.4 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1357.3,1357.44 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1360.2,1363.18 4 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1363.18,1365.17 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1365.17,1367.4 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1368.3,1368.44 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1371.2,1371.35 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1371.35,1373.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1374.2,1374.42 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1374.42,1376.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1378.2,1379.26 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1379.26,1381.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1382.2,1383.16 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1383.16,1385.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1386.2,1390.33 5 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1390.33,1402.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1403.2,1403.18 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1406.52,1408.25 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1408.25,1409.15 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1409.15,1410.12 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1412.3,1413.18 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1415.2,1415.12 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1418.44,1420.25 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1420.25,1422.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1423.2,1423.12 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1426.64,1428.31 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1428.31,1430.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1431.2,1431.31 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1431.31,1433.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1434.2,1434.15 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1437.58,1438.12 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1438.12,1440.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1441.2,1448.39 4 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1448.39,1449.51 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1449.51,1451.4 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1453.2,1453.31 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1453.31,1456.3 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1457.2,1457.31 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1457.31,1460.3 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1461.2,1462.32 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1462.32,1464.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1465.2,1465.41 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1465.41,1466.41 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1466.41,1468.4 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1469.3,1469.39 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1469.39,1471.4 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1472.3,1472.37 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1474.2,1475.24 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1475.24,1477.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1478.2,1478.16 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1481.69,1482.9 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1483.31,1484.26 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1485.18,1486.22 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1487.17,1488.15 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1489.10,1490.25 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1502.46,1506.18 4 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1506.18,1507.25 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1507.25,1509.4 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1510.3,1515.32 3 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1516.27,1517.10 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1519.3,1519.30 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1521.2,1521.26 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1521.26,1522.10 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1523.17,1525.24 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1526.71,1527.11 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1528.11,1529.24 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1532.2,1533.14 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1541.43,1542.26 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1542.26,1543.46 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1543.46,1545.4 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1547.2,1547.14 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1557.114,1558.19 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1558.19,1560.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1561.2,1561.17 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1561.17,1563.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1564.2,1566.35 3 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1566.35,1568.17 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1568.17,1569.13 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1569.13,1571.5 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1572.4,1572.68 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1574.3,1574.44 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1574.44,1576.4 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1578.2,1578.32 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1581.45,1582.16 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1582.16,1584.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1585.2,1585.17 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1585.17,1587.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1588.2,1588.14 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1591.52,1594.48 3 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1594.48,1596.23 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1596.23,1598.4 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1600.2,1600.17 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1603.130,1604.19 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1604.19,1606.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1607.2,1607.17 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1607.17,1609.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1610.2,1611.16 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1611.16,1613.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1614.2,1636.16 4 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1636.16,1638.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1639.2,1640.22 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1640.22,1642.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1643.2,1643.20 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1650.108,1651.19 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1651.19,1653.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1654.2,1654.19 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1654.19,1656.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1659.2,1665.16 3 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1665.16,1667.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1669.2,1670.22 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1670.22,1673.3 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1674.2,1675.25 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1675.25,1676.28 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1676.28,1678.4 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1680.2,1680.20 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1686.91,1692.16 3 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1692.16,1694.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1695.2,1695.19 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1700.71,1707.16 3 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1707.16,1709.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1710.2,1710.19 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1716.112,1718.19 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1718.19,1720.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1721.2,1721.15 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1721.15,1723.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1725.2,1727.25 3 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1727.25,1728.14 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1728.14,1729.12 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1731.3,1731.36 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1731.36,1732.12 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1734.3,1735.38 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1737.2,1737.45 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1737.45,1737.85 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1738.2,1738.26 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1738.26,1740.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1742.2,1748.33 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1748.33,1750.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1751.2,1751.22 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1751.22,1753.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1754.2,1754.22 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1757.65,1801.2 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1812.81,1813.16 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1813.16,1815.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1816.2,1816.17 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1816.17,1818.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1819.2,1824.25 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1824.25,1826.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1827.2,1827.30 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1827.30,1829.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1830.2,1830.12 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1836.96,1837.16 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1837.16,1839.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1840.2,1840.17 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1840.17,1842.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1843.2,1848.25 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1848.25,1850.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1851.2,1851.30 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1851.30,1853.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1854.2,1854.12 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1862.86,1863.13 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1863.13,1865.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1866.2,1869.25 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1869.25,1871.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1873.2,1873.12 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1878.40,1880.2 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1883.111,1884.20 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1884.20,1886.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1887.2,1894.16 3 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1894.16,1896.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1897.2,1898.22 2 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1898.22,1900.3 1 0 +github.com/thebtf/engram/internal/db/gorm/memory_store.go:1901.2,1901.20 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_access_milestone.go:14.58,17.39 1 3 +github.com/thebtf/engram/internal/db/gorm/migration_access_milestone.go:17.39,45.31 2 1 +github.com/thebtf/engram/internal/db/gorm/migration_access_milestone.go:45.31,46.47 1 16 +github.com/thebtf/engram/internal/db/gorm/migration_access_milestone.go:46.47,48.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_access_milestone.go:50.4,50.14 1 1 +github.com/thebtf/engram/internal/db/gorm/migration_access_milestone.go:52.40,55.4 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_api_token_principals.go:10.61,13.36 1 3 +github.com/thebtf/engram/internal/db/gorm/migration_api_token_principals.go:13.36,35.30 2 1 +github.com/thebtf/engram/internal/db/gorm/migration_api_token_principals.go:35.30,36.47 1 4 +github.com/thebtf/engram/internal/db/gorm/migration_api_token_principals.go:36.47,38.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_api_token_principals.go:40.4,40.14 1 1 +github.com/thebtf/engram/internal/db/gorm/migration_api_token_principals.go:42.37,52.30 2 0 +github.com/thebtf/engram/internal/db/gorm/migration_api_token_principals.go:52.30,53.47 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_api_token_principals.go:53.47,55.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_api_token_principals.go:57.4,57.14 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_behavioral_rules_enabled.go:10.65,13.36 1 3 +github.com/thebtf/engram/internal/db/gorm/migration_behavioral_rules_enabled.go:13.36,14.135 1 1 +github.com/thebtf/engram/internal/db/gorm/migration_behavioral_rules_enabled.go:14.135,16.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_behavioral_rules_enabled.go:17.4,17.14 1 1 +github.com/thebtf/engram/internal/db/gorm/migration_behavioral_rules_enabled.go:19.37,21.4 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_books.go:16.52,19.36 1 3 +github.com/thebtf/engram/internal/db/gorm/migration_books.go:19.36,38.30 2 1 +github.com/thebtf/engram/internal/db/gorm/migration_books.go:38.30,39.47 1 3 +github.com/thebtf/engram/internal/db/gorm/migration_books.go:39.47,41.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_books.go:43.4,43.14 1 1 +github.com/thebtf/engram/internal/db/gorm/migration_books.go:45.37,47.4 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_memory_domain_owners.go:10.61,13.39 1 3 +github.com/thebtf/engram/internal/db/gorm/migration_memory_domain_owners.go:13.39,74.30 2 1 +github.com/thebtf/engram/internal/db/gorm/migration_memory_domain_owners.go:74.30,75.47 1 6 +github.com/thebtf/engram/internal/db/gorm/migration_memory_domain_owners.go:75.47,77.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_memory_domain_owners.go:79.4,79.14 1 1 +github.com/thebtf/engram/internal/db/gorm/migration_memory_domain_owners.go:81.40,85.4 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_memory_principals.go:10.59,13.36 1 3 +github.com/thebtf/engram/internal/db/gorm/migration_memory_principals.go:13.36,57.30 2 1 +github.com/thebtf/engram/internal/db/gorm/migration_memory_principals.go:57.30,58.47 1 9 +github.com/thebtf/engram/internal/db/gorm/migration_memory_principals.go:58.47,60.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_memory_principals.go:62.4,62.14 1 1 +github.com/thebtf/engram/internal/db/gorm/migration_memory_principals.go:64.37,82.30 2 0 +github.com/thebtf/engram/internal/db/gorm/migration_memory_principals.go:82.30,83.47 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_memory_principals.go:83.47,85.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_memory_principals.go:87.4,87.14 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_rule_arbiter.go:11.64,14.36 1 3 +github.com/thebtf/engram/internal/db/gorm/migration_rule_arbiter.go:14.36,105.27 2 1 +github.com/thebtf/engram/internal/db/gorm/migration_rule_arbiter.go:105.27,106.44 1 24 +github.com/thebtf/engram/internal/db/gorm/migration_rule_arbiter.go:106.44,108.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_rule_arbiter.go:110.4,110.14 1 1 +github.com/thebtf/engram/internal/db/gorm/migration_rule_arbiter.go:112.37,131.27 2 0 +github.com/thebtf/engram/internal/db/gorm/migration_rule_arbiter.go:131.27,132.44 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_rule_arbiter.go:132.44,134.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_rule_arbiter.go:136.4,136.14 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_rule_governance.go:11.57,14.36 1 3 +github.com/thebtf/engram/internal/db/gorm/migration_rule_governance.go:14.36,180.27 2 1 +github.com/thebtf/engram/internal/db/gorm/migration_rule_governance.go:180.27,181.44 1 18 +github.com/thebtf/engram/internal/db/gorm/migration_rule_governance.go:181.44,183.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_rule_governance.go:185.4,185.14 1 1 +github.com/thebtf/engram/internal/db/gorm/migration_rule_governance.go:187.37,195.27 2 0 +github.com/thebtf/engram/internal/db/gorm/migration_rule_governance.go:195.27,196.44 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_rule_governance.go:196.44,198.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_rule_governance.go:200.4,200.14 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_rule_governance_snapshot_statuses.go:10.73,13.36 1 3 +github.com/thebtf/engram/internal/db/gorm/migration_rule_governance_snapshot_statuses.go:13.36,21.30 2 1 +github.com/thebtf/engram/internal/db/gorm/migration_rule_governance_snapshot_statuses.go:21.30,22.47 1 2 +github.com/thebtf/engram/internal/db/gorm/migration_rule_governance_snapshot_statuses.go:22.47,24.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_rule_governance_snapshot_statuses.go:26.4,26.14 1 1 +github.com/thebtf/engram/internal/db/gorm/migration_rule_governance_snapshot_statuses.go:28.37,39.30 2 0 +github.com/thebtf/engram/internal/db/gorm/migration_rule_governance_snapshot_statuses.go:39.30,40.47 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_rule_governance_snapshot_statuses.go:40.47,42.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_rule_governance_snapshot_statuses.go:44.4,44.14 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_state.go:32.81,33.29 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_state.go:33.29,35.3 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_state.go:37.2,41.32 2 0 +github.com/thebtf/engram/internal/db/gorm/migration_state.go:41.32,43.3 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_state.go:45.2,47.18 3 0 +github.com/thebtf/engram/internal/db/gorm/migration_state.go:47.18,49.3 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_state.go:51.2,59.8 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_state.go:62.53,64.48 2 0 +github.com/thebtf/engram/internal/db/gorm/migration_state.go:64.48,67.41 3 0 +github.com/thebtf/engram/internal/db/gorm/migration_state.go:67.41,69.4 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_state.go:70.3,70.24 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_state.go:70.24,72.4 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_state.go:73.3,73.33 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_state.go:75.2,75.16 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_state.go:78.47,80.25 2 0 +github.com/thebtf/engram/internal/db/gorm/migration_state.go:80.25,82.3 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_state.go:83.2,84.26 2 0 +github.com/thebtf/engram/internal/db/gorm/migration_temporal_truth.go:13.63,16.39 1 3 +github.com/thebtf/engram/internal/db/gorm/migration_temporal_truth.go:16.39,44.31 2 1 +github.com/thebtf/engram/internal/db/gorm/migration_temporal_truth.go:44.31,45.47 1 4 +github.com/thebtf/engram/internal/db/gorm/migration_temporal_truth.go:45.47,47.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migration_temporal_truth.go:49.4,49.14 1 1 +github.com/thebtf/engram/internal/db/gorm/migration_temporal_truth.go:51.40,55.4 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:16.39,19.79 1 3 +github.com/thebtf/engram/internal/db/gorm/migrations.go:19.79,21.3 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:23.2,35.37 1 3 +github.com/thebtf/engram/internal/db/gorm/migrations.go:35.37,36.80 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:36.80,38.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:39.5,57.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:57.28,58.45 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:58.45,60.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:62.5,62.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:64.38,66.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:74.37,88.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:88.28,89.45 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:89.45,91.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:93.5,93.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:95.38,97.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:104.37,114.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:114.28,115.45 1 2 +github.com/thebtf/engram/internal/db/gorm/migrations.go:115.45,117.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:119.5,119.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:121.38,126.28 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:126.28,127.45 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:127.45,128.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:131.5,131.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:138.37,152.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:152.28,153.45 1 2 +github.com/thebtf/engram/internal/db/gorm/migrations.go:153.45,155.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:157.5,157.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:159.38,164.28 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:164.28,165.45 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:165.45,166.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:169.5,169.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:176.37,193.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:193.28,194.45 1 2 +github.com/thebtf/engram/internal/db/gorm/migrations.go:194.45,196.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:198.5,198.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:200.38,205.28 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:205.28,206.45 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:206.45,207.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:210.5,210.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:219.37,236.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:236.28,237.45 1 2 +github.com/thebtf/engram/internal/db/gorm/migrations.go:237.45,239.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:241.5,241.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:243.38,245.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:259.37,265.27 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:265.27,267.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:270.5,277.84 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:277.84,279.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:280.5,280.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:282.38,284.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:295.37,315.29 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:315.29,316.45 1 4 +github.com/thebtf/engram/internal/db/gorm/migrations.go:316.45,318.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:320.5,320.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:322.38,324.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:330.37,347.5 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:348.38,350.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:356.37,370.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:370.28,371.45 1 2 +github.com/thebtf/engram/internal/db/gorm/migrations.go:371.45,373.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:375.5,375.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:377.38,382.28 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:382.28,383.45 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:383.45,384.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:387.5,387.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:416.37,440.29 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:440.29,441.45 1 7 +github.com/thebtf/engram/internal/db/gorm/migrations.go:441.45,443.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:445.5,445.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:447.38,449.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:456.37,482.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:482.28,483.45 1 5 +github.com/thebtf/engram/internal/db/gorm/migrations.go:483.45,485.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:488.5,488.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:490.38,498.28 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:498.28,499.45 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:499.45,500.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:503.5,503.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:510.37,523.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:523.28,524.45 1 5 +github.com/thebtf/engram/internal/db/gorm/migrations.go:524.45,526.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:529.5,529.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:531.38,538.28 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:538.28,540.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:541.5,541.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:548.37,577.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:577.28,578.45 1 7 +github.com/thebtf/engram/internal/db/gorm/migrations.go:578.45,580.15 1 3 +github.com/thebtf/engram/internal/db/gorm/migrations.go:583.5,583.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:585.38,595.28 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:595.28,597.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:598.5,598.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:605.37,627.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:627.28,628.45 1 4 +github.com/thebtf/engram/internal/db/gorm/migrations.go:628.45,630.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:633.5,633.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:635.38,642.28 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:642.28,644.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:645.5,645.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:652.37,669.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:669.28,670.45 1 3 +github.com/thebtf/engram/internal/db/gorm/migrations.go:670.45,672.15 1 2 +github.com/thebtf/engram/internal/db/gorm/migrations.go:675.5,675.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:677.38,683.28 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:683.28,685.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:686.5,686.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:693.37,742.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:742.28,743.45 1 10 +github.com/thebtf/engram/internal/db/gorm/migrations.go:743.45,745.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:747.5,747.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:749.38,750.74 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:750.74,751.84 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:751.84,753.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:755.5,755.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:761.37,787.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:787.28,788.45 1 6 +github.com/thebtf/engram/internal/db/gorm/migrations.go:788.45,790.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:792.5,792.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:794.38,796.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:801.37,823.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:823.28,824.45 1 7 +github.com/thebtf/engram/internal/db/gorm/migrations.go:824.45,826.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:828.5,828.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:830.38,839.28 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:839.28,841.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:842.5,842.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:851.37,853.5 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:854.38,856.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:861.37,872.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:872.28,873.45 1 4 +github.com/thebtf/engram/internal/db/gorm/migrations.go:873.45,875.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:877.5,877.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:879.38,880.88 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:880.88,882.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:883.5,883.75 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:889.37,908.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:908.28,909.45 1 3 +github.com/thebtf/engram/internal/db/gorm/migrations.go:909.45,911.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:913.5,913.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:915.38,917.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:922.37,930.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:930.28,931.45 1 4 +github.com/thebtf/engram/internal/db/gorm/migrations.go:931.45,933.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:935.5,935.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:937.38,944.28 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:944.28,945.45 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:945.45,947.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:949.5,949.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:956.37,971.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:971.28,972.45 1 2 +github.com/thebtf/engram/internal/db/gorm/migrations.go:972.45,974.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:976.5,976.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:978.38,980.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:985.37,996.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:996.28,997.45 1 4 +github.com/thebtf/engram/internal/db/gorm/migrations.go:997.45,999.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1001.5,1001.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1003.38,1008.28 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1008.28,1009.45 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1009.45,1011.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1013.5,1013.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1019.37,1030.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1030.28,1031.45 1 2 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1031.45,1033.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1035.5,1035.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1037.38,1039.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1045.37,1056.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1056.28,1057.45 1 3 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1057.45,1059.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1061.5,1061.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1063.38,1068.28 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1068.28,1070.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1071.5,1071.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1077.37,1088.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1088.28,1089.45 1 2 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1089.45,1091.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1093.5,1093.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1095.38,1097.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1102.37,1104.5 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1105.38,1107.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1114.37,1133.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1133.28,1134.45 1 3 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1134.45,1136.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1138.5,1138.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1140.38,1142.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1147.37,1155.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1155.28,1156.45 1 4 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1156.45,1158.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1160.5,1160.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1162.38,1173.28 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1173.28,1174.45 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1174.45,1176.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1178.5,1178.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1184.37,1194.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1194.28,1195.45 1 4 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1195.45,1197.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1199.5,1199.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1201.38,1210.28 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1210.28,1211.45 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1211.45,1213.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1215.5,1215.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1220.37,1231.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1231.28,1232.45 1 3 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1232.45,1234.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1236.5,1236.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1238.38,1240.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1244.37,1251.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1251.28,1252.45 1 2 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1252.45,1254.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1256.5,1256.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1258.38,1263.28 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1263.28,1264.45 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1264.45,1266.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1268.5,1268.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1276.37,1278.5 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1279.38,1281.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1287.37,1304.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1304.28,1305.45 1 2 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1305.45,1307.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1309.5,1309.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1311.38,1313.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1318.37,1333.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1333.28,1334.45 1 3 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1334.45,1336.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1338.5,1338.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1340.38,1342.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1347.37,1358.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1358.28,1359.45 1 2 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1359.45,1361.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1363.5,1363.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1365.38,1367.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1373.37,1379.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1379.28,1380.45 1 3 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1380.45,1382.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1384.5,1384.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1386.38,1392.28 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1392.28,1393.45 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1393.45,1395.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1397.5,1397.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1405.37,1436.45 3 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1436.45,1438.29 2 26 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1438.29,1440.15 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1442.6,1442.41 1 26 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1447.5,1456.34 3 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1456.34,1459.6 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1459.11,1461.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1463.5,1467.15 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1469.38,1472.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1477.37,1479.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1479.28,1482.6 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1483.5,1484.15 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1486.38,1488.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1495.37,1497.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1497.28,1500.6 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1501.5,1502.15 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1504.38,1506.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1514.37,1584.45 3 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1584.45,1586.29 2 46 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1586.29,1588.15 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1590.6,1590.41 1 46 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1593.5,1594.15 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1596.38,1598.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1603.37,1605.5 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1606.38,1608.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1613.37,1615.5 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1616.38,1618.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1623.37,1631.26 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1631.26,1633.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1634.5,1634.137 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1634.137,1636.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1637.5,1637.123 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1637.123,1639.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1640.5,1640.113 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1642.38,1644.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1649.37,1651.5 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1652.38,1655.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1662.37,1664.147 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1664.147,1666.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1667.5,1667.159 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1667.159,1669.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1670.5,1670.151 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1670.151,1672.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1674.5,1674.138 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1674.138,1676.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1677.5,1677.150 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1677.150,1679.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1680.5,1680.142 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1680.142,1682.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1684.5,1684.172 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1686.38,1696.5 8 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1701.37,1708.5 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1709.38,1711.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1719.37,1725.5 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1726.38,1728.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1736.37,1749.26 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1749.26,1751.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1752.5,1752.161 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1752.161,1754.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1755.5,1755.138 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1755.138,1757.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1758.5,1767.26 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1767.26,1769.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1770.5,1770.136 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1772.38,1773.93 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1773.93,1775.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1776.5,1776.69 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1782.37,1784.5 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1785.38,1787.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1796.37,1798.5 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1799.38,1801.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1807.37,1808.132 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1808.132,1810.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1811.5,1811.113 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1811.113,1813.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1814.5,1814.104 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1816.38,1820.5 3 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1827.37,1829.5 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1830.38,1832.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1839.37,1854.5 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1855.38,1857.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1863.37,1864.107 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1864.107,1866.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1867.5,1867.114 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1867.114,1869.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1870.5,1870.126 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1870.126,1872.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1873.5,1873.102 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1875.38,1880.5 4 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1886.37,1893.26 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1893.26,1895.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1896.5,1896.137 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1896.137,1898.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1899.5,1899.121 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1901.38,1903.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1909.37,1910.129 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1910.129,1912.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1913.5,1913.133 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1913.133,1915.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1916.5,1916.116 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1918.38,1922.5 3 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1928.37,1939.5 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1940.38,1942.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1948.37,1957.26 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1957.26,1959.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1960.5,1960.117 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1962.38,1964.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1971.37,1973.5 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1974.38,1976.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1980.37,1999.31 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:1999.31,2000.36 1 10 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2000.36,2012.7 1 60 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2014.5,2014.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2016.38,2018.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2022.37,2034.31 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2034.31,2035.36 1 5 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2035.36,2046.7 1 38 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2048.5,2048.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2050.38,2052.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2056.37,2068.25 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2068.25,2070.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2071.5,2071.136 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2071.136,2073.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2074.5,2074.129 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2074.129,2076.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2077.5,2077.135 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2077.135,2079.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2080.5,2080.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2082.38,2084.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2091.37,2092.123 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2092.123,2094.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2095.5,2095.123 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2097.38,2100.5 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2104.37,2110.5 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2111.38,2114.5 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2118.37,2124.5 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2125.38,2128.5 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2132.37,2134.139 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2134.139,2136.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2137.5,2137.193 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2137.193,2140.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2142.5,2142.132 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2142.132,2144.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2146.5,2146.117 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2146.117,2148.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2149.5,2149.273 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2149.273,2151.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2153.5,2153.141 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2155.38,2157.117 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2157.117,2159.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2160.5,2160.235 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2160.235,2162.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2163.5,2167.88 3 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2172.37,2190.27 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2190.27,2192.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2194.5,2194.131 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2194.131,2196.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2197.5,2197.124 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2197.124,2199.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2201.5,2208.27 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2208.27,2210.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2211.5,2211.129 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2213.38,2216.5 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2220.37,2222.110 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2222.110,2224.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2226.5,2226.109 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2226.109,2228.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2229.5,2229.171 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2231.38,2235.5 3 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2239.37,2241.5 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2242.38,2244.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2253.37,2257.5 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2258.38,2260.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2264.37,2266.5 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2267.38,2269.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2274.37,2280.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2280.28,2281.45 1 3 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2281.45,2283.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2285.5,2285.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2287.38,2288.107 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2288.107,2290.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2291.5,2291.74 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2297.37,2307.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2307.28,2308.45 1 3 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2308.45,2310.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2312.5,2312.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2314.38,2324.28 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2324.28,2325.45 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2325.45,2326.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2329.5,2329.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2334.37,2345.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2345.28,2346.45 1 4 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2346.45,2348.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2350.5,2350.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2352.38,2366.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2373.37,2421.29 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2421.29,2425.119 2 27 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2425.119,2427.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2429.6,2429.127 1 27 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2429.127,2431.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2432.6,2432.127 1 27 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2432.127,2434.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2436.6,2439.59 2 27 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2443.5,2449.34 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2449.34,2452.42 2 4 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2452.42,2453.25 1 34 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2453.25,2455.13 2 4 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2458.6,2461.56 4 4 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2464.5,2464.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2466.38,2468.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2473.37,2480.29 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2480.29,2488.6 5 3 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2493.5,2525.37 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2525.37,2530.6 2 30 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2534.5,2540.37 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2540.37,2545.6 2 4 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2546.5,2546.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2548.38,2550.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2554.37,2564.27 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2564.27,2566.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2568.5,2575.27 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2575.27,2577.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2579.5,2584.14 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2586.38,2591.5 4 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2613.37,2615.116 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2615.116,2617.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2620.5,2623.79 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2623.79,2625.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2627.5,2627.30 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2627.30,2629.28 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2629.28,2630.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2632.6,2636.50 3 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2636.50,2637.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2639.6,2640.33 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2640.33,2641.62 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2641.62,2643.13 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2646.6,2646.16 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2646.16,2647.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2650.6,2658.27 6 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2658.27,2674.7 10 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2674.12,2691.7 9 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2702.5,2702.30 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2702.30,2703.39 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2703.39,2704.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2706.6,2706.110 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2706.110,2707.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2709.6,2709.46 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2709.46,2712.32 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2712.32,2713.63 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2713.63,2715.14 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2718.7,2718.16 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2718.16,2719.16 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2724.6,2726.36 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2729.5,2729.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2731.38,2738.5 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2746.37,2753.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2753.28,2754.45 1 4 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2754.45,2756.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2758.5,2758.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2760.38,2767.28 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2767.28,2768.45 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2768.45,2770.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2772.5,2772.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2781.37,2783.5 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2784.38,2795.28 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2795.28,2796.45 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2796.45,2798.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2800.5,2800.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2811.37,2813.5 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2814.38,2835.28 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2835.28,2836.45 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2836.45,2838.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2840.5,2840.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2851.37,2853.5 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2860.35,2864.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2871.37,2873.5 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2874.38,2876.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2898.37,2927.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2927.28,2928.45 1 3 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2928.45,2930.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2932.5,2932.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2934.38,2940.28 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2940.28,2941.45 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2941.45,2943.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2945.5,2945.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2961.37,2994.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2994.28,2995.45 1 4 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2995.45,2997.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:2999.5,2999.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3001.38,3008.28 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3008.28,3009.45 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3009.45,3011.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3013.5,3013.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3029.37,3054.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3054.28,3055.45 1 3 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3055.45,3057.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3059.5,3059.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3061.38,3067.28 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3067.28,3068.45 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3068.45,3070.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3072.5,3072.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3094.37,3117.26 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3117.26,3119.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3124.5,3143.26 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3143.26,3145.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3150.5,3166.26 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3166.26,3168.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3174.5,3220.26 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3220.26,3222.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3224.5,3224.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3226.38,3239.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3249.37,3250.82 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3250.82,3252.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3253.5,3253.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3255.38,3257.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3267.37,3268.94 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3268.94,3270.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3271.5,3271.82 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3271.82,3273.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3274.5,3274.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3276.38,3278.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3286.37,3288.5 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3289.38,3291.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3298.37,3300.5 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3301.38,3303.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3310.37,3312.5 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3313.38,3315.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3322.37,3324.5 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3325.38,3327.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3334.37,3336.5 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3337.38,3339.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3348.37,3350.5 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3351.38,3353.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3362.37,3386.32 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3386.32,3387.48 1 15 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3387.48,3389.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3391.5,3391.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3393.38,3399.30 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3399.30,3400.95 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3400.95,3402.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3404.5,3407.15 4 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3414.37,3426.32 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3426.32,3427.48 1 3 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3427.48,3429.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3431.5,3431.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3433.38,3435.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3441.37,3454.32 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3454.32,3455.48 1 3 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3455.48,3457.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3459.5,3459.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3461.38,3463.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3470.37,3484.32 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3484.32,3485.48 1 2 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3485.48,3487.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3489.5,3489.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3491.38,3493.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3501.37,3502.95 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3502.95,3505.6 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3506.5,3506.138 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3508.38,3510.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3516.37,3530.32 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3530.32,3531.48 1 11 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3531.48,3533.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3535.5,3535.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3537.38,3543.30 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3543.30,3544.95 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3544.95,3546.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3548.5,3548.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3555.37,3560.32 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3560.32,3561.48 1 2 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3561.48,3563.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3565.5,3565.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3567.38,3571.5 3 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3577.37,3588.5 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3589.38,3591.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3596.37,3612.5 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3613.38,3615.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3621.37,3627.32 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3627.32,3628.48 1 3 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3628.48,3630.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3632.5,3632.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3634.38,3639.5 4 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3644.37,3658.5 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3659.38,3661.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3667.37,3673.32 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3673.32,3674.48 1 3 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3674.48,3676.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3678.5,3678.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3680.38,3685.5 4 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3692.37,3699.32 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3699.32,3700.48 1 4 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3700.48,3702.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3704.5,3704.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3706.38,3708.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3712.37,3714.5 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3715.38,3717.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3721.37,3723.5 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3724.38,3726.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3730.37,3744.32 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3744.32,3745.48 1 2 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3745.48,3747.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3749.5,3749.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3751.38,3753.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3761.37,3772.32 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3772.32,3773.48 1 2 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3773.48,3775.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3777.5,3777.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3779.38,3791.32 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3791.32,3792.48 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3792.48,3794.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3796.5,3796.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3818.37,3846.32 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3846.32,3847.48 1 5 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3847.48,3849.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3851.5,3851.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3853.38,3859.32 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3859.32,3860.48 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3860.48,3862.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3864.5,3864.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3884.37,3889.5 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3890.38,3894.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3921.37,3951.32 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3951.32,3952.48 1 5 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3952.48,3954.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3956.5,3956.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3958.38,3960.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:3986.37,4036.32 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4036.32,4037.48 1 22 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4037.48,4039.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4041.5,4041.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4043.38,4066.32 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4066.32,4067.48 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4067.48,4069.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4071.5,4071.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4093.37,4097.5 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4098.38,4102.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4121.37,4152.32 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4152.32,4153.48 1 3 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4153.48,4155.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4157.5,4157.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4159.38,4161.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4171.37,4194.32 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4194.32,4195.48 1 3 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4195.48,4197.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4199.5,4199.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4201.38,4203.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4212.37,4233.32 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4233.32,4234.48 1 6 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4234.48,4236.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4238.5,4238.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4240.38,4245.32 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4245.32,4246.48 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4246.48,4248.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4250.5,4250.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4260.37,4276.32 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4276.32,4277.48 1 3 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4277.48,4279.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4281.5,4281.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4283.38,4286.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4304.37,4334.32 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4334.32,4335.48 1 3 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4335.48,4337.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4339.5,4339.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4341.38,4343.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4374.37,4375.52 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4375.52,4386.30 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4386.30,4387.47 1 8 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4387.47,4389.8 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4391.6,4391.16 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4394.38,4398.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4419.37,4420.52 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4420.52,4421.98 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4421.98,4423.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4424.6,4424.16 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4427.38,4431.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4446.37,4470.32 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4470.32,4471.48 1 5 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4471.48,4473.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4475.5,4475.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4477.38,4479.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4488.37,4498.32 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4498.32,4499.48 1 2 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4499.48,4501.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4503.5,4503.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4505.38,4507.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4521.37,4528.32 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4528.32,4529.48 1 2 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4529.48,4531.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4533.5,4533.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4535.38,4542.32 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4542.32,4543.48 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4543.48,4545.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4547.5,4547.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4576.37,4577.52 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4577.52,4588.33 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4588.33,4589.50 1 4 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4589.50,4591.8 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4593.6,4593.16 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4596.38,4601.52 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4601.52,4607.33 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4607.33,4608.50 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4608.50,4610.8 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4614.6,4614.97 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4614.97,4617.7 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4618.6,4618.140 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4629.37,4652.28 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4652.28,4653.45 1 2 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4653.45,4655.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4657.5,4657.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4659.38,4661.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4667.37,4705.31 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4705.31,4706.48 1 6 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4706.48,4708.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4710.5,4710.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4712.38,4714.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4723.37,4765.31 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4765.31,4766.48 1 6 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4766.48,4768.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4770.5,4770.15 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4772.38,4777.31 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4777.31,4778.48 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4778.48,4780.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4782.5,4782.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4792.2,4792.36 1 3 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4792.36,4794.3 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4796.2,4796.12 1 3 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4799.72,4802.36 1 3 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4802.36,4809.31 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4809.31,4810.47 1 2 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4810.47,4812.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4814.4,4814.14 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4816.37,4817.58 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4817.58,4821.52 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4821.52,4823.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4824.5,4824.32 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4824.32,4826.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4828.5,4834.32 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4834.32,4835.56 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4835.56,4837.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4839.5,4839.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4845.73,4848.36 1 3 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4848.36,4855.31 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4855.31,4856.47 1 2 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4856.47,4858.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4860.4,4860.14 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4862.37,4863.58 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4863.58,4867.53 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4867.53,4869.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4870.5,4870.33 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4870.33,4872.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4874.5,4880.32 2 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4880.32,4881.56 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4881.56,4883.7 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4885.5,4885.15 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4891.58,4894.36 1 3 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4894.36,4911.31 2 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4911.31,4912.47 1 3 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4912.47,4914.6 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4916.4,4916.14 1 1 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4918.37,4919.81 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4919.81,4921.5 1 0 +github.com/thebtf/engram/internal/db/gorm/migrations.go:4922.4,4922.14 1 0 +github.com/thebtf/engram/internal/db/gorm/models.go:44.38,44.63 1 1 +github.com/thebtf/engram/internal/db/gorm/models.go:47.54,48.27 1 0 +github.com/thebtf/engram/internal/db/gorm/models.go:48.27,50.3 1 0 +github.com/thebtf/engram/internal/db/gorm/models.go:51.2,51.23 1 0 +github.com/thebtf/engram/internal/db/gorm/models.go:51.23,53.3 1 0 +github.com/thebtf/engram/internal/db/gorm/models.go:54.2,54.12 1 0 +github.com/thebtf/engram/internal/db/gorm/models.go:75.35,75.55 1 0 +github.com/thebtf/engram/internal/db/gorm/models.go:92.36,92.58 1 0 +github.com/thebtf/engram/internal/db/gorm/models.go:109.40,109.67 1 0 +github.com/thebtf/engram/internal/db/gorm/models.go:122.45,122.77 1 0 +github.com/thebtf/engram/internal/db/gorm/models.go:140.35,140.56 1 0 +github.com/thebtf/engram/internal/db/gorm/models.go:160.36,160.59 1 0 +github.com/thebtf/engram/internal/db/gorm/models.go:188.33,188.52 1 0 +github.com/thebtf/engram/internal/db/gorm/models.go:200.40,200.67 1 0 +github.com/thebtf/engram/internal/db/gorm/models.go:220.38,220.62 1 0 +github.com/thebtf/engram/internal/db/gorm/models.go:249.40,249.67 1 0 +github.com/thebtf/engram/internal/db/gorm/models.go:304.34,304.55 1 3 +github.com/thebtf/engram/internal/db/gorm/models.go:317.39,317.72 1 0 +github.com/thebtf/engram/internal/db/gorm/models.go:334.42,334.71 1 0 +github.com/thebtf/engram/internal/db/gorm/project_store.go:23.122,24.17 1 0 +github.com/thebtf/engram/internal/db/gorm/project_store.go:24.17,26.3 1 0 +github.com/thebtf/engram/internal/db/gorm/project_store.go:28.2,34.108 2 0 +github.com/thebtf/engram/internal/db/gorm/project_store.go:34.108,36.3 1 0 +github.com/thebtf/engram/internal/db/gorm/project_store.go:38.2,38.20 1 0 +github.com/thebtf/engram/internal/db/gorm/project_store.go:38.20,44.94 2 0 +github.com/thebtf/engram/internal/db/gorm/project_store.go:44.94,46.4 1 0 +github.com/thebtf/engram/internal/db/gorm/project_store.go:49.2,49.12 1 0 +github.com/thebtf/engram/internal/db/gorm/project_store.go:55.82,56.21 1 0 +github.com/thebtf/engram/internal/db/gorm/project_store.go:56.21,58.3 1 0 +github.com/thebtf/engram/internal/db/gorm/project_store.go:59.2,62.61 2 0 +github.com/thebtf/engram/internal/db/gorm/project_store.go:62.61,64.3 1 0 +github.com/thebtf/engram/internal/db/gorm/project_store.go:65.2,65.20 1 0 +github.com/thebtf/engram/internal/db/gorm/promotion_store.go:21.45,21.71 1 0 +github.com/thebtf/engram/internal/db/gorm/promotion_store.go:29.53,31.2 1 0 +github.com/thebtf/engram/internal/db/gorm/promotion_store.go:34.115,41.67 2 0 +github.com/thebtf/engram/internal/db/gorm/promotion_store.go:41.67,43.3 1 0 +github.com/thebtf/engram/internal/db/gorm/promotion_store.go:44.2,44.12 1 0 +github.com/thebtf/engram/internal/db/gorm/promotion_store.go:48.114,49.16 1 0 +github.com/thebtf/engram/internal/db/gorm/promotion_store.go:49.16,51.3 1 0 +github.com/thebtf/engram/internal/db/gorm/promotion_store.go:52.2,58.16 3 0 +github.com/thebtf/engram/internal/db/gorm/promotion_store.go:58.16,60.3 1 0 +github.com/thebtf/engram/internal/db/gorm/promotion_store.go:61.2,61.21 1 0 +github.com/thebtf/engram/internal/db/gorm/purge_store.go:34.46,36.2 1 0 +github.com/thebtf/engram/internal/db/gorm/purge_store.go:80.94,83.19 2 0 +github.com/thebtf/engram/internal/db/gorm/purge_store.go:83.19,85.3 1 0 +github.com/thebtf/engram/internal/db/gorm/purge_store.go:87.2,91.67 4 0 +github.com/thebtf/engram/internal/db/gorm/purge_store.go:91.67,99.23 1 0 +github.com/thebtf/engram/internal/db/gorm/purge_store.go:99.23,101.4 1 0 +github.com/thebtf/engram/internal/db/gorm/purge_store.go:105.3,109.21 2 0 +github.com/thebtf/engram/internal/db/gorm/purge_store.go:109.21,111.4 1 0 +github.com/thebtf/engram/internal/db/gorm/purge_store.go:112.3,120.21 3 0 +github.com/thebtf/engram/internal/db/gorm/purge_store.go:120.21,122.4 1 0 +github.com/thebtf/engram/internal/db/gorm/purge_store.go:123.3,131.21 3 0 +github.com/thebtf/engram/internal/db/gorm/purge_store.go:131.21,133.4 1 0 +github.com/thebtf/engram/internal/db/gorm/purge_store.go:134.3,142.21 3 0 +github.com/thebtf/engram/internal/db/gorm/purge_store.go:142.21,144.4 1 0 +github.com/thebtf/engram/internal/db/gorm/purge_store.go:145.3,155.21 3 0 +github.com/thebtf/engram/internal/db/gorm/purge_store.go:155.21,157.4 1 0 +github.com/thebtf/engram/internal/db/gorm/purge_store.go:158.3,162.21 3 0 +github.com/thebtf/engram/internal/db/gorm/purge_store.go:162.21,164.4 1 0 +github.com/thebtf/engram/internal/db/gorm/purge_store.go:165.3,174.23 2 0 +github.com/thebtf/engram/internal/db/gorm/purge_store.go:174.23,176.4 1 0 +github.com/thebtf/engram/internal/db/gorm/purge_store.go:179.3,180.21 2 0 +github.com/thebtf/engram/internal/db/gorm/purge_store.go:180.21,182.4 1 0 +github.com/thebtf/engram/internal/db/gorm/purge_store.go:183.3,188.21 3 0 +github.com/thebtf/engram/internal/db/gorm/purge_store.go:188.21,190.4 1 0 +github.com/thebtf/engram/internal/db/gorm/purge_store.go:191.3,205.17 3 0 +github.com/thebtf/engram/internal/db/gorm/purge_store.go:205.17,207.4 1 0 +github.com/thebtf/engram/internal/db/gorm/purge_store.go:208.3,215.54 3 0 +github.com/thebtf/engram/internal/db/gorm/purge_store.go:215.54,217.4 1 0 +github.com/thebtf/engram/internal/db/gorm/purge_store.go:219.3,219.13 1 0 +github.com/thebtf/engram/internal/db/gorm/purge_store.go:221.2,221.16 1 0 +github.com/thebtf/engram/internal/db/gorm/purge_store.go:221.16,223.3 1 0 +github.com/thebtf/engram/internal/db/gorm/purge_store.go:225.2,225.21 1 0 +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:23.50,23.82 1 0 +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:41.69,49.2 3 0 +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:52.81,53.16 1 0 +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:56.2,62.9 2 0 +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:63.21,63.21 0 0 +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:64.10,64.10 0 0 +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:70.44,77.6 5 0 +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:77.6,78.10 1 0 +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:79.28,80.11 1 0 +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:80.11,82.23 1 0 +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:82.23,84.6 1 0 +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:85.5,85.11 1 0 +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:87.4,88.45 2 0 +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:88.45,91.5 2 0 +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:92.19,93.22 1 0 +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:93.22,96.5 2 0 +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:102.74,103.74 1 0 +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:103.74,105.3 1 0 +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:109.42,110.24 1 0 +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:110.24,113.3 2 0 +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:130.132,141.19 4 0 +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:141.19,143.3 1 0 +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:144.2,144.21 1 0 +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:144.21,146.3 1 0 +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:147.2,147.44 1 0 +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:147.44,149.3 1 0 +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:151.2,152.25 2 0 +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:152.25,153.22 1 0 +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:154.25,156.34 2 0 +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:157.28,159.34 2 0 +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:160.30,161.38 1 0 +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:162.25,163.33 1 0 +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:164.22,165.30 1 0 +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:166.29,167.37 1 0 +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:170.2,170.19 1 0 +github.com/thebtf/engram/internal/db/gorm/retrieval_stats_log_store.go:174.103,180.2 3 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:139.44,139.72 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:157.45,157.75 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:174.52,174.89 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:176.50,178.2 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:180.50,181.18 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:181.18,183.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:184.2,184.21 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:187.46,189.2 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:199.41,199.67 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:230.42,230.68 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:247.48,247.80 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:262.53,262.91 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:268.63,270.2 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:272.128,273.14 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:273.14,275.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:276.2,276.58 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:276.58,278.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:279.2,279.25 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:279.25,281.17 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:281.17,283.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:284.3,284.22 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:284.22,286.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:288.2,289.64 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:289.64,290.52 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:290.52,292.21 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:292.21,294.5 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:295.4,295.23 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:295.23,297.5 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:299.3,299.70 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:301.2,301.34 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:304.110,306.68 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:306.68,308.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:309.2,309.35 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:312.133,313.23 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:313.23,315.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:316.2,324.44 3 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:324.44,326.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:327.2,327.16 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:327.16,329.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:330.2,330.35 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:333.136,335.16 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:335.16,337.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:338.2,339.32 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:339.32,341.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:342.2,342.25 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:342.25,344.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:345.2,346.44 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:346.44,348.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:349.2,350.22 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:350.22,352.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:353.2,353.17 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:356.146,358.16 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:358.16,360.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:361.2,371.46 3 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:371.46,373.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:375.2,376.44 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:376.44,378.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:379.2,380.22 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:380.22,382.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:383.2,383.17 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:386.147,387.16 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:387.16,389.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:390.2,395.20 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:395.20,397.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:397.8,399.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:401.2,402.44 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:402.44,404.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:405.2,406.22 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:406.22,408.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:409.2,409.17 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:412.160,413.16 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:413.16,415.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:416.2,416.16 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:416.16,418.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:419.2,419.18 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:419.18,421.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:422.2,423.67 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:423.67,425.97 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:425.97,427.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:428.3,428.63 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:428.63,430.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:432.3,438.40 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:438.40,440.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:441.3,441.45 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:441.45,443.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:444.3,444.21 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:444.21,446.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:447.3,448.23 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:448.23,451.4 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:452.3,457.25 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:457.25,459.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:460.3,463.34 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:463.34,465.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:466.3,466.13 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:468.2,468.16 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:468.16,470.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:471.2,472.22 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:472.22,474.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:475.2,475.17 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:478.120,480.19 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:480.19,482.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:483.2,487.64 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:487.64,489.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:490.2,490.35 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:493.211,494.16 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:494.16,496.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:497.2,497.71 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:497.71,499.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:500.2,500.41 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:500.41,502.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:503.2,517.67 4 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:517.67,521.26 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:521.26,523.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:524.3,524.31 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:524.31,526.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:527.3,529.58 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:529.58,531.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:532.3,532.53 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:532.53,534.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:535.3,535.13 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:537.2,537.16 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:537.16,539.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:540.2,540.36 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:543.155,544.17 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:544.17,546.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:547.2,547.144 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:547.144,549.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:550.2,550.42 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:550.42,552.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:553.2,554.49 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:554.49,556.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:556.8,558.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:559.2,560.67 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:560.67,562.102 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:562.102,564.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:565.3,565.63 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:565.63,567.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:568.3,569.114 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:569.114,571.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:572.3,572.62 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:572.62,574.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:575.3,575.87 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:575.87,577.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:578.3,579.46 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:579.46,581.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:582.3,582.13 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:584.2,584.16 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:584.16,586.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:587.2,587.42 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:590.160,591.126 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:591.126,593.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:594.2,594.94 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:594.94,596.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:597.2,599.26 3 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:599.26,601.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:602.2,613.67 3 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:613.67,615.109 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:615.109,617.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:618.3,618.62 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:618.62,620.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:621.3,621.87 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:621.87,623.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:624.3,627.35 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:627.35,629.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:630.3,632.39 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:632.39,634.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:635.3,635.59 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:635.59,637.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:638.3,638.13 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:640.2,640.16 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:640.16,642.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:643.2,643.35 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:646.152,648.67 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:648.67,650.17 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:650.17,652.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:653.3,653.22 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:653.22,656.4 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:658.3,659.109 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:659.109,661.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:662.3,662.62 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:662.62,664.21 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:664.21,666.5 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:667.4,667.20 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:667.20,670.5 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:671.4,671.128 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:673.3,673.62 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:673.62,675.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:677.3,678.17 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:678.17,680.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:681.3,697.29 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:697.29,699.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:700.3,700.54 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:700.54,701.30 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:701.30,703.22 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:703.22,705.6 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:706.5,706.24 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:706.24,709.6 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:711.4,711.70 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:713.3,718.25 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:718.25,720.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:721.3,721.148 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:721.148,723.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:724.3,725.13 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:727.2,727.16 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:727.16,729.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:730.2,730.20 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:733.149,735.67 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:735.67,737.109 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:737.109,739.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:740.3,740.62 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:740.62,742.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:743.3,743.62 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:743.62,745.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:746.3,750.25 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:750.25,752.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:753.3,753.161 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:753.161,755.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:756.3,756.65 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:756.65,758.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:759.3,760.13 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:762.2,762.16 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:762.16,764.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:765.2,765.20 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:768.175,770.67 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:770.67,772.101 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:772.101,774.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:775.3,776.77 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:776.77,778.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:779.3,779.44 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:779.44,781.18 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:781.18,783.5 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:784.4,785.18 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:785.18,787.5 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:788.4,794.19 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:794.19,796.5 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:798.3,802.37 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:802.37,805.4 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:806.3,806.103 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:806.103,808.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:809.3,810.135 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:810.135,812.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:813.3,813.57 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:813.57,815.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:816.3,817.13 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:819.2,819.16 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:819.16,821.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:822.2,822.20 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:825.132,827.67 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:827.67,829.17 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:829.17,831.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:832.3,833.13 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:835.2,835.16 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:835.16,837.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:838.2,838.43 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:841.136,842.29 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:842.29,844.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:845.2,846.23 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:846.23,848.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:849.2,861.71 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:861.71,863.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:864.2,864.67 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:864.67,866.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:867.2,867.72 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:867.72,869.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:870.2,870.71 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:870.71,872.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:873.2,873.70 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:873.70,875.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:876.2,876.73 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:876.73,878.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:879.2,880.20 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:883.165,884.29 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:884.29,886.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:887.2,887.23 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:887.23,889.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:890.2,906.19 4 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:906.19,908.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:909.2,909.62 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:909.62,911.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:912.2,913.31 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:913.31,915.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:917.2,918.92 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:918.92,920.19 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:920.19,926.4 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:927.3,930.33 4 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:932.2,932.90 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:932.90,944.3 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:946.2,946.39 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:946.39,949.55 3 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:949.55,951.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:952.3,952.78 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:952.78,954.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:955.3,955.75 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:955.75,957.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:958.3,958.181 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:958.181,960.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:963.2,968.19 3 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:968.19,970.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:971.2,971.56 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:971.56,973.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:974.2,974.28 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:974.28,977.24 3 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:977.24,979.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:980.3,987.51 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:990.2,995.19 3 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:995.19,997.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:998.2,998.60 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:998.60,1000.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1001.2,1001.30 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1001.30,1011.3 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1013.2,1029.19 3 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1029.19,1031.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1032.2,1032.54 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1032.54,1034.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1035.2,1035.27 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1035.27,1038.30 3 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1038.30,1040.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1041.3,1041.39 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1041.39,1043.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1044.3,1051.58 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1054.2,1064.31 3 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1064.31,1065.44 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1065.44,1067.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1069.2,1069.17 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1072.162,1073.29 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1073.29,1075.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1076.2,1076.23 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1076.23,1078.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1079.2,1080.45 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1080.45,1083.3 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1084.2,1085.44 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1085.44,1087.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1088.2,1089.22 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1089.22,1091.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1092.2,1092.17 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1095.149,1096.29 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1096.29,1098.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1099.2,1100.22 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1100.22,1102.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1103.2,1104.67 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1104.67,1108.26 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1108.26,1110.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1111.3,1111.31 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1111.31,1113.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1114.3,1114.83 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1114.83,1116.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1117.3,1117.13 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1119.2,1119.16 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1119.16,1121.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1122.2,1122.51 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1125.167,1127.29 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1127.29,1129.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1130.2,1130.29 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1130.29,1132.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1133.2,1133.61 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1133.61,1135.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1137.2,1137.67 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1137.67,1139.134 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1139.134,1141.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1142.3,1142.32 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1142.32,1144.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1145.3,1146.36 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1146.36,1148.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1149.3,1151.32 3 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1151.32,1153.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1154.3,1154.44 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1154.44,1156.108 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1156.108,1158.5 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1159.4,1159.63 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1159.63,1161.13 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1163.4,1163.43 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1163.43,1165.5 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1167.3,1167.41 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1167.41,1169.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1170.3,1170.47 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1170.47,1175.105 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1175.105,1177.5 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1178.4,1178.77 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1180.3,1184.24 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1184.24,1186.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1187.3,1187.13 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1189.2,1189.16 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1189.16,1190.92 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1190.92,1193.67 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1193.67,1195.5 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1197.3,1197.21 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1199.2,1199.20 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1202.67,1223.33 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1223.33,1225.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1226.2,1226.22 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1226.22,1228.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1229.2,1229.12 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1232.67,1261.32 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1261.32,1263.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1264.2,1264.10 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1267.70,1285.2 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1287.94,1289.25 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1289.25,1291.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1292.2,1303.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1306.91,1321.2 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1323.61,1352.2 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1354.94,1366.27 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1366.27,1368.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1369.2,1369.13 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1372.100,1382.2 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1384.60,1385.16 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1385.16,1387.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1388.2,1388.80 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1388.80,1390.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1391.2,1391.11 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1394.68,1395.16 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1395.16,1397.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1398.2,1401.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1401.4,1402.45 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1402.45,1404.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1406.2,1406.11 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1414.146,1417.26 3 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1417.26,1419.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1420.2,1421.44 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1421.44,1423.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1424.2,1424.27 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1424.27,1426.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1428.2,1431.26 4 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1431.26,1433.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1434.2,1434.58 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1434.58,1436.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1437.2,1437.28 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1437.28,1439.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1440.2,1440.12 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1443.142,1446.26 3 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1446.26,1448.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1449.2,1450.44 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1450.44,1452.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1453.2,1453.27 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1453.27,1455.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1456.2,1456.12 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1459.147,1460.67 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1460.67,1462.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1463.2,1466.44 4 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1466.44,1468.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1469.2,1469.27 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1469.27,1471.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1472.2,1472.12 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1475.146,1482.26 3 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1482.26,1484.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1485.2,1486.44 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1486.44,1488.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1489.2,1489.27 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1489.27,1491.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1492.2,1492.12 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1495.145,1500.26 3 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1500.26,1502.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1503.2,1504.44 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1504.44,1506.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1507.2,1507.27 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1507.27,1509.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1510.2,1510.12 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1513.148,1518.26 3 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1518.26,1520.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1521.2,1522.44 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1522.44,1524.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1525.2,1525.27 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1525.27,1527.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1528.2,1528.12 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1531.74,1532.20 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1532.20,1534.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1535.2,1535.39 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1538.56,1540.53 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1540.53,1542.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1543.2,1543.50 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1543.50,1545.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1546.2,1546.54 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1546.54,1548.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1549.2,1549.54 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1549.54,1551.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1552.2,1552.52 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1552.52,1554.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1555.2,1555.56 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1555.56,1557.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1558.2,1558.14 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1571.116,1572.16 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1572.16,1574.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1575.2,1583.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1586.81,1588.19 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1588.19,1590.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1591.2,1592.75 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1592.75,1594.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1595.2,1600.70 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1600.70,1602.84 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1602.84,1604.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1605.3,1611.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1613.2,1613.14 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1616.85,1617.16 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1617.16,1619.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1620.2,1620.48 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1623.95,1626.44 3 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1626.44,1628.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1629.2,1629.16 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1629.16,1631.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1632.2,1632.33 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1635.81,1638.90 3 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1638.90,1640.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1641.2,1641.17 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1641.17,1643.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1644.2,1644.74 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1644.74,1646.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1647.2,1647.18 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1650.141,1664.46 3 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1664.46,1666.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1667.2,1667.12 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1670.67,1673.2 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1675.100,1676.122 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1676.122,1678.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1679.2,1680.22 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1680.22,1682.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1683.2,1692.45 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1692.45,1694.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1695.2,1695.17 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1698.71,1699.180 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1699.180,1701.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1702.2,1702.30 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1702.30,1704.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1705.2,1705.12 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1708.55,1709.33 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1709.33,1710.38 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1710.38,1712.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1714.2,1714.14 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1717.75,1725.2 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1727.68,1738.33 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1738.33,1739.65 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1739.65,1741.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1743.2,1743.63 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1743.63,1745.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1746.2,1746.12 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1749.54,1750.18 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1750.18,1752.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1753.2,1754.31 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1754.31,1756.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1757.2,1757.19 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1760.51,1761.18 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1761.18,1763.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1764.2,1765.31 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1765.31,1767.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1768.2,1768.19 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1771.40,1773.2 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1775.64,1776.21 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1776.21,1778.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1779.2,1779.14 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1782.48,1783.21 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1783.21,1785.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1786.2,1787.13 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1790.47,1791.19 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1791.19,1793.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1794.2,1795.50 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1795.50,1797.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1798.2,1798.12 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1801.42,1802.19 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1802.19,1804.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1805.2,1806.50 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1806.50,1808.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1809.2,1809.12 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1812.40,1813.43 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1813.43,1815.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1816.2,1817.53 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1817.53,1819.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_governance_store.go:1820.2,1821.56 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:28.49,28.83 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:55.71,57.2 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:59.112,60.29 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:60.29,62.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:63.2,63.22 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:63.22,65.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:66.2,67.31 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:67.31,69.17 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:69.17,71.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:72.3,72.27 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:74.2,74.66 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:74.66,76.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:77.2,77.12 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:80.137,81.29 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:81.29,83.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:84.2,85.21 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:85.21,87.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:88.2,88.16 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:88.16,90.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:91.2,96.33 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:96.33,98.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:99.2,100.22 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:100.22,102.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:103.2,103.17 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:106.169,107.29 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:107.29,109.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:110.2,111.19 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:111.19,113.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:114.2,115.16 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:115.16,117.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:118.2,135.33 5 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:135.33,137.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:138.2,138.20 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:138.20,141.3 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:143.2,144.27 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:144.27,147.17 3 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:147.17,149.4 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:150.3,155.5 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:157.2,157.23 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:160.134,162.23 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:162.23,164.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:165.2,165.21 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:165.21,167.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:168.2,168.14 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:171.186,177.47 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:177.47,179.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:180.2,180.21 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:183.94,184.18 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:184.18,186.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:187.2,190.85 4 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:190.85,192.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:193.2,201.31 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:201.31,203.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:204.2,204.60 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:204.60,206.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:207.2,207.78 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:207.78,209.3 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:210.2,210.17 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:213.82,224.29 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:224.29,227.3 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:228.2,228.38 1 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:228.38,231.3 2 0 +github.com/thebtf/engram/internal/db/gorm/rule_injection_event_store.go:232.2,232.14 1 0 +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:24.47,24.76 1 0 +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:32.63,34.2 1 0 +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:38.107,39.12 1 0 +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:39.12,48.51 2 0 +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:48.51,50.4 1 0 +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:69.108,73.21 3 0 +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:73.21,75.3 1 0 +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:78.2,78.64 1 0 +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:78.64,80.3 1 0 +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:82.2,82.34 1 0 +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:82.34,84.3 1 0 +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:87.2,90.53 2 0 +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:90.53,92.3 1 0 +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:95.2,96.21 2 0 +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:96.21,98.3 1 0 +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:99.2,101.51 1 0 +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:101.51,103.3 1 0 +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:106.2,108.21 3 0 +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:108.21,110.3 1 0 +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:111.2,111.75 1 0 +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:111.75,113.3 1 0 +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:114.2,114.33 1 0 +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:114.33,116.3 1 0 +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:120.2,123.24 3 0 +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:136.117,137.16 1 0 +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:140.2,140.17 1 0 +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:140.17,142.3 1 0 +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:144.2,148.19 3 0 +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:148.19,150.3 1 0 +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:151.2,151.47 1 0 +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:151.47,153.3 1 0 +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:155.2,156.28 2 0 +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:156.28,164.3 1 0 +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:165.2,165.20 1 0 +github.com/thebtf/engram/internal/db/gorm/search_query_log_store.go:169.100,175.2 3 0 +github.com/thebtf/engram/internal/db/gorm/segment_store.go:22.42,22.71 1 0 +github.com/thebtf/engram/internal/db/gorm/segment_store.go:30.50,32.2 1 0 +github.com/thebtf/engram/internal/db/gorm/segment_store.go:35.106,41.16 3 0 +github.com/thebtf/engram/internal/db/gorm/segment_store.go:41.16,42.36 1 0 +github.com/thebtf/engram/internal/db/gorm/segment_store.go:42.36,44.4 1 0 +github.com/thebtf/engram/internal/db/gorm/segment_store.go:45.3,45.64 1 0 +github.com/thebtf/engram/internal/db/gorm/segment_store.go:47.2,47.18 1 0 +github.com/thebtf/engram/internal/db/gorm/segment_store.go:51.122,55.67 3 0 +github.com/thebtf/engram/internal/db/gorm/segment_store.go:55.67,59.46 1 0 +github.com/thebtf/engram/internal/db/gorm/segment_store.go:59.46,61.4 1 0 +github.com/thebtf/engram/internal/db/gorm/segment_store.go:65.3,69.38 2 0 +github.com/thebtf/engram/internal/db/gorm/segment_store.go:69.38,71.4 1 0 +github.com/thebtf/engram/internal/db/gorm/segment_store.go:73.3,80.47 2 0 +github.com/thebtf/engram/internal/db/gorm/segment_store.go:80.47,82.4 1 0 +github.com/thebtf/engram/internal/db/gorm/segment_store.go:83.3,84.13 2 0 +github.com/thebtf/engram/internal/db/gorm/segment_store.go:86.2,86.20 1 0 +github.com/thebtf/engram/internal/db/gorm/segment_store.go:90.101,97.2 3 0 +github.com/thebtf/engram/internal/db/gorm/segment_store.go:100.86,105.2 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:31.50,33.2 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:41.122,48.37 2 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:48.37,49.24 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:49.24,51.5 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:52.4,52.39 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:59.2,66.25 2 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:66.25,68.3 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:70.2,70.30 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:70.30,72.20 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:72.20,74.24 2 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:74.24,76.5 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:77.4,80.38 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:80.38,82.5 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:85.3,88.39 2 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:88.39,90.4 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:91.3,91.26 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:94.2,94.20 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:99.98,101.68 2 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:101.68,102.36 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:102.36,104.4 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:105.3,105.18 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:107.2,107.37 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:112.115,116.33 2 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:116.33,117.36 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:117.36,119.4 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:120.3,120.18 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:122.2,122.37 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:127.110,129.16 2 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:129.16,131.3 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:132.2,132.16 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:132.16,134.3 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:135.2,135.33 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:142.91,151.16 3 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:151.16,153.72 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:153.72,157.95 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:157.95,159.5 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:161.4,164.40 2 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:164.40,166.5 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:167.4,167.33 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:169.3,169.16 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:172.2,172.21 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:176.85,180.37 2 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:180.37,182.3 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:183.2,183.31 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:188.75,196.31 4 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:196.31,198.3 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:199.2,199.20 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:204.78,211.46 2 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:211.46,213.3 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:214.2,214.19 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:220.161,222.19 2 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:222.19,224.3 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:225.2,225.20 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:225.20,227.3 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:228.2,228.14 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:228.14,230.3 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:231.2,231.12 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:231.12,233.3 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:235.2,236.46 2 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:236.46,238.3 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:240.2,244.33 2 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:244.33,246.3 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:248.2,249.22 2 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:249.22,251.3 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:252.2,252.24 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:257.115,258.67 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:258.67,260.17 2 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:260.17,262.4 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:264.3,264.18 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:264.18,265.24 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:265.24,267.5 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:269.4,286.33 4 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:286.33,288.5 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:289.4,289.38 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:289.38,294.19 3 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:294.19,295.48 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:295.48,297.7 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:298.6,298.16 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:300.5,300.21 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:304.3,305.25 2 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:305.25,307.4 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:308.3,308.28 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:308.28,309.34 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:309.34,311.5 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:312.4,312.139 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:315.3,322.26 2 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:322.26,324.4 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:325.3,325.30 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:325.30,327.4 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:330.3,335.45 3 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:335.45,337.4 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:338.3,338.17 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:338.17,340.4 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:341.3,341.58 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:341.58,342.40 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:342.40,344.5 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:345.4,345.147 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:348.3,348.69 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:354.90,355.21 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:355.21,357.3 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:358.2,363.16 3 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:363.16,364.45 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:364.45,366.4 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:367.3,367.17 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:369.2,369.24 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:369.24,371.3 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:372.2,372.16 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:378.97,381.96 2 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:381.96,384.73 3 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:384.73,386.4 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:387.3,387.46 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:387.46,389.4 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:392.2,393.102 2 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:393.102,395.3 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:395.8,395.51 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:395.51,397.3 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:397.8,399.3 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:403.101,408.25 2 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:408.25,410.3 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:411.2,411.30 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:411.30,413.3 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:414.2,414.12 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:421.116,428.25 2 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:428.25,430.3 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:431.2,431.37 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:436.100,440.2 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:451.89,464.16 4 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:464.16,466.3 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:467.2,468.24 2 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:468.24,474.3 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:475.2,475.17 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:488.116,494.15 2 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:494.15,496.3 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:499.2,507.19 3 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:507.19,509.3 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:511.2,512.43 2 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:512.43,514.3 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:516.2,517.24 2 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:517.24,519.21 2 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:519.21,521.4 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:522.3,527.4 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:529.2,529.17 1 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:534.109,540.2 2 0 +github.com/thebtf/engram/internal/db/gorm/session_store.go:543.60,563.2 1 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:32.52,34.2 1 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:40.105,41.15 1 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:41.15,43.3 1 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:44.2,44.18 1 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:44.18,46.3 1 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:47.2,47.18 1 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:47.18,49.21 1 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:49.21,51.4 1 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:52.3,52.34 1 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:52.34,54.4 1 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:55.3,55.40 1 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:55.40,57.4 1 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:58.8,58.39 1 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:58.39,60.3 1 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:62.2,64.32 3 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:64.32,66.3 1 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:72.2,73.69 2 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:73.69,78.10 3 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:79.38,92.47 2 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:92.47,94.5 1 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:95.4,96.14 2 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:97.19,98.14 1 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:99.11,110.104 2 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:110.104,112.5 1 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:113.4,113.47 1 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:116.2,116.18 1 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:116.18,118.3 1 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:119.2,119.45 1 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:123.92,124.15 1 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:124.15,126.3 1 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:127.2,131.16 3 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:131.16,133.3 1 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:134.2,134.42 1 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:140.83,146.16 3 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:146.16,148.3 1 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:149.2,150.22 2 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:150.22,152.3 1 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:153.2,153.20 1 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:159.71,160.15 1 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:160.15,162.3 1 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:163.2,175.25 3 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:175.25,177.3 1 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:178.2,178.30 1 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:178.30,180.3 1 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:181.2,181.12 1 0 +github.com/thebtf/engram/internal/db/gorm/settings_store.go:185.69,200.2 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:34.39,34.69 1 3 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:39.51,40.17 1 13 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:40.17,42.3 1 9 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:44.2,45.22 2 4 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:45.22,46.12 1 4 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:46.12,48.4 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:49.3,49.28 1 4 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:51.2,52.15 2 4 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:55.50,56.16 1 8 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:56.16,59.3 2 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:61.2,61.25 1 8 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:62.14,63.41 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:64.14,65.33 1 8 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:66.15,68.13 2 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:70.2,70.72 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:74.57,75.26 1 8 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:75.26,78.3 2 6 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:80.2,80.54 1 2 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:80.54,82.3 1 2 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:83.2,83.13 1 2 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:83.13,86.3 2 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:88.2,90.31 3 2 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:90.31,91.33 1 4 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:91.33,93.18 2 2 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:93.18,96.19 3 2 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:96.19,98.6 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:99.5,99.25 1 2 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:101.4,101.17 1 2 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:104.2,105.12 2 2 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:109.62,111.22 2 6 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:111.22,113.3 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:114.2,115.18 2 6 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:115.18,117.3 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:118.2,132.35 2 6 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:132.35,134.3 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:135.2,135.13 1 6 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:139.64,141.22 2 6 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:141.22,143.3 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:144.2,145.18 2 6 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:145.18,147.3 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:148.2,161.20 2 6 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:161.20,163.3 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:164.2,164.10 1 6 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:173.51,175.2 1 72 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:180.114,182.2 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:184.129,185.17 1 6 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:185.17,187.3 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:188.2,188.27 1 6 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:188.27,190.3 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:191.2,193.25 3 6 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:193.25,195.3 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:196.2,196.35 1 6 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:201.101,203.101 2 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:203.101,205.3 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:206.2,206.36 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:212.125,213.15 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:213.15,215.3 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:216.2,220.33 2 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:220.33,222.3 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:223.2,223.36 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:228.96,230.68 2 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:230.68,232.3 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:233.2,233.36 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:238.140,239.16 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:239.16,241.3 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:242.2,243.18 2 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:243.18,245.3 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:246.2,246.17 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:246.17,248.3 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:249.2,250.44 2 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:250.44,252.3 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:253.2,254.22 2 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:254.22,256.3 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:257.2,257.17 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:261.86,263.2 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:268.125,269.15 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:269.15,271.3 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:272.2,279.22 2 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:279.22,281.3 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:282.2,282.27 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:282.27,284.3 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:285.2,285.12 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:289.75,294.22 2 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:294.22,296.3 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:297.2,297.27 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:297.27,299.3 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:300.2,300.12 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:310.118,311.33 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:311.33,313.3 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:315.2,315.67 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:315.67,317.3 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:320.133,321.33 1 3 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:321.33,323.3 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:326.2,329.33 2 3 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:329.33,331.3 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:334.2,335.65 2 3 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:335.65,336.76 1 3 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:336.76,338.4 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:344.2,345.42 2 3 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:345.42,347.67 2 3 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:347.67,349.4 1 3 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:350.3,350.47 1 3 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:354.2,356.43 3 3 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:356.43,357.28 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:357.28,358.12 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:360.3,361.42 2 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:363.2,363.39 1 3 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:363.39,364.28 1 3 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:364.28,365.12 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:367.3,368.42 2 3 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:372.2,373.16 2 3 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:373.16,375.3 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:377.2,383.22 2 3 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:383.22,385.3 1 1 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:386.2,386.12 1 2 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:391.95,395.22 2 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:395.22,397.3 1 0 +github.com/thebtf/engram/internal/db/gorm/snapshot_store.go:398.2,398.30 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:23.54,24.17 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:24.17,26.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:27.2,27.23 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:30.53,31.16 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:31.16,34.3 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:35.2,35.25 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:36.14,37.30 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:38.14,39.17 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:40.10,41.77 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:43.2,43.18 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:43.18,45.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:46.2,46.12 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:59.43,59.75 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:72.43,72.75 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:83.69,85.2 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:88.120,89.38 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:89.38,91.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:92.2,92.21 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:92.21,94.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:95.2,95.58 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:95.58,97.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:98.2,99.16 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:99.16,101.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:102.2,103.16 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:103.16,105.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:106.2,107.16 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:107.16,109.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:111.2,128.16 4 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:132.2,133.12 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:137.115,138.38 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:138.38,140.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:141.2,141.21 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:141.21,143.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:144.2,145.99 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:145.99,147.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:148.2,149.16 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:149.16,151.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:152.2,152.19 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:156.119,157.38 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:157.38,159.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:160.2,160.19 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:160.19,162.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:163.2,164.21 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:164.21,166.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:167.2,167.26 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:167.26,169.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:170.2,189.16 4 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:189.16,191.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:193.2,196.12 4 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:200.114,201.38 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:201.38,203.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:204.2,205.16 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:205.16,207.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:208.2,208.38 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:211.104,212.19 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:212.19,214.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:215.2,216.94 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:216.94,218.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:219.2,219.17 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:222.76,229.2 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:232.131,234.29 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:234.29,236.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:237.2,237.71 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:237.71,239.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:240.2,240.38 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:240.38,242.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:244.2,252.23 8 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:252.23,254.108 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:254.108,256.4 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:257.3,258.24 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:258.24,260.18 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:260.18,262.5 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:263.4,264.90 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:266.3,267.17 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:267.17,269.4 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:270.3,271.17 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:271.17,273.4 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:274.3,275.17 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:275.17,277.4 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:278.3,279.32 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:279.32,281.4 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:281.9,283.4 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:284.3,285.85 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:286.8,287.28 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:287.28,289.4 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:290.3,291.17 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:291.17,293.4 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:294.3,297.75 4 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:300.2,320.20 4 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:323.114,331.2 7 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:333.103,334.22 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:334.22,336.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:337.2,338.31 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:338.31,340.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:341.2,347.4 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:347.4,348.31 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:348.31,351.4 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:353.2,353.20 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:353.20,355.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:356.2,357.26 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:357.26,359.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:360.2,361.30 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:361.30,363.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:364.2,364.16 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:367.89,368.30 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:368.30,370.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:371.2,372.39 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:372.39,373.16 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:374.36,375.31 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:375.31,377.5 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:378.36,379.29 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:379.29,381.5 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:382.33,383.28 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:383.28,385.5 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:386.4,386.19 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:386.19,388.5 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:389.33,390.28 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:390.28,392.5 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:393.4,393.19 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:393.19,395.5 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:396.11,397.77 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:400.2,400.12 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:403.102,404.31 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:404.31,405.20 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:405.20,407.4 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:409.2,409.14 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:412.84,414.16 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:414.16,416.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:417.2,418.16 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:418.16,420.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:421.2,422.16 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:422.16,424.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:425.2,429.8 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:432.88,454.2 5 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:456.51,457.20 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:457.20,459.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:460.2,460.45 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:463.109,466.32 3 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:466.32,468.29 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:468.29,470.4 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:471.3,472.27 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:474.2,475.96 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:475.96,476.70 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:476.70,478.4 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:480.2,480.13 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:483.89,485.2 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:487.78,489.27 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:489.27,491.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:492.2,492.29 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:492.29,494.29 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:494.29,495.12 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:497.3,498.27 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:500.2,500.13 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:503.75,505.19 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:505.19,507.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:508.2,509.56 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:509.56,511.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:512.2,512.65 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:512.65,514.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:515.2,515.59 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:515.59,517.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:518.2,519.22 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:519.22,521.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:522.2,522.102 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:525.87,527.19 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:527.19,529.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:530.2,530.189 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:533.56,534.27 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:535.16,536.30 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:537.21,539.26 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:539.26,541.11 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:541.11,542.13 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:544.4,544.30 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:546.3,546.34 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:547.14,548.40 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:549.10,550.20 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:554.50,556.31 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:556.31,558.18 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:558.18,559.12 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:561.3,561.35 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:563.2,563.16 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:566.40,567.29 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:567.29,569.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:570.2,570.12 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:573.93,575.9 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:575.9,577.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:578.2,578.32 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:581.105,583.9 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:583.9,585.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:586.2,586.38 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:589.73,590.27 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:591.29,592.45 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:592.45,594.4 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:595.3,595.19 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:595.19,597.4 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:598.3,598.31 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:598.31,600.4 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:601.3,601.16 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:602.30,608.47 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:608.47,610.4 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:611.3,611.50 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:611.50,613.4 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:614.3,614.36 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:614.36,616.4 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:617.3,617.21 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:618.14,619.33 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:619.33,621.4 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:622.3,622.92 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:623.10,624.92 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:628.85,629.27 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:630.35,631.45 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:631.45,633.4 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:634.3,634.19 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:634.19,636.4 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:637.3,637.37 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:637.37,639.4 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:640.3,640.16 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:641.30,647.47 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:647.47,649.4 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:650.3,650.56 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:650.56,652.4 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:653.3,653.48 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:653.48,655.4 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:656.3,656.27 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:657.14,658.33 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:658.33,660.4 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:661.3,661.99 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:662.10,663.104 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:667.66,669.25 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:669.25,671.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:672.2,672.33 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:672.33,674.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:675.2,675.26 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:678.64,679.38 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:679.38,681.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:682.2,682.41 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:685.76,686.38 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:686.38,688.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:689.2,689.42 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:692.59,693.14 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:694.103,695.14 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:696.10,697.15 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:701.71,702.14 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:703.114,704.14 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:705.10,706.15 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:710.77,711.18 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:711.18,713.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:714.2,715.16 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:715.16,717.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:718.2,718.28 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:718.28,720.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:721.2,721.33 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:724.74,726.2 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:728.77,729.19 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:729.19,731.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:732.2,733.50 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:733.50,735.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:736.2,736.16 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:736.16,738.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:739.2,739.17 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:764.161,765.18 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:765.18,767.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:768.2,768.18 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:768.18,770.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:771.2,771.18 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:771.18,773.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:774.2,776.17 3 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:776.17,778.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:779.2,780.27 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:780.27,782.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:783.2,783.108 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:786.137,810.2 4 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:812.45,813.31 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:813.31,814.57 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:814.57,816.4 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:818.2,818.11 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:821.107,822.37 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:822.37,824.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:825.2,825.17 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:825.17,827.3 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:828.2,829.23 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:829.23,830.56 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:830.56,833.4 2 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:835.2,843.12 3 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:843.12,844.16 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:844.16,844.33 1 0 +github.com/thebtf/engram/internal/db/gorm/state_store.go:845.3,847.38 3 0 +github.com/thebtf/engram/internal/db/gorm/store.go:44.43,46.16 2 0 +github.com/thebtf/engram/internal/db/gorm/store.go:46.16,48.3 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:50.2,51.16 2 0 +github.com/thebtf/engram/internal/db/gorm/store.go:51.16,53.3 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:55.2,58.37 3 0 +github.com/thebtf/engram/internal/db/gorm/store.go:58.37,60.3 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:62.2,69.42 2 0 +github.com/thebtf/engram/internal/db/gorm/store.go:69.42,71.3 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:76.2,78.19 2 0 +github.com/thebtf/engram/internal/db/gorm/store.go:84.45,90.16 2 0 +github.com/thebtf/engram/internal/db/gorm/store.go:90.16,92.3 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:93.2,93.16 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:97.40,98.19 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:98.19,100.3 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:101.2,101.17 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:109.49,114.2 4 0 +github.com/thebtf/engram/internal/db/gorm/store.go:123.40,124.19 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:124.19,126.3 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:128.2,129.32 2 0 +github.com/thebtf/engram/internal/db/gorm/store.go:129.32,131.13 2 0 +github.com/thebtf/engram/internal/db/gorm/store.go:131.13,137.18 5 0 +github.com/thebtf/engram/internal/db/gorm/store.go:137.18,139.5 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:141.4,143.20 2 0 +github.com/thebtf/engram/internal/db/gorm/store.go:146.2,147.72 2 0 +github.com/thebtf/engram/internal/db/gorm/store.go:151.31,153.2 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:156.30,158.2 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:164.36,166.2 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:169.34,171.2 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:175.37,177.2 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:184.53,188.63 3 0 +github.com/thebtf/engram/internal/db/gorm/store.go:188.63,190.3 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:192.2,193.12 2 0 +github.com/thebtf/engram/internal/db/gorm/store.go:199.62,202.79 2 0 +github.com/thebtf/engram/internal/db/gorm/store.go:202.79,206.3 3 0 +github.com/thebtf/engram/internal/db/gorm/store.go:207.2,217.13 7 0 +github.com/thebtf/engram/internal/db/gorm/store.go:222.67,232.2 6 0 +github.com/thebtf/engram/internal/db/gorm/store.go:238.69,247.22 4 0 +github.com/thebtf/engram/internal/db/gorm/store.go:247.22,249.3 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:253.2,258.22 5 0 +github.com/thebtf/engram/internal/db/gorm/store.go:258.22,261.3 2 0 +github.com/thebtf/engram/internal/db/gorm/store.go:263.2,263.16 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:263.16,267.3 3 0 +github.com/thebtf/engram/internal/db/gorm/store.go:269.2,270.13 2 0 +github.com/thebtf/engram/internal/db/gorm/store.go:274.56,284.2 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:289.65,291.82 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:291.82,294.3 2 0 +github.com/thebtf/engram/internal/db/gorm/store.go:297.2,297.72 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:297.72,300.3 2 0 +github.com/thebtf/engram/internal/db/gorm/store.go:303.2,303.45 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:303.45,304.31 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:304.31,306.4 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:307.3,307.74 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:312.2,312.61 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:312.61,313.31 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:313.31,315.4 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:316.3,316.88 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:372.50,373.21 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:373.21,375.3 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:376.2,380.3 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:384.60,390.35 5 0 +github.com/thebtf/engram/internal/db/gorm/store.go:390.35,392.3 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:393.2,394.31 2 0 +github.com/thebtf/engram/internal/db/gorm/store.go:398.58,402.31 3 0 +github.com/thebtf/engram/internal/db/gorm/store.go:402.31,404.3 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:405.2,405.39 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:405.39,407.3 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:408.2,408.39 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:414.58,427.25 4 0 +github.com/thebtf/engram/internal/db/gorm/store.go:427.25,429.3 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:431.2,433.26 2 0 +github.com/thebtf/engram/internal/db/gorm/store.go:433.26,435.3 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:437.2,437.16 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:442.81,445.28 3 0 +github.com/thebtf/engram/internal/db/gorm/store.go:445.28,447.14 2 0 +github.com/thebtf/engram/internal/db/gorm/store.go:447.14,449.4 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:450.3,450.14 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:450.14,452.4 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:454.2,455.22 2 0 +github.com/thebtf/engram/internal/db/gorm/store.go:461.56,467.2 5 0 +github.com/thebtf/engram/internal/db/gorm/store.go:485.45,486.22 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:486.22,488.3 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:489.2,489.38 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:495.32,496.22 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:496.22,498.3 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:504.129,508.28 3 0 +github.com/thebtf/engram/internal/db/gorm/store.go:508.28,513.37 3 0 +github.com/thebtf/engram/internal/db/gorm/store.go:513.37,519.4 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:526.110,531.16 4 0 +github.com/thebtf/engram/internal/db/gorm/store.go:531.16,532.38 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:532.38,534.4 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:535.3,535.13 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:537.2,537.12 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:543.117,548.2 3 0 +github.com/thebtf/engram/internal/db/gorm/store.go:555.115,559.74 3 0 +github.com/thebtf/engram/internal/db/gorm/store.go:559.74,562.10 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:563.28,564.27 1 0 +github.com/thebtf/engram/internal/db/gorm/store.go:565.11,565.11 0 0 +github.com/thebtf/engram/internal/db/gorm/store.go:567.3,567.16 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:21.49,23.16 2 1 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:23.16,24.13 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:26.2,26.21 1 1 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:44.50,44.85 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:81.61,83.2 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:87.151,89.16 2 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:89.16,91.3 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:92.2,92.52 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:97.148,99.16 2 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:99.16,101.3 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:102.2,102.57 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:105.151,106.38 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:106.38,108.3 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:109.2,110.18 2 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:110.18,112.3 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:113.2,118.72 2 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:118.72,120.3 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:121.2,121.66 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:121.66,123.3 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:124.2,125.48 2 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:125.48,127.3 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:128.2,128.18 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:134.120,136.38 2 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:136.38,138.3 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:139.2,139.26 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:139.26,141.3 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:142.2,143.16 2 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:143.16,145.3 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:146.2,147.70 2 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:147.70,148.105 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:148.105,150.4 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:151.3,151.21 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:151.21,153.4 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:154.3,154.48 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:154.48,156.4 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:157.3,157.13 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:158.17,160.3 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:161.2,161.20 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:164.48,165.29 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:165.29,167.3 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:168.2,168.12 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:171.105,177.33 2 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:177.33,179.3 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:180.2,180.18 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:183.121,185.24 2 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:185.24,187.3 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:188.2,189.26 2 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:189.26,191.3 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:192.2,194.26 3 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:194.26,196.39 2 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:196.39,198.4 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:199.3,199.56 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:201.2,202.38 2 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:202.38,204.47 2 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:204.47,207.26 3 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:207.26,209.5 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:210.4,210.53 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:210.53,212.5 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:213.4,213.36 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:215.3,216.21 2 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:216.21,218.12 2 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:220.3,221.10 2 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:221.10,223.12 2 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:225.3,226.32 2 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:226.32,228.24 2 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:228.24,230.5 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:231.4,232.28 2 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:235.2,235.21 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:238.71,239.20 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:239.20,241.3 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:242.2,243.30 2 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:243.30,247.22 4 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:247.22,249.39 2 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:249.39,250.10 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:252.4,253.7 2 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:255.3,256.8 2 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:258.2,258.18 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:261.73,262.16 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:262.16,264.3 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:265.2,267.34 3 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:267.34,268.38 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:268.38,269.9 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:271.3,273.20 3 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:273.20,274.9 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:276.3,276.19 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:278.2,278.19 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:281.58,282.67 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:282.67,284.3 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:285.2,285.43 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:285.43,287.3 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:288.2,288.43 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:288.43,290.3 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:291.2,291.30 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:294.120,308.2 3 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:310.79,311.45 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:311.45,314.3 2 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:315.2,315.22 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:315.22,318.3 2 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:319.2,319.70 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:319.70,322.3 2 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:323.2,324.15 2 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:327.59,329.2 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:331.99,332.64 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:332.64,334.3 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:335.2,335.110 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:335.110,337.3 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:338.2,339.15 2 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:342.80,343.43 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:343.43,345.3 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:346.2,346.66 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:346.66,348.3 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:349.2,349.11 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:352.53,354.2 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:356.63,357.54 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:357.54,359.3 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:360.2,361.15 2 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:364.66,365.18 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:365.18,367.3 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:368.2,369.15 2 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:372.98,374.27 2 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:374.27,386.3 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:387.2,387.15 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:390.101,392.29 2 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:392.29,404.3 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:405.2,405.16 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:408.148,409.31 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:409.31,411.3 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:412.2,413.37 2 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:413.37,420.3 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:421.2,421.12 1 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:424.80,428.2 3 0 +github.com/thebtf/engram/internal/db/gorm/temporal_truth_store.go:430.69,432.2 1 2 +github.com/thebtf/engram/internal/db/gorm/token_store.go:19.46,21.2 1 0 +github.com/thebtf/engram/internal/db/gorm/token_store.go:24.113,26.2 1 0 +github.com/thebtf/engram/internal/db/gorm/token_store.go:30.152,33.44 3 0 +github.com/thebtf/engram/internal/db/gorm/token_store.go:33.44,35.3 1 0 +github.com/thebtf/engram/internal/db/gorm/token_store.go:36.2,36.25 1 0 +github.com/thebtf/engram/internal/db/gorm/token_store.go:36.25,38.3 1 0 +github.com/thebtf/engram/internal/db/gorm/token_store.go:39.2,48.66 2 0 +github.com/thebtf/engram/internal/db/gorm/token_store.go:48.66,50.3 1 0 +github.com/thebtf/engram/internal/db/gorm/token_store.go:52.2,52.19 1 0 +github.com/thebtf/engram/internal/db/gorm/token_store.go:58.68,64.2 3 0 +github.com/thebtf/engram/internal/db/gorm/token_store.go:70.91,75.16 3 0 +github.com/thebtf/engram/internal/db/gorm/token_store.go:75.16,77.3 1 0 +github.com/thebtf/engram/internal/db/gorm/token_store.go:78.2,78.20 1 0 +github.com/thebtf/engram/internal/db/gorm/token_store.go:82.67,91.30 3 0 +github.com/thebtf/engram/internal/db/gorm/token_store.go:91.30,93.3 1 0 +github.com/thebtf/engram/internal/db/gorm/token_store.go:94.2,94.21 1 0 +github.com/thebtf/engram/internal/db/gorm/token_store.go:98.75,106.2 1 0 +github.com/thebtf/engram/internal/db/gorm/token_store.go:109.80,114.2 1 0 +github.com/thebtf/engram/internal/db/gorm/token_store.go:117.81,120.35 3 0 +github.com/thebtf/engram/internal/db/gorm/token_store.go:120.35,122.3 1 0 +github.com/thebtf/engram/internal/db/gorm/token_store.go:123.2,123.16 1 0 +github.com/thebtf/engram/internal/db/gorm/token_store.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/db/gorm/token_store.go:126.2,126.20 1 0 +github.com/thebtf/engram/internal/db/gorm/token_store.go:132.92,133.22 1 0 +github.com/thebtf/engram/internal/db/gorm/token_store.go:133.22,135.3 1 0 +github.com/thebtf/engram/internal/db/gorm/token_store.go:140.2,140.67 1 0 +github.com/thebtf/engram/internal/db/gorm/token_store.go:140.67,142.33 2 0 +github.com/thebtf/engram/internal/db/gorm/token_store.go:142.33,148.26 1 0 +github.com/thebtf/engram/internal/db/gorm/token_store.go:148.26,150.5 1 0 +github.com/thebtf/engram/internal/db/gorm/token_store.go:152.3,152.13 1 0 +github.com/thebtf/engram/internal/db/gorm/transcript_store.go:25.45,25.77 1 0 +github.com/thebtf/engram/internal/db/gorm/transcript_store.go:33.55,35.2 1 0 +github.com/thebtf/engram/internal/db/gorm/transcript_store.go:43.83,44.20 1 0 +github.com/thebtf/engram/internal/db/gorm/transcript_store.go:44.20,46.3 1 0 +github.com/thebtf/engram/internal/db/gorm/transcript_store.go:47.2,47.26 1 0 +github.com/thebtf/engram/internal/db/gorm/transcript_store.go:47.26,49.3 1 0 +github.com/thebtf/engram/internal/db/gorm/transcript_store.go:52.2,52.66 1 0 +github.com/thebtf/engram/internal/db/gorm/transcript_store.go:57.119,63.16 3 0 +github.com/thebtf/engram/internal/db/gorm/transcript_store.go:63.16,65.3 1 0 +github.com/thebtf/engram/internal/db/gorm/transcript_store.go:66.2,66.18 1 0 +github.com/thebtf/engram/internal/db/gorm/transcript_store.go:71.81,72.19 1 0 +github.com/thebtf/engram/internal/db/gorm/transcript_store.go:72.19,74.3 1 0 +github.com/thebtf/engram/internal/db/gorm/transcript_store.go:75.2,79.16 2 0 +github.com/thebtf/engram/internal/db/gorm/transcript_store.go:79.16,81.3 1 0 +github.com/thebtf/engram/internal/db/gorm/transcript_store.go:82.2,82.12 1 0 +github.com/thebtf/engram/internal/db/gorm/transcript_store.go:87.78,91.25 2 0 +github.com/thebtf/engram/internal/db/gorm/transcript_store.go:91.25,93.3 1 0 +github.com/thebtf/engram/internal/db/gorm/transcript_store.go:94.2,94.33 1 0 +github.com/thebtf/engram/internal/db/gorm/transcript_store.go:100.99,101.15 1 0 +github.com/thebtf/engram/internal/db/gorm/transcript_store.go:101.15,103.3 1 0 +github.com/thebtf/engram/internal/db/gorm/transcript_store.go:109.2,113.25 3 0 +github.com/thebtf/engram/internal/db/gorm/transcript_store.go:113.25,115.3 1 0 +github.com/thebtf/engram/internal/db/gorm/transcript_store.go:116.2,116.33 1 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:17.43,19.2 1 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:22.81,29.48 2 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:29.48,31.3 1 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:32.2,32.18 1 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:36.65,38.74 2 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:38.74,40.3 1 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:41.2,41.19 1 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:45.58,47.52 2 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:47.52,49.3 1 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:50.2,50.19 1 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:54.50,56.72 2 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:56.72,58.3 1 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:59.2,59.19 1 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:63.72,65.25 2 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:65.25,67.3 1 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:68.2,68.30 1 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:68.30,70.3 1 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:71.2,71.12 1 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:75.49,77.64 2 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:77.64,79.3 1 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:80.2,80.19 1 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:84.50,86.112 2 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:86.112,88.3 1 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:89.2,89.19 1 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:95.105,96.13 1 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:96.13,98.3 1 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:99.2,99.36 1 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:99.36,101.3 1 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:102.2,103.50 2 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:103.50,109.45 2 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:109.45,111.4 1 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:113.3,114.98 2 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:114.98,116.4 1 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:118.3,119.42 2 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:119.42,120.36 1 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:120.36,122.5 1 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:123.4,123.53 1 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:126.3,127.22 2 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:127.22,129.4 1 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:130.3,130.18 1 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:130.18,132.4 1 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:133.3,134.26 2 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:134.26,136.4 1 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:137.3,137.31 1 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:137.31,139.4 1 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:140.3,140.38 1 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:142.2,142.16 1 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/db/gorm/user_store.go:145.2,145.22 1 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:33.45,33.77 1 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:48.52,48.92 1 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:57.70,59.2 1 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:62.53,65.2 2 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:73.18,76.19 2 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:76.19,78.3 1 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:79.2,79.20 1 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:79.20,81.3 1 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:83.2,84.67 2 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:84.67,90.38 2 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:90.38,92.4 1 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:95.3,100.40 2 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:100.40,102.4 1 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:104.3,115.47 2 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:115.47,117.4 1 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:118.3,119.13 2 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:121.2,121.16 1 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:121.16,123.3 1 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:124.2,124.19 1 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:129.116,136.16 3 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:136.16,138.3 1 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:139.2,139.18 1 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:144.130,149.16 3 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:149.16,151.3 1 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:152.2,152.18 1 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:159.137,167.15 3 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:167.15,169.3 1 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:171.2,172.85 2 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:172.85,174.3 1 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:175.2,175.18 1 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:179.107,180.16 1 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:183.2,187.25 3 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:187.25,189.3 1 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:190.2,190.33 1 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:195.96,199.19 3 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:199.19,202.3 2 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:203.2,203.22 1 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:203.22,206.3 2 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:208.2,208.23 1 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:208.23,210.3 1 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:211.2,211.55 1 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:217.128,222.15 2 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:222.15,224.3 1 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:226.2,227.48 2 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:227.48,229.3 1 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:230.2,230.18 1 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:241.18,250.69 2 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:250.69,252.3 1 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:253.2,253.24 1 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:257.121,262.37 2 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:262.37,264.3 1 0 +github.com/thebtf/engram/internal/db/gorm/versioned_document_store.go:265.2,265.22 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33.53,34.30 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:34.30,36.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.2,37.25 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.25,39.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:40.2,40.12 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44.28,46.2 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52.83,53.12 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:53.12,54.16 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:54.16,55.32 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:55.32,61.5 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:63.3,65.33 3 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:65.33,71.4 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77.54,78.14 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:78.14,80.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:81.2,82.16 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:82.16,85.3 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:86.2,87.13 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92.91,93.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:93.23,95.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:96.2,97.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:97.15,99.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:100.2,105.65 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:105.65,113.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117.95,118.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:118.23,120.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:121.2,122.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:122.15,124.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:125.2,129.65 5 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:129.65,138.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142.87,143.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:143.23,145.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:146.2,147.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:150.2,153.65 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:153.65,161.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166.96,167.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:167.23,169.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:170.2,171.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:171.15,173.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:174.2,177.63 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:177.63,185.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189.97,190.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:190.23,192.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:193.2,194.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:194.15,196.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:197.2,200.68 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:200.68,208.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:30.62,31.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:31.20,33.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:34.2,35.49 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:35.49,37.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:38.2,38.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:38.14,40.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:41.2,41.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:46.52,47.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:47.14,49.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:50.2,50.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:51.14,52.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:53.19,54.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:55.15,56.45 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:57.12,58.31 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:59.10,60.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:67.43,68.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:68.14,70.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:71.2,71.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:72.15,73.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:74.19,75.38 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:75.38,77.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:78.3,78.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:78.40,80.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:81.3,81.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:82.14,83.56 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:83.56,85.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:86.3,86.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:86.54,88.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:89.3,89.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:90.10,91.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:97.49,98.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:98.14,100.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:101.2,101.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:102.15,103.18 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:104.19,105.38 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:105.38,107.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:108.3,108.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:108.40,110.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:111.3,111.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:112.14,113.56 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:113.56,115.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:116.3,116.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:116.54,118.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:119.3,119.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:120.10,121.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:127.55,128.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:128.14,130.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:131.2,131.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:132.15,133.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:134.19,135.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:135.40,137.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:138.3,138.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:139.14,140.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:140.54,142.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:143.3,143.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:144.10,145.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:151.46,152.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:152.14,154.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:155.2,155.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:156.12,157.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:158.14,159.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:159.54,161.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:162.3,162.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:163.15,164.16 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:165.19,166.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:166.40,168.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:169.3,169.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:170.10,171.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:177.40,178.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:178.14,180.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:181.2,181.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:182.13,184.26 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:184.26,185.36 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:185.36,187.5 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:189.3,189.16 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:190.16,191.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:192.14,193.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:193.14,195.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:196.3,196.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:197.10,198.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:204.38,205.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:205.14,207.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:208.2,209.9 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:209.9,211.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:212.2,213.27 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:213.27,214.42 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:214.42,216.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:218.2,218.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:222.32,223.39 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:223.39,225.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:226.2,226.30 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:226.30,228.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:229.2,229.30 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:229.30,231.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:232.2,232.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:236.35,237.28 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:237.28,239.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.2,240.28 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.28,242.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:243.2,243.15 1 0 +github.com/thebtf/engram/internal/mcp/context.go:17.55,19.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:22.78,24.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:29.78,31.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:35.53,38.2 2 0 +github.com/thebtf/engram/internal/mcp/context.go:41.80,43.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:48.80,50.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:54.53,57.2 2 0 +github.com/thebtf/engram/internal/mcp/context.go:61.51,62.43 1 0 +github.com/thebtf/engram/internal/mcp/context.go:62.43,64.3 1 0 +github.com/thebtf/engram/internal/mcp/context.go:65.2,65.16 1 0 +github.com/thebtf/engram/internal/mcp/health.go:22.32,26.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:29.37,33.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:36.35,40.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:42.44,45.25 3 0 +github.com/thebtf/engram/internal/mcp/health.go:45.25,47.50 1 0 +github.com/thebtf/engram/internal/mcp/health.go:47.50,50.4 2 0 +github.com/thebtf/engram/internal/mcp/health.go:55.74,60.16 5 0 +github.com/thebtf/engram/internal/mcp/health.go:60.16,62.3 1 0 +github.com/thebtf/engram/internal/mcp/health.go:63.2,71.4 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28.42,29.65 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:29.65,32.3 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.2,33.40 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.40,35.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:36.2,36.14 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39.120,40.69 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:40.69,42.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:43.2,44.19 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:44.19,46.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:47.2,48.17 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:48.17,50.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:51.2,52.59 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:52.59,54.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:55.2,56.20 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:56.20,58.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:59.2,60.17 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:60.17,62.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:63.2,64.21 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:64.21,66.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:67.2,68.22 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:68.22,70.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:71.2,72.23 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:76.2,98.19 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:98.19,100.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:101.2,101.66 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104.52,106.29 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:106.29,108.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:109.2,110.46 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113.113,123.27 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:123.27,125.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:130.2,130.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:127.44,138.2 1 69 +github.com/thebtf/engram/internal/mcp/server.go:141.64,143.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:146.78,148.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:151.53,153.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:156.55,158.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:161.58,163.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:166.62,168.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:171.50,173.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:176.78,178.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:181.74,183.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:186.71,189.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:191.85,193.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:195.61,197.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:199.49,201.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:204.54,206.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:211.53,213.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:216.53,218.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:222.61,224.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:228.59,230.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:234.51,236.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:240.52,242.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:246.55,248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:252.82,254.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:260.70,262.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:269.68,271.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:274.87,277.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:282.60,284.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:290.45,292.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:297.77,299.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:303.37,313.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:313.38,315.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:316.2,317.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:317.9,319.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:320.2,321.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:321.9,323.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:324.2,325.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:325.9,327.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:328.2,328.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:332.35,334.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:383.49,387.12 3 0 +github.com/thebtf/engram/internal/mcp/server.go:387.12,388.22 1 0 +github.com/thebtf/engram/internal/mcp/server.go:388.22,389.11 1 0 +github.com/thebtf/engram/internal/mcp/server.go:390.22,392.11 2 0 +github.com/thebtf/engram/internal/mcp/server.go:393.12,393.12 0 0 +github.com/thebtf/engram/internal/mcp/server.go:396.4,397.18 2 0 +github.com/thebtf/engram/internal/mcp/server.go:397.18,398.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:401.4,402.61 2 0 +github.com/thebtf/engram/internal/mcp/server.go:402.61,404.13 2 0 +github.com/thebtf/engram/internal/mcp/server.go:407.4,407.55 1 0 +github.com/thebtf/engram/internal/mcp/server.go:407.55,409.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:411.3,411.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:414.2,414.9 1 0 +github.com/thebtf/engram/internal/mcp/server.go:415.20,416.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:417.25,418.17 1 0 +github.com/thebtf/engram/internal/mcp/server.go:418.17,420.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:421.3,421.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:427.77,428.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:428.19,431.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:433.2,433.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:434.20,435.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:436.20,437.32 1 0 +github.com/thebtf/engram/internal/mcp/server.go:438.20,439.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:443.24,444.93 1 0 +github.com/thebtf/engram/internal/mcp/server.go:445.34,446.101 1 0 +github.com/thebtf/engram/internal/mcp/server.go:447.22,448.91 1 0 +github.com/thebtf/engram/internal/mcp/server.go:449.29,450.120 1 0 +github.com/thebtf/engram/internal/mcp/server.go:451.10,456.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:461.51,462.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:463.50,464.70 1 0 +github.com/thebtf/engram/internal/mcp/server.go:465.46,466.79 1 0 +github.com/thebtf/engram/internal/mcp/server.go:467.10,468.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:473.59,485.63 2 0 +github.com/thebtf/engram/internal/mcp/server.go:485.63,487.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:489.2,493.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:496.45,503.33 3 0 +github.com/thebtf/engram/internal/mcp/server.go:503.33,505.57 2 0 +github.com/thebtf/engram/internal/mcp/server.go:505.57,506.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:506.76,507.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.4,509.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.18,511.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:511.10,513.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:514.4,518.11 5 0 +github.com/thebtf/engram/internal/mcp/server.go:522.2,522.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:660.29,683.21 2 0 +github.com/thebtf/engram/internal/mcp/server.go:683.21,689.3 5 0 +github.com/thebtf/engram/internal/mcp/server.go:690.2,699.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:712.30,765.49 3 0 +github.com/thebtf/engram/internal/mcp/server.go:765.49,789.3 5 0 +github.com/thebtf/engram/internal/mcp/server.go:790.2,799.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:805.40,936.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:942.58,1048.35 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1048.35,1077.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.2,1080.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.33,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.2,1093.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.26,1123.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1124.2,1124.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1124.80,1126.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1127.2,1127.55 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1127.55,1129.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1130.2,1130.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1130.38,1132.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1134.2,1134.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1134.25,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1138.2,1138.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1138.33,1140.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1141.2,1141.69 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1141.69,1143.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1144.2,1144.75 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1144.75,1146.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1148.2,1148.27 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1148.27,1165.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.2,1168.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.76,1191.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1195.2,1195.48 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1195.48,1197.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.2,1201.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.47,1203.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.2,1205.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.38,1207.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1212.2,1212.21 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1212.21,1214.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1228.2,1228.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1228.51,1230.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1233.2,1233.56 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1233.56,1235.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1238.2,1238.71 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1238.71,1298.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1302.2,1302.104 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1302.104,1321.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1324.2,1324.72 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1324.72,1333.154 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1333.154,1334.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1334.26,1336.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1337.7,1337.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1338.35,1340.26 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1340.26,1342.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1343.7,1343.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1371.2,1371.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1371.26,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1393.2,1393.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1393.28,1443.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.2,1446.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.28,1478.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.2,1481.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.37,1561.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1564.2,1568.23 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1568.23,1570.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1572.2,1588.57 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1588.57,1591.29 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1591.29,1593.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1594.3,1594.27 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1594.27,1595.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1595.29,1597.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1601.2,1607.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1612.79,1614.60 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1614.60,1620.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1622.2,1623.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1623.16,1631.3 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1633.2,1641.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1644.69,1645.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1645.34,1647.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1648.2,1649.22 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1649.22,1651.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1652.2,1652.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1656.99,1658.14 1 132 +github.com/thebtf/engram/internal/mcp/server.go:1659.16,1660.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1661.15,1662.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1663.18,1664.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1665.15,1666.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1667.18,1668.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1669.14,1670.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1671.15,1672.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1676.2,1676.14 1 132 +github.com/thebtf/engram/internal/mcp/server.go:1677.35,1678.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1679.26,1680.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1681.20,1682.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1683.20,1684.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1685.16,1686.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1687.29,1688.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1689.33,1690.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1691.25,1692.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1693.23,1694.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1696.26,1697.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1698.24,1699.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1700.22,1701.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1702.25,1703.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1704.27,1705.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1706.25,1707.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1709.30,1710.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1711.28,1712.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1713.17,1714.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1715.20,1716.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1717.20,1718.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1719.20,1720.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1722.20,1723.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1724.18,1725.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1726.20,1727.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1728.18,1729.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1730.21,1731.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1732.21,1733.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1734.26,1735.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1736.25,1737.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1738.26,1739.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1740.24,1741.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1742.26,1743.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1744.27,1745.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1746.22,1747.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1748.19,1749.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1750.15,1751.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1752.16,1753.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1755.21,1756.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1757.19,1758.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1759.20,1760.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1761.22,1762.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1763.22,1764.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1765.23,1766.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1767.20,1768.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1769.32,1770.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1771.19,1772.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1773.19,1774.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1775.33,1776.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1777.35,1778.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1779.24,1780.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1781.32,1782.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1783.28,1784.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1785.21,1786.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1787.34,1788.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1789.25,1790.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1791.29,1792.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1793.26,1794.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1795.27,1796.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1798.25,1799.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1800.23,1801.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1802.27,1803.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1804.26,1805.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1806.29,1807.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1809.29,1810.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1811.27,1812.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1813.30,1814.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1815.38,1816.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1817.36,1818.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1820.24,1821.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1822.27,1823.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1824.22,1825.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1826.32,1827.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1828.32,1829.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1830.31,1831.48 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1832.35,1833.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1834.36,1835.53 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1836.36,1837.53 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1838.38,1839.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1840.34,1841.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1843.22,1844.40 1 44 +github.com/thebtf/engram/internal/mcp/server.go:1845.21,1846.39 1 44 +github.com/thebtf/engram/internal/mcp/server.go:1847.24,1848.42 1 44 +github.com/thebtf/engram/internal/mcp/server.go:1850.25,1851.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1852.25,1853.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1859.2,1859.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1860.22,1863.131 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1866.51,1867.123 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1868.10,1869.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1874.47,1876.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1876.16,1879.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1880.2,1880.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1884.72,1890.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1896.105,1898.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1898.16,1900.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1902.2,1903.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1903.17,1905.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1907.2,1908.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1908.17,1910.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1912.2,1918.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1918.16,1920.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1921.2,1921.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1927.76,1933.15 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1933.15,1936.17 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1936.17,1938.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1939.3,1939.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1943.2,1950.36 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1950.36,1952.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1952.8,1955.29 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1955.29,1958.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1959.3,1962.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.2,1966.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.20,1977.20 6 0 +github.com/thebtf/engram/internal/mcp/server.go:1977.20,1979.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.3,1980.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.20,1982.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.3,1985.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.37,1987.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1987.30,1988.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1988.16,1990.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1990.11,1992.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1994.4,1995.56 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1995.56,1997.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1998.4,2003.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.2,2008.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.29,2009.63 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2009.63,2011.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2011.9,2013.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.2,2021.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.29,2029.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2029.38,2031.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2031.9,2033.31 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2033.31,2035.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2035.30,2037.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2039.4,2042.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2046.2,2047.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2047.16,2049.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2050.2,2050.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2055.57,2056.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2056.33,2058.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2059.2,2060.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2060.16,2062.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2063.2,2064.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2064.16,2066.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2067.2,2067.23 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2071.79,2105.15 6 0 +github.com/thebtf/engram/internal/mcp/server.go:2105.15,2107.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2107.17,2111.4 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2111.9,2112.17 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2112.17,2114.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2115.4,2117.26 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2117.26,2119.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2119.10,2121.29 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2121.29,2123.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2125.4,2129.25 5 0 +github.com/thebtf/engram/internal/mcp/server.go:2130.19,2130.19 0 0 +github.com/thebtf/engram/internal/mcp/server.go:2132.20,2134.106 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2135.12,2137.103 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2140.8,2143.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2144.2,2150.49 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2150.49,2152.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2152.8,2154.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2155.2,2168.27 4 0 +github.com/thebtf/engram/internal/mcp/server.go:2168.27,2170.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2170.17,2173.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2173.9,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2177.2,2182.40 4 0 +github.com/thebtf/engram/internal/mcp/server.go:2182.40,2183.21 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2184.20,2185.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2186.19,2187.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.2,2191.24 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.24,2193.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.8,2193.30 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.30,2195.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.2,2198.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.28,2200.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.2,2203.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.29,2205.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2207.2,2208.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2208.16,2210.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2211.2,2211.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2216.103,2218.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2218.16,2220.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2222.2,2223.15 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2223.15,2225.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2227.2,2239.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2239.16,2241.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2242.2,2242.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2246.93,2248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2251.91,2253.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:18.28,29.20 4 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:29.20,33.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:35.2,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:68.36,69.49 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:69.49,74.3 4 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:75.2,75.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:80.26,82.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:84.89,86.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:89.2,90.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:90.18,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:94.2,94.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:95.15,96.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:97.26,98.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:99.25,100.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:101.23,105.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:105.22,107.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:108.3,108.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:109.10,110.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:120.92,126.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:126.26,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:130.2,131.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:131.19,133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:134.2,135.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:135.19,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.2,138.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.24,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.2,142.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.25,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:146.2,147.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:151.2,151.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27.40,30.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32.30,46.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48.99,49.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:49.34,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.2,52.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.69,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:56.2,57.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:60.2,61.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:61.21,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:64.2,67.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:67.26,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:70.2,71.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:71.25,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:75.2,77.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:77.44,79.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.2,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.33,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:83.2,83.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86.52,87.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:87.16,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.2,90.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.15,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:93.2,93.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96.73,97.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:97.21,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:100.2,101.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:101.29,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:111.2,111.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114.34,116.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:31.98,32.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:32.52,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.2,35.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.26,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:39.2,40.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:40.49,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.2,43.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.21,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.2,46.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.21,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.2,49.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.18,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.2,52.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.18,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.2,56.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.38,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:60.2,61.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:61.16,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:68.2,70.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:70.26,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:79.2,81.36 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:81.36,84.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:86.2,89.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:89.28,90.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:90.39,91.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:93.3,97.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:100.2,104.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:107.60,113.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:115.101,116.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:116.38,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:120.2,122.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:122.21,123.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:123.26,125.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.3,126.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.23,128.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:129.8,130.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:130.26,132.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.3,133.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.68,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:137.2,140.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:141.17,142.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:143.67,143.67 0 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:144.10,145.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:148.2,162.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:162.16,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.2,165.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.2,174.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.30,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.2,177.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.31,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:181.2,182.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:182.36,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:198.2,199.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:199.19,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:202.2,203.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:203.18,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:206.2,207.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:207.21,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:210.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:211.25,213.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:214.2,225.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:225.21,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.25,230.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.2,231.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.18,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:235.2,244.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:244.21,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.2,247.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.25,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.2,250.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.18,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.2,253.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:256.2,256.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:259.50,261.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:261.22,263.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:264.2,264.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:270.90,272.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:272.42,276.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:277.2,281.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:281.27,282.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:282.45,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:286.2,286.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25.150,27.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:29.109,31.71 2 132 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:31.71,33.3 1 24 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:35.2,36.9 2 108 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:36.9,38.3 1 6 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:39.2,40.81 2 102 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:40.81,42.3 1 12 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:43.2,44.43 2 90 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:44.43,47.92 3 216 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:47.92,49.4 1 48 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:50.3,50.41 1 168 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:53.2,54.44 2 42 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:54.44,55.47 1 39 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:56.15,57.17 1 6 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:58.16,59.18 1 3 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:60.11,61.82 1 30 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:64.2,64.25 1 12 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:69.28,132.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:139.95,140.22 1 44 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:140.22,142.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:143.2,144.32 2 44 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:144.32,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:148.2,149.16 2 44 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:149.16,151.3 1 40 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:152.2,156.35 2 4 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:156.35,163.3 2 1 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:165.2,165.25 1 3 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:165.25,167.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:169.2,176.16 3 3 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:176.16,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:180.2,188.25 2 3 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:196.94,197.22 1 44 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:197.22,199.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:200.2,201.32 2 44 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:201.32,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:205.2,206.16 2 44 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:206.16,208.3 1 40 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:209.2,212.35 2 4 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:212.35,219.3 2 1 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:221.2,221.25 1 3 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:221.25,223.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:225.2,232.16 3 3 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:232.16,234.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:236.2,243.25 2 3 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:251.97,252.22 1 44 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:252.22,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:255.2,256.32 2 44 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:256.32,258.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:260.2,261.16 2 44 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:261.16,263.3 1 40 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:264.2,267.35 2 4 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:267.35,274.3 2 1 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:276.2,276.25 1 3 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:276.25,278.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:280.2,287.16 3 3 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:287.16,289.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:291.2,298.25 2 3 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31.80,32.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:32.14,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:35.2,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51.136,53.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:53.51,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:56.2,56.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59.94,60.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:60.21,62.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:63.2,63.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68.30,162.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165.98,166.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:166.49,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:169.2,170.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:170.16,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:173.2,174.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:174.19,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:177.2,179.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:179.17,181.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:188.2,189.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:189.31,190.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:190.15,191.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:193.3,193.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:196.2,201.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:201.16,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:204.2,204.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208.96,209.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:209.49,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:212.2,213.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:213.16,215.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:216.2,217.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:217.13,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.2,225.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.22,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:229.2,230.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:230.16,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:233.2,233.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239.100,240.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:240.22,242.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:243.2,244.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:244.16,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:247.2,248.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:248.13,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:255.2,256.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:256.12,263.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:263.30,264.77 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:264.77,269.5 4 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:271.3,272.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:272.21,274.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:275.3,275.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.2,279.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.29,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:284.2,285.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:285.16,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.2,288.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.22,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.2,291.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.55,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.2,294.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.74,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:297.2,298.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:298.16,300.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:306.2,307.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:307.41,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:310.2,324.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:324.16,325.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:325.50,327.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:328.3,328.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.2,330.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.38,332.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:334.2,341.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:341.16,343.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:344.2,344.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348.99,349.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:349.49,351.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:352.2,353.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:353.16,355.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:356.2,357.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:357.13,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:360.2,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.2,365.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.22,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.2,368.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.74,370.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:371.2,372.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:372.16,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.2,375.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.85,377.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:379.2,380.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:380.16,381.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:381.50,383.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:384.3,384.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.2,386.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.20,388.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:390.2,395.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:395.16,397.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:398.2,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402.102,403.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:403.49,405.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:406.2,407.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:407.16,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:410.2,411.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:411.13,413.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:414.2,415.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:415.16,417.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.2,418.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.22,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.2,421.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.74,423.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:424.2,425.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:425.16,427.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.2,428.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.88,430.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:432.2,433.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:433.16,434.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:434.50,436.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:437.3,437.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.2,439.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.20,441.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:443.2,448.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:448.16,450.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:451.2,451.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34.30,36.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42.61,44.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48.32,75.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79.32,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100.98,101.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:101.25,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.2,104.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.29,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:108.2,113.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:113.17,114.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:114.55,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.2,118.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.24,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.2,121.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.23,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.2,124.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.23,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:134.2,135.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:135.21,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:142.2,147.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:154.2,165.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:165.25,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:177.2,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:186.2,186.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194.98,195.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:195.25,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.2,198.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.29,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:202.2,205.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:205.17,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:208.2,209.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:209.21,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:213.2,214.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:214.16,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:217.2,218.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:218.16,220.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:226.2,231.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:231.11,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:21.52,22.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:22.24,25.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:25.28,27.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:29.2,29.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:35.72,37.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:37.15,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:45.2,45.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:49.99,51.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:51.16,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:55.2,56.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:56.16,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:60.2,72.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.2,75.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.24,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.2,78.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.24,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:81.2,81.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:82.27,82.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:84.10,85.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.2,87.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.30,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.2,90.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.26,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:104.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:116.2,123.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:126.2,126.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:130.97,132.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:132.16,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:136.2,137.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:141.2,147.23 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:147.23,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.2,150.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.26,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:154.2,155.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:155.16,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:160.16,161.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:161.47,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:164.3,164.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.2,167.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.97,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:174.2,175.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:175.16,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:179.2,185.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:185.16,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:188.2,188.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:192.99,194.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:194.16,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:198.2,199.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:199.16,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:203.2,207.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:207.26,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:211.2,212.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:212.16,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:216.2,223.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:223.26,229.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:229.28,231.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:232.3,232.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:243.100,245.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:245.16,247.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:249.2,250.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:250.16,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:254.2,262.23 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:262.23,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.2,265.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.24,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:268.2,268.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:269.27,269.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:271.10,272.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.2,274.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.30,276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.2,277.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.26,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.2,281.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.71,282.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:282.47,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:285.3,285.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:288.2,293.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:293.16,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:296.2,296.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:302.92,309.19 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:309.19,310.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:310.53,313.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:316.2,317.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:317.51,318.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:318.66,320.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:323.2,331.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:331.16,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:334.2,334.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:338.46,342.32 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:342.32,343.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:343.20,346.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:348.2,350.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:350.26,352.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:352.27,353.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:353.13,355.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:356.4,356.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:358.3,358.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:360.2,360.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:16.45,18.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:20.35,36.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:38.84,39.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:39.40,41.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.2,42.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.50,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:45.2,45.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:48.101,50.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:50.16,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:53.2,54.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:57.2,58.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:58.19,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:61.2,62.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:62.21,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:65.2,66.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:66.16,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:69.2,69.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:72.102,74.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:77.2,82.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10.100,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:22.16,23.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:24.14,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:26.14,27.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:28.17,29.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:30.17,31.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:32.21,33.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:34.19,35.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:36.17,37.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:38.16,39.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:40.16,41.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:42.21,43.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:44.10,45.167 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:15.77,16.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:16.33,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:20.2,21.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:21.27,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:25.2,26.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:26.28,29.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:29.17,31.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:34.2,41.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:41.32,46.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:46.20,48.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:49.3,49.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:61.97,62.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:62.28,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:71.2,75.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:75.29,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:79.2,80.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:80.16,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.2,84.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.20,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:88.2,97.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:97.25,103.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:103.20,105.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.3,106.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.19,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:109.3,109.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:112.2,113.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:113.16,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:117.2,117.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:121.95,122.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:122.28,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:131.2,137.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:137.50,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:141.2,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.2,145.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.16,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.2,149.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.21,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:153.2,154.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:154.16,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.2,157.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.20,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:161.2,161.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:165.98,166.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:166.28,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:170.2,171.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:171.16,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:175.2,181.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:181.50,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.2,185.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.96,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:189.2,189.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:197.98,198.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:198.28,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:207.2,217.74 6 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:217.74,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:222.2,223.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:223.16,225.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:227.2,229.156 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:235.98,237.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:237.16,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:241.2,247.24 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:247.24,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:252.2,253.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:253.29,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:256.2,256.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15.93,16.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:16.37,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:20.2,21.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:21.16,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:25.2,32.16 7 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:32.16,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.2,35.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.19,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.2,38.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.19,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:42.2,43.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:43.16,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:47.2,54.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61.91,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:62.37,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:71.2,73.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:73.16,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.2,76.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.19,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:80.2,81.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:81.43,83.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:83.19,85.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:86.3,86.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:87.8,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.2,90.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.16,91.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:91.45,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:94.3,94.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:97.2,110.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:110.16,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:113.2,113.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117.93,119.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122.91,123.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:123.37,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:132.2,133.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:133.19,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:136.2,141.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:141.16,143.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:145.2,155.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:155.25,165.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:167.2,168.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:168.16,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:171.2,171.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175.94,176.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:176.37,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:180.2,181.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:181.16,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:185.2,187.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:187.16,189.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.2,190.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.19,192.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:193.2,196.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:200.2,208.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:208.25,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:218.2,225.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232.94,233.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:233.37,235.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:242.2,243.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:243.21,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:246.2,248.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:248.19,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:252.2,253.46 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:253.46,255.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:255.13,257.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.2,259.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.44,261.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:261.13,263.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:266.2,267.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:267.16,269.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:271.2,278.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:278.16,280.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:281.2,281.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19.69,21.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23.38,38.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40.51,63.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65.53,80.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82.46,85.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:85.32,87.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:88.2,88.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91.105,93.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:93.16,95.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:96.2,97.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:100.2,100.70 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103.107,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:108.2,109.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:109.16,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:112.2,112.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115.101,117.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:117.16,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:120.2,121.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:121.17,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:124.2,139.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142.109,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:147.2,154.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157.100,159.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:159.28,161.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:161.18,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:164.3,164.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:166.2,167.72 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:167.72,169.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.2,170.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.53,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:173.2,174.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:174.26,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:177.2,177.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180.73,182.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:182.16,184.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:185.2,185.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12.104,14.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:14.16,16.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:18.2,19.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:19.18,21.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:23.2,23.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:24.14,25.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:26.18,27.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:28.17,29.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:30.10,31.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36.101,37.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:37.27,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:46.2,47.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:47.21,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:50.2,51.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:51.19,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:54.2,54.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:55.52,55.52 0 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:56.10,57.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:59.2,61.93 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:61.93,64.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:66.2,70.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:27.31,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:98.97,100.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:100.26,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.2,103.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.28,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:112.2,115.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:115.15,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.2,118.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.17,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:122.2,123.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:127.2,140.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:140.29,151.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:151.31,154.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:155.3,155.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:158.2,162.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:167.100,169.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:169.26,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.2,172.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.28,174.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.2,175.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.26,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:179.2,180.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:184.2,185.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:185.22,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:189.2,190.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:190.20,191.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:191.54,199.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.3,200.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.61,202.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:203.3,203.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:206.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:215.95,217.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:217.32,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.2,220.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.28,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:224.2,225.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:229.2,230.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:230.22,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.2,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.25,246.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:248.2,252.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:258.104,260.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:260.26,262.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:267.2,271.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:271.20,275.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:275.8,279.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:280.2,280.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:284.60,285.30 1 9 +github.com/thebtf/engram/internal/mcp/tools_governance.go:285.30,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.2,288.42 1 9 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.42,290.3 1 9 +github.com/thebtf/engram/internal/mcp/tools_governance.go:291.2,291.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:64.89,65.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:65.25,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:69.2,70.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:70.49,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:74.2,74.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:75.18,76.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:77.21,78.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:79.19,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:81.18,82.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:83.19,84.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:85.18,86.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:87.18,91.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:91.23,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:94.3,94.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:95.10,96.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:100.81,103.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:103.19,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:106.2,107.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:107.19,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.2,112.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.46,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.2,115.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.46,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.2,122.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.66,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.25,128.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:128.22,130.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:131.8,132.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:132.26,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.2,138.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.25,139.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:139.22,141.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:142.8,143.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:143.26,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.2,148.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.22,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.2,151.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.38,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.2,154.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.19,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:159.2,161.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:161.25,164.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.2,165.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.25,168.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:169.2,171.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:171.23,174.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.2,175.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.23,178.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:180.2,193.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:193.16,195.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:198.2,199.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:199.29,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.2,202.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.29,204.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:205.2,213.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:216.121,217.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:217.28,218.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:218.26,220.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:221.3,222.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:222.17,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:223.49,225.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:226.4,226.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:228.3,228.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.2,230.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.26,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:233.2,234.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:234.16,235.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:235.48,237.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:238.3,238.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:240.2,240.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:243.101,248.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:248.36,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:250.8,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.2,253.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.16,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.2,256.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.32,257.128 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:257.128,262.72 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:262.72,264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:267.2,267.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:276.81,277.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:277.25,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.2,280.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.22,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.2,283.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.39,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.2,286.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.25,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.2,289.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.21,291.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:292.2,293.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:293.14,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:296.2,305.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:305.16,307.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:308.2,314.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:317.84,318.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:318.19,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:321.2,323.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:323.63,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:326.2,329.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:332.82,333.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:333.38,335.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:336.2,337.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:338.18,339.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:340.18,341.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.2,345.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.59,347.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:349.2,351.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:351.21,353.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:353.8,356.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.2,357.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:366.2,367.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:367.41,369.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:371.2,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:397.115,398.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:398.15,400.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:403.2,404.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:404.26,405.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:405.28,407.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.3,408.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.28,410.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.2,412.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.23,415.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:420.2,426.12 4 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:426.12,427.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:427.27,429.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:429.18,431.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.4,433.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.33,435.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:440.2,441.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:441.26,442.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:442.28,443.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:443.49,445.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.3,448.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.28,449.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:449.49,451.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:454.2,454.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:457.82,458.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:458.21,460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:461.2,462.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:462.16,464.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.2,465.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.36,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:468.2,469.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:469.16,471.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:472.2,477.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:480.82,481.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:481.40,483.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:484.2,485.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:485.19,487.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:488.2,489.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:489.16,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:492.2,499.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:502.82,503.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:503.21,505.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:506.2,507.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:507.16,509.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:510.2,514.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23.179,24.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:24.22,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:28.2,32.22 4 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:32.22,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:35.2,36.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:36.22,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:40.2,41.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:41.26,43.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.2,44.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.26,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.2,47.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.30,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.2,50.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.30,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:54.2,55.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:55.16,57.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.2,58.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.13,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:61.2,62.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:62.16,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.2,65.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.13,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:69.2,70.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:70.16,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.2,73.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.15,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:77.2,77.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80.172,81.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:81.28,82.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:82.23,84.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.3,85.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.18,87.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:88.3,89.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:89.17,90.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:90.49,92.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:93.4,93.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:95.3,95.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.2,98.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.24,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.2,101.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.19,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:104.2,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:105.16,106.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:106.48,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:109.3,109.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:111.2,111.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114.119,116.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:116.22,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:119.2,120.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:120.22,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:124.2,126.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:126.26,127.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:127.36,129.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:130.3,130.105 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:131.8,132.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:132.32,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:135.3,135.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.2,137.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.2,141.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.32,143.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:143.27,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:146.3,147.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:147.27,149.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.3,150.106 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.106,151.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.3,153.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.27,154.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:154.114,155.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.9,157.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.104,158.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.3,160.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.27,161.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:161.114,162.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.9,164.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.104,165.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:167.3,167.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:169.2,169.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25.90,26.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:26.26,28.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:30.2,31.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:31.49,33.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:35.2,35.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:36.16,37.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:38.10,39.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43.84,44.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:44.21,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.2,47.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.25,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.2,50.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.21,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.2,53.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.21,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:57.2,58.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:59.18,60.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:61.15,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:63.24,64.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:65.10,66.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:69.2,70.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:70.22,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:73.2,74.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:74.29,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.2,78.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.14,85.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:87.2,89.37 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:89.37,92.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:92.21,94.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:97.2,100.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:100.31,102.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:102.38,104.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:104.37,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:109.3,122.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:122.26,124.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.3,125.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.19,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:131.3,133.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:133.39,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:135.9,137.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.3,138.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.17,140.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.3,142.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.34,144.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:145.3,145.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:148.2,155.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20.99,22.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:22.16,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:26.2,31.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:31.44,32.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:32.33,33.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:33.43,38.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.2,43.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.49,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.2,46.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.48,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:50.2,52.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:52.27,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:55.8,60.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:60.24,62.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.3,64.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.57,66.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:68.3,68.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.2,71.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.16,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:75.2,76.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:76.23,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:80.2,80.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:19.40,89.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:109.71,111.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:111.9,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:115.2,116.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:116.38,117.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:118.13,119.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:119.41,121.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:122.17,123.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:123.43,125.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:126.11,127.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:127.40,129.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.2,133.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.22,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:139.2,139.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:143.90,144.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:144.25,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:148.2,149.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:149.16,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:153.2,157.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:157.61,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:161.2,161.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:162.16,163.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:164.14,165.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:166.13,167.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:168.16,169.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:170.17,171.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:172.16,173.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:174.15,175.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:176.10,177.120 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:189.85,191.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:191.39,192.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:192.44,194.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.2,196.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.15,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.2,199.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.15,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:202.2,202.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:205.91,207.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:207.17,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:211.2,215.25 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:215.25,217.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:218.2,224.25 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:224.25,226.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.2,227.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.25,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:231.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:247.2,247.139 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:250.89,252.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:252.19,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:255.2,256.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:256.25,258.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:259.2,264.52 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:264.52,266.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:266.14,268.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:271.2,277.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:277.25,280.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:282.2,283.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:283.16,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.2,287.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.22,288.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:288.20,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:291.3,291.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:294.2,297.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:297.31,300.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:300.29,302.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:303.3,305.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:308.2,308.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:311.88,313.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:313.13,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:317.2,318.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:318.16,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:322.2,328.22 6 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:328.22,331.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.2,333.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.23,335.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:335.30,338.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:341.2,341.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:344.91,346.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:346.13,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:350.2,353.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:353.18,354.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:354.27,356.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.3,357.73 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.73,359.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.2,362.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.19,370.17 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:370.17,372.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:375.2,376.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:376.26,378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:379.2,379.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:382.92,384.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:384.13,386.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:388.2,389.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:389.16,391.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:393.2,401.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:401.16,403.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:405.2,405.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:408.91,410.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:410.13,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:414.2,418.95 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:418.95,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:422.2,422.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:425.90,427.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:427.13,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:431.2,433.167 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:433.167,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.2,437.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.89,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:441.2,441.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22.93,24.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:24.49,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:28.2,28.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:29.14,30.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:31.17,32.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:33.16,34.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:35.24,36.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:37.27,38.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:39.22,40.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:41.23,42.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:43.10,44.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48.79,49.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:49.13,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:57.2,58.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:58.32,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:61.2,84.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87.101,88.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:88.13,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.2,91.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.38,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.2,98.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.53,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:102.2,104.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:104.17,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.2,107.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.29,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:110.2,115.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118.100,119.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:119.13,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.2,122.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.38,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.2,129.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.53,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:133.2,135.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:135.17,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.2,138.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.29,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:141.2,146.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149.123,150.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:150.13,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.2,153.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.18,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.2,156.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.38,158.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:159.2,161.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:161.17,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:164.2,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172.113,173.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:173.13,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.2,176.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.50,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:179.2,181.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:181.17,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:184.2,188.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191.57,195.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197.102,198.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:198.13,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.2,201.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.20,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:204.2,205.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:205.16,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:209.2,210.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:210.32,212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:214.2,217.56 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:217.56,223.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:225.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233.41,235.16 2 12 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:235.16,237.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:238.2,238.23 1 12 +github.com/thebtf/engram/internal/mcp/tools_memory.go:35.27,37.2 1 132 +github.com/thebtf/engram/internal/mcp/tools_memory.go:42.41,43.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:44.48,45.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:46.10,47.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:54.57,55.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:56.17,57.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:58.16,59.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:60.10,61.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:82.58,83.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:84.28,85.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:86.26,87.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:88.10,89.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:93.114,95.68 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:95.68,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:99.2,101.42 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:101.42,102.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:102.71,105.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:107.2,117.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:117.23,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:121.2,124.22 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:124.22,125.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:125.31,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:128.3,128.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.8,129.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.37,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:132.2,132.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:135.74,136.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:136.30,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.2,139.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.34,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.2,142.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.31,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.2,145.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.22,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:161.169,162.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:162.17,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:165.2,166.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:166.51,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:169.2,169.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:172.92,174.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:174.42,177.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:177.63,179.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:179.9,181.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:183.2,183.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:186.65,190.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:192.115,194.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:194.26,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.8,196.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.31,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:199.2,199.117 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:202.122,206.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:206.31,207.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:207.45,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:211.2,211.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:214.72,216.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:218.117,219.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:222.2,223.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:223.20,225.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:225.17,227.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.3,228.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.27,229.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:229.50,231.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:231.30,232.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:236.3,236.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:239.2,241.60 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:241.60,243.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:243.61,245.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.3,246.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.24,247.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:249.3,250.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:250.17,252.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.3,253.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.22,254.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.3,256.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.29,257.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:257.50,259.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:259.30,260.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:264.3,265.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:265.32,266.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:269.2,269.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:272.51,273.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:273.16,275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:276.2,277.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:277.18,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.2,280.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.19,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:283.2,283.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:286.97,288.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:288.30,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.2,291.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.49,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:294.2,294.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:297.108,299.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:301.108,303.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:305.102,307.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:319.55,320.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:320.31,322.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.2,323.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.26,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:326.2,326.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:329.71,330.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:343.26,344.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:345.10,346.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:354.95,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:366.2,397.39 14 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:397.39,399.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:399.27,401.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:402.8,404.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:405.2,407.46 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:407.46,410.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.2,411.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.44,413.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:413.12,415.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.2,417.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.26,419.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.2,420.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.84,422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.2,427.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.65,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:431.2,433.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:433.20,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:436.2,437.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:437.20,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.2,440.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.56,442.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.2,443.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.56,448.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.2,450.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.45,453.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.2,459.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.31,461.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:461.22,462.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:462.62,465.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:466.4,466.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:468.3,468.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:471.2,472.115 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:472.115,474.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.2,491.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.19,493.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:493.23,495.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:496.3,508.21 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:508.21,510.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:511.3,511.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.2,522.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.43,535.34 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:535.34,556.30 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:556.30,558.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.4,559.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.44,561.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.4,562.106 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.106,564.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.4,575.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.74,577.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:578.4,579.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:579.18,581.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:583.4,584.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:584.28,586.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.4,588.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.31,599.57 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:599.57,601.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:601.17,604.7 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:606.5,607.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:607.21,609.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.5,615.138 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.138,617.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:617.27,619.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:620.6,620.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:622.5,623.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:623.26,625.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:626.5,626.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:630.4,631.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:631.20,633.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.4,634.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.22,637.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:637.26,639.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:640.5,640.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:645.4,660.77 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:660.77,662.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:663.4,664.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:664.25,666.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:667.4,667.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.2,673.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.26,675.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:677.2,678.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:678.25,680.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.2,681.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.97,683.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:690.2,691.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:691.21,693.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:693.33,695.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.3,696.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.33,698.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.3,699.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.49,704.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.3,721.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.54,722.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:722.84,724.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.2,728.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.99,730.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:732.2,733.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:733.22,735.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:736.109,737.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:738.100,739.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:740.114,741.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:742.107,743.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:744.11,745.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:748.2,749.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:749.43,751.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:753.2,755.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:755.34,756.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:756.48,757.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:757.19,760.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.2,764.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.31,767.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.2,768.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.35,771.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.2,772.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.76,776.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:778.2,780.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:780.16,782.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:782.20,785.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.2,788.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.25,798.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:798.18,800.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.9,800.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.30,807.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.3,808.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.36,810.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:811.3,812.50 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:812.50,815.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:816.3,822.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:822.17,824.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:826.3,836.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:836.17,838.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:839.3,839.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:842.2,843.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:843.30,844.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:844.52,846.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:846.9,848.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:851.2,869.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:869.21,871.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:871.43,873.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.3,874.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.29,876.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.3,886.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.76,888.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.2,890.105 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.105,892.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:893.2,894.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:894.16,896.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:901.2,904.40 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:904.40,905.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:905.15,906.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:909.3,910.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:910.63,912.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:912.9,914.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.3,916.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.43,918.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:919.3,920.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:920.20,922.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.3,925.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.23,928.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:929.3,931.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:931.33,934.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:934.39,936.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:939.2,948.42 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:948.42,950.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:950.21,952.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:952.9,955.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.2,959.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.53,960.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:960.54,961.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:961.33,963.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:964.9,972.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.3,973.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.60,974.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:974.40,976.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.3,978.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.61,979.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:979.41,981.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.3,983.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.28,985.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:986.3,987.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.2,989.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.51,991.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:995.2,997.53 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:997.53,999.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:999.8,1001.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.2,1002.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.22,1004.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1008.2,1014.76 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1014.76,1016.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.2,1021.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.57,1026.13 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1026.13,1029.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1029.21,1032.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.4,1033.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.49,1035.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1036.4,1043.89 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1043.89,1046.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1048.4,1048.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1052.2,1063.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1063.21,1065.40 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1065.40,1067.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.3,1068.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.38,1070.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1072.2,1074.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1074.18,1081.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.2,1082.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.28,1084.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.2,1085.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.16,1087.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.2,1088.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.30,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.2,1091.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.30,1093.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.2,1098.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.76,1100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1101.2,1102.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1102.16,1104.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1105.2,1105.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111.94,1113.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1113.15,1115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1117.2,1118.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1118.16,1120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1122.2,1123.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1123.13,1125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1126.2,1131.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1131.16,1133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.2,1134.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.19,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.2,1146.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.39,1148.55 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1148.55,1150.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.2,1152.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.39,1154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1157.2,1158.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1158.21,1163.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1163.21,1165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1166.3,1167.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1167.21,1169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.3,1170.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.52,1172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.3,1173.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.52,1178.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.3,1179.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.41,1182.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1183.3,1183.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.2,1188.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.46,1190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.2,1191.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.27,1193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1195.2,1196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1196.16,1198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1201.2,1210.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1210.16,1212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1213.2,1213.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218.59,1220.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1220.38,1222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1225.2,1226.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1226.29,1227.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1227.22,1229.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.2,1232.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.18,1234.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1237.2,1244.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1244.29,1245.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1245.67,1247.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.2,1249.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.16,1251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1254.2,1254.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258.55,1260.47 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1260.47,1262.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1263.2,1264.58 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1264.58,1266.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1267.2,1267.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270.252,1271.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1271.108,1273.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.2,1274.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.55,1276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1277.2,1277.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280.184,1282.69 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1282.69,1284.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1284.32,1285.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1285.58,1287.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.3,1290.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.18,1292.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.2,1294.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.19,1297.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1297.32,1298.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1298.39,1300.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.3,1303.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.19,1305.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.2,1307.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.21,1309.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1309.32,1310.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1310.49,1312.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.3,1315.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.18,1317.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.2,1319.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.28,1321.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1321.17,1323.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.3,1324.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.27,1326.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.2,1328.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.76,1330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1331.2,1331.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342.96,1343.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1343.26,1345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1347.2,1348.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1348.16,1350.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1352.2,1363.23 9 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1363.23,1364.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1364.58,1365.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1365.31,1367.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1367.10,1369.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.2,1373.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.17,1375.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.2,1376.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.16,1378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.2,1379.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.16,1381.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.2,1382.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.18,1384.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.2,1385.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.19,1387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.2,1388.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.19,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1396.2,1399.18 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1399.18,1400.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1400.61,1401.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1402.50,1403.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1404.12,1405.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1409.2,1410.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1410.42,1414.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1415.2,1420.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1420.16,1422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1429.2,1444.43 6 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1444.43,1446.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1449.2,1451.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1451.27,1453.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.2,1458.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.46,1460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.2,1461.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.63,1463.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1465.2,1466.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1466.15,1472.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1472.29,1479.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1479.18,1481.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.4,1482.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.23,1483.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.4,1485.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.30,1486.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1486.24,1488.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1488.32,1489.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1493.4,1494.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1494.30,1495.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1498.8,1504.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1504.29,1506.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1506.18,1508.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.4,1509.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.23,1510.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.4,1512.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.30,1513.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1513.24,1515.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1515.32,1516.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1520.4,1521.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1521.30,1522.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.2,1526.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.26,1528.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1528.17,1530.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.2,1535.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.74,1536.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1536.13,1537.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1537.33,1542.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1542.26,1544.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1544.39,1546.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1548.5,1548.82 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.2,1565.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.38,1569.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1569.27,1571.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.3,1572.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.27,1574.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1576.3,1581.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1581.32,1586.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1588.3,1592.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1592.18,1594.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1595.3,1596.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1596.17,1598.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1599.3,1599.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1602.2,1602.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1603.15,1618.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1618.32,1620.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1620.33,1621.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1621.40,1623.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1626.4,1638.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1640.3,1641.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1641.17,1643.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1644.3,1644.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1646.18,1648.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1648.17,1650.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1651.3,1651.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1653.10,1654.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1654.25,1656.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1657.3,1659.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1659.32,1661.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1661.33,1662.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1662.40,1664.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1667.4,1669.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1669.26,1671.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1672.4,1673.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1673.25,1675.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1676.4,1676.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1678.3,1678.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690.51,1695.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700.73,1702.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1702.16,1704.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1705.2,1706.48 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1706.48,1710.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1711.2,1713.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1713.16,1715.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1716.2,1716.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727.117,1731.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1731.21,1733.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1734.2,1735.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1735.16,1737.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1738.2,1739.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1739.27,1741.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1742.2,1742.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1764.19,1775.30 7 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1775.30,1777.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1777.37,1779.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.3,1781.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.20,1783.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.2,1797.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.39,1799.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1801.2,1811.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1811.25,1813.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1815.2,1816.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1816.29,1818.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.2,1824.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.27,1826.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1831.2,1833.22 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1833.22,1835.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1837.2,1846.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1846.16,1848.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1853.2,1855.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1855.27,1857.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1859.2,1876.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1876.33,1878.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1880.2,1881.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1881.28,1885.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1885.20,1888.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1888.33,1889.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1889.40,1891.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.4,1894.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.20,1895.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.3,1900.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.22,1902.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1902.33,1903.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1903.50,1905.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.4,1908.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.19,1909.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.3,1918.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.56,1919.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.3,1927.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.64,1928.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1932.3,1935.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1935.32,1936.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1936.39,1938.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1942.3,1956.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1956.14,1957.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1957.37,1959.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1961.3,1962.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1962.26,1963.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.2,1975.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.59,1986.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1986.17,1988.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1990.3,1991.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1991.34,1993.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1995.3,1996.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1996.29,1998.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1998.21,2001.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2001.34,2002.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2002.41,2004.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.5,2007.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.21,2008.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.4,2011.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.23,2013.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2013.34,2014.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2014.51,2016.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.5,2019.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.20,2020.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.4,2023.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.57,2024.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.4,2027.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.65,2028.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2030.4,2031.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2031.33,2032.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2032.40,2034.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2037.4,2051.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2051.15,2052.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2052.38,2054.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2056.4,2057.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2057.27,2058.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2065.2,2066.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2066.28,2068.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.2,2072.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.71,2080.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2080.30,2081.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2081.41,2087.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.3,2089.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.13,2090.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2090.31,2095.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2095.25,2097.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2097.38,2099.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2101.5,2101.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.2,2112.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.38,2115.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2115.27,2117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2121.3,2138.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2138.30,2140.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2140.11,2141.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2143.4,2160.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2160.15,2161.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2161.39,2163.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2165.4,2165.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2167.3,2173.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2173.24,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2176.3,2176.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2179.2,2179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2180.15,2182.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2182.24,2184.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2185.3,2185.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2187.18,2199.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2199.30,2201.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2201.11,2202.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2204.4,2208.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2208.15,2209.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2209.39,2211.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2213.4,2213.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2215.3,2216.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2216.24,2218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2219.3,2219.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2220.10,2221.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2221.22,2223.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2224.3,2226.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2226.27,2228.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2228.20,2230.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2231.4,2233.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2233.26,2235.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2236.4,2237.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2237.23,2239.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.4,2240.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.46,2244.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2245.4,2245.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2247.3,2247.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252.94,2254.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2254.16,2256.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2258.2,2260.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2260.18,2261.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2261.59,2262.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2262.36,2264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2264.10,2266.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.2,2270.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.13,2272.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.2,2273.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.50,2275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2277.2,2277.98 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281.98,2282.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2282.26,2284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2286.2,2287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2287.16,2289.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2291.2,2292.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2292.13,2294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2297.2,2298.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2298.19,2299.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2299.51,2301.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2302.3,2302.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.2,2304.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.42,2306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.2,2308.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.54,2309.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2309.48,2311.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2312.3,2312.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2316.2,2318.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17.82,19.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21.149,22.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:22.55,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.2,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.36,27.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:28.2,34.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:34.16,36.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.2,37.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.42,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:40.2,40.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43.105,44.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:44.48,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:47.2,48.54 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51.129,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:56.2,57.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:57.53,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:60.2,61.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:61.25,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:64.2,65.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:65.16,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:68.2,68.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26.97,27.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:27.18,29.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:30.2,30.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33.37,35.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37.81,38.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:38.44,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.2,41.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.38,43.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:44.2,44.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47.88,48.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:48.32,50.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:51.2,52.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:52.20,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:55.2,55.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58.40,72.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74.106,75.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:75.34,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:78.2,79.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:79.16,81.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:83.2,84.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:88.2,89.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:89.13,91.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:93.2,94.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:94.63,96.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.2,98.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.72,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:102.2,106.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109.117,110.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:110.32,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.2,113.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.34,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:117.2,118.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:118.16,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.2,121.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.19,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:125.2,126.69 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:126.69,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:130.2,136.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18.33,20.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22.27,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39.93,40.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:40.30,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.2,43.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.28,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:46.2,47.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:47.16,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:51.2,52.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:52.17,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:55.2,56.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:56.19,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.2,59.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.19,61.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:62.2,63.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:63.16,65.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:67.2,74.9 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:74.9,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:77.2,78.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:78.15,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:81.2,85.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:85.16,87.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.2,88.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.17,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:92.2,101.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104.48,105.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:108.2,109.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:109.29,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.2,112.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.31,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:115.2,115.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118.75,120.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:120.27,121.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:121.32,123.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:123.17,124.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:126.4,126.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:129.2,134.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:134.33,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.2,137.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.40,138.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:138.39,140.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:141.3,141.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.2,143.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.34,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:146.2,147.35 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:147.35,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:150.2,150.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153.77,154.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:154.20,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:157.2,159.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:159.31,160.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:160.33,162.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.3,163.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.30,165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:167.2,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23.91,25.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27.38,50.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52.104,53.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:53.38,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:56.2,57.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:61.2,62.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:62.26,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:65.2,66.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:66.30,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.2,69.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.72,71.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:73.2,74.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:77.2,78.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:78.16,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:81.2,82.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:82.16,84.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:85.2,86.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:90.2,105.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.2,109.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.19,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.2,118.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.25,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.2,121.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.30,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.2,124.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.31,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:131.2,131.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134.91,136.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:136.9,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:139.2,140.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:140.15,141.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:141.19,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:144.3,144.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:146.2,146.94 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149.59,150.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:150.16,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:153.2,154.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:154.61,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:157.2,157.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160.56,161.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:161.75,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:164.2,164.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167.67,169.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:170.17,171.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:172.67,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:174.10,175.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179.60,180.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:183.2,184.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:184.25,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:187.2,187.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190.57,191.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:192.15,193.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:193.81,195.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:196.3,196.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:197.19,199.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:199.17,201.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.3,202.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.55,204.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:205.3,205.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:206.14,207.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:208.11,209.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:210.10,211.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215.59,216.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:216.16,218.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:219.2,219.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:220.12,221.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:222.14,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:224.10,225.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:28.90,30.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:30.16,32.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:34.2,36.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:37.16,38.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:40.16,42.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:44.20,46.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:48.17,50.142 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:52.17,56.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:56.50,62.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:62.63,64.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.4,66.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.45,68.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:72.4,74.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:74.25,76.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:77.4,77.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:80.3,80.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:82.18,84.141 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:86.18,88.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:88.18,90.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:91.3,91.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:93.17,96.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:96.50,99.59 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:99.59,101.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:102.4,104.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:104.25,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:107.4,107.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:110.3,110.98 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:112.10,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:125.86,126.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:129.2,130.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:130.9,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.2,133.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.22,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:137.2,139.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:139.31,141.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:141.10,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:144.3,145.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:145.22,147.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:148.3,149.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:149.26,151.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.3,152.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.68,154.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:155.3,156.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:156.37,158.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:159.3,160.107 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:162.2,162.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:165.249,166.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:166.24,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.2,169.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.38,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:173.2,174.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:174.31,175.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:175.32,177.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:180.2,181.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:181.34,182.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:182.29,183.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:185.3,197.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:197.17,199.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.3,200.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.20,201.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.3,203.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.37,205.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:205.33,206.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.4,208.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.19,209.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:209.43,210.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:212.5,212.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:214.4,215.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:215.30,216.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:220.2,220.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:223.113,229.2 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:231.101,233.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:247.92,251.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:251.16,253.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.8,253.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:259.2,272.51 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:272.51,274.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:274.38,275.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:276.50,277.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:278.12,279.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:287.2,292.26 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:292.26,294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.2,297.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.19,301.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:303.2,311.42 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:311.42,315.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:316.2,341.64 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:341.64,342.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:342.86,344.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.3,345.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.56,347.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:348.3,360.19 6 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:360.19,364.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:365.3,365.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:369.2,370.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:370.15,372.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:372.27,374.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.3,375.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.27,377.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:380.2,381.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:381.15,387.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:387.28,395.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:395.18,397.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.4,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.23,399.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.4,401.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.30,402.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:402.66,403.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:405.5,406.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:406.12,407.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.5,409.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.28,413.6 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:414.5,415.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:415.30,416.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:419.4,420.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:420.30,421.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:424.8,432.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:432.28,438.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:438.18,440.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.4,441.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.23,442.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.4,444.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.30,445.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:445.40,447.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:447.31,448.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:452.4,455.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:455.30,456.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:461.2,465.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:465.17,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:469.2,470.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:470.16,472.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:473.2,473.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20.79,21.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:21.43,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.2,24.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.29,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:27.2,27.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30.40,63.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65.68,71.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:71.25,74.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:75.2,75.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78.62,83.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:83.19,87.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:88.2,88.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91.101,92.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:92.22,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:95.2,96.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:96.18,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:103.2,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:107.2,107.119 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110.99,111.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:111.22,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:114.2,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:115.18,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:118.2,119.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:119.16,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.2,122.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.51,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:129.2,131.15 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:131.15,132.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:132.69,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:135.3,135.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:137.2,137.130 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140.102,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.2,145.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.64,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:148.2,148.113 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151.109,153.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:157.16,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:160.2,161.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:161.16,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:164.2,164.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167.107,169.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:169.16,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:172.2,173.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:173.16,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.2,176.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.107,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:179.2,179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:180.41,181.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:182.41,183.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:184.10,185.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189.111,191.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:191.16,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:194.2,195.57 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:195.57,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:198.2,199.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:199.23,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.2,206.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.17,208.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:209.2,209.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212.63,215.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217.69,219.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:222.2,222.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225.60,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:230.2,230.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233.137,234.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:234.49,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:241.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:246.2,247.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:247.16,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.2,250.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.22,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:253.2,253.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256.142,258.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:258.16,260.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:261.2,262.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:262.16,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.2,265.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.47,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:268.2,269.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:269.16,270.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:270.50,272.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:273.3,273.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:275.2,275.173 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278.157,280.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:280.16,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.2,283.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.47,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:286.2,287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:287.16,288.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:288.50,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:291.3,291.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:293.2,293.169 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296.104,297.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:297.22,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:300.2,301.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:301.61,303.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:303.20,304.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.2,307.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.19,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:310.2,317.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320.119,322.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:322.39,323.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:323.81,325.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:327.2,327.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330.71,332.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:332.16,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:335.2,335.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17.61,105.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:105.23,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:123.2,123.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126.104,127.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:127.61,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.2,130.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.38,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:133.2,134.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:137.2,138.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:138.16,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:141.2,147.107 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:147.107,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:150.2,151.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:151.16,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:154.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:170.19,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:173.2,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176.103,177.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:177.61,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.2,180.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.38,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:187.2,191.106 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:191.106,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:194.2,195.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:195.16,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:198.2,200.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:200.31,207.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:207.36,218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:219.3,220.35 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:222.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233.107,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.2,237.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.38,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:240.2,241.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:241.16,243.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:244.2,248.110 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:248.110,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:251.2,252.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:252.16,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:255.2,256.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:256.33,266.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:267.2,275.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278.108,279.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:279.61,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.2,282.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.37,284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:285.2,286.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:286.16,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:289.2,290.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:290.19,292.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.2,293.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.104,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:296.2,297.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:297.16,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:300.2,307.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:307.16,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:310.2,311.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:311.43,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:319.2,332.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:332.22,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:335.2,335.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338.108,339.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:339.62,341.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.2,342.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.38,344.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:345.2,346.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:346.9,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:349.2,350.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:350.16,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:353.2,357.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:360.2,370.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373.109,374.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:374.62,376.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.2,377.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.38,379.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:380.2,381.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:381.9,383.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:384.2,385.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:385.16,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:388.2,390.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:390.32,392.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:393.2,394.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:394.16,396.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:397.2,403.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406.106,407.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:407.62,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.2,410.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.38,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:413.2,414.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:414.9,416.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:417.2,418.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:418.16,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:421.2,423.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:423.16,424.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:424.41,434.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:435.3,435.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:437.2,445.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483.65,484.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:484.42,485.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:485.39,487.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.2,489.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.85,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:492.2,492.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495.102,496.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:496.38,498.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.2,499.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.58,501.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:502.2,502.90 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505.60,508.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510.66,512.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:512.26,514.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:515.2,515.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518.69,521.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:521.33,523.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:523.21,524.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.3,526.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.34,527.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:529.3,530.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:532.2,532.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535.63,537.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:537.19,539.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:540.2,541.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:541.42,543.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.2,544.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.57,546.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.2,547.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.54,549.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:550.2,550.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553.70,557.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559.66,561.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:561.9,563.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:564.2,566.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:566.17,568.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:569.2,569.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:570.103,572.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:573.34,574.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:575.10,576.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580.56,581.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:581.37,583.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.2,584.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.26,586.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:586.37,587.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:589.3,589.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:591.2,591.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594.90,602.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604.68,605.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:605.71,607.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:607.17,609.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:610.3,610.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:612.2,613.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:613.16,615.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:616.2,617.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:617.41,619.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:620.2,620.78 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623.65,625.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:625.16,627.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.2,628.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.17,630.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:631.2,631.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634.51,635.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:635.16,637.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:638.2,638.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641.56,642.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:642.28,644.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:645.2,646.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649.92,651.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:651.29,653.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:654.2,654.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657.86,659.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:659.29,661.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:662.2,662.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665.94,667.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:667.29,669.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:670.2,670.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673.98,675.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:675.29,677.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:678.2,678.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:17.93,18.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:18.104,20.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:22.2,23.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:23.16,25.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:27.2,28.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:28.19,30.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:32.2,35.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:35.33,36.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:36.47,39.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:42.2,44.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:44.20,47.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:48.2,49.68 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:49.68,50.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:50.48,52.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.3,53.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.32,55.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:55.23,56.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:56.63,58.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:59.5,59.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:61.4,61.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:64.2,71.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:71.17,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.8,73.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.29,75.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:75.36,77.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:78.3,83.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.2,86.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.35,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:90.2,97.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:101.2,110.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:110.28,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:113.2,124.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:133.93,134.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:134.35,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:138.2,139.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:139.16,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:143.2,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.2,147.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.17,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:151.2,152.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:152.33,153.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:153.47,156.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:160.16,162.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:164.2,176.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:176.26,178.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:178.23,180.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:181.3,192.5 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:195.2,196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:199.2,199.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:22.104,24.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:24.16,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:28.2,29.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:29.18,31.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:33.2,33.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:34.13,35.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:36.13,37.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:38.14,39.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:40.16,41.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:42.10,43.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:51.67,53.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:57.68,58.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:58.33,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:61.2,61.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:67.42,69.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:74.61,76.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:76.26,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:79.2,79.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:85.90,86.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:86.49,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:90.2,91.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:91.15,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:94.2,95.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:95.17,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:100.2,103.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:103.16,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:107.2,113.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:113.12,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:115.18,117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:118.3,119.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:119.20,121.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:122.3,124.48 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:125.8,127.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:129.2,130.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:130.16,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:134.2,139.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:145.90,147.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:151.2,152.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:152.16,154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:157.16,158.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:158.47,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:161.3,161.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:164.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:170.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:173.8,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:176.2,176.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:181.92,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:187.2,188.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:188.16,190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:192.2,200.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:200.25,207.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:207.28,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:210.3,210.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:212.2,212.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:216.93,217.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:217.52,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:221.2,222.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:222.15,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:226.2,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.2,231.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.47,232.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:232.47,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:235.3,235.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:238.2,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:35.127,36.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:36.23,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:39.2,40.40 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:40.40,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.2,43.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.37,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.2,46.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.37,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:49.2,49.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:52.23,80.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:82.26,140.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:142.92,143.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:143.25,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:147.2,148.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:148.49,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:152.2,152.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:153.17,154.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:154.24,156.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:157.3,158.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:158.17,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:161.3,165.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:166.17,167.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:167.22,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.3,170.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.22,172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:173.3,174.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:174.17,176.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:177.3,181.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:182.16,189.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:189.23,191.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.3,192.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.24,194.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.3,195.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.39,197.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:198.3,207.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:207.17,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.3,210.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.69,212.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:213.3,213.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:214.10,215.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:219.92,220.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:220.25,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:224.2,225.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:225.49,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:229.2,229.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:230.17,232.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:232.24,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:235.3,236.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:236.17,238.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.3,239.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.59,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.3,242.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.81,244.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:245.3,250.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:251.17,253.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:253.22,255.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:256.3,257.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:257.17,259.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.3,260.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.79,262.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:263.3,268.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:269.10,270.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:274.91,276.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:276.16,278.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.2,279.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.67,280.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:280.76,282.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:285.2,286.52 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:286.52,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:289.2,289.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:292.74,294.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:294.16,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.2,297.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.62,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:300.2,300.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:303.109,304.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:304.56,306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.2,307.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.25,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.2,310.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.81,312.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.2,313.102 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.102,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.2,316.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.108,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.2,319.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.99,321.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.2,322.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.99,324.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.2,325.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.60,327.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.2,328.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.34,330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.2,331.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.114,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.2,334.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.66,336.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.2,337.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.40,339.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.2,340.132 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.132,342.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.2,343.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.35,345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:346.2,346.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:349.92,350.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:350.103,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:354.2,355.52 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:355.52,357.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.2,358.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.32,360.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:361.2,361.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:364.108,365.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:365.19,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:368.2,369.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:369.53,371.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.2,372.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.19,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.2,375.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.39,376.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:376.34,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:380.2,380.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:383.66,385.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:385.53,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.2,388.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.19,390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:391.2,391.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:16.2,18.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:19.16,20.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:21.14,22.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:23.15,24.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:25.16,26.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:27.10,28.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21.75,23.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25.41,28.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30.31,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39.38,46.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48.50,56.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58.43,70.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72.80,73.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:73.36,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.2,76.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.48,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:79.2,79.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82.97,84.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:87.2,88.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:88.16,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:91.2,92.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:92.16,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:95.2,96.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:96.16,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:99.2,99.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102.104,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:111.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:115.2,116.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:116.16,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:119.2,119.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122.96,124.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:127.2,128.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:128.19,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:131.2,132.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:132.18,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:135.2,141.79 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:141.79,143.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:143.17,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:146.3,146.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:148.2,148.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151.77,153.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:156.2,157.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:157.19,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:160.2,160.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:22.15,23.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:24.13,25.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:26.14,27.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:28.16,29.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:30.16,31.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:32.10,33.102 1 0 diff --git a/.agent/reports/evidence/production-ready/db-bulkops-sibling-rework/DB-BULKOPS-SIBLING-REWORK.final.json b/.agent/reports/evidence/production-ready/db-bulkops-sibling-rework/DB-BULKOPS-SIBLING-REWORK.final.json new file mode 100644 index 00000000..4f711a68 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-sibling-rework/DB-BULKOPS-SIBLING-REWORK.final.json @@ -0,0 +1,98 @@ +{ + "task_id": "DB-BULKOPS-SIBLING-REWORK", + "observed_at": "2026-07-10T07:19:54.2639416Z", + "status": "READY_FOR_INDEPENDENT_CHECK", + "base_commit": "6ea10496aa127fba7fdb194875044e770d0a1d8c", + "verification": [ + { + "gate": "high-risk repeat", + "database": "engram_prc_bulkops_sibling_repeat20_20260710_100246118", + "result": "PASS", + "detail": "7 scenarios x 20 = 140 executions" + }, + { + "gate": "candidate-store fixture compatibility", + "database": "engram_prc_bulkops_sibling_fixture_20260710_100935627", + "result": "PASS", + "detail": "4/4 candidate-review store tests, including audit-failure rollback" + }, + { + "gate": "scoped package tests and coverage", + "database": "engram_prc_bulkops_sibling_scoped_20260710_101019337", + "result": "PASS", + "packages": { + "internal/bulkops": "PASS, 78.1% statements", + "internal/db/gorm focused": "PASS, 5.4% package statements", + "internal/mcp focused": "PASS, 2.1% package statements", + "internal/reviewpacket": "PASS", + "pkg/models": "PASS" + } + }, + { + "gate": "race", + "database": "engram_prc_bulkops_sibling_race_20260710_101104510", + "result": "PASS", + "packages": [ + "internal/bulkops full", + "internal/db/gorm focused candidate-review paths", + "internal/mcp focused bulk-promote paths" + ] + }, + { + "gate": "go vet", + "result": "PASS", + "command": "go vet ./internal/bulkops ./internal/db/gorm ./internal/mcp ./internal/reviewpacket ./pkg/models" + }, + { + "gate": "Serena diagnostics", + "result": "PASS", + "detail": "no warnings or errors in all seven changed Go files" + }, + { + "gate": "database hygiene", + "result": "PASS", + "detail": "databases and active sessions matching engram_prc_bulkops_sibling_% both equal zero" + } + ], + "coverage": { + "package_internal_bulkops": "78.1% WARN below informational 80% threshold", + "NormalizeCandidateIDs": "100.0%", + "executeBulkPromote": "86.2%", + "promoteWithMemoryAndSnapshotAction": "77.5% in focused gorm profile", + "transitionWithSnapshot": "85.7% in focused gorm profile", + "amendCandidateReviewAfterTx": "66.7% in focused gorm profile", + "handleBulkPromote": "52.4% in focused MCP profile" + }, + "full_package_baseline": { + "internal/db/gorm": { + "database": "engram_prc_bulkops_sibling_fullgorm_20260710_101402648", + "result": "FAIL_OUTSIDE_REWORK_SCOPE", + "failures": [ + "TestRuleGovernanceStore_AnnotatedCandidateWaitsUntilReviewAfter", + "TestRuleGovernanceStore_GetLifecycleHealthAggregatesGovernanceTables", + "TestRuleGovernanceStore_GetLifecycleHealthOmitsGlobalArbiterRunsForProjectScopedReads", + "TestMigration144_RuleGovernanceRollbackAndReapply", + "TestMigration144_RuleGovernanceEscapeConstraints", + "TestMigration144_RuleGovernanceSnapshotStatusesAcceptExtendedStates" + ], + "rework_note": "The candidate-review store tests that failed before the fixture correction are absent from this failure list." + }, + "internal/mcp": { + "database": "engram_prc_bulkops_sibling_fullmcp_20260710_101520646", + "result": "FAIL_OUTSIDE_REWORK_SCOPE", + "failures": [ + "TestHybridTG3_ConfidenceMin_FloorEnforced_T022", + "TestEC_F1_TagDerivedBackfill_T007" + ] + }, + "database_cleanup": { + "sessions_before_drop": 0, + "residue_after_drop": 0 + } + }, + "warnings": [ + "Package-level internal/bulkops coverage is 78.1%, below the informational 80% threshold.", + "Existing candidate-review audit writes remain transaction-fatal, while the bulk facade post-transaction summary audit remains best-effort by prior design; this rework changes only zero-success action semantics.", + "Fresh migrations continue to log non-fatal stale-index, absent observation_vectors, and unavailable vectorscale warnings." + ] +} diff --git a/.agent/reports/evidence/production-ready/db-bulkops-sibling-rework/DB-BULKOPS-SIBLING-REWORK.tdd.json b/.agent/reports/evidence/production-ready/db-bulkops-sibling-rework/DB-BULKOPS-SIBLING-REWORK.tdd.json new file mode 100644 index 00000000..c632bd71 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-sibling-rework/DB-BULKOPS-SIBLING-REWORK.tdd.json @@ -0,0 +1,103 @@ +{ + "task_id": "DB-BULKOPS-SIBLING-REWORK", + "stack": "GO", + "base_commit": "6ea10496aa127fba7fdb194875044e770d0a1d8c", + "findings": [ + "H1 candidate_review_action snapshots omitted the exact candidate After state", + "M1 nil-facade MCP dry-run did not share facade ID normalization", + "M2 all-row bulk-promote failure wrote a success-shaped bulk_promote audit" + ], + "red_evidence": [ + { + "finding": "H1", + "artifact": "H1-candidate-review-after.red.json", + "result": "RED", + "observed": "promote, preserve, reject, supersede, and suppress all persisted empty candidate SnapshotEntry.After values" + }, + { + "finding": "M1", + "artifact": "M1-nil-facade-normalization.red.json", + "result": "RED", + "observed": "nil-facade preview returned 4 instead of 2 for duplicate IDs after zero coercion" + }, + { + "finding": "M2", + "artifact": "M2-all-row-failure-audit.red.json", + "result": "RED", + "observed": "zero-success execution wrote one action=bulk_promote audit row" + } + ], + "green_evidence": { + "H1": { + "database": "engram_prc_bulkops_sibling_green_20260710_095039575", + "result": "PASS", + "coverage": "real public snapshot constructor plus real promote, preserve, reject, supersede, and suppress store methods; persisted After exactly matched the authoritative returned candidate and rollback restored pending without fixture SQL amendment" + }, + "M1": { + "observed_at": "2026-07-10T06:49:01Z", + "result": "PASS", + "coverage": "nil-facade MCP duplicate and zero input normalized to two candidate IDs" + }, + "M2": { + "database": "engram_prc_bulkops_sibling_green_20260710_095039575", + "result": "PASS", + "coverage": "zero-success execution created no snapshot, no bulk_promote success audit, and one bulk_promote_failed audit with attempted, affected, and failed counts" + }, + "database_cleanup": { + "sessions_before_drop": 0, + "residue_after_drop": 0 + } + }, + "prove_it": [ + { + "sentinel": "panic in promoteWithMemoryAndSnapshotAction", + "permanent_test_failed": "public candidate-review promote regression", + "post_restore": "PASS" + }, + { + "sentinel": "panic in transitionWithSnapshot", + "permanent_test_failed": "public candidate-review reject regression", + "post_restore": "PASS" + }, + { + "sentinel": "panic in amendCandidateReviewAfterTx", + "permanent_test_failed": "public candidate-review promote regression", + "post_restore": "PASS" + }, + { + "sentinel": "panic in NormalizeCandidateIDs", + "permanent_test_failed": "nil-facade MCP dry-run regression", + "post_restore": "PASS" + }, + { + "sentinel": "panic in handleBulkPromote", + "permanent_test_failed": "nil-facade MCP dry-run regression", + "post_restore": "PASS" + }, + { + "sentinel": "panic in executeBulkPromote", + "permanent_test_failed": "all-row failure audit regression", + "post_restore": "PASS" + } + ], + "repeat": { + "database": "engram_prc_bulkops_sibling_repeat20_20260710_100246118", + "command": "go test -p=1 ./internal/bulkops ./internal/mcp -run '^(TestRollback_PublicCandidateReview(PromotePersistsAfterAndRestoresPending|PreservePersistsAfterAndRestoresPending|NonMemoryActionsPersistAfterAndRestorePending)|TestFacade_BulkPromote_AllRowsFailWritesExplicitFailureAudit|TestBulkPromote_DryRun_NilFacade)$' -count=20", + "result": "PASS", + "scenario_executions": 140, + "bulkops_duration": "27.940s", + "mcp_duration": "0.095s", + "database_cleanup": { + "sessions_before_drop": 0, + "residue_after_drop": 0 + } + }, + "refactor": { + "applied": false, + "reason": "The minimum production change already centralizes normalization and snapshot amendment; further extraction would expand the checker-bounded rework without improving the verified contract." + }, + "discarded_harness_runs": [ + "The first H1 RED attempt was discarded because the new test did not compile until its auth import was added; only the subsequent behavior failure is recorded as RED.", + "One post-fix fixture run was discarded because PowerShell parsed $db?sslmode as a variable name and produced database '=disable'; the exact test database was still dropped with zero residue, and the corrected ${db} DSN run passed." + ] +} diff --git a/.agent/reports/evidence/production-ready/db-bulkops-sibling-rework/H1-candidate-review-after.red.json b/.agent/reports/evidence/production-ready/db-bulkops-sibling-rework/H1-candidate-review-after.red.json new file mode 100644 index 00000000..8befb5ee --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-sibling-rework/H1-candidate-review-after.red.json @@ -0,0 +1,21 @@ +{ + "task_id": "DB-BULKOPS-SIBLING-H1", + "stack": "GO", + "observed_at": "2026-07-10T06:44:57Z", + "database": "engram_prc_bulkops_sibling_h1_red_20260710_094450099", + "test_file": "internal/bulkops/rollback_test.go", + "test_names": [ + "TestRollback_PublicCandidateReviewPromotePersistsAfterAndRestoresPending", + "TestRollback_PublicCandidateReviewPreservePersistsAfterAndRestoresPending", + "TestRollback_PublicCandidateReviewNonMemoryActionsPersistAfterAndRestorePending/reject", + "TestRollback_PublicCandidateReviewNonMemoryActionsPersistAfterAndRestorePending/supersede", + "TestRollback_PublicCandidateReviewNonMemoryActionsPersistAfterAndRestorePending/suppress" + ], + "command": "go test ./internal/bulkops -run '^TestRollback_PublicCandidateReview(PromotePersistsAfterAndRestoresPending|PreservePersistsAfterAndRestoresPending|NonMemoryActionsPersistAfterAndRestorePending)$' -count=1", + "failure_reason": "All five live candidate_review_action paths persisted an empty SnapshotEntry.After.", + "runner_stdout_excerpt": "Should NOT be empty, but was []; live candidate_review_action must persist its authoritative after-state; TEST_EXIT=1", + "database_cleanup": { + "sessions_before_drop": 0, + "residue_after_drop": 0 + } +} diff --git a/.agent/reports/evidence/production-ready/db-bulkops-sibling-rework/M1-nil-facade-normalization.red.json b/.agent/reports/evidence/production-ready/db-bulkops-sibling-rework/M1-nil-facade-normalization.red.json new file mode 100644 index 00000000..51afb232 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-sibling-rework/M1-nil-facade-normalization.red.json @@ -0,0 +1,10 @@ +{ + "task_id": "DB-BULKOPS-SIBLING-M1", + "stack": "GO", + "observed_at": "2026-07-10T06:46:33.4325051Z", + "test_file": "internal/mcp/tools_dryrun_test.go", + "test_name": "TestBulkPromote_DryRun_NilFacade", + "command": "go test ./internal/mcp -run '^TestBulkPromote_DryRun_NilFacade$' -count=1", + "failure_reason": "The nil-facade MCP seam removed zero IDs but retained duplicates, returning 4 instead of the facade-normalized 2.", + "runner_stdout_excerpt": "expected: 2; actual: 4; TEST_EXIT=1" +} diff --git a/.agent/reports/evidence/production-ready/db-bulkops-sibling-rework/M2-all-row-failure-audit.red.json b/.agent/reports/evidence/production-ready/db-bulkops-sibling-rework/M2-all-row-failure-audit.red.json new file mode 100644 index 00000000..a965306e --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-bulkops-sibling-rework/M2-all-row-failure-audit.red.json @@ -0,0 +1,15 @@ +{ + "task_id": "DB-BULKOPS-SIBLING-M2", + "stack": "GO", + "observed_at": "2026-07-10T06:45:33Z", + "database": "engram_prc_bulkops_sibling_m2_red_20260710_094528088", + "test_file": "internal/bulkops/facade_test.go", + "test_name": "TestFacade_BulkPromote_AllRowsFailWritesExplicitFailureAudit", + "command": "go test ./internal/bulkops -run '^TestFacade_BulkPromote_AllRowsFailWritesExplicitFailureAudit$' -count=1", + "failure_reason": "A zero-success execution wrote one action=bulk_promote success-shaped audit row.", + "runner_stdout_excerpt": "Should be zero, but was 1; all-row failure must not emit a success-shaped bulk_promote audit; TEST_EXIT=1", + "database_cleanup": { + "sessions_before_drop": 0, + "residue_after_drop": 0 + } +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/CHECKER-SHA256SUMS.txt b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/CHECKER-SHA256SUMS.txt new file mode 100644 index 00000000..d2026a2d --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/CHECKER-SHA256SUMS.txt @@ -0,0 +1,30 @@ +# manifest-version=1 +# slice=DB-EMBEDDING-EVIDENCE-TRANSPORT-R2-CHECKER +# algorithm=sha256 +# representation=git-index-blob-content +# target=db2cf891dd9c6315fd17220ffe2d02302bea8844 +# checker-head=containing-commit-reported-out-of-band +# self-entry=excluded-to-avoid-recursion +96e753a3a284930a8ac1b1ab5537f6afd2cf244ae6600d43463693acf0a207ac .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/checker-edge-mutations.cjs +a6ac61a7731b82916515c8cd83e99ecb0fa06bb6e0d0bb180ce811602403a822 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/checker-report.md +9a21e070ed37cd332fc968c6a0f2088a83a506da8ec8472483b01afbf585f15f .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/checker-summary.v1.json +041ae7f10aaaf66eb2bfd7d5fe06e59d857887ab04d31bd74bb668f95b70f93b .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/checksum-audit.json +2aeaf581cdb79d2865ff616b495bd07d1ac3d08240063146f8b9067a6cdd79a6 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/checker-edge-mutations.json +2274e6486f11ad291a44b65fa4e0e41b08c944c48ce975f98f0d366ceb00f3f4 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/lf-adversarial.tap +8d5bd452204aeb5cb9f487e36b3dc885fd602c0a974752b583f99493a3d7d2d3 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/lf-artifact-files.json +1ae4a5c71c9d55fe3cc536d4d6affcfd7e296c072aadaa244324b5b3158c6fde .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/lf-checkout-lf.json +0f2974b8828909a15abc4d32309fe520152c5208505c3b09c6a20f2cbf627211 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/lf-git-object.json +21570ca6a8c57859425bae784a5a89af1f4665adfa76cb51e92d4137f58d939b .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/lf-legacy-raw-audit.json +f8c7dda5fe46cdcfa512fe0876dcdd34d08e4e9d1800f7e73fe9c82cedbd72e9 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/proveit-baseline.tap +654d7e4a666a2bb4336f5918478a4aae10af384e2b474c84db827ce641dba500 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/proveit-post-restore.tap +a75216702634d62811d2bc275f286487e14c90cb0a4775901f4f4fcfcd6068f4 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/proveit-validateContractSchema-sentinel.tap +0bedd0384b3fc2c984dd4af60b2f09058efad005b920e42cfb19c74846dec96d .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/proveit-verifyArtifactFiles-sentinel.tap +9eee68c358c4e9c47222b5964c0899788120b34912094684c7e8a3cd175967d9 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/red-base.tap +02b385f261000733c3a887e415b6c6afb2ee732ea57d7c2ade9b9a334d92ce4b .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/windows-adversarial.tap +4c6e46d4d88041cffca2ef761bf4216912ac025af3210b2b0cf136cb2f380765 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/windows-artifact-files.json +8a8bc7439431ab1d05a40cb5fe14ff6058c4c99c7b370c3a6966f870b0c3115e .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/windows-checkout-lf.json +7155ffdf54cd19bf35f99f30b9d62c124351b4cf3e1f14889656fc52f8f53b6b .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/windows-coverage-repeat2.tap +681a47a8639fb7626a527d070611fdddd1374175af4398ca212793b65563eb54 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/windows-coverage.tap +71543f1377ff75287758cde47f9fa052aeb8f5748a4a6db8f16f62a92c60c96f .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/windows-git-object.json +de7b8356ff867787faae220e21c82f473e7ea32bbc35288e2738531b9b18267a .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/windows-legacy-raw-audit.json +c91be5dab44fec0a0cc4e2b91381acbf42477714a2ffabba143d5fd27a98ece3 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/target-audit.json diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/checker-edge-mutations.cjs b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/checker-edge-mutations.cjs new file mode 100644 index 00000000..36c1f043 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/checker-edge-mutations.cjs @@ -0,0 +1,282 @@ +#!/usr/bin/env node +'use strict'; + +const crypto = require('node:crypto'); +const fs = require('node:fs'); +const path = require('node:path'); +const { spawnSync } = require('node:child_process'); + +const TARGET = 'db2cf891dd9c6315fd17220ffe2d02302bea8844'; +const ALTERNATE_ANCESTOR = '580b0cd0ff38bb55a5195a8004e60234a824b7a8'; +const SOURCE = '38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df'; +const repositoryArgument = process.argv.find((value) => value.startsWith('--repository=')); + +if (!repositoryArgument) { + process.stderr.write('usage: checker-edge-mutations.cjs --repository=\n'); + process.exit(2); +} + +const repoRoot = path.resolve(repositoryArgument.slice('--repository='.length)); +const evidenceDirectory = path.join( + repoRoot, + '.agent', + 'reports', + 'evidence', + 'production-ready', + 'db-embedding-stats-evidence-transport', +); +const verifierPath = path.join(evidenceDirectory, 'verify-manifest.cjs'); +const contractPath = path.join(evidenceDirectory, 'content-manifest.v1.json'); +const artifactManifestPath = path.join(evidenceDirectory, 'ARTIFACTS.sha256'); +const legacyManifestPath = path.join( + repoRoot, + '.agent', + 'reports', + 'evidence', + 'production-ready', + 'db-embedding-stats', + 'SHA256SUMS.txt', +); + +function run(command, args, options = {}) { + const result = spawnSync(command, args, { + cwd: options.cwd || repoRoot, + encoding: options.encoding === undefined ? 'utf8' : options.encoding, + windowsHide: true, + maxBuffer: 64 * 1024 * 1024, + }); + if (result.error) throw result.error; + return result; +} + +function gitText(args) { + const result = run('git', args); + if (result.status !== 0) throw new Error(result.stderr.trim()); + return result.stdout.trim(); +} + +function gitBytes(args) { + const result = run('git', args, { encoding: null }); + if (result.status !== 0) throw new Error(result.stderr.toString('utf8').trim()); + return result.stdout; +} + +function sha256(bytes) { + return crypto.createHash('sha256').update(bytes).digest('hex'); +} + +function serializeJsonLike(original, value) { + const eol = original.includes(Buffer.from('\r\n')) ? '\r\n' : '\n'; + return Buffer.from(`${JSON.stringify(value, null, 2).replace(/\n/g, eol)}${eol}`, 'utf8'); +} + +function mutateAnnotated(original, mutate) { + const text = original.toString('utf8'); + const eol = text.includes('\r\n') ? '\r\n' : '\n'; + const lines = text.split(/\r?\n/); + if (lines.at(-1) === '') lines.pop(); + mutate(lines); + return Buffer.from(`${lines.join(eol)}${eol}`, 'utf8'); +} + +function runVerifier(mode) { + const result = run(process.execPath, [verifierPath, `--mode=${mode}`]); + let output = null; + try { + if (result.stdout.trim()) output = JSON.parse(result.stdout); + } catch { + output = null; + } + return { + exit_code: result.status, + status: output?.status || null, + total: output?.total ?? null, + matched: output?.matched ?? null, + structural_errors: output?.structural_errors || [], + entries: output?.entries || [], + stderr: result.stderr.trim(), + }; +} + +function withMutations(mutations, action) { + const originals = new Map(); + try { + for (const [filePath, bytes] of mutations) { + originals.set(filePath, fs.readFileSync(filePath)); + fs.writeFileSync(filePath, bytes); + } + return action(); + } finally { + for (const [filePath, bytes] of originals) fs.writeFileSync(filePath, bytes); + } +} + +function expectRejected(name, result, extraCheck = () => true) { + const pass = result.exit_code !== 0 && result.status !== 'PASS' && extraCheck(result); + return { name, expectation: 'reject', pass, ...result }; +} + +function expectAccepted(name, result, extraCheck = () => true) { + const pass = result.exit_code === 0 && result.status === 'PASS' && extraCheck(result); + return { name, expectation: 'accept', pass, ...result }; +} + +if (gitText(['rev-parse', 'HEAD']) !== TARGET) { + throw new Error(`mutation worktree must be at exact target ${TARGET}`); +} +if (gitText(['status', '--porcelain']) !== '') { + throw new Error('mutation worktree must start clean'); +} + +const cases = []; +cases.push(expectAccepted('baseline_git_object', runVerifier('git-object'), (result) => result.total === 7)); + +{ + const originalContract = fs.readFileSync(contractPath); + const originalLegacy = fs.readFileSync(legacyManifestPath); + const contract = JSON.parse(originalContract); + const removed = contract.entries.pop(); + const legacy = mutateAnnotated(originalLegacy, (lines) => { + const index = lines.findIndex((line) => line.endsWith(` ${removed.path}`)); + if (index < 0) throw new Error('removed entry not present in legacy manifest'); + lines.splice(index, 1); + }); + const result = withMutations( + [ + [contractPath, serializeJsonLike(originalContract, contract)], + [legacyManifestPath, legacy], + ], + () => runVerifier('git-object'), + ); + cases.push(expectRejected('content_manifest_rejects_six_of_seven_when_legacy_agrees', result)); +} + +{ + const originalContract = fs.readFileSync(contractPath); + const originalLegacy = fs.readFileSync(legacyManifestPath); + const contract = JSON.parse(originalContract); + const replaced = contract.entries.at(-1); + const substitutePath = 'go.mod'; + const substituteBytes = gitBytes(['cat-file', 'blob', `${SOURCE}:${substitutePath}`]); + const substitute = { + path: substitutePath, + git_blob_oid: gitText(['rev-parse', `${SOURCE}:${substitutePath}`]), + byte_length: substituteBytes.length, + sha256: sha256(substituteBytes), + }; + contract.entries[contract.entries.length - 1] = substitute; + const legacy = mutateAnnotated(originalLegacy, (lines) => { + const index = lines.findIndex((line) => line.endsWith(` ${replaced.path}`)); + if (index < 0) throw new Error('replaced entry not present in legacy manifest'); + lines[index] = `${substitute.sha256} ${substitute.path}`; + }); + const result = withMutations( + [ + [contractPath, serializeJsonLike(originalContract, contract)], + [legacyManifestPath, legacy], + ], + () => runVerifier('git-object'), + ); + cases.push(expectRejected('content_manifest_rejects_wrong_path_with_same_cardinality', result)); +} + +{ + const originalContract = fs.readFileSync(contractPath); + const originalLegacy = fs.readFileSync(legacyManifestPath); + const contract = JSON.parse(originalContract); + contract.representation.source_commit = ALTERNATE_ANCESTOR; + const legacy = mutateAnnotated(originalLegacy, (lines) => { + const index = lines.findIndex((line) => line.startsWith('# source-commit=')); + if (index < 0) throw new Error('source-commit metadata not present'); + lines[index] = `# source-commit=${ALTERNATE_ANCESTOR}`; + }); + const result = withMutations( + [ + [contractPath, serializeJsonLike(originalContract, contract)], + [legacyManifestPath, legacy], + ], + () => runVerifier('git-object'), + ); + cases.push(expectRejected('representation_rejects_alternate_ancestor_source_commit', result)); +} + +{ + const originalContract = fs.readFileSync(contractPath); + const originalLegacy = fs.readFileSync(legacyManifestPath); + const contract = JSON.parse(originalContract); + contract.entries[1] = structuredClone(contract.entries[0]); + const legacy = mutateAnnotated(originalLegacy, (lines) => { + const dataIndexes = lines + .map((line, index) => ({ line, index })) + .filter(({ line }) => /^[0-9a-f]{64} /.test(line)) + .map(({ index }) => index); + lines[dataIndexes[1]] = lines[dataIndexes[0]]; + }); + const result = withMutations( + [ + [contractPath, serializeJsonLike(originalContract, contract)], + [legacyManifestPath, legacy], + ], + () => runVerifier('git-object'), + ); + cases.push(expectRejected('content_manifest_rejects_duplicate_canonical_path', result)); +} + +{ + const storePath = path.join(repoRoot, 'internal', 'embedding', 'store.go'); + const original = fs.readFileSync(storePath); + const result = withMutations( + [[storePath, Buffer.concat([original, Buffer.from([13])])]], + () => runVerifier('checkout-lf'), + ); + cases.push(expectRejected( + 'checkout_lf_rejects_real_bare_cr_byte', + result, + (value) => value.entries.some((entry) => entry.bare_carriage_returns > 0), + )); +} + +{ + const original = fs.readFileSync(artifactManifestPath); + const mutated = mutateAnnotated(original, (lines) => { + const index = lines.findIndex((line) => line.startsWith('# representation=')); + if (index < 0) throw new Error('artifact representation metadata not present'); + lines[index] = '# representation=raw-checkout-files'; + }); + const result = withMutations([[artifactManifestPath, mutated]], () => runVerifier('artifact-files')); + cases.push(expectRejected('artifact_manifest_rejects_representation_drift', result)); +} + +{ + const makerReportPath = path.join(evidenceDirectory, 'maker-report.md'); + const original = fs.readFileSync(makerReportPath); + const result = withMutations( + [[makerReportPath, Buffer.concat([original, Buffer.from([13])])]], + () => runVerifier('artifact-files'), + ); + cases.push(expectRejected( + 'artifact_files_reject_real_bare_cr_byte', + result, + (value) => value.entries.some((entry) => entry.bare_carriage_returns > 0), + )); +} + +const residue = gitText(['status', '--porcelain']); +const falsePasses = cases.filter((entry) => !entry.pass); +const result = { + schema_version: 1, + checker: 'DB-EMBEDDING-EVIDENCE-TRANSPORT-R2', + target: TARGET, + source_commit: SOURCE, + alternate_ancestor: ALTERNATE_ANCESTOR, + status: falsePasses.length === 0 && residue === '' ? 'PASS' : 'FAIL', + total: cases.length, + passed: cases.length - falsePasses.length, + failed: falsePasses.length, + false_pass_cases: falsePasses.map((entry) => entry.name), + worktree_residue: residue, + cases, +}; + +process.stdout.write(`${JSON.stringify(result, null, 2)}\n`); +if (result.status !== 'PASS') process.exit(1); diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/checker-report.md b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/checker-report.md new file mode 100644 index 00000000..7defabd8 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/checker-report.md @@ -0,0 +1,160 @@ +# DB-EMBEDDING-EVIDENCE-TRANSPORT R2 independent checker report + +Date: 2026-07-10 +Role: independent checker/verifier +Status: **DONE_WITH_CONCERNS** +Verdict: **REVISE / NOT_READY** + +The target improves the rejected verifier substantially, but it still permits +three independently reproduced false-PASS states. Under the assigned contract, +any false PASS or raw-path trust blocks post-review. This report does not modify +or repair maker, verifier, product, or test artifacts. + +## Immutable boundary + +- Exact target: `db2cf891dd9c6315fd17220ffe2d02302bea8844` +- Exact target tree: `6a450d3f0b83ce2afd95910da1516411a2134514` +- Exact parent/base: `580b0cd0ff38bb55a5195a8004e60234a824b7a8` +- Accepted product source: `38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df` +- Source branch: `work/prc-db-embedding-evidence-transport-r2` +- Checker branch: `review/prc-db-embedding-evidence-r2-checker` +- Checker worktree: + `D:/Dev/engram/.agent/worktrees/db-embedding-evidence-r2-checker` +- Target ancestry: exactly one commit from the base; target parent equals base. +- Target delta: nine `.agent/` evidence/spec paths; product/source/test delta is + zero both from the accepted product source and from the exact base. +- Checker writes: this checker evidence directory only. + +The checker commit is reported after commit because a commit cannot embed its +own SHA or tree without changing them. + +## Blocking findings + +### HIGH ETR2-C001 — the seven-record source manifest is not an exact set + +`verify-manifest.cjs:302` requires only a non-empty array. The legacy manifest +is compared to the same mutable contract at `verify-manifest.cjs:528`, and PASS +is computed against the resulting dynamic `total` at lines 584-600. There is no +constant for the seven required paths or required cardinality. + +Two independent mutations therefore false-PASS: + +1. Remove one content-contract entry and the corresponding legacy entry: + exit `0`, status `PASS`, `6/6`, structural errors `0`. +2. Replace one required path with a correctly described `go.mod` blob while + preserving cardinality and the matching legacy entry: exit `0`, status + `PASS`, `7/7`, structural errors `0`. + +This permits a complete-looking evidence result for an incomplete or different +source artifact set. + +### HIGH ETR2-C002 — the accepted source commit can be rebound + +`verify-manifest.cjs:275` checks only that `representation.source_commit` is a +40-hex value. Lines 532-537 require only that it is some ancestor of `HEAD`. +The accepted source `38d6a4fb...` is not pinned by the executable verifier. + +Changing both mutable source-commit declarations to alternate ancestor +`580b0cd0ff38bb55a5195a8004e60234a824b7a8` produced exit `0`, status `PASS`, +`7/7`, structural errors `0`. This is representation/source drift accepted as +valid evidence. + +### HIGH ETR2-C003 — invalid contract paths are not gated before raw access + +The schema pass computes normalized/contained paths, but source verification at +`verify-manifest.cjs:549-553` still passes raw `entry.path` to Git and then to +`fs.readFileSync(path.join(...entry.path.split('/')))`, even when validation has +already recorded path errors. Artifact-file mode correctly gates reads on the +validated normalized required-path set; source modes do not. Invalid tested +paths return nonzero today because Git rejects them first, but the code does not +honor the claimed “validated before filesystem access” boundary. + +### MEDIUM ETR2-C004 — committed aggregate coverage values are stale + +The TDD JSON and maker report claim all-files line `88.89%` and branch `65.33%`. +Two fresh exact-target runs with Node `v24.2.0` were identical at line `89.10%` +and branch `66.50%`; verifier line `84.46%` and functions `100%` do match. +Coverage remains above the claimed threshold, so this is not a coverage +regression, but the committed exact aggregate values are not reproducible. + +## Acceptance replay + +| Rail | Independent result | +| --- | --- | +| One-commit ancestry and exact parent | PASS | +| Product/source/test delta versus source and base | PASS, zero paths | +| Declared contract shape | PASS, seven unique entries | +| Windows EOL materialization | PASS, `i/lf w/crlf` for `7/7` | +| Windows raw/Git-object/checkout-LF | PASS, `0/7`, `7/7`, `7/7` | +| Windows artifact set | PASS, exact `5/5` | +| Permanent maker adversarial suite | PASS, `18/18`, exit `0` | +| Fresh LF materialization | PASS, `i/lf w/lf` for `7/7` | +| Fresh LF raw/Git-object/checkout-LF | PASS, `7/7`, `7/7`, `7/7` | +| Fresh LF artifact set and adversarial suite | PASS, `5/5` and `18/18` | +| RED against exact base | PASS as evidence: exit `1`, pass `1`, fail `17` | +| `validateContractSchema` Prove-It sentinel | PASS as evidence: exit `1`, fail `18` | +| `verifyArtifactFiles` Prove-It sentinel | PASS as evidence: exit `1`, pass `9`, fail `9` | +| Post-sentinel byte restore | PASS, `18/18`, verifier byte-identical | +| Outer/artifact/legacy checksum manifests | PASS, `9/9`, `5/5`, `7/7` | +| Self-reference discipline | PASS: both checksum manifests exclude themselves | +| Node syntax and target diff check | PASS | +| Temporary worktrees/process/DB/session residue | PASS, all zero | + +The positive rails above do not override ETR2-C001 or ETR2-C002: the permanent +18-case suite never couples the two mutable source manifests or tries a valid +alternate ancestor, so it cannot detect those false-PASS classes. + +## Commands and exits + +- `node verify-manifest.cjs --mode=legacy-raw-audit`: exit `0`, + `AMBIGUOUS_RAW_CHECKOUT_CONFIRMED`, raw/Git/LF `0/7`, `7/7`, `7/7`. +- `node verify-manifest.cjs --mode=git-object`: exit `0`, PASS `7/7`. +- `node verify-manifest.cjs --mode=checkout-lf`: exit `0`, PASS `7/7`. +- `node verify-manifest.cjs --mode=artifact-files`: exit `0`, PASS `5/5`. +- `node --test --test-concurrency=1 verify-manifest.test.cjs`: exit `0`, + `18/18` in both Windows and LF checkouts. +- `node --test --test-concurrency=1 --experimental-test-coverage + verify-manifest.test.cjs`: exit `0` twice; line `89.10%`, branch `66.50%`, + functions `100%` across all files. +- Target test materialized into exact-base detached worktree: exit `1`, pass + `1`, fail `17`. +- Empty `validateContractSchema` sentinel: exit `1`, fail `18`; empty + `verifyArtifactFiles` sentinel: exit `1`, pass `9`, fail `9`; post-restore + exit `0`, pass `18`. +- `node checker-edge-mutations.cjs --repository=`: + exit `1`, checker status FAIL, eight cases, five expected outcomes and three + false-PASS findings. +- `node --check` for verifier, maker test, and checker mutation harness: exit + `0` each. +- `git diff --check 580b0cd0..db2cf891`: exit `0`. + +## Checksums and cleanup + +`checksum-audit.json` records every Git blob OID, SHA-256, byte length, raw +checkout hash, canonical-LF hash, and bare-CR count. All committed maker hashes +match. The outer R2 manifest Git blob is +`6fbef4d23f5a647952d694549d3d3f55cf6ab034`, SHA-256 +`a723782459ee52b40db3c3105a138347a62354b48f1ec7fab4c3378a58617780`. + +The mutation, LF, RED, and Prove-It worktrees were each clean/restored before +removal. Their paths and normalized Git registrations are absent. Checker-owned +Node processes, matching PostgreSQL databases, and matching PostgreSQL sessions +are zero. Shared container `engram-prc-postgres` remains running. + +## Code-quality review + +- Correctness and validation completeness: blocked by ETR2-C001/C002/C003. +- Readability: the validator is organized into understandable helpers. +- Architecture: no product dependency or source-code coupling was introduced. +- Security: artifact paths use an exact normalized allowlist, but source-mode + raw path use weakens the intended trust boundary. +- Performance: bounded seven/five-entry work; no material concern. +- Reusability candidates: none; evaluated as an evidence-slice-specific gate. + +## Required next action + +Keep the target out of post-review. A maker revision must pin the accepted +source commit and exact seven source paths/cardinality in executable validation, +gate all source access on validated canonical paths, add permanent regressions +for the three false-PASS cases, refresh coverage evidence, and return to a fresh +independent checker. diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/checker-summary.v1.json b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/checker-summary.v1.json new file mode 100644 index 00000000..f222152e --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/checker-summary.v1.json @@ -0,0 +1,109 @@ +{ + "schema_version": 1, + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT-R2", + "role": "independent-checker", + "generated_at": "2026-07-10T14:42:22.0608356Z", + "status": "DONE_WITH_CONCERNS", + "verdict": "REVISE", + "readiness": "NOT_READY", + "target": "db2cf891dd9c6315fd17220ffe2d02302bea8844", + "target_tree": "6a450d3f0b83ce2afd95910da1516411a2134514", + "base": "580b0cd0ff38bb55a5195a8004e60234a824b7a8", + "accepted_product_source": "38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df", + "checker_branch": "review/prc-db-embedding-evidence-r2-checker", + "checker_worktree": "D:/Dev/engram/.agent/worktrees/db-embedding-evidence-r2-checker", + "checker_head": null, + "checker_head_reason": "reported after the evidence-only commit to avoid self-reference", + "target_contract": { + "parent_exact": true, + "base_to_target_commits": 1, + "changed_paths": 9, + "changed_paths_outside_agent": 0, + "product_source_test_delta_vs_source": 0, + "product_source_test_delta_vs_base": 0 + }, + "findings": [ + { + "id": "ETR2-C001", + "severity": "HIGH", + "blocking": true, + "class": "false-pass-exact-source-set", + "evidence": [ + "six synchronized entries: exit 0, PASS 6/6", + "go.mod substitution at cardinality seven: exit 0, PASS 7/7" + ] + }, + { + "id": "ETR2-C002", + "severity": "HIGH", + "blocking": true, + "class": "false-pass-source-commit-rebind", + "evidence": "alternate ancestor 580b0cd0: exit 0, PASS 7/7" + }, + { + "id": "ETR2-C003", + "severity": "HIGH", + "blocking": true, + "class": "raw-path-access-after-validation-error", + "evidence": "source modes use raw entry.path at verify-manifest.cjs:549-553" + }, + { + "id": "ETR2-C004", + "severity": "MEDIUM", + "blocking": false, + "class": "coverage-evidence-drift", + "evidence": "two fresh runs 89.10 line / 66.50 branch versus committed 88.89 / 65.33" + } + ], + "positive_rails": { + "windows_raw_git_checkout_lf": "0/7,7/7,7/7", + "windows_artifacts": "5/5", + "windows_adversarial": "18/18", + "fresh_lf_raw_git_checkout_lf": "7/7,7/7,7/7", + "fresh_lf_artifacts": "5/5", + "fresh_lf_adversarial": "18/18", + "red_base": "exit 1; pass 1; fail 17", + "prove_it_validate_contract_schema": "exit 1; fail 18", + "prove_it_verify_artifact_files": "exit 1; pass 9; fail 9", + "prove_it_post_restore": "exit 0; pass 18; byte-identical", + "outer_artifact_legacy_checksums": "9/9,5/5,7/7", + "checksum_self_reference": "excluded", + "node_syntax": "PASS", + "git_diff_check": "PASS" + }, + "fresh_coverage": { + "runs": 2, + "node_version": "v24.2.0", + "all_files_line_percent": 89.10, + "all_files_branch_percent": 66.50, + "verifier_line_percent": 84.46, + "verifier_branch_percent": 50.38, + "functions_percent": 100.0, + "committed_all_files_line_percent": 88.89, + "committed_all_files_branch_percent": 65.33 + }, + "extra_behavioral_edges": { + "total": 8, + "expected_outcomes": 5, + "false_passes": 3, + "content_duplicate_rejected": true, + "real_checkout_bare_cr_rejected": true, + "artifact_representation_drift_rejected": true, + "real_artifact_bare_cr_rejected": true + }, + "residue": { + "temporary_worktree_paths": 0, + "temporary_worktree_registrations": 0, + "checker_node_processes": 0, + "matching_databases": 0, + "matching_postgres_sessions": 0, + "shared_postgres_container_running": true + }, + "evidence": { + "target_audit": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/target-audit.json", + "checksum_audit": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/checksum-audit.json", + "edge_mutations": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/checker-edge-mutations.json", + "runs": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/" + }, + "next_gate": "maker revision then fresh independent checker" +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/checksum-audit.json b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/checksum-audit.json new file mode 100644 index 00000000..ec280400 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/checksum-audit.json @@ -0,0 +1,330 @@ +{ + "schema_version": 1, + "target": "db2cf891dd9c6315fd17220ffe2d02302bea8844", + "source_commit": "38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df", + "status": "PASS", + "outer_manifest": { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2/SHA256SUMS.txt", + "commit": "db2cf891dd9c6315fd17220ffe2d02302bea8844", + "entry_count": 9, + "expected_count": 9, + "self_excluded": true, + "duplicates": [], + "errors": [], + "entries": [ + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/ARTIFACTS.sha256", + "expected_sha256": "a08508ce15f5ba89c60971536bd6ef0aa5127b102c52560bcda1c3a829f7fecb", + "git_blob_oid": "92585baa7da8767348794394d63e63ff35de37be", + "git_blob_sha256": "a08508ce15f5ba89c60971536bd6ef0aa5127b102c52560bcda1c3a829f7fecb", + "canonical_checkout_sha256": "a08508ce15f5ba89c60971536bd6ef0aa5127b102c52560bcda1c3a829f7fecb", + "raw_checkout_sha256": "556681fa01c803d0fd61e28cd95d55e451b729c25cfe264771755a7f38913e2e", + "crlf_pairs": 10, + "bare_cr": 0, + "match": true + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/content-manifest.v1.json", + "expected_sha256": "e3e9fd6250d4ead502a01ec81bb7901ad658d74845184a10b6f153276a1bd12f", + "git_blob_oid": "3742010a65ac00015ff7b297c3c9b520052985d1", + "git_blob_sha256": "e3e9fd6250d4ead502a01ec81bb7901ad658d74845184a10b6f153276a1bd12f", + "canonical_checkout_sha256": "e3e9fd6250d4ead502a01ec81bb7901ad658d74845184a10b6f153276a1bd12f", + "raw_checkout_sha256": "d93b48f02204375ef50e4a936f7927cee02a3459a925cfd3395538c474901496", + "crlf_pairs": 60, + "bare_cr": 0, + "match": true + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.cjs", + "expected_sha256": "4f46e0f020fd7aae39b327adac7a9070d744f66fa26124f652d25470fa409114", + "git_blob_oid": "9f8424f1ea8ed5accac11ff6f019efdad9573cf9", + "git_blob_sha256": "4f46e0f020fd7aae39b327adac7a9070d744f66fa26124f652d25470fa409114", + "canonical_checkout_sha256": "4f46e0f020fd7aae39b327adac7a9070d744f66fa26124f652d25470fa409114", + "raw_checkout_sha256": "3cac528efa0b61046c58b6dea6eeaa5d3a12de0e07dc607c27a55c0058280f42", + "crlf_pairs": 650, + "bare_cr": 0, + "match": true + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs", + "expected_sha256": "d0fc0a8b57a3dc1f31210a69ec0b85443995883c41ea8ba818e8d95837b315b3", + "git_blob_oid": "c9c08dd99095190cc316479eb04c28154fb1ffce", + "git_blob_sha256": "d0fc0a8b57a3dc1f31210a69ec0b85443995883c41ea8ba818e8d95837b315b3", + "canonical_checkout_sha256": "d0fc0a8b57a3dc1f31210a69ec0b85443995883c41ea8ba818e8d95837b315b3", + "raw_checkout_sha256": "65276da409abc83a4a5a2323d58bde38253f023989ae7d137dbe3a66b6f0513c", + "crlf_pairs": 277, + "bare_cr": 0, + "match": true + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verification-observations.v1.json", + "expected_sha256": "d99f3499b2e5c371ababdffc84410e1dcc8b028373ae00483136ae0eb6bf509a", + "git_blob_oid": "c73fa547cb74c7b6d33a88f98bf5cd5f6805053f", + "git_blob_sha256": "d99f3499b2e5c371ababdffc84410e1dcc8b028373ae00483136ae0eb6bf509a", + "canonical_checkout_sha256": "d99f3499b2e5c371ababdffc84410e1dcc8b028373ae00483136ae0eb6bf509a", + "raw_checkout_sha256": "efbd1f5f4d28b061ea0c137c95ef94fd986a15a215635086c92cf75b636f4180", + "crlf_pairs": 157, + "bare_cr": 0, + "match": true + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/maker-report.md", + "expected_sha256": "3b7f5ad0abcccd39f0d5ce9349fceb8cca4794e1bf537943e4b38ce629357dbb", + "git_blob_oid": "c827109915a379df03f943af58853bb3459d5866", + "git_blob_sha256": "3b7f5ad0abcccd39f0d5ce9349fceb8cca4794e1bf537943e4b38ce629357dbb", + "canonical_checkout_sha256": "3b7f5ad0abcccd39f0d5ce9349fceb8cca4794e1bf537943e4b38ce629357dbb", + "raw_checkout_sha256": "1634caaaf23da2c9f4a2aa542caf538154d160bde01b3f76cf2f3ceec4814d1e", + "crlf_pairs": 177, + "bare_cr": 0, + "match": true + }, + { + "path": ".agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R2.red.json", + "expected_sha256": "5a01028809f642d299891de75148170fa2ade1d2e3e949b86f45a5aa92423249", + "git_blob_oid": "8c8d439d0bcb448242a05bfef7b0175489f99305", + "git_blob_sha256": "5a01028809f642d299891de75148170fa2ade1d2e3e949b86f45a5aa92423249", + "canonical_checkout_sha256": "5a01028809f642d299891de75148170fa2ade1d2e3e949b86f45a5aa92423249", + "raw_checkout_sha256": "5b43e6bf93bbe63e55c758d4852e6acfc9a8ae2a5b21d6610c5eea2f85ae5e55", + "crlf_pairs": 9, + "bare_cr": 0, + "match": true + }, + { + "path": ".agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R2.tdd.json", + "expected_sha256": "ca517588d678f59b86b627a109bdbc0bd8fc1b49cdd5df4a605ec6cb57da206c", + "git_blob_oid": "73f3aa076a2572302cf7717923f35c663e705ba5", + "git_blob_sha256": "ca517588d678f59b86b627a109bdbc0bd8fc1b49cdd5df4a605ec6cb57da206c", + "canonical_checkout_sha256": "ca517588d678f59b86b627a109bdbc0bd8fc1b49cdd5df4a605ec6cb57da206c", + "raw_checkout_sha256": "2e60b51da392ae72517a3dc403b82d75c5d31cab68f6af94340c2ce90a7d52b6", + "crlf_pairs": 56, + "bare_cr": 0, + "match": true + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2/maker-summary.v1.json", + "expected_sha256": "5e6271fe6eaa8361247221263ac640af426e25be01c88f558e2d85a84773fd65", + "git_blob_oid": "1e2b57092c1f6129d708f0dd1c37da79307f58cd", + "git_blob_sha256": "5e6271fe6eaa8361247221263ac640af426e25be01c88f558e2d85a84773fd65", + "canonical_checkout_sha256": "5e6271fe6eaa8361247221263ac640af426e25be01c88f558e2d85a84773fd65", + "raw_checkout_sha256": "06167411f9dc0c77525cae52554ebd032d7283b317997cc3eb9263c057aeef5e", + "crlf_pairs": 46, + "bare_cr": 0, + "match": true + } + ] + }, + "outer_manifest_self": { + "git_blob_oid": "6fbef4d23f5a647952d694549d3d3f55cf6ab034", + "sha256": "a723782459ee52b40db3c3105a138347a62354b48f1ec7fab4c3378a58617780", + "self_entry_excluded": true + }, + "artifact_manifest": { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/ARTIFACTS.sha256", + "commit": "db2cf891dd9c6315fd17220ffe2d02302bea8844", + "entry_count": 5, + "expected_count": 5, + "self_excluded": true, + "duplicates": [], + "errors": [], + "entries": [ + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats/SHA256SUMS.txt", + "expected_sha256": "5d932e6acf104bf9eff291409b50961007512e09e91d78401257a018fcb780f4", + "git_blob_oid": "0ab8f31ebd44aac4cd2884e6de7531d0e578bd83", + "git_blob_sha256": "5d932e6acf104bf9eff291409b50961007512e09e91d78401257a018fcb780f4", + "canonical_checkout_sha256": "5d932e6acf104bf9eff291409b50961007512e09e91d78401257a018fcb780f4", + "raw_checkout_sha256": "129d0a37b20658f0d53e00afc76d5f9c2b0aeaaa035a1a683fe6cbc9f3051956", + "crlf_pairs": 14, + "bare_cr": 0, + "match": true + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/content-manifest.v1.json", + "expected_sha256": "e3e9fd6250d4ead502a01ec81bb7901ad658d74845184a10b6f153276a1bd12f", + "git_blob_oid": "3742010a65ac00015ff7b297c3c9b520052985d1", + "git_blob_sha256": "e3e9fd6250d4ead502a01ec81bb7901ad658d74845184a10b6f153276a1bd12f", + "canonical_checkout_sha256": "e3e9fd6250d4ead502a01ec81bb7901ad658d74845184a10b6f153276a1bd12f", + "raw_checkout_sha256": "d93b48f02204375ef50e4a936f7927cee02a3459a925cfd3395538c474901496", + "crlf_pairs": 60, + "bare_cr": 0, + "match": true + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.cjs", + "expected_sha256": "4f46e0f020fd7aae39b327adac7a9070d744f66fa26124f652d25470fa409114", + "git_blob_oid": "9f8424f1ea8ed5accac11ff6f019efdad9573cf9", + "git_blob_sha256": "4f46e0f020fd7aae39b327adac7a9070d744f66fa26124f652d25470fa409114", + "canonical_checkout_sha256": "4f46e0f020fd7aae39b327adac7a9070d744f66fa26124f652d25470fa409114", + "raw_checkout_sha256": "3cac528efa0b61046c58b6dea6eeaa5d3a12de0e07dc607c27a55c0058280f42", + "crlf_pairs": 650, + "bare_cr": 0, + "match": true + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verification-observations.v1.json", + "expected_sha256": "d99f3499b2e5c371ababdffc84410e1dcc8b028373ae00483136ae0eb6bf509a", + "git_blob_oid": "c73fa547cb74c7b6d33a88f98bf5cd5f6805053f", + "git_blob_sha256": "d99f3499b2e5c371ababdffc84410e1dcc8b028373ae00483136ae0eb6bf509a", + "canonical_checkout_sha256": "d99f3499b2e5c371ababdffc84410e1dcc8b028373ae00483136ae0eb6bf509a", + "raw_checkout_sha256": "efbd1f5f4d28b061ea0c137c95ef94fd986a15a215635086c92cf75b636f4180", + "crlf_pairs": 157, + "bare_cr": 0, + "match": true + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/maker-report.md", + "expected_sha256": "3b7f5ad0abcccd39f0d5ce9349fceb8cca4794e1bf537943e4b38ce629357dbb", + "git_blob_oid": "c827109915a379df03f943af58853bb3459d5866", + "git_blob_sha256": "3b7f5ad0abcccd39f0d5ce9349fceb8cca4794e1bf537943e4b38ce629357dbb", + "canonical_checkout_sha256": "3b7f5ad0abcccd39f0d5ce9349fceb8cca4794e1bf537943e4b38ce629357dbb", + "raw_checkout_sha256": "1634caaaf23da2c9f4a2aa542caf538154d160bde01b3f76cf2f3ceec4814d1e", + "crlf_pairs": 177, + "bare_cr": 0, + "match": true + } + ] + }, + "legacy_manifest": { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats/SHA256SUMS.txt", + "commit": "38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df", + "entry_count": 7, + "expected_count": 7, + "self_excluded": true, + "duplicates": [], + "errors": [], + "entries": [ + { + "path": "internal/embedding/store.go", + "expected_sha256": "7bfb06dfc0dda792147d5e2df9d2fe68b59edaac55d2396dece1b8a8a09eee5f", + "git_blob_oid": "1abaee96b07583f9fd824ed03c40b043c490b567", + "git_blob_sha256": "7bfb06dfc0dda792147d5e2df9d2fe68b59edaac55d2396dece1b8a8a09eee5f", + "canonical_checkout_sha256": "7bfb06dfc0dda792147d5e2df9d2fe68b59edaac55d2396dece1b8a8a09eee5f", + "raw_checkout_sha256": "fa0086be3074d0fa7bbf21986382fdc4b3fd82a00215939d445bd2624319017d", + "crlf_pairs": 287, + "bare_cr": 0, + "match": true + }, + { + "path": "internal/embedding/store_stats_test.go", + "expected_sha256": "a35a234eb167c58bf201afc50954e43926a69ba2294536f2d0fabf4e015b12a4", + "git_blob_oid": "d381643deadbb42e8a9a07fc9375a6cdfedbdccc", + "git_blob_sha256": "a35a234eb167c58bf201afc50954e43926a69ba2294536f2d0fabf4e015b12a4", + "canonical_checkout_sha256": "a35a234eb167c58bf201afc50954e43926a69ba2294536f2d0fabf4e015b12a4", + "raw_checkout_sha256": "56a351c380232cb8ec11826c2b41e7da3e9495999278aacbfdaee8d9cab267c9", + "crlf_pairs": 268, + "bare_cr": 0, + "match": true + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.red.json", + "expected_sha256": "12adb14f118dbf821ee1eabb569f6bbcae831875d3b8a7fb5928c18a4b323a56", + "git_blob_oid": "48db3052d1ff53fa7cd5f61d0371dd1be0e780bd", + "git_blob_sha256": "12adb14f118dbf821ee1eabb569f6bbcae831875d3b8a7fb5928c18a4b323a56", + "canonical_checkout_sha256": "12adb14f118dbf821ee1eabb569f6bbcae831875d3b8a7fb5928c18a4b323a56", + "raw_checkout_sha256": "ee6931d853b7b7daca7ce3f1d9e6b2b2964d50264cb824a417b74f4ba56482d0", + "crlf_pairs": 8, + "bare_cr": 0, + "match": true + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.tdd.json", + "expected_sha256": "56022d4fb07816ca0ed3f841770605dc212a4cb39fcb9682c75a753f73c7776b", + "git_blob_oid": "4d94a57de67a41b718073e403cd894843dcffa0d", + "git_blob_sha256": "56022d4fb07816ca0ed3f841770605dc212a4cb39fcb9682c75a753f73c7776b", + "canonical_checkout_sha256": "56022d4fb07816ca0ed3f841770605dc212a4cb39fcb9682c75a753f73c7776b", + "raw_checkout_sha256": "944392172735231a45141fbc4ccfa0e02f44c0c4b1ac4ed78923fde4fb032c63", + "crlf_pairs": 35, + "bare_cr": 0, + "match": true + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/coverage.out", + "expected_sha256": "edd5fb10fe7a7d7aaddd2bfd96ea220fe42f94561d386712951eb70eabffb735", + "git_blob_oid": "457c38e08408c534032a7a962969c762fa1fad8c", + "git_blob_sha256": "edd5fb10fe7a7d7aaddd2bfd96ea220fe42f94561d386712951eb70eabffb735", + "canonical_checkout_sha256": "edd5fb10fe7a7d7aaddd2bfd96ea220fe42f94561d386712951eb70eabffb735", + "raw_checkout_sha256": "e046f339ff8fdeae86e7dc435bb0eb2832837199f68f08721206e19c06e9533e", + "crlf_pairs": 240, + "bare_cr": 0, + "match": true + }, + { + "path": ".agent/reports/2026-07-10-db-embedding-stats-maker.md", + "expected_sha256": "efad310616efa0878628e6af946f06349b16f0c7817432cbb3614ff5c74de025", + "git_blob_oid": "8a3d45057e7c869e3eec8925a25a341158209f01", + "git_blob_sha256": "efad310616efa0878628e6af946f06349b16f0c7817432cbb3614ff5c74de025", + "canonical_checkout_sha256": "efad310616efa0878628e6af946f06349b16f0c7817432cbb3614ff5c74de025", + "raw_checkout_sha256": "abf5a30d77153dd2d822d151a03ee03eb3160a27d6649dcd79f99c4280276be0", + "crlf_pairs": 52, + "bare_cr": 0, + "match": true + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats/DB-EMBEDDING-STATS.final.json", + "expected_sha256": "a82aa7d911935e1327893faa266d49df97018a182fbe8498dc3e4976c59d9ada", + "git_blob_oid": "1fa3cb6c4dc1fba849f50f33a42a3f2d1f2b23fd", + "git_blob_sha256": "a82aa7d911935e1327893faa266d49df97018a182fbe8498dc3e4976c59d9ada", + "canonical_checkout_sha256": "a82aa7d911935e1327893faa266d49df97018a182fbe8498dc3e4976c59d9ada", + "raw_checkout_sha256": "c2e54992c982edb42510d8f4374fc551b4985bf25bd1543e93b9b881f40614ae", + "crlf_pairs": 42, + "bare_cr": 0, + "match": true + } + ] + }, + "contract": { + "entry_count": 7, + "errors": [], + "entries": [ + { + "path": "internal/embedding/store.go", + "git_blob_oid": "1abaee96b07583f9fd824ed03c40b043c490b567", + "byte_length": 10934, + "sha256": "7bfb06dfc0dda792147d5e2df9d2fe68b59edaac55d2396dece1b8a8a09eee5f", + "match": true + }, + { + "path": "internal/embedding/store_stats_test.go", + "git_blob_oid": "d381643deadbb42e8a9a07fc9375a6cdfedbdccc", + "byte_length": 9189, + "sha256": "a35a234eb167c58bf201afc50954e43926a69ba2294536f2d0fabf4e015b12a4", + "match": true + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.red.json", + "git_blob_oid": "48db3052d1ff53fa7cd5f61d0371dd1be0e780bd", + "byte_length": 577, + "sha256": "12adb14f118dbf821ee1eabb569f6bbcae831875d3b8a7fb5928c18a4b323a56", + "match": true + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.tdd.json", + "git_blob_oid": "4d94a57de67a41b718073e403cd894843dcffa0d", + "byte_length": 1429, + "sha256": "56022d4fb07816ca0ed3f841770605dc212a4cb39fcb9682c75a753f73c7776b", + "match": true + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/coverage.out", + "git_blob_oid": "457c38e08408c534032a7a962969c762fa1fad8c", + "byte_length": 17413, + "sha256": "edd5fb10fe7a7d7aaddd2bfd96ea220fe42f94561d386712951eb70eabffb735", + "match": true + }, + { + "path": ".agent/reports/2026-07-10-db-embedding-stats-maker.md", + "git_blob_oid": "8a3d45057e7c869e3eec8925a25a341158209f01", + "byte_length": 3054, + "sha256": "efad310616efa0878628e6af946f06349b16f0c7817432cbb3614ff5c74de025", + "match": true + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats/DB-EMBEDDING-STATS.final.json", + "git_blob_oid": "1fa3cb6c4dc1fba849f50f33a42a3f2d1f2b23fd", + "byte_length": 1592, + "sha256": "a82aa7d911935e1327893faa266d49df97018a182fbe8498dc3e4976c59d9ada", + "match": true + } + ] + } +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/checker-edge-mutations.json b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/checker-edge-mutations.json new file mode 100644 index 00000000..8a21fb26 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/checker-edge-mutations.json @@ -0,0 +1,607 @@ +{ + "schema_version": 1, + "checker": "DB-EMBEDDING-EVIDENCE-TRANSPORT-R2", + "target": "db2cf891dd9c6315fd17220ffe2d02302bea8844", + "source_commit": "38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df", + "alternate_ancestor": "580b0cd0ff38bb55a5195a8004e60234a824b7a8", + "status": "FAIL", + "total": 8, + "passed": 5, + "failed": 3, + "false_pass_cases": [ + "content_manifest_rejects_six_of_seven_when_legacy_agrees", + "content_manifest_rejects_wrong_path_with_same_cardinality", + "representation_rejects_alternate_ancestor_source_commit" + ], + "worktree_residue": "", + "cases": [ + { + "name": "baseline_git_object", + "expectation": "accept", + "pass": true, + "exit_code": 0, + "status": "PASS", + "total": 7, + "matched": 7, + "structural_errors": [], + "entries": [ + { + "path": "internal/embedding/store.go", + "git_blob_oid": "1abaee96b07583f9fd824ed03c40b043c490b567", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 287, + "bare_carriage_returns": 0 + }, + { + "path": "internal/embedding/store_stats_test.go", + "git_blob_oid": "d381643deadbb42e8a9a07fc9375a6cdfedbdccc", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 268, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.red.json", + "git_blob_oid": "48db3052d1ff53fa7cd5f61d0371dd1be0e780bd", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 8, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.tdd.json", + "git_blob_oid": "4d94a57de67a41b718073e403cd894843dcffa0d", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 35, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/coverage.out", + "git_blob_oid": "457c38e08408c534032a7a962969c762fa1fad8c", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 240, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/2026-07-10-db-embedding-stats-maker.md", + "git_blob_oid": "8a3d45057e7c869e3eec8925a25a341158209f01", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 52, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats/DB-EMBEDDING-STATS.final.json", + "git_blob_oid": "1fa3cb6c4dc1fba849f50f33a42a3f2d1f2b23fd", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 42, + "bare_carriage_returns": 0 + } + ], + "stderr": "" + }, + { + "name": "content_manifest_rejects_six_of_seven_when_legacy_agrees", + "expectation": "reject", + "pass": false, + "exit_code": 0, + "status": "PASS", + "total": 6, + "matched": 6, + "structural_errors": [], + "entries": [ + { + "path": "internal/embedding/store.go", + "git_blob_oid": "1abaee96b07583f9fd824ed03c40b043c490b567", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 287, + "bare_carriage_returns": 0 + }, + { + "path": "internal/embedding/store_stats_test.go", + "git_blob_oid": "d381643deadbb42e8a9a07fc9375a6cdfedbdccc", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 268, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.red.json", + "git_blob_oid": "48db3052d1ff53fa7cd5f61d0371dd1be0e780bd", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 8, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.tdd.json", + "git_blob_oid": "4d94a57de67a41b718073e403cd894843dcffa0d", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 35, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/coverage.out", + "git_blob_oid": "457c38e08408c534032a7a962969c762fa1fad8c", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 240, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/2026-07-10-db-embedding-stats-maker.md", + "git_blob_oid": "8a3d45057e7c869e3eec8925a25a341158209f01", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 52, + "bare_carriage_returns": 0 + } + ], + "stderr": "" + }, + { + "name": "content_manifest_rejects_wrong_path_with_same_cardinality", + "expectation": "reject", + "pass": false, + "exit_code": 0, + "status": "PASS", + "total": 7, + "matched": 7, + "structural_errors": [], + "entries": [ + { + "path": "internal/embedding/store.go", + "git_blob_oid": "1abaee96b07583f9fd824ed03c40b043c490b567", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 287, + "bare_carriage_returns": 0 + }, + { + "path": "internal/embedding/store_stats_test.go", + "git_blob_oid": "d381643deadbb42e8a9a07fc9375a6cdfedbdccc", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 268, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.red.json", + "git_blob_oid": "48db3052d1ff53fa7cd5f61d0371dd1be0e780bd", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 8, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.tdd.json", + "git_blob_oid": "4d94a57de67a41b718073e403cd894843dcffa0d", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 35, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/coverage.out", + "git_blob_oid": "457c38e08408c534032a7a962969c762fa1fad8c", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 240, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/2026-07-10-db-embedding-stats-maker.md", + "git_blob_oid": "8a3d45057e7c869e3eec8925a25a341158209f01", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 52, + "bare_carriage_returns": 0 + }, + { + "path": "go.mod", + "git_blob_oid": "84086897cde6f9205ffd9dcab48fc62a9a2a7af5", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 72, + "bare_carriage_returns": 0 + } + ], + "stderr": "" + }, + { + "name": "representation_rejects_alternate_ancestor_source_commit", + "expectation": "reject", + "pass": false, + "exit_code": 0, + "status": "PASS", + "total": 7, + "matched": 7, + "structural_errors": [], + "entries": [ + { + "path": "internal/embedding/store.go", + "git_blob_oid": "1abaee96b07583f9fd824ed03c40b043c490b567", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 287, + "bare_carriage_returns": 0 + }, + { + "path": "internal/embedding/store_stats_test.go", + "git_blob_oid": "d381643deadbb42e8a9a07fc9375a6cdfedbdccc", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 268, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.red.json", + "git_blob_oid": "48db3052d1ff53fa7cd5f61d0371dd1be0e780bd", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 8, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.tdd.json", + "git_blob_oid": "4d94a57de67a41b718073e403cd894843dcffa0d", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 35, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/coverage.out", + "git_blob_oid": "457c38e08408c534032a7a962969c762fa1fad8c", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 240, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/2026-07-10-db-embedding-stats-maker.md", + "git_blob_oid": "8a3d45057e7c869e3eec8925a25a341158209f01", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 52, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats/DB-EMBEDDING-STATS.final.json", + "git_blob_oid": "1fa3cb6c4dc1fba849f50f33a42a3f2d1f2b23fd", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 42, + "bare_carriage_returns": 0 + } + ], + "stderr": "" + }, + { + "name": "content_manifest_rejects_duplicate_canonical_path", + "expectation": "reject", + "pass": true, + "exit_code": 1, + "status": "FAIL", + "total": 7, + "matched": 7, + "structural_errors": [ + "contract paths must be unique canonical paths" + ], + "entries": [ + { + "path": "internal/embedding/store.go", + "git_blob_oid": "1abaee96b07583f9fd824ed03c40b043c490b567", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 287, + "bare_carriage_returns": 0 + }, + { + "path": "internal/embedding/store.go", + "git_blob_oid": "1abaee96b07583f9fd824ed03c40b043c490b567", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 287, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.red.json", + "git_blob_oid": "48db3052d1ff53fa7cd5f61d0371dd1be0e780bd", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 8, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.tdd.json", + "git_blob_oid": "4d94a57de67a41b718073e403cd894843dcffa0d", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 35, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/coverage.out", + "git_blob_oid": "457c38e08408c534032a7a962969c762fa1fad8c", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 240, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/2026-07-10-db-embedding-stats-maker.md", + "git_blob_oid": "8a3d45057e7c869e3eec8925a25a341158209f01", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 52, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats/DB-EMBEDDING-STATS.final.json", + "git_blob_oid": "1fa3cb6c4dc1fba849f50f33a42a3f2d1f2b23fd", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 42, + "bare_carriage_returns": 0 + } + ], + "stderr": "" + }, + { + "name": "checkout_lf_rejects_real_bare_cr_byte", + "expectation": "reject", + "pass": true, + "exit_code": 1, + "status": "FAIL", + "total": 7, + "matched": 6, + "structural_errors": [], + "entries": [ + { + "path": "internal/embedding/store.go", + "git_blob_oid": "1abaee96b07583f9fd824ed03c40b043c490b567", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": false, + "checkout_eol": "bare-cr-present", + "crlf_pairs": 287, + "bare_carriage_returns": 1 + }, + { + "path": "internal/embedding/store_stats_test.go", + "git_blob_oid": "d381643deadbb42e8a9a07fc9375a6cdfedbdccc", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 268, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.red.json", + "git_blob_oid": "48db3052d1ff53fa7cd5f61d0371dd1be0e780bd", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 8, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.tdd.json", + "git_blob_oid": "4d94a57de67a41b718073e403cd894843dcffa0d", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 35, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/coverage.out", + "git_blob_oid": "457c38e08408c534032a7a962969c762fa1fad8c", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 240, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/2026-07-10-db-embedding-stats-maker.md", + "git_blob_oid": "8a3d45057e7c869e3eec8925a25a341158209f01", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 52, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats/DB-EMBEDDING-STATS.final.json", + "git_blob_oid": "1fa3cb6c4dc1fba849f50f33a42a3f2d1f2b23fd", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 42, + "bare_carriage_returns": 0 + } + ], + "stderr": "" + }, + { + "name": "artifact_manifest_rejects_representation_drift", + "expectation": "reject", + "pass": true, + "exit_code": 1, + "status": "FAIL", + "total": 5, + "matched": 5, + "structural_errors": [ + "artifact representation must be canonical-lf-files" + ], + "entries": [ + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats/SHA256SUMS.txt", + "normalized_path": ".agent/reports/evidence/production-ready/db-embedding-stats/SHA256SUMS.txt", + "match": true, + "checkout_eol": "crlf", + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/content-manifest.v1.json", + "normalized_path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/content-manifest.v1.json", + "match": true, + "checkout_eol": "crlf", + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.cjs", + "normalized_path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.cjs", + "match": true, + "checkout_eol": "crlf", + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verification-observations.v1.json", + "normalized_path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verification-observations.v1.json", + "match": true, + "checkout_eol": "crlf", + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/maker-report.md", + "normalized_path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/maker-report.md", + "match": true, + "checkout_eol": "crlf", + "bare_carriage_returns": 0 + } + ], + "stderr": "" + }, + { + "name": "artifact_files_reject_real_bare_cr_byte", + "expectation": "reject", + "pass": true, + "exit_code": 1, + "status": "FAIL", + "total": 5, + "matched": 4, + "structural_errors": [], + "entries": [ + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats/SHA256SUMS.txt", + "normalized_path": ".agent/reports/evidence/production-ready/db-embedding-stats/SHA256SUMS.txt", + "match": true, + "checkout_eol": "crlf", + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/content-manifest.v1.json", + "normalized_path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/content-manifest.v1.json", + "match": true, + "checkout_eol": "crlf", + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.cjs", + "normalized_path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.cjs", + "match": true, + "checkout_eol": "crlf", + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verification-observations.v1.json", + "normalized_path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verification-observations.v1.json", + "match": true, + "checkout_eol": "crlf", + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/maker-report.md", + "normalized_path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/maker-report.md", + "match": false, + "checkout_eol": "bare-cr-present", + "bare_carriage_returns": 1 + } + ], + "stderr": "" + } + ] +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/lf-adversarial.tap b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/lf-adversarial.tap new file mode 100644 index 00000000..cd4916e8 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/lf-adversarial.tap @@ -0,0 +1,29 @@ +✔ artifact manifest rejects a header-only zero-entry set (204.7241ms) +✔ artifact manifest rejects a missing required entry (206.2446ms) +✔ artifact manifest rejects an extra entry (249.4738ms) +✔ artifact manifest rejects a duplicate entry (295.9448ms) +✔ artifact manifest rejects dot-segment traversal outside the evidence namespace (229.5158ms) +✔ artifact manifest rejects a non-canonical dot-segment alias (271.7093ms) +▶ artifact manifest rejects absolute and backslash-separated paths + ✔ absolute path (234.0029ms) + ✔ backslash-separated path (270.4852ms) +✔ artifact manifest rejects absolute and backslash-separated paths (504.8722ms) +▶ contract rejects unsupported checkout-equivalence policy values + ✔ bare_cr (1081.7052ms) + ✔ transform (965.7797ms) + ✔ required_result (1094.4142ms) +✔ contract rejects unsupported checkout-equivalence policy values (3142.2364ms) +▶ contract rejects unknown schema keys + ✔ top-level (1160.8405ms) + ✔ representation (1060.4887ms) + ✔ checkout-equivalence (1058.3076ms) + ✔ entry (995.6682ms) +✔ contract rejects unknown schema keys (4275.7094ms) +ℹ tests 18 +ℹ suites 0 +ℹ pass 18 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 9495.3843 diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/lf-artifact-files.json b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/lf-artifact-files.json new file mode 100644 index 00000000..bb630f40 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/lf-artifact-files.json @@ -0,0 +1,56 @@ +{ + "schema_version": 1, + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "mode": "artifact-files", + "status": "PASS", + "source_commit": "38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df", + "source_commit_is_ancestor": true, + "algorithm": "sha256", + "representation": "canonical-lf-files", + "total": 5, + "matched": 5, + "checkout": { + "core_autocrlf": "true", + "eol_counts": { + "lf": 5 + } + }, + "structural_errors": [], + "entries": [ + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats/SHA256SUMS.txt", + "normalized_path": ".agent/reports/evidence/production-ready/db-embedding-stats/SHA256SUMS.txt", + "match": true, + "checkout_eol": "lf", + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/content-manifest.v1.json", + "normalized_path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/content-manifest.v1.json", + "match": true, + "checkout_eol": "lf", + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.cjs", + "normalized_path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.cjs", + "match": true, + "checkout_eol": "lf", + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verification-observations.v1.json", + "normalized_path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verification-observations.v1.json", + "match": true, + "checkout_eol": "lf", + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/maker-report.md", + "normalized_path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/maker-report.md", + "match": true, + "checkout_eol": "lf", + "bare_carriage_returns": 0 + } + ] +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/lf-checkout-lf.json b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/lf-checkout-lf.json new file mode 100644 index 00000000..f74f0991 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/lf-checkout-lf.json @@ -0,0 +1,94 @@ +{ + "schema_version": 1, + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "mode": "checkout-lf", + "status": "PASS", + "source_commit": "38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df", + "source_commit_is_ancestor": true, + "algorithm": "sha256", + "representation": "git-blob-content", + "total": 7, + "matched": 7, + "git_object_matches": 7, + "raw_checkout_matches": 7, + "checkout_lf_matches": 7, + "checkout": { + "core_autocrlf": "true", + "eol_counts": { + "lf": 7 + } + }, + "structural_errors": [], + "entries": [ + { + "path": "internal/embedding/store.go", + "git_blob_oid": "1abaee96b07583f9fd824ed03c40b043c490b567", + "git_object_match": true, + "raw_checkout_match": true, + "checkout_lf_match": true, + "checkout_eol": "lf", + "crlf_pairs": 0, + "bare_carriage_returns": 0 + }, + { + "path": "internal/embedding/store_stats_test.go", + "git_blob_oid": "d381643deadbb42e8a9a07fc9375a6cdfedbdccc", + "git_object_match": true, + "raw_checkout_match": true, + "checkout_lf_match": true, + "checkout_eol": "lf", + "crlf_pairs": 0, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.red.json", + "git_blob_oid": "48db3052d1ff53fa7cd5f61d0371dd1be0e780bd", + "git_object_match": true, + "raw_checkout_match": true, + "checkout_lf_match": true, + "checkout_eol": "lf", + "crlf_pairs": 0, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.tdd.json", + "git_blob_oid": "4d94a57de67a41b718073e403cd894843dcffa0d", + "git_object_match": true, + "raw_checkout_match": true, + "checkout_lf_match": true, + "checkout_eol": "lf", + "crlf_pairs": 0, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/coverage.out", + "git_blob_oid": "457c38e08408c534032a7a962969c762fa1fad8c", + "git_object_match": true, + "raw_checkout_match": true, + "checkout_lf_match": true, + "checkout_eol": "lf", + "crlf_pairs": 0, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/2026-07-10-db-embedding-stats-maker.md", + "git_blob_oid": "8a3d45057e7c869e3eec8925a25a341158209f01", + "git_object_match": true, + "raw_checkout_match": true, + "checkout_lf_match": true, + "checkout_eol": "lf", + "crlf_pairs": 0, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats/DB-EMBEDDING-STATS.final.json", + "git_blob_oid": "1fa3cb6c4dc1fba849f50f33a42a3f2d1f2b23fd", + "git_object_match": true, + "raw_checkout_match": true, + "checkout_lf_match": true, + "checkout_eol": "lf", + "crlf_pairs": 0, + "bare_carriage_returns": 0 + } + ] +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/lf-git-object.json b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/lf-git-object.json new file mode 100644 index 00000000..167b31d6 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/lf-git-object.json @@ -0,0 +1,94 @@ +{ + "schema_version": 1, + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "mode": "git-object", + "status": "PASS", + "source_commit": "38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df", + "source_commit_is_ancestor": true, + "algorithm": "sha256", + "representation": "git-blob-content", + "total": 7, + "matched": 7, + "git_object_matches": 7, + "raw_checkout_matches": 7, + "checkout_lf_matches": 7, + "checkout": { + "core_autocrlf": "true", + "eol_counts": { + "lf": 7 + } + }, + "structural_errors": [], + "entries": [ + { + "path": "internal/embedding/store.go", + "git_blob_oid": "1abaee96b07583f9fd824ed03c40b043c490b567", + "git_object_match": true, + "raw_checkout_match": true, + "checkout_lf_match": true, + "checkout_eol": "lf", + "crlf_pairs": 0, + "bare_carriage_returns": 0 + }, + { + "path": "internal/embedding/store_stats_test.go", + "git_blob_oid": "d381643deadbb42e8a9a07fc9375a6cdfedbdccc", + "git_object_match": true, + "raw_checkout_match": true, + "checkout_lf_match": true, + "checkout_eol": "lf", + "crlf_pairs": 0, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.red.json", + "git_blob_oid": "48db3052d1ff53fa7cd5f61d0371dd1be0e780bd", + "git_object_match": true, + "raw_checkout_match": true, + "checkout_lf_match": true, + "checkout_eol": "lf", + "crlf_pairs": 0, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.tdd.json", + "git_blob_oid": "4d94a57de67a41b718073e403cd894843dcffa0d", + "git_object_match": true, + "raw_checkout_match": true, + "checkout_lf_match": true, + "checkout_eol": "lf", + "crlf_pairs": 0, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/coverage.out", + "git_blob_oid": "457c38e08408c534032a7a962969c762fa1fad8c", + "git_object_match": true, + "raw_checkout_match": true, + "checkout_lf_match": true, + "checkout_eol": "lf", + "crlf_pairs": 0, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/2026-07-10-db-embedding-stats-maker.md", + "git_blob_oid": "8a3d45057e7c869e3eec8925a25a341158209f01", + "git_object_match": true, + "raw_checkout_match": true, + "checkout_lf_match": true, + "checkout_eol": "lf", + "crlf_pairs": 0, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats/DB-EMBEDDING-STATS.final.json", + "git_blob_oid": "1fa3cb6c4dc1fba849f50f33a42a3f2d1f2b23fd", + "git_object_match": true, + "raw_checkout_match": true, + "checkout_lf_match": true, + "checkout_eol": "lf", + "crlf_pairs": 0, + "bare_carriage_returns": 0 + } + ] +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/lf-legacy-raw-audit.json b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/lf-legacy-raw-audit.json new file mode 100644 index 00000000..9f388aa0 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/lf-legacy-raw-audit.json @@ -0,0 +1,94 @@ +{ + "schema_version": 1, + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "mode": "legacy-raw-audit", + "status": "RAW_CHECKOUT_HAPPENS_TO_MATCH", + "source_commit": "38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df", + "source_commit_is_ancestor": true, + "algorithm": "sha256", + "representation": "git-blob-content", + "total": 7, + "matched": 7, + "git_object_matches": 7, + "raw_checkout_matches": 7, + "checkout_lf_matches": 7, + "checkout": { + "core_autocrlf": "true", + "eol_counts": { + "lf": 7 + } + }, + "structural_errors": [], + "entries": [ + { + "path": "internal/embedding/store.go", + "git_blob_oid": "1abaee96b07583f9fd824ed03c40b043c490b567", + "git_object_match": true, + "raw_checkout_match": true, + "checkout_lf_match": true, + "checkout_eol": "lf", + "crlf_pairs": 0, + "bare_carriage_returns": 0 + }, + { + "path": "internal/embedding/store_stats_test.go", + "git_blob_oid": "d381643deadbb42e8a9a07fc9375a6cdfedbdccc", + "git_object_match": true, + "raw_checkout_match": true, + "checkout_lf_match": true, + "checkout_eol": "lf", + "crlf_pairs": 0, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.red.json", + "git_blob_oid": "48db3052d1ff53fa7cd5f61d0371dd1be0e780bd", + "git_object_match": true, + "raw_checkout_match": true, + "checkout_lf_match": true, + "checkout_eol": "lf", + "crlf_pairs": 0, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.tdd.json", + "git_blob_oid": "4d94a57de67a41b718073e403cd894843dcffa0d", + "git_object_match": true, + "raw_checkout_match": true, + "checkout_lf_match": true, + "checkout_eol": "lf", + "crlf_pairs": 0, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/coverage.out", + "git_blob_oid": "457c38e08408c534032a7a962969c762fa1fad8c", + "git_object_match": true, + "raw_checkout_match": true, + "checkout_lf_match": true, + "checkout_eol": "lf", + "crlf_pairs": 0, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/2026-07-10-db-embedding-stats-maker.md", + "git_blob_oid": "8a3d45057e7c869e3eec8925a25a341158209f01", + "git_object_match": true, + "raw_checkout_match": true, + "checkout_lf_match": true, + "checkout_eol": "lf", + "crlf_pairs": 0, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats/DB-EMBEDDING-STATS.final.json", + "git_blob_oid": "1fa3cb6c4dc1fba849f50f33a42a3f2d1f2b23fd", + "git_object_match": true, + "raw_checkout_match": true, + "checkout_lf_match": true, + "checkout_eol": "lf", + "crlf_pairs": 0, + "bare_carriage_returns": 0 + } + ] +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/proveit-baseline.tap b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/proveit-baseline.tap new file mode 100644 index 00000000..4d067b33 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/proveit-baseline.tap @@ -0,0 +1,29 @@ +✔ artifact manifest rejects a header-only zero-entry set (264.5586ms) +✔ artifact manifest rejects a missing required entry (263.6641ms) +✔ artifact manifest rejects an extra entry (276.7694ms) +✔ artifact manifest rejects a duplicate entry (328.1281ms) +✔ artifact manifest rejects dot-segment traversal outside the evidence namespace (263.2965ms) +✔ artifact manifest rejects a non-canonical dot-segment alias (241.7838ms) +▶ artifact manifest rejects absolute and backslash-separated paths + ✔ absolute path (264.2814ms) + ✔ backslash-separated path (280.7472ms) +✔ artifact manifest rejects absolute and backslash-separated paths (545.5467ms) +▶ contract rejects unsupported checkout-equivalence policy values + ✔ bare_cr (1091.5844ms) + ✔ transform (1178.3839ms) + ✔ required_result (1032.044ms) +✔ contract rejects unsupported checkout-equivalence policy values (3302.4338ms) +▶ contract rejects unknown schema keys + ✔ top-level (997.2345ms) + ✔ representation (1007.8329ms) + ✔ checkout-equivalence (949.5694ms) + ✔ entry (1300.4581ms) +✔ contract rejects unknown schema keys (4255.5179ms) +ℹ tests 18 +ℹ suites 0 +ℹ pass 18 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 9883.4873 diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/proveit-post-restore.tap b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/proveit-post-restore.tap new file mode 100644 index 00000000..d2e62d8d --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/proveit-post-restore.tap @@ -0,0 +1,29 @@ +✔ artifact manifest rejects a header-only zero-entry set (247.9456ms) +✔ artifact manifest rejects a missing required entry (329.4117ms) +✔ artifact manifest rejects an extra entry (280.002ms) +✔ artifact manifest rejects a duplicate entry (269.1473ms) +✔ artifact manifest rejects dot-segment traversal outside the evidence namespace (315.7552ms) +✔ artifact manifest rejects a non-canonical dot-segment alias (336.6983ms) +▶ artifact manifest rejects absolute and backslash-separated paths + ✔ absolute path (313.2702ms) + ✔ backslash-separated path (228.8392ms) +✔ artifact manifest rejects absolute and backslash-separated paths (542.5308ms) +▶ contract rejects unsupported checkout-equivalence policy values + ✔ bare_cr (992.5601ms) + ✔ transform (981.8976ms) + ✔ required_result (964.511ms) +✔ contract rejects unsupported checkout-equivalence policy values (2939.3526ms) +▶ contract rejects unknown schema keys + ✔ top-level (948.6809ms) + ✔ representation (967.1724ms) + ✔ checkout-equivalence (953.5405ms) + ✔ entry (1265.4804ms) +✔ contract rejects unknown schema keys (4135.2438ms) +ℹ tests 18 +ℹ suites 0 +ℹ pass 18 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 9525.007 diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/proveit-validateContractSchema-sentinel.tap b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/proveit-validateContractSchema-sentinel.tap new file mode 100644 index 00000000..21f5da8e --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/proveit-validateContractSchema-sentinel.tap @@ -0,0 +1,527 @@ +✖ artifact manifest rejects a header-only zero-entry set (169.5923ms) +✖ artifact manifest rejects a missing required entry (154.591ms) +✖ artifact manifest rejects an extra entry (163.6925ms) +✖ artifact manifest rejects a duplicate entry (299.5376ms) +✖ artifact manifest rejects dot-segment traversal outside the evidence namespace (256.6538ms) +✖ artifact manifest rejects a non-canonical dot-segment alias (180.914ms) +▶ artifact manifest rejects absolute and backslash-separated paths + ✖ absolute path (204.6057ms) + ✖ backslash-separated path (192.2898ms) +✖ artifact manifest rejects absolute and backslash-separated paths (397.531ms) +▶ contract rejects unsupported checkout-equivalence policy values + ✖ bare_cr (1260.7754ms) + ✖ transform (1548.12ms) + ✖ required_result (1857.544ms) +✖ contract rejects unsupported checkout-equivalence policy values (4666.8941ms) +▶ contract rejects unknown schema keys + ✖ top-level (1762.5524ms) + ✖ representation (1762.781ms) + ✖ checkout-equivalence (1057.4985ms) + ✖ entry (976.1872ms) +✖ contract rejects unknown schema keys (5559.4425ms) +ℹ tests 18 +ℹ suites 0 +ℹ pass 0 +ℹ fail 18 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 11987.5511 + +✖ failing tests: + +test at .agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:124:1 +✖ artifact manifest rejects a header-only zero-entry set (169.5923ms) + AssertionError [ERR_ASSERTION]: TypeError: inheritedErrors is not iterable + at verifyArtifactFiles (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:279:32) + at main (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:450:5) + at Object. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:556:3) + at Module._compile (node:internal/modules/cjs/loader:1734:14) + at Object..js (node:internal/modules/cjs/loader:1899:10) + at Module.load (node:internal/modules/cjs/loader:1469:32) + at Module._load (node:internal/modules/cjs/loader:1286:12) + at TracingChannel.traceSync (node:diagnostics_channel:322:14) + at wrapModuleLoad (node:internal/modules/cjs/loader:235:24) + at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:152:5) + + actual - expected + + + undefined + - 'FAIL' + + at expectFailClosed (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:70:10) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:132:3) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.start (node:internal/test_runner/test:959:17) + at startSubtestAfterBootstrap (node:internal/test_runner/harness:332:17) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: undefined, + expected: 'FAIL', + operator: 'strictEqual' + } + +test at .agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:135:1 +✖ artifact manifest rejects a missing required entry (154.591ms) + AssertionError [ERR_ASSERTION]: TypeError: inheritedErrors is not iterable + at verifyArtifactFiles (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:279:32) + at main (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:450:5) + at Object. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:556:3) + at Module._compile (node:internal/modules/cjs/loader:1734:14) + at Object..js (node:internal/modules/cjs/loader:1899:10) + at Module.load (node:internal/modules/cjs/loader:1469:32) + at Module._load (node:internal/modules/cjs/loader:1286:12) + at TracingChannel.traceSync (node:diagnostics_channel:322:14) + at wrapModuleLoad (node:internal/modules/cjs/loader:235:24) + at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:152:5) + + actual - expected + + + undefined + - 'FAIL' + + at expectFailClosed (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:70:10) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:145:3) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.processPendingSubtests (node:internal/test_runner/test:752:18) + at Test.postRun (node:internal/test_runner/test:1191:19) + at Test.run (node:internal/test_runner/test:1119:12) + at async startSubtestAfterBootstrap (node:internal/test_runner/harness:332:3) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: undefined, + expected: 'FAIL', + operator: 'strictEqual' + } + +test at .agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:148:1 +✖ artifact manifest rejects an extra entry (163.6925ms) + AssertionError [ERR_ASSERTION]: TypeError: inheritedErrors is not iterable + at verifyArtifactFiles (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:279:32) + at main (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:450:5) + at Object. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:556:3) + at Module._compile (node:internal/modules/cjs/loader:1734:14) + at Object..js (node:internal/modules/cjs/loader:1899:10) + at Module.load (node:internal/modules/cjs/loader:1469:32) + at Module._load (node:internal/modules/cjs/loader:1286:12) + at TracingChannel.traceSync (node:diagnostics_channel:322:14) + at wrapModuleLoad (node:internal/modules/cjs/loader:235:24) + at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:152:5) + + actual - expected + + + undefined + - 'FAIL' + + at expectFailClosed (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:70:10) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:158:3) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.processPendingSubtests (node:internal/test_runner/test:752:18) + at Test.postRun (node:internal/test_runner/test:1191:19) + at Test.run (node:internal/test_runner/test:1119:12) + at async Test.processPendingSubtests (node:internal/test_runner/test:752:7) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: undefined, + expected: 'FAIL', + operator: 'strictEqual' + } + +test at .agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:161:1 +✖ artifact manifest rejects a duplicate entry (299.5376ms) + AssertionError [ERR_ASSERTION]: TypeError: inheritedErrors is not iterable + at verifyArtifactFiles (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:279:32) + at main (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:450:5) + at Object. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:556:3) + at Module._compile (node:internal/modules/cjs/loader:1734:14) + at Object..js (node:internal/modules/cjs/loader:1899:10) + at Module.load (node:internal/modules/cjs/loader:1469:32) + at Module._load (node:internal/modules/cjs/loader:1286:12) + at TracingChannel.traceSync (node:diagnostics_channel:322:14) + at wrapModuleLoad (node:internal/modules/cjs/loader:235:24) + at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:152:5) + + actual - expected + + + undefined + - 'FAIL' + + at expectFailClosed (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:70:10) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:171:3) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.processPendingSubtests (node:internal/test_runner/test:752:18) + at Test.postRun (node:internal/test_runner/test:1191:19) + at Test.run (node:internal/test_runner/test:1119:12) + at async Test.processPendingSubtests (node:internal/test_runner/test:752:7) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: undefined, + expected: 'FAIL', + operator: 'strictEqual' + } + +test at .agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:174:1 +✖ artifact manifest rejects dot-segment traversal outside the evidence namespace (256.6538ms) + AssertionError [ERR_ASSERTION]: TypeError: inheritedErrors is not iterable + at verifyArtifactFiles (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:279:32) + at main (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:450:5) + at Object. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:556:3) + at Module._compile (node:internal/modules/cjs/loader:1734:14) + at Object..js (node:internal/modules/cjs/loader:1899:10) + at Module.load (node:internal/modules/cjs/loader:1469:32) + at Module._load (node:internal/modules/cjs/loader:1286:12) + at TracingChannel.traceSync (node:diagnostics_channel:322:14) + at wrapModuleLoad (node:internal/modules/cjs/loader:235:24) + at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:152:5) + + actual - expected + + + undefined + - 'FAIL' + + at expectFailClosed (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:70:10) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:188:3) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.processPendingSubtests (node:internal/test_runner/test:752:18) + at Test.postRun (node:internal/test_runner/test:1191:19) + at Test.run (node:internal/test_runner/test:1119:12) + at async Test.processPendingSubtests (node:internal/test_runner/test:752:7) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: undefined, + expected: 'FAIL', + operator: 'strictEqual' + } + +test at .agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:191:1 +✖ artifact manifest rejects a non-canonical dot-segment alias (180.914ms) + AssertionError [ERR_ASSERTION]: TypeError: inheritedErrors is not iterable + at verifyArtifactFiles (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:279:32) + at main (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:450:5) + at Object. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:556:3) + at Module._compile (node:internal/modules/cjs/loader:1734:14) + at Object..js (node:internal/modules/cjs/loader:1899:10) + at Module.load (node:internal/modules/cjs/loader:1469:32) + at Module._load (node:internal/modules/cjs/loader:1286:12) + at TracingChannel.traceSync (node:diagnostics_channel:322:14) + at wrapModuleLoad (node:internal/modules/cjs/loader:235:24) + at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:152:5) + + actual - expected + + + undefined + - 'FAIL' + + at expectFailClosed (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:70:10) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:204:3) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.processPendingSubtests (node:internal/test_runner/test:752:18) + at Test.postRun (node:internal/test_runner/test:1191:19) + at Test.run (node:internal/test_runner/test:1119:12) + at async Test.processPendingSubtests (node:internal/test_runner/test:752:7) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: undefined, + expected: 'FAIL', + operator: 'strictEqual' + } + +test at .agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:208:11 +✖ absolute path (204.6057ms) + AssertionError [ERR_ASSERTION]: TypeError: inheritedErrors is not iterable + at verifyArtifactFiles (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:279:32) + at main (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:450:5) + at Object. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:556:3) + at Module._compile (node:internal/modules/cjs/loader:1734:14) + at Object..js (node:internal/modules/cjs/loader:1899:10) + at Module.load (node:internal/modules/cjs/loader:1469:32) + at Module._load (node:internal/modules/cjs/loader:1286:12) + at TracingChannel.traceSync (node:diagnostics_channel:322:14) + at wrapModuleLoad (node:internal/modules/cjs/loader:235:24) + at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:152:5) + + actual - expected + + + undefined + - 'FAIL' + + at expectFailClosed (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:70:10) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:221:5) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.start (node:internal/test_runner/test:959:17) + at TestContext.test (node:internal/test_runner/test:373:13) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:208:11) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.processPendingSubtests (node:internal/test_runner/test:752:18) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: undefined, + expected: 'FAIL', + operator: 'strictEqual' + } + +test at .agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:224:11 +✖ backslash-separated path (192.2898ms) + AssertionError [ERR_ASSERTION]: TypeError: inheritedErrors is not iterable + at verifyArtifactFiles (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:279:32) + at main (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:450:5) + at Object. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:556:3) + at Module._compile (node:internal/modules/cjs/loader:1734:14) + at Object..js (node:internal/modules/cjs/loader:1899:10) + at Module.load (node:internal/modules/cjs/loader:1469:32) + at Module._load (node:internal/modules/cjs/loader:1286:12) + at TracingChannel.traceSync (node:diagnostics_channel:322:14) + at wrapModuleLoad (node:internal/modules/cjs/loader:235:24) + at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:152:5) + + actual - expected + + + undefined + - 'FAIL' + + at expectFailClosed (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:70:10) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:234:5) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.processPendingSubtests (node:internal/test_runner/test:752:18) + at Test.postRun (node:internal/test_runner/test:1191:19) + at Test.run (node:internal/test_runner/test:1119:12) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: undefined, + expected: 'FAIL', + operator: 'strictEqual' + } + +test at .agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:247:13 +✖ bare_cr (1260.7754ms) + AssertionError [ERR_ASSERTION]: TypeError: Cannot read properties of undefined (reading 'length') + at main (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:510:26) + at Object. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:556:3) + at Module._compile (node:internal/modules/cjs/loader:1734:14) + at Object..js (node:internal/modules/cjs/loader:1899:10) + at Module.load (node:internal/modules/cjs/loader:1469:32) + at Module._load (node:internal/modules/cjs/loader:1286:12) + at TracingChannel.traceSync (node:diagnostics_channel:322:14) + at wrapModuleLoad (node:internal/modules/cjs/loader:235:24) + at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:152:5) + at node:internal/main/run_main_module:33:47 + + actual - expected + + + undefined + - 'FAIL' + + at expectFailClosed (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:70:10) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:253:7) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.start (node:internal/test_runner/test:959:17) + at TestContext.test (node:internal/test_runner/test:373:13) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:247:13) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.processPendingSubtests (node:internal/test_runner/test:752:18) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: undefined, + expected: 'FAIL', + operator: 'strictEqual' + } + +test at .agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:247:13 +✖ transform (1548.12ms) + AssertionError [ERR_ASSERTION]: TypeError: Cannot read properties of undefined (reading 'length') + at main (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:510:26) + at Object. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:556:3) + at Module._compile (node:internal/modules/cjs/loader:1734:14) + at Object..js (node:internal/modules/cjs/loader:1899:10) + at Module.load (node:internal/modules/cjs/loader:1469:32) + at Module._load (node:internal/modules/cjs/loader:1286:12) + at TracingChannel.traceSync (node:diagnostics_channel:322:14) + at wrapModuleLoad (node:internal/modules/cjs/loader:235:24) + at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:152:5) + at node:internal/main/run_main_module:33:47 + + actual - expected + + + undefined + - 'FAIL' + + at expectFailClosed (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:70:10) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:253:7) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.processPendingSubtests (node:internal/test_runner/test:752:18) + at Test.postRun (node:internal/test_runner/test:1191:19) + at Test.run (node:internal/test_runner/test:1119:12) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: undefined, + expected: 'FAIL', + operator: 'strictEqual' + } + +test at .agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:247:13 +✖ required_result (1857.544ms) + AssertionError [ERR_ASSERTION]: TypeError: Cannot read properties of undefined (reading 'length') + at main (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:510:26) + at Object. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:556:3) + at Module._compile (node:internal/modules/cjs/loader:1734:14) + at Object..js (node:internal/modules/cjs/loader:1899:10) + at Module.load (node:internal/modules/cjs/loader:1469:32) + at Module._load (node:internal/modules/cjs/loader:1286:12) + at TracingChannel.traceSync (node:diagnostics_channel:322:14) + at wrapModuleLoad (node:internal/modules/cjs/loader:235:24) + at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:152:5) + at node:internal/main/run_main_module:33:47 + + actual - expected + + + undefined + - 'FAIL' + + at expectFailClosed (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:70:10) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:253:7) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.processPendingSubtests (node:internal/test_runner/test:752:18) + at Test.postRun (node:internal/test_runner/test:1191:19) + at Test.run (node:internal/test_runner/test:1119:12) + at async Test.processPendingSubtests (node:internal/test_runner/test:752:7) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: undefined, + expected: 'FAIL', + operator: 'strictEqual' + } + +test at .agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:268:13 +✖ top-level (1762.5524ms) + AssertionError [ERR_ASSERTION]: TypeError: Cannot read properties of undefined (reading 'length') + at main (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:507:26) + at Object. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:556:3) + at Module._compile (node:internal/modules/cjs/loader:1734:14) + at Object..js (node:internal/modules/cjs/loader:1899:10) + at Module.load (node:internal/modules/cjs/loader:1469:32) + at Module._load (node:internal/modules/cjs/loader:1286:12) + at TracingChannel.traceSync (node:diagnostics_channel:322:14) + at wrapModuleLoad (node:internal/modules/cjs/loader:235:24) + at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:152:5) + at node:internal/main/run_main_module:33:47 + + actual - expected + + + undefined + - 'FAIL' + + at expectFailClosed (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:70:10) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:274:7) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.start (node:internal/test_runner/test:959:17) + at TestContext.test (node:internal/test_runner/test:373:13) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:268:13) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.processPendingSubtests (node:internal/test_runner/test:752:18) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: undefined, + expected: 'FAIL', + operator: 'strictEqual' + } + +test at .agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:268:13 +✖ representation (1762.781ms) + AssertionError [ERR_ASSERTION]: TypeError: Cannot read properties of undefined (reading 'length') + at main (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:507:26) + at Object. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:556:3) + at Module._compile (node:internal/modules/cjs/loader:1734:14) + at Object..js (node:internal/modules/cjs/loader:1899:10) + at Module.load (node:internal/modules/cjs/loader:1469:32) + at Module._load (node:internal/modules/cjs/loader:1286:12) + at TracingChannel.traceSync (node:diagnostics_channel:322:14) + at wrapModuleLoad (node:internal/modules/cjs/loader:235:24) + at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:152:5) + at node:internal/main/run_main_module:33:47 + + actual - expected + + + undefined + - 'FAIL' + + at expectFailClosed (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:70:10) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:274:7) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.processPendingSubtests (node:internal/test_runner/test:752:18) + at Test.postRun (node:internal/test_runner/test:1191:19) + at Test.run (node:internal/test_runner/test:1119:12) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: undefined, + expected: 'FAIL', + operator: 'strictEqual' + } + +test at .agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:268:13 +✖ checkout-equivalence (1057.4985ms) + AssertionError [ERR_ASSERTION]: TypeError: Cannot read properties of undefined (reading 'length') + at main (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:507:26) + at Object. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:556:3) + at Module._compile (node:internal/modules/cjs/loader:1734:14) + at Object..js (node:internal/modules/cjs/loader:1899:10) + at Module.load (node:internal/modules/cjs/loader:1469:32) + at Module._load (node:internal/modules/cjs/loader:1286:12) + at TracingChannel.traceSync (node:diagnostics_channel:322:14) + at wrapModuleLoad (node:internal/modules/cjs/loader:235:24) + at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:152:5) + at node:internal/main/run_main_module:33:47 + + actual - expected + + + undefined + - 'FAIL' + + at expectFailClosed (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:70:10) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:274:7) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.processPendingSubtests (node:internal/test_runner/test:752:18) + at Test.postRun (node:internal/test_runner/test:1191:19) + at Test.run (node:internal/test_runner/test:1119:12) + at async Test.processPendingSubtests (node:internal/test_runner/test:752:7) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: undefined, + expected: 'FAIL', + operator: 'strictEqual' + } + +test at .agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:268:13 +✖ entry (976.1872ms) + AssertionError [ERR_ASSERTION]: TypeError: Cannot read properties of undefined (reading 'length') + at main (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:507:26) + at Object. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.cjs:556:3) + at Module._compile (node:internal/modules/cjs/loader:1734:14) + at Object..js (node:internal/modules/cjs/loader:1899:10) + at Module.load (node:internal/modules/cjs/loader:1469:32) + at Module._load (node:internal/modules/cjs/loader:1286:12) + at TracingChannel.traceSync (node:diagnostics_channel:322:14) + at wrapModuleLoad (node:internal/modules/cjs/loader:235:24) + at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:152:5) + at node:internal/main/run_main_module:33:47 + + actual - expected + + + undefined + - 'FAIL' + + at expectFailClosed (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:70:10) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:274:7) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.processPendingSubtests (node:internal/test_runner/test:752:18) + at Test.postRun (node:internal/test_runner/test:1191:19) + at Test.run (node:internal/test_runner/test:1119:12) + at async Test.processPendingSubtests (node:internal/test_runner/test:752:7) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: undefined, + expected: 'FAIL', + operator: 'strictEqual' + } diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/proveit-verifyArtifactFiles-sentinel.tap b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/proveit-verifyArtifactFiles-sentinel.tap new file mode 100644 index 00000000..221221d0 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/proveit-verifyArtifactFiles-sentinel.tap @@ -0,0 +1,174 @@ +✖ artifact manifest rejects a header-only zero-entry set (168.0584ms) +✖ artifact manifest rejects a missing required entry (164.8353ms) +✖ artifact manifest rejects an extra entry (171.1679ms) +✖ artifact manifest rejects a duplicate entry (162.5527ms) +✖ artifact manifest rejects dot-segment traversal outside the evidence namespace (168.471ms) +✖ artifact manifest rejects a non-canonical dot-segment alias (167.3466ms) +▶ artifact manifest rejects absolute and backslash-separated paths + ✖ absolute path (218.0499ms) + ✖ backslash-separated path (179.5181ms) +✖ artifact manifest rejects absolute and backslash-separated paths (398.1991ms) +▶ contract rejects unsupported checkout-equivalence policy values + ✔ bare_cr (1078.829ms) + ✔ transform (1048.8443ms) + ✔ required_result (1005.0466ms) +✔ contract rejects unsupported checkout-equivalence policy values (3133.1215ms) +▶ contract rejects unknown schema keys + ✔ top-level (1032.465ms) + ✔ representation (1206.6913ms) + ✔ checkout-equivalence (1241.0031ms) + ✔ entry (1647.2061ms) +✔ contract rejects unknown schema keys (5127.8335ms) +ℹ tests 18 +ℹ suites 0 +ℹ pass 9 +ℹ fail 9 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 9783.0338 + +✖ failing tests: + +test at .agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:124:1 +✖ artifact manifest rejects a header-only zero-entry set (168.0584ms) + AssertionError [ERR_ASSERTION]: mutation must return a non-zero exit code + at expectFailClosed (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:69:10) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:132:3) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.start (node:internal/test_runner/test:959:17) + at startSubtestAfterBootstrap (node:internal/test_runner/harness:332:17) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: 0, + expected: 0, + operator: 'notStrictEqual' + } + +test at .agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:135:1 +✖ artifact manifest rejects a missing required entry (164.8353ms) + AssertionError [ERR_ASSERTION]: mutation must return a non-zero exit code + at expectFailClosed (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:69:10) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:145:3) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.processPendingSubtests (node:internal/test_runner/test:752:18) + at Test.postRun (node:internal/test_runner/test:1191:19) + at Test.run (node:internal/test_runner/test:1119:12) + at async startSubtestAfterBootstrap (node:internal/test_runner/harness:332:3) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: 0, + expected: 0, + operator: 'notStrictEqual' + } + +test at .agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:148:1 +✖ artifact manifest rejects an extra entry (171.1679ms) + AssertionError [ERR_ASSERTION]: mutation must return a non-zero exit code + at expectFailClosed (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:69:10) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:158:3) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.processPendingSubtests (node:internal/test_runner/test:752:18) + at Test.postRun (node:internal/test_runner/test:1191:19) + at Test.run (node:internal/test_runner/test:1119:12) + at async Test.processPendingSubtests (node:internal/test_runner/test:752:7) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: 0, + expected: 0, + operator: 'notStrictEqual' + } + +test at .agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:161:1 +✖ artifact manifest rejects a duplicate entry (162.5527ms) + AssertionError [ERR_ASSERTION]: mutation must return a non-zero exit code + at expectFailClosed (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:69:10) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:171:3) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.processPendingSubtests (node:internal/test_runner/test:752:18) + at Test.postRun (node:internal/test_runner/test:1191:19) + at Test.run (node:internal/test_runner/test:1119:12) + at async Test.processPendingSubtests (node:internal/test_runner/test:752:7) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: 0, + expected: 0, + operator: 'notStrictEqual' + } + +test at .agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:174:1 +✖ artifact manifest rejects dot-segment traversal outside the evidence namespace (168.471ms) + AssertionError [ERR_ASSERTION]: mutation must return a non-zero exit code + at expectFailClosed (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:69:10) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:188:3) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.processPendingSubtests (node:internal/test_runner/test:752:18) + at Test.postRun (node:internal/test_runner/test:1191:19) + at Test.run (node:internal/test_runner/test:1119:12) + at async Test.processPendingSubtests (node:internal/test_runner/test:752:7) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: 0, + expected: 0, + operator: 'notStrictEqual' + } + +test at .agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:191:1 +✖ artifact manifest rejects a non-canonical dot-segment alias (167.3466ms) + AssertionError [ERR_ASSERTION]: mutation must return a non-zero exit code + at expectFailClosed (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:69:10) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:204:3) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.processPendingSubtests (node:internal/test_runner/test:752:18) + at Test.postRun (node:internal/test_runner/test:1191:19) + at Test.run (node:internal/test_runner/test:1119:12) + at async Test.processPendingSubtests (node:internal/test_runner/test:752:7) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: 0, + expected: 0, + operator: 'notStrictEqual' + } + +test at .agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:208:11 +✖ absolute path (218.0499ms) + AssertionError [ERR_ASSERTION]: mutation must return a non-zero exit code + at expectFailClosed (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:69:10) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:221:5) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.start (node:internal/test_runner/test:959:17) + at TestContext.test (node:internal/test_runner/test:373:13) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:208:11) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.processPendingSubtests (node:internal/test_runner/test:752:18) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: 0, + expected: 0, + operator: 'notStrictEqual' + } + +test at .agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:224:11 +✖ backslash-separated path (179.5181ms) + AssertionError [ERR_ASSERTION]: mutation must return a non-zero exit code + at expectFailClosed (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:69:10) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-proveit\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:234:5) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.processPendingSubtests (node:internal/test_runner/test:752:18) + at Test.postRun (node:internal/test_runner/test:1191:19) + at Test.run (node:internal/test_runner/test:1119:12) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: 0, + expected: 0, + operator: 'notStrictEqual' + } diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/red-base.tap b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/red-base.tap new file mode 100644 index 00000000..58f8c874 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/red-base.tap @@ -0,0 +1,284 @@ +✖ artifact manifest rejects a header-only zero-entry set (416.1425ms) +✖ artifact manifest rejects a missing required entry (243.163ms) +✖ artifact manifest rejects an extra entry (219.7015ms) +✔ artifact manifest rejects a duplicate entry (276.0339ms) +✖ artifact manifest rejects dot-segment traversal outside the evidence namespace (248.3367ms) +✖ artifact manifest rejects a non-canonical dot-segment alias (267.0129ms) +▶ artifact manifest rejects absolute and backslash-separated paths + ✖ absolute path (253.4442ms) + ✖ backslash-separated path (214.5218ms) +✖ artifact manifest rejects absolute and backslash-separated paths (468.4208ms) +▶ contract rejects unsupported checkout-equivalence policy values + ✖ bare_cr (1040.6159ms) + ✖ transform (1013.1123ms) + ✖ required_result (974.4161ms) +✖ contract rejects unsupported checkout-equivalence policy values (3028.4907ms) +▶ contract rejects unknown schema keys + ✖ top-level (1009.0265ms) + ✖ representation (923.5985ms) + ✖ checkout-equivalence (945.77ms) + ✖ entry (943.6975ms) +✖ contract rejects unknown schema keys (3822.4337ms) +ℹ tests 18 +ℹ suites 0 +ℹ pass 1 +ℹ fail 17 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 9266.2928 + +✖ failing tests: + +test at .agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:124:1 +✖ artifact manifest rejects a header-only zero-entry set (416.1425ms) + AssertionError [ERR_ASSERTION]: mutation must return a non-zero exit code + at expectFailClosed (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-red\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:69:10) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-red\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:132:3) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.start (node:internal/test_runner/test:959:17) + at startSubtestAfterBootstrap (node:internal/test_runner/harness:332:17) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: 0, + expected: 0, + operator: 'notStrictEqual' + } + +test at .agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:135:1 +✖ artifact manifest rejects a missing required entry (243.163ms) + AssertionError [ERR_ASSERTION]: mutation must return a non-zero exit code + at expectFailClosed (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-red\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:69:10) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-red\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:145:3) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.processPendingSubtests (node:internal/test_runner/test:752:18) + at Test.postRun (node:internal/test_runner/test:1191:19) + at Test.run (node:internal/test_runner/test:1119:12) + at async startSubtestAfterBootstrap (node:internal/test_runner/harness:332:3) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: 0, + expected: 0, + operator: 'notStrictEqual' + } + +test at .agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:148:1 +✖ artifact manifest rejects an extra entry (219.7015ms) + AssertionError [ERR_ASSERTION]: mutation must return a non-zero exit code + at expectFailClosed (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-red\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:69:10) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-red\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:158:3) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.processPendingSubtests (node:internal/test_runner/test:752:18) + at Test.postRun (node:internal/test_runner/test:1191:19) + at Test.run (node:internal/test_runner/test:1119:12) + at async Test.processPendingSubtests (node:internal/test_runner/test:752:7) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: 0, + expected: 0, + operator: 'notStrictEqual' + } + +test at .agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:174:1 +✖ artifact manifest rejects dot-segment traversal outside the evidence namespace (248.3367ms) + AssertionError [ERR_ASSERTION]: mutation must return a non-zero exit code + at expectFailClosed (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-red\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:69:10) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-red\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:188:3) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.processPendingSubtests (node:internal/test_runner/test:752:18) + at Test.postRun (node:internal/test_runner/test:1191:19) + at Test.run (node:internal/test_runner/test:1119:12) + at async Test.processPendingSubtests (node:internal/test_runner/test:752:7) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: 0, + expected: 0, + operator: 'notStrictEqual' + } + +test at .agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:191:1 +✖ artifact manifest rejects a non-canonical dot-segment alias (267.0129ms) + AssertionError [ERR_ASSERTION]: mutation must return a non-zero exit code + at expectFailClosed (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-red\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:69:10) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-red\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:204:3) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.processPendingSubtests (node:internal/test_runner/test:752:18) + at Test.postRun (node:internal/test_runner/test:1191:19) + at Test.run (node:internal/test_runner/test:1119:12) + at async Test.processPendingSubtests (node:internal/test_runner/test:752:7) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: 0, + expected: 0, + operator: 'notStrictEqual' + } + +test at .agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:208:11 +✖ absolute path (253.4442ms) + AssertionError [ERR_ASSERTION]: mutation must emit at least one structural error + at expectFailClosed (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-red\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:71:10) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-red\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:221:5) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.start (node:internal/test_runner/test:959:17) + at TestContext.test (node:internal/test_runner/test:373:13) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-red\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:208:11) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.processPendingSubtests (node:internal/test_runner/test:752:18) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: false, + expected: true, + operator: '==' + } + +test at .agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:224:11 +✖ backslash-separated path (214.5218ms) + AssertionError [ERR_ASSERTION]: mutation must emit at least one structural error + at expectFailClosed (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-red\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:71:10) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-red\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:234:5) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.processPendingSubtests (node:internal/test_runner/test:752:18) + at Test.postRun (node:internal/test_runner/test:1191:19) + at Test.run (node:internal/test_runner/test:1119:12) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: false, + expected: true, + operator: '==' + } + +test at .agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:247:13 +✖ bare_cr (1040.6159ms) + AssertionError [ERR_ASSERTION]: mutation must return a non-zero exit code + at expectFailClosed (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-red\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:69:10) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-red\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:253:7) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.start (node:internal/test_runner/test:959:17) + at TestContext.test (node:internal/test_runner/test:373:13) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-red\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:247:13) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.processPendingSubtests (node:internal/test_runner/test:752:18) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: 0, + expected: 0, + operator: 'notStrictEqual' + } + +test at .agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:247:13 +✖ transform (1013.1123ms) + AssertionError [ERR_ASSERTION]: mutation must return a non-zero exit code + at expectFailClosed (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-red\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:69:10) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-red\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:253:7) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.processPendingSubtests (node:internal/test_runner/test:752:18) + at Test.postRun (node:internal/test_runner/test:1191:19) + at Test.run (node:internal/test_runner/test:1119:12) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: 0, + expected: 0, + operator: 'notStrictEqual' + } + +test at .agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:247:13 +✖ required_result (974.4161ms) + AssertionError [ERR_ASSERTION]: mutation must return a non-zero exit code + at expectFailClosed (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-red\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:69:10) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-red\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:253:7) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.processPendingSubtests (node:internal/test_runner/test:752:18) + at Test.postRun (node:internal/test_runner/test:1191:19) + at Test.run (node:internal/test_runner/test:1119:12) + at async Test.processPendingSubtests (node:internal/test_runner/test:752:7) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: 0, + expected: 0, + operator: 'notStrictEqual' + } + +test at .agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:268:13 +✖ top-level (1009.0265ms) + AssertionError [ERR_ASSERTION]: mutation must return a non-zero exit code + at expectFailClosed (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-red\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:69:10) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-red\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:274:7) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.start (node:internal/test_runner/test:959:17) + at TestContext.test (node:internal/test_runner/test:373:13) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-red\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:268:13) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.processPendingSubtests (node:internal/test_runner/test:752:18) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: 0, + expected: 0, + operator: 'notStrictEqual' + } + +test at .agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:268:13 +✖ representation (923.5985ms) + AssertionError [ERR_ASSERTION]: mutation must return a non-zero exit code + at expectFailClosed (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-red\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:69:10) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-red\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:274:7) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.processPendingSubtests (node:internal/test_runner/test:752:18) + at Test.postRun (node:internal/test_runner/test:1191:19) + at Test.run (node:internal/test_runner/test:1119:12) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: 0, + expected: 0, + operator: 'notStrictEqual' + } + +test at .agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:268:13 +✖ checkout-equivalence (945.77ms) + AssertionError [ERR_ASSERTION]: mutation must return a non-zero exit code + at expectFailClosed (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-red\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:69:10) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-red\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:274:7) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.processPendingSubtests (node:internal/test_runner/test:752:18) + at Test.postRun (node:internal/test_runner/test:1191:19) + at Test.run (node:internal/test_runner/test:1119:12) + at async Test.processPendingSubtests (node:internal/test_runner/test:752:7) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: 0, + expected: 0, + operator: 'notStrictEqual' + } + +test at .agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:268:13 +✖ entry (943.6975ms) + AssertionError [ERR_ASSERTION]: mutation must return a non-zero exit code + at expectFailClosed (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-red\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:69:10) + at TestContext. (D:\Dev\engram\.agent\worktrees\db-embedding-evidence-r2-checker-red\.agent\reports\evidence\production-ready\db-embedding-stats-evidence-transport\verify-manifest.test.cjs:274:7) + at Test.runInAsyncScope (node:async_hooks:214:14) + at Test.run (node:internal/test_runner/test:1062:25) + at Test.processPendingSubtests (node:internal/test_runner/test:752:18) + at Test.postRun (node:internal/test_runner/test:1191:19) + at Test.run (node:internal/test_runner/test:1119:12) + at async Test.processPendingSubtests (node:internal/test_runner/test:752:7) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: 0, + expected: 0, + operator: 'notStrictEqual' + } diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/windows-adversarial.tap b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/windows-adversarial.tap new file mode 100644 index 00000000..143a4b4c --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/windows-adversarial.tap @@ -0,0 +1,29 @@ +✔ artifact manifest rejects a header-only zero-entry set (215.1624ms) +✔ artifact manifest rejects a missing required entry (218.8411ms) +✔ artifact manifest rejects an extra entry (263.3854ms) +✔ artifact manifest rejects a duplicate entry (214.6611ms) +✔ artifact manifest rejects dot-segment traversal outside the evidence namespace (272.7374ms) +✔ artifact manifest rejects a non-canonical dot-segment alias (220.9037ms) +▶ artifact manifest rejects absolute and backslash-separated paths + ✔ absolute path (262.5827ms) + ✔ backslash-separated path (210.148ms) +✔ artifact manifest rejects absolute and backslash-separated paths (473.2949ms) +▶ contract rejects unsupported checkout-equivalence policy values + ✔ bare_cr (1242.3442ms) + ✔ transform (1059.7569ms) + ✔ required_result (1113.0429ms) +✔ contract rejects unsupported checkout-equivalence policy values (3415.4676ms) +▶ contract rejects unknown schema keys + ✔ top-level (1153.1603ms) + ✔ representation (979.1553ms) + ✔ checkout-equivalence (1145.8368ms) + ✔ entry (1476.5739ms) +✔ contract rejects unknown schema keys (4755.1286ms) +ℹ tests 18 +ℹ suites 0 +ℹ pass 18 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 10169.7448 diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/windows-artifact-files.json b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/windows-artifact-files.json new file mode 100644 index 00000000..91dcf133 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/windows-artifact-files.json @@ -0,0 +1,56 @@ +{ + "schema_version": 1, + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "mode": "artifact-files", + "status": "PASS", + "source_commit": "38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df", + "source_commit_is_ancestor": true, + "algorithm": "sha256", + "representation": "canonical-lf-files", + "total": 5, + "matched": 5, + "checkout": { + "core_autocrlf": "true", + "eol_counts": { + "crlf": 5 + } + }, + "structural_errors": [], + "entries": [ + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats/SHA256SUMS.txt", + "normalized_path": ".agent/reports/evidence/production-ready/db-embedding-stats/SHA256SUMS.txt", + "match": true, + "checkout_eol": "crlf", + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/content-manifest.v1.json", + "normalized_path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/content-manifest.v1.json", + "match": true, + "checkout_eol": "crlf", + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.cjs", + "normalized_path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.cjs", + "match": true, + "checkout_eol": "crlf", + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verification-observations.v1.json", + "normalized_path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verification-observations.v1.json", + "match": true, + "checkout_eol": "crlf", + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/maker-report.md", + "normalized_path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/maker-report.md", + "match": true, + "checkout_eol": "crlf", + "bare_carriage_returns": 0 + } + ] +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/windows-checkout-lf.json b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/windows-checkout-lf.json new file mode 100644 index 00000000..4bfaeded --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/windows-checkout-lf.json @@ -0,0 +1,94 @@ +{ + "schema_version": 1, + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "mode": "checkout-lf", + "status": "PASS", + "source_commit": "38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df", + "source_commit_is_ancestor": true, + "algorithm": "sha256", + "representation": "git-blob-content", + "total": 7, + "matched": 7, + "git_object_matches": 7, + "raw_checkout_matches": 0, + "checkout_lf_matches": 7, + "checkout": { + "core_autocrlf": "true", + "eol_counts": { + "crlf": 7 + } + }, + "structural_errors": [], + "entries": [ + { + "path": "internal/embedding/store.go", + "git_blob_oid": "1abaee96b07583f9fd824ed03c40b043c490b567", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 287, + "bare_carriage_returns": 0 + }, + { + "path": "internal/embedding/store_stats_test.go", + "git_blob_oid": "d381643deadbb42e8a9a07fc9375a6cdfedbdccc", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 268, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.red.json", + "git_blob_oid": "48db3052d1ff53fa7cd5f61d0371dd1be0e780bd", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 8, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.tdd.json", + "git_blob_oid": "4d94a57de67a41b718073e403cd894843dcffa0d", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 35, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/coverage.out", + "git_blob_oid": "457c38e08408c534032a7a962969c762fa1fad8c", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 240, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/2026-07-10-db-embedding-stats-maker.md", + "git_blob_oid": "8a3d45057e7c869e3eec8925a25a341158209f01", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 52, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats/DB-EMBEDDING-STATS.final.json", + "git_blob_oid": "1fa3cb6c4dc1fba849f50f33a42a3f2d1f2b23fd", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 42, + "bare_carriage_returns": 0 + } + ] +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/windows-coverage-repeat2.tap b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/windows-coverage-repeat2.tap new file mode 100644 index 00000000..66738ea2 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/windows-coverage-repeat2.tap @@ -0,0 +1,44 @@ +✔ artifact manifest rejects a header-only zero-entry set (239.2793ms) +✔ artifact manifest rejects a missing required entry (262.5874ms) +✔ artifact manifest rejects an extra entry (248.7811ms) +✔ artifact manifest rejects a duplicate entry (284.9805ms) +✔ artifact manifest rejects dot-segment traversal outside the evidence namespace (244.4631ms) +✔ artifact manifest rejects a non-canonical dot-segment alias (251.1357ms) +▶ artifact manifest rejects absolute and backslash-separated paths + ✔ absolute path (285.4964ms) + ✔ backslash-separated path (226.2903ms) +✔ artifact manifest rejects absolute and backslash-separated paths (512.133ms) +▶ contract rejects unsupported checkout-equivalence policy values + ✔ bare_cr (992.5589ms) + ✔ transform (1061.8701ms) + ✔ required_result (1045.7829ms) +✔ contract rejects unsupported checkout-equivalence policy values (3100.4902ms) +▶ contract rejects unknown schema keys + ✔ top-level (986.9021ms) + ✔ representation (1001.3605ms) + ✔ checkout-equivalence (993.1817ms) + ✔ entry (1317.75ms) +✔ contract rejects unknown schema keys (4300.0483ms) +ℹ tests 18 +ℹ suites 0 +ℹ pass 18 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 9586.2176 +ℹ start of coverage report +ℹ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ℹ file | line % | branch % | funcs % | uncovered lines +ℹ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ℹ .agent | | | | +ℹ reports | | | | +ℹ evidence | | | | +ℹ production-ready | | | | +ℹ db-embedding-stats-evidence-transport | | | | +ℹ verify-manifest.cjs | 84.46 | 50.38 | 100.00 | 74-76 87-88 90-94 117-119 123-124 139-140 153-154 159-160 164-165 186-188 192-193 206-208 259-260 262-263 273-274 276-277 303-305 322-323 325-326 328-329 333-334 350-351 362-363 378-379 381-382 384-385 387-388 390-391 424-432 507-508 510-511 513-514 516-517 519-520 522-523 525-526 529-530 537-538 602-608 648-650 +ℹ verify-manifest.test.cjs | 100.00 | 97.10 | 100.00 | +ℹ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ℹ all files | 89.10 | 66.50 | 100.00 | +ℹ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ℹ end of coverage report diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/windows-coverage.tap b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/windows-coverage.tap new file mode 100644 index 00000000..b5fc5a1e --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/windows-coverage.tap @@ -0,0 +1,44 @@ +✔ artifact manifest rejects a header-only zero-entry set (219.888ms) +✔ artifact manifest rejects a missing required entry (217.5285ms) +✔ artifact manifest rejects an extra entry (219.3406ms) +✔ artifact manifest rejects a duplicate entry (403.5221ms) +✔ artifact manifest rejects dot-segment traversal outside the evidence namespace (261.2655ms) +✔ artifact manifest rejects a non-canonical dot-segment alias (210.5878ms) +▶ artifact manifest rejects absolute and backslash-separated paths + ✔ absolute path (223.0607ms) + ✔ backslash-separated path (249.8671ms) +✔ artifact manifest rejects absolute and backslash-separated paths (473.3417ms) +▶ contract rejects unsupported checkout-equivalence policy values + ✔ bare_cr (963.0427ms) + ✔ transform (977.858ms) + ✔ required_result (959.2091ms) +✔ contract rejects unsupported checkout-equivalence policy values (2900.3876ms) +▶ contract rejects unknown schema keys + ✔ top-level (1056.6354ms) + ✔ representation (945.0011ms) + ✔ checkout-equivalence (1036.3399ms) + ✔ entry (979.4867ms) +✔ contract rejects unknown schema keys (4018.3135ms) +ℹ tests 18 +ℹ suites 0 +ℹ pass 18 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 9110.0766 +ℹ start of coverage report +ℹ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ℹ file | line % | branch % | funcs % | uncovered lines +ℹ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ℹ .agent | | | | +ℹ reports | | | | +ℹ evidence | | | | +ℹ production-ready | | | | +ℹ db-embedding-stats-evidence-transport | | | | +ℹ verify-manifest.cjs | 84.46 | 50.38 | 100.00 | 74-76 87-88 90-94 117-119 123-124 139-140 153-154 159-160 164-165 186-188 192-193 206-208 259-260 262-263 273-274 276-277 303-305 322-323 325-326 328-329 333-334 350-351 362-363 378-379 381-382 384-385 387-388 390-391 424-432 507-508 510-511 513-514 516-517 519-520 522-523 525-526 529-530 537-538 602-608 648-650 +ℹ verify-manifest.test.cjs | 100.00 | 97.10 | 100.00 | +ℹ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ℹ all files | 89.10 | 66.50 | 100.00 | +ℹ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ℹ end of coverage report diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/windows-git-object.json b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/windows-git-object.json new file mode 100644 index 00000000..116a222b --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/windows-git-object.json @@ -0,0 +1,94 @@ +{ + "schema_version": 1, + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "mode": "git-object", + "status": "PASS", + "source_commit": "38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df", + "source_commit_is_ancestor": true, + "algorithm": "sha256", + "representation": "git-blob-content", + "total": 7, + "matched": 7, + "git_object_matches": 7, + "raw_checkout_matches": 0, + "checkout_lf_matches": 7, + "checkout": { + "core_autocrlf": "true", + "eol_counts": { + "crlf": 7 + } + }, + "structural_errors": [], + "entries": [ + { + "path": "internal/embedding/store.go", + "git_blob_oid": "1abaee96b07583f9fd824ed03c40b043c490b567", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 287, + "bare_carriage_returns": 0 + }, + { + "path": "internal/embedding/store_stats_test.go", + "git_blob_oid": "d381643deadbb42e8a9a07fc9375a6cdfedbdccc", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 268, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.red.json", + "git_blob_oid": "48db3052d1ff53fa7cd5f61d0371dd1be0e780bd", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 8, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.tdd.json", + "git_blob_oid": "4d94a57de67a41b718073e403cd894843dcffa0d", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 35, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/coverage.out", + "git_blob_oid": "457c38e08408c534032a7a962969c762fa1fad8c", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 240, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/2026-07-10-db-embedding-stats-maker.md", + "git_blob_oid": "8a3d45057e7c869e3eec8925a25a341158209f01", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 52, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats/DB-EMBEDDING-STATS.final.json", + "git_blob_oid": "1fa3cb6c4dc1fba849f50f33a42a3f2d1f2b23fd", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 42, + "bare_carriage_returns": 0 + } + ] +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/windows-legacy-raw-audit.json b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/windows-legacy-raw-audit.json new file mode 100644 index 00000000..f16b5626 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/runs/windows-legacy-raw-audit.json @@ -0,0 +1,94 @@ +{ + "schema_version": 1, + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "mode": "legacy-raw-audit", + "status": "AMBIGUOUS_RAW_CHECKOUT_CONFIRMED", + "source_commit": "38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df", + "source_commit_is_ancestor": true, + "algorithm": "sha256", + "representation": "git-blob-content", + "total": 7, + "matched": 7, + "git_object_matches": 7, + "raw_checkout_matches": 0, + "checkout_lf_matches": 7, + "checkout": { + "core_autocrlf": "true", + "eol_counts": { + "crlf": 7 + } + }, + "structural_errors": [], + "entries": [ + { + "path": "internal/embedding/store.go", + "git_blob_oid": "1abaee96b07583f9fd824ed03c40b043c490b567", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 287, + "bare_carriage_returns": 0 + }, + { + "path": "internal/embedding/store_stats_test.go", + "git_blob_oid": "d381643deadbb42e8a9a07fc9375a6cdfedbdccc", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 268, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.red.json", + "git_blob_oid": "48db3052d1ff53fa7cd5f61d0371dd1be0e780bd", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 8, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.tdd.json", + "git_blob_oid": "4d94a57de67a41b718073e403cd894843dcffa0d", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 35, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/coverage.out", + "git_blob_oid": "457c38e08408c534032a7a962969c762fa1fad8c", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 240, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/2026-07-10-db-embedding-stats-maker.md", + "git_blob_oid": "8a3d45057e7c869e3eec8925a25a341158209f01", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 52, + "bare_carriage_returns": 0 + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats/DB-EMBEDDING-STATS.final.json", + "git_blob_oid": "1fa3cb6c4dc1fba849f50f33a42a3f2d1f2b23fd", + "git_object_match": true, + "raw_checkout_match": false, + "checkout_lf_match": true, + "checkout_eol": "crlf", + "crlf_pairs": 42, + "bare_carriage_returns": 0 + } + ] +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/target-audit.json b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/target-audit.json new file mode 100644 index 00000000..d88baa0f --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2-checker/target-audit.json @@ -0,0 +1,80 @@ +{ + "schema_version": 1, + "target": "db2cf891dd9c6315fd17220ffe2d02302bea8844", + "target_tree": "6a450d3f0b83ce2afd95910da1516411a2134514", + "parent": "580b0cd0ff38bb55a5195a8004e60234a824b7a8", + "base": "580b0cd0ff38bb55a5195a8004e60234a824b7a8", + "base_to_target_commit_count": 1, + "source_commit": "38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df", + "source_is_ancestor": true, + "checkpoint": "53b2ef1931c534e27183126a1aad2d46b3a854b2", + "checkpoint_is_ancestor": false, + "changed_path_count": 9, + "changed_paths": [ + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2/SHA256SUMS.txt", + "git_blob_oid": "6fbef4d23f5a647952d694549d3d3f55cf6ab034", + "sha256": "a723782459ee52b40db3c3105a138347a62354b48f1ec7fab4c3378a58617780", + "bytes": 1677 + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2/maker-summary.v1.json", + "git_blob_oid": "1e2b57092c1f6129d708f0dd1c37da79307f58cd", + "sha256": "5e6271fe6eaa8361247221263ac640af426e25be01c88f558e2d85a84773fd65", + "bytes": 1583 + }, + { + "status": "M", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/ARTIFACTS.sha256", + "git_blob_oid": "92585baa7da8767348794394d63e63ff35de37be", + "sha256": "a08508ce15f5ba89c60971536bd6ef0aa5127b102c52560bcda1c3a829f7fecb", + "bytes": 983 + }, + { + "status": "M", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/maker-report.md", + "git_blob_oid": "c827109915a379df03f943af58853bb3459d5866", + "sha256": "3b7f5ad0abcccd39f0d5ce9349fceb8cca4794e1bf537943e4b38ce629357dbb", + "bytes": 7029 + }, + { + "status": "M", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verification-observations.v1.json", + "git_blob_oid": "c73fa547cb74c7b6d33a88f98bf5cd5f6805053f", + "sha256": "d99f3499b2e5c371ababdffc84410e1dcc8b028373ae00483136ae0eb6bf509a", + "bytes": 4168 + }, + { + "status": "M", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.cjs", + "git_blob_oid": "9f8424f1ea8ed5accac11ff6f019efdad9573cf9", + "sha256": "4f46e0f020fd7aae39b327adac7a9070d744f66fa26124f652d25470fa409114", + "bytes": 22901 + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs", + "git_blob_oid": "c9c08dd99095190cc316479eb04c28154fb1ffce", + "sha256": "d0fc0a8b57a3dc1f31210a69ec0b85443995883c41ea8ba818e8d95837b315b3", + "bytes": 8910 + }, + { + "status": "A", + "path": ".agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R2.red.json", + "git_blob_oid": "8c8d439d0bcb448242a05bfef7b0175489f99305", + "sha256": "5a01028809f642d299891de75148170fa2ade1d2e3e949b86f45a5aa92423249", + "bytes": 625 + }, + { + "status": "A", + "path": ".agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R2.tdd.json", + "git_blob_oid": "73f3aa076a2572302cf7717923f35c663e705ba5", + "sha256": "ca517588d678f59b86b627a109bdbc0bd8fc1b49cdd5df4a605ec6cb57da206c", + "bytes": 2219 + } + ], + "product_source_test_delta_vs_source": [], + "product_source_test_delta_vs_base": [] +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2/SHA256SUMS.txt b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2/SHA256SUMS.txt new file mode 100644 index 00000000..6fbef4d2 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2/SHA256SUMS.txt @@ -0,0 +1,14 @@ +# manifest-version=1 +# slice=DB-EMBEDDING-EVIDENCE-TRANSPORT-R2 +# algorithm=sha256 +# representation=canonical-lf-files +# self-entry=excluded-to-avoid-recursion +a08508ce15f5ba89c60971536bd6ef0aa5127b102c52560bcda1c3a829f7fecb .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/ARTIFACTS.sha256 +e3e9fd6250d4ead502a01ec81bb7901ad658d74845184a10b6f153276a1bd12f .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/content-manifest.v1.json +4f46e0f020fd7aae39b327adac7a9070d744f66fa26124f652d25470fa409114 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.cjs +d0fc0a8b57a3dc1f31210a69ec0b85443995883c41ea8ba818e8d95837b315b3 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs +d99f3499b2e5c371ababdffc84410e1dcc8b028373ae00483136ae0eb6bf509a .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verification-observations.v1.json +3b7f5ad0abcccd39f0d5ce9349fceb8cca4794e1bf537943e4b38ce629357dbb .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/maker-report.md +5a01028809f642d299891de75148170fa2ade1d2e3e949b86f45a5aa92423249 .agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R2.red.json +ca517588d678f59b86b627a109bdbc0bd8fc1b49cdd5df4a605ec6cb57da206c .agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R2.tdd.json +5e6271fe6eaa8361247221263ac640af426e25be01c88f558e2d85a84773fd65 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2/maker-summary.v1.json diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2/maker-summary.v1.json b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2/maker-summary.v1.json new file mode 100644 index 00000000..1e2b5709 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r2/maker-summary.v1.json @@ -0,0 +1,46 @@ +{ + "schema_version": 1, + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "role": "revision-maker", + "generated_at": "2026-07-10T17:00:14.1820935+03:00", + "exact_base": "580b0cd0ff38bb55a5195a8004e60234a824b7a8", + "product_source_commit": "38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df", + "revision_checkpoint_commit": "53b2ef1931c534e27183126a1aad2d46b3a854b2", + "commit_binding": "containing commit; exact SHA is reported by the handoff to avoid self-reference", + "branch": "work/prc-db-embedding-evidence-transport-r2", + "worktree": "D:/Dev/engram/.agent/worktrees/db-embedding-evidence-transport-r2", + "finish_state": "READY_FOR_CHECK", + "acceptance": { + "canonical_path_validation": "PASS", + "exact_artifact_set_5": "PASS", + "strict_schema_and_semantics": "PASS", + "permanent_adversarial_tests": "18/18", + "crlf_git_object": "7/7", + "crlf_checkout_lf": "7/7", + "crlf_raw": "0/7", + "crlf_artifacts": "5/5", + "lf_git_object": "7/7", + "lf_checkout_lf": "7/7", + "lf_raw": "7/7", + "lf_artifacts": "5/5", + "lf_adversarial_tests": "18/18", + "product_source_test_delta": 0, + "coverage_line_percent": 88.89, + "prove_it_failed_tests": 27 + }, + "temporary_cleanup": { + "lf_path_removed": true, + "lf_registration_removed": true, + "manifest_mutations_restored": true + }, + "forbidden_mutations": { + "primary": 0, + "integration": 0, + "canonical_register_markdown_html": 0, + "role_session_oracle": 0, + "database": 0, + "container": 0, + "product_source_test": 0 + }, + "next_gate": "fresh independent checker" +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/R3-SHA256SUMS.txt b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/R3-SHA256SUMS.txt new file mode 100644 index 00000000..f2fd03d0 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/R3-SHA256SUMS.txt @@ -0,0 +1,23 @@ +# manifest-version=1 +# algorithm=sha256 +# representation=canonical-lf-files +# checkout-equivalence=crlf-to-lf-with-no-bare-cr +# parent=8dac7910de52d2744fcf67f79a0a1597beebac72 +# accepted-product-source=38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df +# status=superseded-by-r5 +# refreshed-on-base=369951b61ee07cb0c405558e0f677cd1c9e90362 +# maker-commit=reported-out-of-band-after-commit +# self-entry=excluded-to-avoid-recursion +5d932e6acf104bf9eff291409b50961007512e09e91d78401257a018fcb780f4 .agent/reports/evidence/production-ready/db-embedding-stats/SHA256SUMS.txt +e3e9fd6250d4ead502a01ec81bb7901ad658d74845184a10b6f153276a1bd12f .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/content-manifest.v1.json +05ed45d295c3520fbbbc23419d6d57796127d71bd324c6ddb8f60191dc125f00 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/ARTIFACTS.sha256 +a55e59dd870659330add8f840272aa1e8829f8161779db3e9be9e6e014cf1ba4 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.cjs +970a7a4a322b8aa5a0ed434d68ef5ce41c5085c986007f15aadf34d69c0172aa .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs +4f62630b651d6805ffe894e643159dfdef41176081878f303de12a64a56dca52 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verification-observations.v1.json +5d7a49dd716c25679e133c9aa2c0b59fd40525fb0540cc8b4556429df1d37fc6 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/maker-report.md +8777110d8681c895fd821664ca733d959e940353490ae9ed8bc0f0c1e27f8b3b .agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R3.red.json +d01e168c7eb75427c18d6b3f05c33af66b9d9f92342574007089494cb9f98c04 .agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R3.tdd.json +1811b1c83b3c948380b35ab5037a574067a7d2e60bcb27629269301c233a76d7 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/coverage-repeat.v1.json +ea5083eb4fb90c573fd645db53ed5d8bb99dcdf56905c6db6c84b8580951257d .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/verification-matrix.v1.json +d60d6dd98a0534b4b0295e68db7694b0b1e9ba0ec300982ff2f65fad0a364e3e .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/maker-summary.v1.json +b2d24a62e3ac60dd2bc94d6a018f0669ae20dc092b028414cb05083a1f54caa4 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/maker-report.md diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/coverage-repeat.v1.json b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/coverage-repeat.v1.json new file mode 100644 index 00000000..602faba7 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/coverage-repeat.v1.json @@ -0,0 +1,8 @@ +{ + "schema_version": 1, + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT-R3", + "status": "SUPERSEDED_BY_R5", + "superseded_reason": "R3 values were not reproducible and the R4 replacement was later found to depend on maker-only mixed EOL bytes.", + "historical_numeric_claims_removed": true, + "replacement": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-repeat.v1.json" +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/maker-report.md b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/maker-report.md new file mode 100644 index 00000000..95d5f258 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/maker-report.md @@ -0,0 +1,16 @@ +# DB-EMBEDDING-EVIDENCE-TRANSPORT R3 supersession note + +R3 remains the historical repair that established the exact seven-path source +lock, exact accepted source commit, canonical pre-access validation, permanent +attack suite, Windows CRLF proof, fresh-LF proof, and zero product/source/test +delta. + +The independent R3 checker reproduced all behavioral rails but did not +reproduce the committed coverage values. Those numeric claims have therefore +been removed instead of being repeated as current evidence. + +The exact R5 reruns, coverage scopes, fail-closed null regressions, checksums, +and current readiness packet are under +`.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/`. + +Status: **SUPERSEDED_BY_R5**. diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/maker-summary.v1.json b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/maker-summary.v1.json new file mode 100644 index 00000000..c5770753 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/maker-summary.v1.json @@ -0,0 +1,19 @@ +{ + "schema_version": 1, + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT-R3", + "role": "maker", + "status": "SUPERSEDED_BY_R5", + "parent": "8dac7910de52d2744fcf67f79a0a1597beebac72", + "accepted_product_source": "38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df", + "preserved_repairs": [ + "exact seven-path source lock", + "exact accepted source commit lock", + "validated canonical source paths before source access", + "Windows and fresh-LF representation proof" + ], + "coverage_claim": { + "status": "REMOVED_AS_NOT_REPRODUCIBLE", + "replacement": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-repeat.v1.json" + }, + "next_action": "Use the R5 packet and its transcript-parsing verifier." +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/verification-matrix.v1.json b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/verification-matrix.v1.json new file mode 100644 index 00000000..67cd3407 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/verification-matrix.v1.json @@ -0,0 +1,19 @@ +{ + "schema_version": 1, + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT-R3", + "status": "SUPERSEDED_BY_R5", + "parent": "8dac7910de52d2744fcf67f79a0a1597beebac72", + "accepted_product_source": "38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df", + "preserved_evidence": { + "exact_parent_red": "18 pass / 4 fail", + "green": "22/22 pass", + "prove_it": "validateContractSchema 12 failed; verifyArtifactFiles 9 failed", + "windows": "raw 0/7; Git 7/7; checkout-LF 7/7; artifacts 5/5", + "fresh_lf": "raw/Git/checkout-LF 7/7; artifacts 5/5; suite 22/22", + "product_source_test_delta": 0 + }, + "coverage": { + "status": "REMOVED_AS_NOT_REPRODUCIBLE", + "replacement": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-repeat.v1.json" + } +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/R4-SHA256SUMS.txt b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/R4-SHA256SUMS.txt new file mode 100644 index 00000000..cd9bc30a --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/R4-SHA256SUMS.txt @@ -0,0 +1,30 @@ +# manifest-version=1 +# algorithm=sha256 +# representation=canonical-lf-files +# checkout-equivalence=crlf-to-lf-with-no-bare-cr +# base=d650df5c4271cdb50aa1f443d2f95b2f4b672541 +# accepted-product-source=38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df +# status=superseded-by-r5 +# refreshed-on-base=369951b61ee07cb0c405558e0f677cd1c9e90362 +# maker-commit=reported-out-of-band-after-commit +# self-entry=excluded-to-avoid-recursion +5d932e6acf104bf9eff291409b50961007512e09e91d78401257a018fcb780f4 .agent/reports/evidence/production-ready/db-embedding-stats/SHA256SUMS.txt +e3e9fd6250d4ead502a01ec81bb7901ad658d74845184a10b6f153276a1bd12f .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/content-manifest.v1.json +05ed45d295c3520fbbbc23419d6d57796127d71bd324c6ddb8f60191dc125f00 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/ARTIFACTS.sha256 +a55e59dd870659330add8f840272aa1e8829f8161779db3e9be9e6e014cf1ba4 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.cjs +970a7a4a322b8aa5a0ed434d68ef5ce41c5085c986007f15aadf34d69c0172aa .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs +4f62630b651d6805ffe894e643159dfdef41176081878f303de12a64a56dca52 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verification-observations.v1.json +5d7a49dd716c25679e133c9aa2c0b59fd40525fb0540cc8b4556429df1d37fc6 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/maker-report.md +8777110d8681c895fd821664ca733d959e940353490ae9ed8bc0f0c1e27f8b3b .agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R3.red.json +d01e168c7eb75427c18d6b3f05c33af66b9d9f92342574007089494cb9f98c04 .agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R3.tdd.json +1811b1c83b3c948380b35ab5037a574067a7d2e60bcb27629269301c233a76d7 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/coverage-repeat.v1.json +ea5083eb4fb90c573fd645db53ed5d8bb99dcdf56905c6db6c84b8580951257d .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/verification-matrix.v1.json +d60d6dd98a0534b4b0295e68db7694b0b1e9ba0ec300982ff2f65fad0a364e3e .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/maker-summary.v1.json +b2d24a62e3ac60dd2bc94d6a018f0669ae20dc092b028414cb05083a1f54caa4 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/maker-report.md +1f985a357031dd4b7e101c1ab15ee71083d2fb340efeb29e8ddc3a305b4e599a .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/R3-SHA256SUMS.txt +0f5054c4e312b2159edd821700ebe665b8715dfdd3d3bc0ba7cc2c48c22ef7de .agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R4.red.json +bdc69720f8bab1c4f2f446202e21917c6db475824fcdac17ca2b0f668f052c90 .agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R4.tdd.json +7208503ef9dc002bf8bb659e44ffcba4ace76c224136e4e4b30b6f034633ba7b .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/coverage-repeat.v1.json +4eb5199000a011e4e685900daa07d98773770d78753032db6b152147ac50aaf8 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/verification-matrix.v1.json +afea6437d06ee2ff4d2eb1574464184c31e9c7441aa07f4a2ac6258b11039cfd .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/maker-summary.v1.json +78500814f2918040c5c8c0e3a9f26cdc858bf33027a07e51e782e02ea88329f6 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/maker-report.md diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/coverage-repeat.v1.json b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/coverage-repeat.v1.json new file mode 100644 index 00000000..031da238 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/coverage-repeat.v1.json @@ -0,0 +1,9 @@ +{ + "schema_version": 1, + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT-R4", + "status": "SUPERSEDED_BY_R5", + "superseded_reason": "Independent R4 checker proved that the recorded exact values were produced from maker-only mixed EOL working-tree bytes, not from the committed Git blob bytes in a fresh checkout.", + "historical_numeric_claims_removed": true, + "replacement": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-repeat.v1.json", + "checker_report": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4-checker/checker-report.md" +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/maker-report.md b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/maker-report.md new file mode 100644 index 00000000..9fad3d87 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/maker-report.md @@ -0,0 +1,19 @@ +# DB-EMBEDDING-EVIDENCE-TRANSPORT R4 supersession note + +R4 remains the historical repair that closed the two raw-exception findings: +`representation=null` and `entries[0]=null` now produce structured `FAIL`, empty +stderr, empty entries, and zero reported plus preload-observed source access. +Its exact-base RED `22/2`, GREEN `24/24`, permanent attacks, Prove-It mutations, +Windows/fresh-LF source rails, and product parity remain valid. + +The independent R4 checker found one evidence-integrity defect: the exact +coverage values were reproduced only from the maker worktree's mixed EOL raw +files. They were not reproducible from the committed target in either a fresh +CRLF or fresh LF checkout. The numeric coverage claim has therefore been +removed rather than preserved as history. + +The authoritative LF capture, raw transcripts, parsed metrics, exact staged +blob/filesystem hashes, and current checksum packet are under +`.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/`. + +Status: **SUPERSEDED_BY_R5**. diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/maker-summary.v1.json b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/maker-summary.v1.json new file mode 100644 index 00000000..f4a91acb --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/maker-summary.v1.json @@ -0,0 +1,20 @@ +{ + "schema_version": 1, + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT-R4", + "role": "maker", + "status": "SUPERSEDED_BY_R5", + "base": "d650df5c4271cdb50aa1f443d2f95b2f4b672541", + "accepted_product_source": "38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df", + "preserved_repairs": [ + "structured FAIL for representation=null", + "structured FAIL for entries[0]=null", + "preload-observed source access remains zero", + "24/24 permanent mutation suite", + "Windows and fresh-LF representation rails" + ], + "coverage_claim": { + "status": "REMOVED_AS_MIXED_EOL_MATERIALIZATION", + "replacement": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-repeat.v1.json" + }, + "next_action": "Use the R5 transcript-backed packet and a fresh checker." +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/verification-matrix.v1.json b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/verification-matrix.v1.json new file mode 100644 index 00000000..daa34701 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/verification-matrix.v1.json @@ -0,0 +1,23 @@ +{ + "schema_version": 1, + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT-R4", + "status": "SUPERSEDED_BY_R5", + "base": "d650df5c4271cdb50aa1f443d2f95b2f4b672541", + "accepted_product_source": "38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df", + "preserved_evidence": { + "exact_base_red": "22 pass / 2 fail", + "green": "24/24 pass", + "independent_attack_cases": "15/15 pass", + "null_representation_structured_fail": "PASS", + "null_entry_structured_fail": "PASS", + "preload_spy_actual_source_access_zero": "PASS", + "prove_it": "validateContractSchema 15 failed; verifyArtifactFiles 9 failed", + "windows": "raw 0/7; Git 7/7; checkout-LF 7/7; artifacts 5/5", + "fresh_lf": "raw/Git/checkout-LF 7/7; artifacts 5/5; suite 24/24", + "product_source_test_delta": 0 + }, + "coverage": { + "status": "REMOVED_AS_MIXED_EOL_MATERIALIZATION", + "replacement": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-repeat.v1.json" + } +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/R5-SHA256SUMS.txt b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/R5-SHA256SUMS.txt new file mode 100644 index 00000000..2b97e774 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/R5-SHA256SUMS.txt @@ -0,0 +1,42 @@ +# manifest-version=1 +# algorithm=sha256 +# representation=canonical-lf-files +# checkout-equivalence=crlf-to-lf-with-no-bare-cr +# base=369951b61ee07cb0c405558e0f677cd1c9e90362 +# accepted-product-source=38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df +# closed-finding=ET-R4-001 +# coverage-materialization=core.autocrlf=false; index=lf; filesystem=lf +# maker-commit=reported-out-of-band-after-commit +# self-entry=excluded-to-avoid-recursion +5d932e6acf104bf9eff291409b50961007512e09e91d78401257a018fcb780f4 .agent/reports/evidence/production-ready/db-embedding-stats/SHA256SUMS.txt +e3e9fd6250d4ead502a01ec81bb7901ad658d74845184a10b6f153276a1bd12f .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/content-manifest.v1.json +05ed45d295c3520fbbbc23419d6d57796127d71bd324c6ddb8f60191dc125f00 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/ARTIFACTS.sha256 +a55e59dd870659330add8f840272aa1e8829f8161779db3e9be9e6e014cf1ba4 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.cjs +d04b8bc050182f2806972c9d30aaa7d6349ef2f56f15b3ef21f7005459bb86cc .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs +4f62630b651d6805ffe894e643159dfdef41176081878f303de12a64a56dca52 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verification-observations.v1.json +5d7a49dd716c25679e133c9aa2c0b59fd40525fb0540cc8b4556429df1d37fc6 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/maker-report.md +8777110d8681c895fd821664ca733d959e940353490ae9ed8bc0f0c1e27f8b3b .agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R3.red.json +d01e168c7eb75427c18d6b3f05c33af66b9d9f92342574007089494cb9f98c04 .agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R3.tdd.json +1811b1c83b3c948380b35ab5037a574067a7d2e60bcb27629269301c233a76d7 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/coverage-repeat.v1.json +ea5083eb4fb90c573fd645db53ed5d8bb99dcdf56905c6db6c84b8580951257d .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/verification-matrix.v1.json +d60d6dd98a0534b4b0295e68db7694b0b1e9ba0ec300982ff2f65fad0a364e3e .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/maker-summary.v1.json +b2d24a62e3ac60dd2bc94d6a018f0669ae20dc092b028414cb05083a1f54caa4 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/maker-report.md +1f985a357031dd4b7e101c1ab15ee71083d2fb340efeb29e8ddc3a305b4e599a .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/R3-SHA256SUMS.txt +0f5054c4e312b2159edd821700ebe665b8715dfdd3d3bc0ba7cc2c48c22ef7de .agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R4.red.json +bdc69720f8bab1c4f2f446202e21917c6db475824fcdac17ca2b0f668f052c90 .agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R4.tdd.json +7208503ef9dc002bf8bb659e44ffcba4ace76c224136e4e4b30b6f034633ba7b .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/coverage-repeat.v1.json +4eb5199000a011e4e685900daa07d98773770d78753032db6b152147ac50aaf8 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/verification-matrix.v1.json +afea6437d06ee2ff4d2eb1574464184c31e9c7441aa07f4a2ac6258b11039cfd .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/maker-summary.v1.json +78500814f2918040c5c8c0e3a9f26cdc858bf33027a07e51e782e02ea88329f6 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/maker-report.md +ee566e63906c1a4fe4ce665501c293f8d155935d7f65b24e5095477c3dd6c7ce .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/R4-SHA256SUMS.txt +3fa766468f339d100a825879182cfeb9ffe3c1be59214dd06913124db6050e3f .agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R5.red.json +652de15a329c23c65ce9e0962e97c7b2007c2c7d44ffda5c368704aa7d41c289 .agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R5.tdd.json +2da06a50cd5cd808f471aecd21450d6211f58d66330dbc1d85cb1889b6730913 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-capture.v1.json +b6211a4dc4ffea14b6a08fe07a1cf99516ee5bd066daa4ade0b6c241d955560b .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-repeat.v1.json +52a871ca44112dc2d4e7540f7e9548079a05619f967b4c4d9445b999d7a42daf .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-run-1.tap +d88556d5e8e437eba50505db6ac200e52910353ced62ad4eafbf6195147387a5 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-run-2.tap +5bb1e3a287ef810f31803cb9ca5a048b7ccd3ad6bad1688794671fba539fbcde .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-report.md +72f20018d9c622704a3640c8f933f7db49e51942bcf8591d6ba45efa58cb3e0f .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-summary.v1.json +04010949acbef7a0427751be7c96aedcb4e6aa2e0d76c22c662e55693dae5082 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/run-coverage-capture-verifier.cmd +4d4180e0dcf75285f059892557b95b1d8794eb62b5d6043d95e2de62b6f5493c .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verification-matrix.v1.json +9e5d0edacd150125d7ec657d379d0aa9471477a5bafa74b6dd6eff7c19b0ce5c .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verify-coverage-capture.cjs diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-capture.v1.json b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-capture.v1.json new file mode 100644 index 00000000..0254bc04 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-capture.v1.json @@ -0,0 +1,33 @@ +{ + "schema_version": 1, + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT-R5", + "materialization": "fresh-core-autocrlf-false-lf", + "base_commit": "369951b61ee07cb0c405558e0f677cd1c9e90362", + "core_autocrlf": "false", + "tracked_eol": "2/2 i/lf w/lf", + "line_endings": "lf-only", + "files": [ + { + "role": "verifier", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.cjs", + "git_blob_oid": "75bec9c41eb5abc435f13d90848074f6608f7fce", + "git_blob_sha256": "a55e59dd870659330add8f840272aa1e8829f8161779db3e9be9e6e014cf1ba4", + "filesystem_sha256": "a55e59dd870659330add8f840272aa1e8829f8161779db3e9be9e6e014cf1ba4", + "byte_length": 25465, + "crlf_pairs": 0, + "lone_lf": 718, + "bare_carriage_returns": 0 + }, + { + "role": "test_harness", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs", + "git_blob_oid": "8e814737c8d5f4437aeb2a97dc52220e115cba0b", + "git_blob_sha256": "970a7a4a322b8aa5a0ed434d68ef5ce41c5085c986007f15aadf34d69c0172aa", + "filesystem_sha256": "970a7a4a322b8aa5a0ed434d68ef5ce41c5085c986007f15aadf34d69c0172aa", + "byte_length": 20692, + "crlf_pairs": 0, + "lone_lf": 634, + "bare_carriage_returns": 0 + } + ] +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-repeat.v1.json b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-repeat.v1.json new file mode 100644 index 00000000..c3f53c54 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-repeat.v1.json @@ -0,0 +1,50 @@ +{ + "schema_version": 1, + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT-R5", + "node_version": "v24.2.0", + "command": "node.exe --test --test-concurrency=1 --experimental-test-coverage .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs", + "capture_manifest_path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-capture.v1.json", + "capture_manifest_sha256": "2da06a50cd5cd808f471aecd21450d6211f58d66330dbc1d85cb1889b6730913", + "transcript_representation": "canonical-lf-tap-trim-trailing-table-padding", + "transcripts": [ + { + "run": 1, + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-run-1.tap", + "sha256": "52a871ca44112dc2d4e7540f7e9548079a05619f967b4c4d9445b999d7a42daf" + }, + { + "run": 2, + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-run-2.tap", + "sha256": "d88556d5e8e437eba50505db6ac200e52910353ced62ad4eafbf6195147387a5" + } + ], + "runs": [ + { + "run": 1, + "exit_code": 0, + "tests": 24, + "passed": 24, + "failed": 0, + "aggregate": { "line_percent": 89.28, "branch_percent": 75.30, "functions_percent": 95.59 }, + "verifier": { "line_percent": 80.08, "branch_percent": 55.91, "functions_percent": 81.82 }, + "test_harness": { "line_percent": 99.68, "branch_percent": 95.16, "functions_percent": 100.00 } + }, + { + "run": 2, + "exit_code": 0, + "tests": 24, + "passed": 24, + "failed": 0, + "aggregate": { "line_percent": 89.28, "branch_percent": 75.30, "functions_percent": 95.59 }, + "verifier": { "line_percent": 80.08, "branch_percent": 55.91, "functions_percent": 81.82 }, + "test_harness": { "line_percent": 99.68, "branch_percent": 95.16, "functions_percent": 100.00 } + } + ], + "reproducible": true, + "threshold": { + "percent": 80, + "basis": "aggregate line coverage", + "observed_percent": 89.28, + "status": "PASS" + } +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-run-1.tap b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-run-1.tap new file mode 100644 index 00000000..5de6ac35 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-run-1.tap @@ -0,0 +1,50 @@ +✔ evidence manifests reject incomplete sets and undeclared or mixed coverage capture (1881.253ms) +✔ artifact manifest rejects a missing required entry (240.6627ms) +✔ artifact manifest rejects an extra entry (253.9315ms) +✔ artifact manifest rejects a duplicate entry (244.4152ms) +✔ artifact manifest rejects dot-segment traversal outside the evidence namespace (256.764ms) +✔ artifact manifest rejects a non-canonical dot-segment alias (239.2076ms) +▶ artifact manifest rejects absolute and backslash-separated paths + ✔ absolute path (234.95ms) + ✔ backslash-separated path (238.7502ms) +✔ artifact manifest rejects absolute and backslash-separated paths (474.1093ms) +▶ contract rejects unsupported checkout-equivalence policy values + ✔ bare_cr (197.1022ms) + ✔ transform (185.8811ms) + ✔ required_result (206.0154ms) +✔ contract rejects unsupported checkout-equivalence policy values (589.4272ms) +▶ contract rejects unknown schema keys + ✔ top-level (192.365ms) + ✔ representation (219.8375ms) + ✔ checkout-equivalence (177.5542ms) + ✔ entry (180.9451ms) +✔ contract rejects unknown schema keys (771.1816ms) +✔ contract rejects deleting one required source when the legacy manifest agrees (186.7732ms) +✔ contract rejects a valid go.mod substitution that preserves cardinality (292.7169ms) +✔ contract rejects rebinding source commit and legacy metadata to an ancestor (187.7705ms) +✔ contract rejects an invalid raw source path before source access (182.7753ms) +✔ contract rejects null representation with structured FAIL before actual source access (194.6107ms) +✔ contract rejects a null entry with structured FAIL before actual source access (204.4823ms) +ℹ tests 24 +ℹ suites 0 +ℹ pass 24 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 6354.4069 +ℹ start of coverage report +ℹ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ℹ file | line % | branch % | funcs % | uncovered lines +ℹ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ℹ .agent | | | | +ℹ reports | | | | +ℹ evidence | | | | +ℹ production-ready | | | | +ℹ db-embedding-stats-evidence-transport | | | | +ℹ verify-manifest.cjs | 80.08 | 55.91 | 81.82 | 84-86 97-98 100-104 121-129 150 163-164 169-170 174-175 203-204 217-219 266-267 273-274 276-277 287-288 319-321 350-351 353-354 356-357 361-362 396-397 408-409 424-425 427-428 430-431 433-434 436-437 470-478 561-562 564-565 573-574 576-577 579-580 591-592 611-648 656-657 669-675 698-705 716-718 +ℹ verify-manifest.test.cjs | 99.68 | 95.16 | 100.00 | 266-267 +ℹ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ℹ all files | 89.28 | 75.30 | 95.59 | +ℹ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ℹ end of coverage report diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-run-2.tap b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-run-2.tap new file mode 100644 index 00000000..5bd35532 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-run-2.tap @@ -0,0 +1,50 @@ +✔ evidence manifests reject incomplete sets and undeclared or mixed coverage capture (1835.0842ms) +✔ artifact manifest rejects a missing required entry (218.5669ms) +✔ artifact manifest rejects an extra entry (231.9993ms) +✔ artifact manifest rejects a duplicate entry (224.1648ms) +✔ artifact manifest rejects dot-segment traversal outside the evidence namespace (225.4047ms) +✔ artifact manifest rejects a non-canonical dot-segment alias (228.5756ms) +▶ artifact manifest rejects absolute and backslash-separated paths + ✔ absolute path (222.7844ms) + ✔ backslash-separated path (222.3721ms) +✔ artifact manifest rejects absolute and backslash-separated paths (445.51ms) +▶ contract rejects unsupported checkout-equivalence policy values + ✔ bare_cr (240.1264ms) + ✔ transform (204.2461ms) + ✔ required_result (241.3657ms) +✔ contract rejects unsupported checkout-equivalence policy values (686.0509ms) +▶ contract rejects unknown schema keys + ✔ top-level (219.2129ms) + ✔ representation (207.1767ms) + ✔ checkout-equivalence (189.3415ms) + ✔ entry (205.2447ms) +✔ contract rejects unknown schema keys (821.3554ms) +✔ contract rejects deleting one required source when the legacy manifest agrees (245.3686ms) +✔ contract rejects a valid go.mod substitution that preserves cardinality (368.3836ms) +✔ contract rejects rebinding source commit and legacy metadata to an ancestor (196.1688ms) +✔ contract rejects an invalid raw source path before source access (214.4525ms) +✔ contract rejects null representation with structured FAIL before actual source access (209.8751ms) +✔ contract rejects a null entry with structured FAIL before actual source access (206.5256ms) +ℹ tests 24 +ℹ suites 0 +ℹ pass 24 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 6495.7296 +ℹ start of coverage report +ℹ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ℹ file | line % | branch % | funcs % | uncovered lines +ℹ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ℹ .agent | | | | +ℹ reports | | | | +ℹ evidence | | | | +ℹ production-ready | | | | +ℹ db-embedding-stats-evidence-transport | | | | +ℹ verify-manifest.cjs | 80.08 | 55.91 | 81.82 | 84-86 97-98 100-104 121-129 150 163-164 169-170 174-175 203-204 217-219 266-267 273-274 276-277 287-288 319-321 350-351 353-354 356-357 361-362 396-397 408-409 424-425 427-428 430-431 433-434 436-437 470-478 561-562 564-565 573-574 576-577 579-580 591-592 611-648 656-657 669-675 698-705 716-718 +ℹ verify-manifest.test.cjs | 99.68 | 95.16 | 100.00 | 266-267 +ℹ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ℹ all files | 89.28 | 75.30 | 95.59 | +ℹ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ℹ end of coverage report diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-report.md b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-report.md new file mode 100644 index 00000000..d2581178 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-report.md @@ -0,0 +1,59 @@ +# DB-EMBEDDING-EVIDENCE-TRANSPORT R5 maker summary (rejected historical snapshot) + +This packet was rejected and is superseded by R6. Every hash, count, and +coverage value below is scoped to the captured R5 blobs; none is a claim about +the final R6 verifier or test blob. + +The executable R5 `coverage-evidence` mode now fails closed because the historical +packet has no operating-system process-status envelope. Its strict +`materialization` mode remains available to the permanent portability suite. + +R5 closes checker finding ET-R4-001 without changing product code. The covered +R4 verifier remains exact blob `75bec9c41eb5abc435f13d90848074f6608f7fce`. +The rejected R5 captured test blob is `8e814737c8d5f4437aeb2a97dc52220e115cba0b`. +Both are bound to LF-only Git-index and filesystem hashes by +`coverage-capture.v1.json`. + +The permanent 24-case suite rejects both an undeclared capture and a real mixed +EOL mutation. An evidence-side verifier, launched outside the Node coverage +environment, parses two committed canonical-LF TAP transcripts and compares +their hashes and metrics exactly with `coverage-repeat.v1.json`. Only the +coverage table's non-semantic trailing padding is trimmed. + +Authoritative repeated coverage is aggregate `89.28 / 75.30 / 95.59`, verifier +`80.08 / 55.91 / 81.82`, and harness `99.68 / 95.16 / 100.00`. Both runs are +`24/24`, and the aggregate line floor passes at `89.28% >= 80%`. + +All inherited fail-closed, Prove-It, Windows/fresh-LF, checksum, product-parity, +and residue rails pass. Status: **READY_FOR_FRESH_CHECKER**. + +## Exact changed-path inventory (28 paths) + +1. `.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/R3-SHA256SUMS.txt` +2. `.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/coverage-repeat.v1.json` +3. `.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/maker-report.md` +4. `.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/maker-summary.v1.json` +5. `.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/verification-matrix.v1.json` +6. `.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/R4-SHA256SUMS.txt` +7. `.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/coverage-repeat.v1.json` +8. `.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/maker-report.md` +9. `.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/maker-summary.v1.json` +10. `.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/verification-matrix.v1.json` +11. `.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/R5-SHA256SUMS.txt` +12. `.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-capture.v1.json` +13. `.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-repeat.v1.json` +14. `.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-run-1.tap` +15. `.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-run-2.tap` +16. `.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-report.md` +17. `.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-summary.v1.json` +18. `.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/run-coverage-capture-verifier.cmd` +19. `.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verification-matrix.v1.json` +20. `.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verify-coverage-capture.cjs` +21. `.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/ARTIFACTS.sha256` +22. `.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/maker-report.md` +23. `.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verification-observations.v1.json` +24. `.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs` +25. `.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R3.tdd.json` +26. `.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R4.tdd.json` +27. `.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R5.red.json` +28. `.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R5.tdd.json` diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-summary.v1.json b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-summary.v1.json new file mode 100644 index 00000000..5dbbeb07 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-summary.v1.json @@ -0,0 +1,76 @@ +{ + "schema_version": 1, + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT-R5", + "role": "maker", + "status": "REJECTED_SUPERSEDED_BY_R6", + "snapshot_scope": "Historical R5 packet only; hashes, counts, and metrics do not describe the R6 final blobs.", + "runtime_policy": "coverage-evidence fails closed without a real process-status envelope; materialization remains strict and available", + "base": "369951b61ee07cb0c405558e0f677cd1c9e90362", + "r4_checker_commit_is_ancestor": false, + "accepted_product_source": "38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df", + "closed_finding": "ET-R4-001", + "repairs": [ + "preserved covered R4 verifier exact blob and LF bytes", + "bound final test harness to exact Git-index and filesystem LF bytes", + "added permanent undeclared-capture and real mixed-EOL rejection", + "moved representation and transcript parsing outside the coverage target", + "stored and hashed two canonical-LF Node v24.2.0 TAP transcripts with only trailing table padding trimmed", + "removed R3/R4 superseded numeric coverage claims" + ], + "coverage": { + "materialization": "fresh-core-autocrlf-false-lf", + "metrics_source": "parsed canonical-LF TAP transcripts", + "repeat_count": 2, + "metrics_identical": true, + "aggregate": { "line_percent": 89.28, "branch_percent": 75.30, "functions_percent": 95.59 }, + "verifier": { "line_percent": 80.08, "branch_percent": 55.91, "functions_percent": 81.82 }, + "test_harness": { "line_percent": 99.68, "branch_percent": 95.16, "functions_percent": 100.00 }, + "threshold_basis": "aggregate line coverage", + "threshold_percent": 80, + "status": "PASS" + }, + "rails": { + "exact_base_red": "22 pass / 2 fail", + "r5_red": "23 pass / 1 fail", + "green_and_restore": "24/24 pass", + "top_level_attacks": "15/15 pass", + "prove_it": "schema 15 failed; artifact 9 failed; capture verifier 1 failed", + "windows_source_artifact_parity": "PASS", + "fresh_lf_source_artifact_parity": "PASS", + "product_source_test_delta": 0, + "checksum_layers": "5/5 + 13/13 + 20/20 + 32/32", + "residue": 0 + }, + "changed_path_count": 28, + "changed_paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/R3-SHA256SUMS.txt", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/coverage-repeat.v1.json", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/maker-report.md", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/maker-summary.v1.json", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/verification-matrix.v1.json", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/R4-SHA256SUMS.txt", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/coverage-repeat.v1.json", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/maker-report.md", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/maker-summary.v1.json", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/verification-matrix.v1.json", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/R5-SHA256SUMS.txt", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-capture.v1.json", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-repeat.v1.json", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-run-1.tap", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-run-2.tap", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-report.md", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-summary.v1.json", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/run-coverage-capture-verifier.cmd", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verification-matrix.v1.json", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verify-coverage-capture.cjs", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/ARTIFACTS.sha256", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/maker-report.md", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verification-observations.v1.json", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs", + ".agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R3.tdd.json", + ".agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R4.tdd.json", + ".agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R5.red.json", + ".agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R5.tdd.json" + ], + "next_action": "Fresh independent checker; no maker self-acceptance." +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/run-coverage-capture-verifier.cmd b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/run-coverage-capture-verifier.cmd new file mode 100644 index 00000000..4a2602b9 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/run-coverage-capture-verifier.cmd @@ -0,0 +1,4 @@ +@echo off +set "NODE_V8_COVERAGE=" +set "NODE_TEST_CONTEXT=" +node.exe "%~dp0verify-coverage-capture.cjs" %* diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verification-matrix.v1.json b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verification-matrix.v1.json new file mode 100644 index 00000000..c8919227 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verification-matrix.v1.json @@ -0,0 +1,29 @@ +{ + "schema_version": 1, + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT-R5", + "status": "REJECTED_SUPERSEDED_BY_R6", + "snapshot_scope": "Historical R5 observations only; current/final claims live in the R6 packet.", + "base": "369951b61ee07cb0c405558e0f677cd1c9e90362", + "accepted_product_source": "38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df", + "rails": { + "r4_verifier_preserved": "75bec9c41eb5abc435f13d90848074f6608f7fce PASS", + "capture_materialization": "core.autocrlf=false; 2/2 i/lf w/lf; LF-only PASS", + "undeclared_capture_rejection": "PASS", + "mixed_eol_capture_rejection": "PASS", + "transcript_hashes": "2/2 PASS", + "transcript_metrics_parse": "2/2 exact PASS", + "coverage_repeat": "24/24 twice; metrics identical PASS", + "coverage_floor": "89.28 >= 80 PASS", + "exact_base_red": "22/2 exit 1 PASS", + "r5_red": "23/1 exit 1 PASS", + "green": "24/24 exit 0 PASS", + "attacks": "15/15 PASS", + "null_fail_closed": "structured FAIL; empty stderr; reported/preload source access 0 PASS", + "prove_it": "15 + 9 + 1 failures PASS", + "windows": "raw 0/7; Git 7/7; checkout-LF 7/7; artifacts 5/5 PASS", + "fresh_lf": "raw/Git/checkout-LF 7/7; artifacts 5/5; suite 24/24 PASS", + "checksums": "5/5 + 13/13 + 20/20 + 32/32 PASS", + "product_blobs": "7/7 exact accepted source PASS", + "residue": "0 PASS" + } +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verify-coverage-capture.cjs b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verify-coverage-capture.cjs new file mode 100644 index 00000000..dc4d647a --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verify-coverage-capture.cjs @@ -0,0 +1,408 @@ +#!/usr/bin/env node +'use strict'; + +const crypto = require('node:crypto'); +const fs = require('node:fs'); +const path = require('node:path'); +const { spawnSync } = require('node:child_process'); + +const allowedModes = new Set(['materialization', 'coverage-evidence']); +const modeArgument = process.argv.find((argument) => argument.startsWith('--mode=')); +const mode = modeArgument ? modeArgument.slice('--mode='.length) : 'coverage-evidence'; +const SLICE = 'DB-EMBEDDING-EVIDENCE-TRANSPORT-R5'; +const BASE_COMMIT = '369951b61ee07cb0c405558e0f677cd1c9e90362'; +const COVERAGE_COMMAND = + 'node.exe --test --test-concurrency=1 --experimental-test-coverage ' + + '.agent/reports/evidence/production-ready/' + + 'db-embedding-stats-evidence-transport/verify-manifest.test.cjs'; +const EVIDENCE_DIRECTORY = + '.agent/reports/evidence/production-ready/' + + 'db-embedding-stats-evidence-transport-r5'; +const CAPTURE_PATH = `${EVIDENCE_DIRECTORY}/coverage-capture.v1.json`; +const COVERAGE_PATH = `${EVIDENCE_DIRECTORY}/coverage-repeat.v1.json`; +const REQUIRED_FILES = Object.freeze([ + Object.freeze({ + role: 'verifier', + path: + '.agent/reports/evidence/production-ready/' + + 'db-embedding-stats-evidence-transport/verify-manifest.cjs', + }), + Object.freeze({ + role: 'test_harness', + path: + '.agent/reports/evidence/production-ready/' + + 'db-embedding-stats-evidence-transport/verify-manifest.test.cjs', + }), +]); +const CAPTURE_KEYS = Object.freeze([ + 'schema_version', + 'slice', + 'materialization', + 'base_commit', + 'core_autocrlf', + 'tracked_eol', + 'line_endings', + 'files', +]); +const FILE_KEYS = Object.freeze([ + 'role', + 'path', + 'git_blob_oid', + 'git_blob_sha256', + 'filesystem_sha256', + 'byte_length', + 'crlf_pairs', + 'lone_lf', + 'bare_carriage_returns', +]); +const COVERAGE_KEYS = Object.freeze([ + 'schema_version', + 'slice', + 'node_version', + 'command', + 'capture_manifest_path', + 'capture_manifest_sha256', + 'transcript_representation', + 'transcripts', + 'runs', + 'reproducible', + 'threshold', +]); +const TRANSCRIPT_KEYS = Object.freeze(['run', 'path', 'sha256']); +const RUN_KEYS = Object.freeze([ + 'run', + 'exit_code', + 'tests', + 'passed', + 'failed', + 'aggregate', + 'verifier', + 'test_harness', +]); +const METRIC_KEYS = Object.freeze(['line_percent', 'branch_percent', 'functions_percent']); +const THRESHOLD_KEYS = Object.freeze(['percent', 'basis', 'observed_percent', 'status']); + +if (!allowedModes.has(mode)) { + process.stderr.write(`unsupported mode: ${mode}\n`); + process.exit(2); +} + +function runGit(args, options = {}) { + const result = spawnSync('git', args, { + cwd: options.cwd, + encoding: options.encoding === undefined ? null : options.encoding, + maxBuffer: 64 * 1024 * 1024, + windowsHide: true, + }); + if (result.error) throw result.error; + if (result.status !== 0) { + const stderr = Buffer.isBuffer(result.stderr) + ? result.stderr.toString('utf8').trim() + : String(result.stderr || '').trim(); + throw new Error(`git ${args.join(' ')} failed (${result.status}): ${stderr}`); + } + return result.stdout; +} + +function sha256(bytes) { + return crypto.createHash('sha256').update(bytes).digest('hex'); +} + +function isPlainObject(value) { + return value !== null && typeof value === 'object' && !Array.isArray(value); +} + +function validateExactKeys(value, requiredKeys, label, errors) { + if (!isPlainObject(value)) { + errors.push(`${label} must be an object`); + return false; + } + const required = new Set(requiredKeys); + for (const key of requiredKeys) { + if (!Object.hasOwn(value, key)) errors.push(`${label} is missing required key: ${key}`); + } + for (const key of Object.keys(value)) { + if (!required.has(key)) errors.push(`${label} contains unknown key: ${key}`); + } + return true; +} + +function analyzeLineEndings(bytes) { + let crlfPairs = 0; + let loneLf = 0; + let bareCarriageReturns = 0; + for (let index = 0; index < bytes.length; index += 1) { + if (bytes[index] === 13) { + if (bytes[index + 1] === 10) { + crlfPairs += 1; + index += 1; + } else { + bareCarriageReturns += 1; + } + } else if (bytes[index] === 10) { + loneLf += 1; + } + } + return { crlfPairs, loneLf, bareCarriageReturns }; +} + +function readJson(repoRoot, relativePath) { + return JSON.parse(fs.readFileSync(path.join(repoRoot, ...relativePath.split('/')), 'utf8')); +} + +function getCoreAutocrlf(repoRoot) { + const result = spawnSync('git', ['config', '--get', 'core.autocrlf'], { + cwd: repoRoot, + encoding: 'utf8', + windowsHide: true, + }); + if (result.status === 1) return null; + if (result.status !== 0) throw new Error('git config --get core.autocrlf failed'); + return result.stdout.trim(); +} + +function verifyMaterialization(repoRoot, errors) { + const capture = readJson(repoRoot, CAPTURE_PATH); + const captureIsObject = validateExactKeys(capture, CAPTURE_KEYS, 'capture', errors); + if (captureIsObject) { + if (capture.schema_version !== 1) errors.push('capture.schema_version must be 1'); + if (capture.slice !== SLICE) errors.push(`capture.slice must be ${SLICE}`); + if (capture.materialization !== 'fresh-core-autocrlf-false-lf') { + errors.push('capture.materialization must be fresh-core-autocrlf-false-lf'); + } + if (capture.base_commit !== BASE_COMMIT) errors.push('capture.base_commit must equal R4 target'); + if (capture.core_autocrlf !== 'false') errors.push('capture.core_autocrlf must be false'); + if (capture.tracked_eol !== '2/2 i/lf w/lf') { + errors.push('capture.tracked_eol must be 2/2 i/lf w/lf'); + } + if (capture.line_endings !== 'lf-only') errors.push('capture.line_endings must be lf-only'); + } + if (getCoreAutocrlf(repoRoot) !== 'false') { + errors.push('executing checkout core.autocrlf must be false'); + } + + const declaredFiles = Array.isArray(capture.files) ? capture.files : []; + if (!Array.isArray(capture.files)) errors.push('capture.files must be an array'); + if (declaredFiles.length !== REQUIRED_FILES.length) { + errors.push(`capture.files must contain exactly ${REQUIRED_FILES.length} entries`); + } + + return REQUIRED_FILES.map((required, index) => { + const entry = declaredFiles[index]; + const label = `capture.files[${index}]`; + if (!validateExactKeys(entry, FILE_KEYS, label, errors)) { + return { role: required.role, path: required.path, match: false }; + } + if (entry.role !== required.role) errors.push(`${label}.role must be ${required.role}`); + if (entry.path !== required.path) errors.push(`${label}.path must be ${required.path}`); + + const indexBlobOid = runGit(['rev-parse', `:${required.path}`], { + cwd: repoRoot, + encoding: 'utf8', + }).trim(); + const indexBlob = runGit(['cat-file', 'blob', indexBlobOid], { cwd: repoRoot }); + const checkoutBytes = fs.readFileSync(path.join(repoRoot, ...required.path.split('/'))); + const trackedEol = runGit(['ls-files', '--eol', '--', required.path], { + cwd: repoRoot, + encoding: 'utf8', + }).trim(); + const lineEndings = analyzeLineEndings(checkoutBytes); + const gitBlobSha256 = sha256(indexBlob); + const filesystemSha256 = sha256(checkoutBytes); + const lfExact = + lineEndings.crlfPairs === 0 && + lineEndings.bareCarriageReturns === 0 && + lineEndings.loneLf > 0 && + checkoutBytes.equals(indexBlob) && + /^i\/lf\s+w\/lf\s+/.test(trackedEol); + if (!lfExact) { + errors.push( + `coverage file must be LF-only and byte-identical to the Git index: ${required.path}`, + ); + } + const declaredMatch = + entry.git_blob_oid === indexBlobOid && + entry.git_blob_sha256 === gitBlobSha256 && + entry.filesystem_sha256 === filesystemSha256 && + entry.byte_length === checkoutBytes.length && + entry.crlf_pairs === lineEndings.crlfPairs && + entry.lone_lf === lineEndings.loneLf && + entry.bare_carriage_returns === lineEndings.bareCarriageReturns; + if (!declaredMatch) { + errors.push(`coverage file declaration disagrees with actual bytes: ${required.path}`); + } + return { + role: required.role, + path: required.path, + git_blob_oid: indexBlobOid, + git_blob_sha256: gitBlobSha256, + filesystem_sha256: filesystemSha256, + byte_length: checkoutBytes.length, + crlf_pairs: lineEndings.crlfPairs, + lone_lf: lineEndings.loneLf, + bare_carriage_returns: lineEndings.bareCarriageReturns, + tracked_eol: trackedEol, + match: lfExact && declaredMatch, + }; + }); +} + +function parseMetricLine(text, filename) { + const escaped = filename.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); + const match = text.match( + new RegExp(`${escaped}\\s+\\|\\s+([0-9.]+)\\s+\\|\\s+([0-9.]+)\\s+\\|\\s+([0-9.]+)\\s+\\|`), + ); + if (!match) throw new Error(`coverage transcript is missing metric row: ${filename}`); + return { + line_percent: Number(match[1]), + branch_percent: Number(match[2]), + functions_percent: Number(match[3]), + }; +} + +function parseCoverageTranscript(bytes) { + const text = bytes.toString('utf8'); + const count = (label) => { + const match = text.match(new RegExp(`(?:ℹ|#) ${label} ([0-9]+)`)); + if (!match) throw new Error(`coverage transcript is missing ${label} count`); + return Number(match[1]); + }; + return { + exit_code: null, + tests: count('tests'), + passed: count('pass'), + failed: count('fail'), + aggregate: parseMetricLine(text, 'all files'), + verifier: parseMetricLine(text, 'verify-manifest.cjs'), + test_harness: parseMetricLine(text, 'verify-manifest.test.cjs'), + }; +} + +function validateMetricObject(value, label, errors) { + if (!validateExactKeys(value, METRIC_KEYS, label, errors)) return; + for (const key of METRIC_KEYS) { + if (typeof value[key] !== 'number' || !Number.isFinite(value[key])) { + errors.push(`${label}.${key} must be a finite number`); + } + } +} + +function verifyCoverageEvidence(repoRoot, errors) { + errors.push( + 'R5 coverage evidence is rejected: canonical TAP is not bound to a real process-status envelope; use R6', + ); + const coverage = readJson(repoRoot, COVERAGE_PATH); + const coverageIsObject = validateExactKeys(coverage, COVERAGE_KEYS, 'coverage', errors); + if (coverageIsObject) { + if (coverage.schema_version !== 1) errors.push('coverage.schema_version must be 1'); + if (coverage.slice !== SLICE) errors.push(`coverage.slice must be ${SLICE}`); + if (coverage.node_version !== process.version) { + errors.push(`coverage.node_version must equal executing Node ${process.version}`); + } + if (coverage.command !== COVERAGE_COMMAND) errors.push('coverage.command is not canonical'); + if (coverage.capture_manifest_path !== CAPTURE_PATH) { + errors.push(`coverage.capture_manifest_path must be ${CAPTURE_PATH}`); + } + if (coverage.transcript_representation !== 'canonical-lf-tap-trim-trailing-table-padding') { + errors.push('coverage.transcript_representation is not canonical'); + } + } + const captureBytes = fs.readFileSync(path.join(repoRoot, ...CAPTURE_PATH.split('/'))); + if (coverage.capture_manifest_sha256 !== sha256(captureBytes)) { + errors.push('coverage.capture_manifest_sha256 disagrees with capture manifest bytes'); + } + + const transcripts = Array.isArray(coverage.transcripts) ? coverage.transcripts : []; + const declaredRuns = Array.isArray(coverage.runs) ? coverage.runs : []; + if (transcripts.length !== 2) errors.push('coverage.transcripts must contain exactly two entries'); + if (declaredRuns.length !== 2) errors.push('coverage.runs must contain exactly two entries'); + const parsedRuns = transcripts.map((entry, index) => { + const label = `coverage.transcripts[${index}]`; + validateExactKeys(entry, TRANSCRIPT_KEYS, label, errors); + const expectedPath = `${EVIDENCE_DIRECTORY}/coverage-run-${index + 1}.tap`; + if (entry.run !== index + 1) errors.push(`${label}.run must be ${index + 1}`); + if (entry.path !== expectedPath) errors.push(`${label}.path must be ${expectedPath}`); + const bytes = fs.readFileSync(path.join(repoRoot, ...expectedPath.split('/'))); + if (entry.sha256 !== sha256(bytes)) errors.push(`${label}.sha256 disagrees with transcript`); + return { run: index + 1, ...parseCoverageTranscript(bytes) }; + }); + + declaredRuns.forEach((run, index) => { + const label = `coverage.runs[${index}]`; + if (!validateExactKeys(run, RUN_KEYS, label, errors)) return; + validateMetricObject(run.aggregate, `${label}.aggregate`, errors); + validateMetricObject(run.verifier, `${label}.verifier`, errors); + validateMetricObject(run.test_harness, `${label}.test_harness`, errors); + if (JSON.stringify(run) !== JSON.stringify(parsedRuns[index])) { + errors.push(`${label} disagrees with parsed canonical transcript`); + } + }); + if (parsedRuns.some((run) => run.tests !== 24 || run.passed !== 24 || run.failed !== 0)) { + errors.push('coverage transcripts must record 24/24 passing tests'); + } + if (parsedRuns.length === 2) { + const firstMetrics = JSON.stringify({ + aggregate: parsedRuns[0].aggregate, + verifier: parsedRuns[0].verifier, + test_harness: parsedRuns[0].test_harness, + }); + const secondMetrics = JSON.stringify({ + aggregate: parsedRuns[1].aggregate, + verifier: parsedRuns[1].verifier, + test_harness: parsedRuns[1].test_harness, + }); + if (firstMetrics !== secondMetrics) errors.push('coverage metrics must be identical across runs'); + } + if (coverage.reproducible !== true) errors.push('coverage.reproducible must be true'); + + const threshold = isPlainObject(coverage.threshold) ? coverage.threshold : {}; + validateExactKeys(threshold, THRESHOLD_KEYS, 'coverage.threshold', errors); + const observed = parsedRuns[0]?.aggregate?.line_percent; + if (threshold.percent !== 80) errors.push('coverage.threshold.percent must be 80'); + if (threshold.basis !== 'aggregate line coverage') { + errors.push('coverage.threshold.basis must be aggregate line coverage'); + } + if (threshold.observed_percent !== observed) { + errors.push('coverage.threshold.observed_percent must equal parsed aggregate line percent'); + } + if (typeof observed !== 'number' || observed < 80) { + errors.push('coverage aggregate line percent must be at least 80'); + } + if (threshold.status !== 'PASS') errors.push('coverage.threshold.status must be PASS'); + + return { coverage, parsed_runs: parsedRuns }; +} + +function main() { + const repoRoot = path.resolve( + runGit(['rev-parse', '--show-toplevel'], { encoding: 'utf8' }).trim(), + ); + const structuralErrors = []; + const entries = verifyMaterialization(repoRoot, structuralErrors); + const coverageResult = mode === 'coverage-evidence' + ? verifyCoverageEvidence(repoRoot, structuralErrors) + : null; + const matched = entries.filter((entry) => entry.match).length; + const status = structuralErrors.length === 0 && matched === entries.length ? 'PASS' : 'FAIL'; + const result = { + schema_version: 1, + slice: SLICE, + mode, + status, + representation: 'fresh-core-autocrlf-false-lf', + total: entries.length, + matched, + structural_errors: structuralErrors, + entries, + coverage: coverageResult, + }; + process.stdout.write(`${JSON.stringify(result, null, 2)}\n`); + if (status === 'FAIL') process.exit(1); +} + +try { + main(); +} catch (error) { + process.stderr.write(`${error.stack || error.message}\n`); + process.exit(1); +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/.gitattributes b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/.gitattributes new file mode 100644 index 00000000..8196bad7 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/.gitattributes @@ -0,0 +1,2 @@ +* -text +*.bin binary diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/R6-SHA256SUMS.txt b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/R6-SHA256SUMS.txt new file mode 100644 index 00000000..45207d64 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/R6-SHA256SUMS.txt @@ -0,0 +1,32 @@ +a55e59dd870659330add8f840272aa1e8829f8161779db3e9be9e6e014cf1ba4 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.cjs +d04b8bc050182f2806972c9d30aaa7d6349ef2f56f15b3ef21f7005459bb86cc .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs +28b5286a025794bae2c24535fe31f35e23c8d940698ab9c561aa5a0c1fd178c8 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-capture.v2.json +2d7db2ce366c943572af2c04c9239669cc5226541967d404ee00a4d287cbfb86 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-repeat.v2.json +b4271dba88bbd81df2b2e8a541dd35d21cca2637cd53016ff30c15d305f4b384 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-1.envelope.v2.json +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-1.stderr.bin +4fa07b262ea52975cdeb007bf3f7ce15787dc801731cf274f82af19007a6921b .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-1.stdout.bin +dcb71f918832c790b93f9f01564e247a69ff623c50a303aa1979f61ab12cfc18 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-1.tap +88c6eb1450b828cdad7657a6e69138cf52ed36984e267cafd5989734e4ca7419 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-2.envelope.v2.json +e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-2.stderr.bin +8c6d8ae30614624a979c2423ab7c36f9f6f6c029bc4f9e1a4c91fda035164d95 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-2.stdout.bin +7e56b583cb602dd1ac6f156edfd5f18380991126bbb5ef42995fd5ea2089df21 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-2.tap +621be8ab42138dc513f7a4669be76a5772ddac448dbfe2dbe2f236c29d822e7a .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/.gitattributes +80decf6c7f1d616f3f242e966b7dff9917cc615247401356b816111f32bcbffa .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/assemble-coverage-repeat.cjs +c2685b803ed2207046dc6718a1990861ff168c68d953f43737c5245666d093aa .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/build-checksums.cjs +d10b2cfa0c8230ea26db4c22058e7d06324c5a5282ffa6105c8f4ace7fc27c20 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/capture-coverage-run.cjs +c6298da38118de81dbc226dd17cb0b22ce6f8d5680573217e76adfd21439a236 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/prove-it.cjs +fa9569dbe6132d0db41382d7df52a5ff894bd5f2de0d29051de44f278e272fe3 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/red-reproduction.cjs +eae5cf24991cf3122a85488ac57e986f589002d071d407a6228a0e6dc235481c .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/verify-evidence.cjs +d49a5b28894fd4308cf463f1d99f6fd0d58b7d389b7a717dcb5da94561872a72 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/verify-evidence.test.cjs +26a18d00c33e0ffe7602c31ba493354f96104f13958b09955df03a96a1888dcd .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/verify-final-commit-replay.cjs +419e5852e7b3d56cab0275a3db6b78c0560d02b435b19568496902777319fea8 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/maker-report.md +234eacd815d4c8d2f8b803fca6b90b51848af0b7f4ffa66a44cd2f2dd4fa8625 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/maker-summary.v2.json +ac184ca611f6c17e4f0ddbb5180fae65276a6ac48c29c89c7cc55254dd3aafd9 .agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R6.red.json +774b6dc99e314d9061ce3f4b6d5f5c01e535c3403e9fa393dd2f142b0dd44177 .agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R6.tdd.json +caae7325e59534aadae7e1b647e0e86edde4674db224a9706ec12d55ce1687a8 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/R5-SHA256SUMS.txt +5bb1e3a287ef810f31803cb9ca5a048b7ccd3ad6bad1688794671fba539fbcde .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-report.md +72f20018d9c622704a3640c8f933f7db49e51942bcf8591d6ba45efa58cb3e0f .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-summary.v1.json +4d4180e0dcf75285f059892557b95b1d8794eb62b5d6043d95e2de62b6f5493c .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verification-matrix.v1.json +9e5d0edacd150125d7ec657d379d0aa9471477a5bafa74b6dd6eff7c19b0ce5c .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verify-coverage-capture.cjs +652de15a329c23c65ce9e0962e97c7b2007c2c7d44ffda5c368704aa7d41c289 .agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R5.tdd.json +14e119a072a9e4122f18f62d8a2259b7dfa817234e218ed1b0e5ccb89bc4532d .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/checksum-layers.v1.json diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/assemble-coverage-repeat.cjs b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/assemble-coverage-repeat.cjs new file mode 100644 index 00000000..38137b20 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/assemble-coverage-repeat.cjs @@ -0,0 +1,115 @@ +#!/usr/bin/env node +'use strict'; + +const crypto = require('node:crypto'); +const fs = require('node:fs'); +const path = require('node:path'); +const { spawnSync } = require('node:child_process'); + +const SLICE = 'DB-EMBEDDING-EVIDENCE-TRANSPORT-R6'; +const DIRECTORY = + '.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6'; +const CAPTURE_PATH = `${DIRECTORY}/coverage-capture.v2.json`; +const OUTPUT_PATH = `${DIRECTORY}/coverage-repeat.v2.json`; +const SCOPES = Object.freeze(['aggregate', 'verifier', 'test_harness']); +const METRICS = Object.freeze(['line_percent', 'branch_percent', 'functions_percent']); + +function sha256(bytes) { + return crypto.createHash('sha256').update(bytes).digest('hex'); +} + +function repoPath(repoRoot, relativePath) { + return path.join(repoRoot, ...relativePath.split('/')); +} + +function dimensionContract(run) { + return SCOPES.flatMap((scope) => METRICS.map((metric) => { + const observed = run[scope][metric]; + const normative = scope === 'aggregate' && metric === 'line_percent'; + const floor = normative ? 80 : null; + const margin = normative ? Number((observed - floor).toFixed(2)) : null; + return { + scope, + metric, + observed_percent: observed, + normative, + floor_percent: floor, + margin_percent: margin, + status: normative ? (observed >= floor ? 'PASS' : 'FAIL') : 'OBSERVED_NON_NORMATIVE', + }; + })); +} + +function main() { + const rootResult = spawnSync('git', ['rev-parse', '--show-toplevel'], { + cwd: process.cwd(), + encoding: 'utf8', + windowsHide: true, + }); + if (rootResult.status !== 0) throw new Error(rootResult.stderr.trim()); + const repoRoot = path.resolve(rootResult.stdout.trim()); + const captureBytes = fs.readFileSync(repoPath(repoRoot, CAPTURE_PATH)); + const envelopes = [1, 2].map((run) => { + const envelopePath = `${DIRECTORY}/coverage-run-${run}.envelope.v2.json`; + const bytes = fs.readFileSync(repoPath(repoRoot, envelopePath)); + const envelope = JSON.parse(bytes); + if (envelope.run !== run || envelope.slice !== SLICE) { + throw new Error(`run ${run} envelope identity is invalid`); + } + return { run, path: envelopePath, sha256: sha256(bytes), envelope }; + }); + const runs = envelopes.map(({ run, envelope }) => ({ + run, + envelope_exit_code: envelope.process.exit_code, + ...envelope.derived_results, + })); + const metrics = (run) => JSON.stringify({ + aggregate: run.aggregate, + verifier: run.verifier, + test_harness: run.test_harness, + }); + if (metrics(runs[0]) !== metrics(runs[1])) { + throw new Error('coverage metrics differ across real runs'); + } + const repeat = { + schema_version: 2, + slice: SLICE, + capture_manifest: { path: CAPTURE_PATH, sha256: sha256(captureBytes) }, + envelopes: envelopes.map(({ envelope, ...entry }) => entry), + runs, + reproducible: true, + dimensions: dimensionContract(runs[0]), + threshold: { + percent: 80, + basis: 'aggregate line coverage', + observed_percent: runs[0].aggregate.line_percent, + status: runs[0].aggregate.line_percent >= 80 ? 'PASS' : 'FAIL', + }, + }; + if ( + repeat.threshold.status !== 'PASS' || + repeat.dimensions.some((entry) => entry.normative && entry.status !== 'PASS') || + runs.some((run) => + run.exit_code !== 0 || + run.envelope_exit_code !== 0 || + run.tests !== 24 || + run.passed !== 24 || + run.failed !== 0 + ) + ) { + throw new Error('coverage run outcome is not releasable'); + } + fs.writeFileSync( + repoPath(repoRoot, OUTPUT_PATH), + `${JSON.stringify(repeat, null, 2)}\n`, + 'utf8', + ); + process.stdout.write(`${JSON.stringify(repeat, null, 2)}\n`); +} + +try { + main(); +} catch (error) { + process.stderr.write(`${error.stack || error.message}\n`); + process.exit(1); +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/build-checksums.cjs b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/build-checksums.cjs new file mode 100644 index 00000000..06817aa7 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/build-checksums.cjs @@ -0,0 +1,229 @@ +#!/usr/bin/env node +'use strict'; + +const crypto = require('node:crypto'); +const fs = require('node:fs'); +const path = require('node:path'); +const { spawnSync } = require('node:child_process'); + +const TARGET_BASE = 'a538f6224ef31f612152470a4ecd45e78ff9d0f2'; +const BASE = '.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport'; +const R5 = `${BASE}-r5`; +const R6 = `${BASE}-r6`; +const R5_SUMS = `${R5}/R5-SHA256SUMS.txt`; +const MANIFEST = `${R6}/checksum-layers.v1.json`; +const R6_SUMS = `${R6}/R6-SHA256SUMS.txt`; +const SELF_EXCLUSION = Object.freeze([MANIFEST, R6_SUMS]); +const LOAD_BEARING_UNCHANGED = Object.freeze([`${BASE}/verify-manifest.cjs`]); +const LAYERS = Object.freeze([ + Object.freeze({ + name: 'covered-final-blobs', + paths: Object.freeze([ + `${BASE}/verify-manifest.cjs`, + `${BASE}/verify-manifest.test.cjs`, + ]), + }), + Object.freeze({ + name: 'real-process-capture', + paths: Object.freeze([ + `${R6}/coverage-capture.v2.json`, + `${R6}/coverage-repeat.v2.json`, + `${R6}/coverage-run-1.envelope.v2.json`, + `${R6}/coverage-run-1.stderr.bin`, + `${R6}/coverage-run-1.stdout.bin`, + `${R6}/coverage-run-1.tap`, + `${R6}/coverage-run-2.envelope.v2.json`, + `${R6}/coverage-run-2.stderr.bin`, + `${R6}/coverage-run-2.stdout.bin`, + `${R6}/coverage-run-2.tap`, + ]), + }), + Object.freeze({ + name: 'implementation-and-verification', + paths: Object.freeze([ + `${R6}/.gitattributes`, + `${R6}/assemble-coverage-repeat.cjs`, + `${R6}/build-checksums.cjs`, + `${R6}/capture-coverage-run.cjs`, + `${R6}/prove-it.cjs`, + `${R6}/red-reproduction.cjs`, + `${R6}/verify-evidence.cjs`, + `${R6}/verify-evidence.test.cjs`, + `${R6}/verify-final-commit-replay.cjs`, + ]), + }), + Object.freeze({ + name: 'r6-reports-and-tdd', + paths: Object.freeze([ + `${R6}/maker-report.md`, + `${R6}/maker-summary.v2.json`, + '.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R6.red.json', + '.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R6.tdd.json', + ]), + }), + Object.freeze({ + name: 'r5-truth-corrections', + paths: Object.freeze([ + R5_SUMS, + `${R5}/maker-report.md`, + `${R5}/maker-summary.v1.json`, + `${R5}/verification-matrix.v1.json`, + `${R5}/verify-coverage-capture.cjs`, + '.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R5.tdd.json', + ]), + }), +]); + +function sha256(bytes) { + return crypto.createHash('sha256').update(bytes).digest('hex'); +} + +function repoPath(repoRoot, relativePath) { + return path.join(repoRoot, ...relativePath.split('/')); +} + +function git(args, cwd, encoding = null) { + const result = spawnSync('git', args, { cwd, encoding, windowsHide: true }); + if (result.status !== 0) { + const stderr = Buffer.isBuffer(result.stderr) + ? result.stderr.toString('utf8').trim() + : String(result.stderr || '').trim(); + throw new Error(`git ${args.join(' ')} failed (${result.status}): ${stderr}`); + } + return result.stdout; +} + +function indexEntry(repoRoot, relativePath, classification = null) { + const oid = String(git(['rev-parse', `:${relativePath}`], repoRoot, 'utf8')).trim(); + const bytes = Buffer.from(git(['cat-file', 'blob', oid], repoRoot)); + const entry = { path: relativePath, git_blob_oid: oid, sha256: sha256(bytes), byte_length: bytes.length }; + if (classification !== null) entry.classification = classification; + return entry; +} + +function changedPathsFromIndex(repoRoot) { + const indexTree = String(git(['write-tree'], repoRoot, 'utf8')).trim(); + const output = String( + git(['diff-tree', '--no-commit-id', '--name-only', '-r', TARGET_BASE, indexTree], repoRoot, 'utf8'), + ).trim(); + return output ? output.split(/\r?\n/).filter(Boolean).sort() : []; +} + +function refreshR5(repoRoot) { + const sumsPath = repoPath(repoRoot, R5_SUMS); + const lines = fs.readFileSync(sumsPath, 'utf8').split(/\r?\n/); + const output = lines.map((line) => { + const match = line.match(/^[0-9a-f]{64} (.+)$/); + if (!match) return line; + return `${indexEntry(repoRoot, match[1]).sha256} ${match[1]}`; + }); + fs.writeFileSync(sumsPath, output.join('\n'), 'utf8'); + process.stdout.write(`${JSON.stringify({ refreshed: R5_SUMS, entries: output.filter((line) => /^[0-9a-f]{64} /.test(line)).length })}\n`); +} + +function buildR6(repoRoot) { + const changedPaths = changedPathsFromIndex(repoRoot); + const changedSet = new Set(changedPaths); + const selfExcludedSet = new Set(SELF_EXCLUSION); + const loadBearingUnchangedSet = new Set(LOAD_BEARING_UNCHANGED); + const declaredPaths = LAYERS.flatMap((layer) => layer.paths); + if (new Set(declaredPaths).size !== declaredPaths.length) { + throw new Error('checksum layer paths contain duplicates'); + } + const declaredSet = new Set(declaredPaths); + const directlyListedChangedPaths = changedPaths.filter((entry) => !selfExcludedSet.has(entry)); + const missingChangedPaths = directlyListedChangedPaths.filter((entry) => !declaredSet.has(entry)); + if (missingChangedPaths.length > 0) { + throw new Error(`changed paths are not directly checksummed: ${missingChangedPaths.join(', ')}`); + } + const unexpectedUnchangedPaths = declaredPaths.filter( + (entry) => !changedSet.has(entry) && !loadBearingUnchangedSet.has(entry), + ); + if (unexpectedUnchangedPaths.length > 0) { + throw new Error(`unchanged checksum entries lack load-bearing classification: ${unexpectedUnchangedPaths.join(', ')}`); + } + const missingLoadBearingPaths = LOAD_BEARING_UNCHANGED.filter( + (entry) => !declaredSet.has(entry) || changedSet.has(entry), + ); + if (missingLoadBearingPaths.length > 0) { + throw new Error(`load-bearing unchanged classification is stale: ${missingLoadBearingPaths.join(', ')}`); + } + const invalidSelfExclusion = SELF_EXCLUSION.filter((entry) => !changedSet.has(entry)); + if (invalidSelfExclusion.length > 0) { + throw new Error(`self-excluded checksum paths are not changed: ${invalidSelfExclusion.join(', ')}`); + } + const layers = LAYERS.map((layer) => { + const sorted = [...layer.paths].sort(); + if (JSON.stringify(sorted) !== JSON.stringify(layer.paths)) { + throw new Error(`checksum layer paths are not lexicographically ordered: ${layer.name}`); + } + return { + name: layer.name, + entries: layer.paths.map((entry) => indexEntry( + repoRoot, + entry, + changedSet.has(entry) ? 'changed' : 'load-bearing-unchanged', + )), + }; + }); + const digestBytes = Buffer.from( + layers.flatMap((layer) => + layer.entries.map((entry) => + `${layer.name}\0${entry.classification}\0${entry.path}\0${entry.git_blob_oid}\0${entry.sha256}\n`, + ), + ).join(''), + 'utf8', + ); + const manifest = { + schema_version: 1, + slice: 'DB-EMBEDDING-EVIDENCE-TRANSPORT-R6', + algorithm: 'sha256', + representation: 'Git index blob bytes; R6 subtree is -text and byte-exact in every checkout', + ordering: 'layer declaration order; entries lexicographic by repository-relative path', + self_exclusion: [...SELF_EXCLUSION], + diff_coverage: { + target_base: TARGET_BASE, + comparison: 'target base to current Git index tree; path membership only', + changed_path_count: changedPaths.length, + directly_listed_changed_paths: directlyListedChangedPaths, + load_bearing_unchanged_paths: [...LOAD_BEARING_UNCHANGED], + }, + layer_count: layers.length, + entry_count: layers.reduce((count, layer) => count + layer.entries.length, 0), + path_digest_sha256: sha256(digestBytes), + layers, + }; + const manifestBytes = Buffer.from(`${JSON.stringify(manifest, null, 2)}\n`, 'utf8'); + fs.writeFileSync(repoPath(repoRoot, MANIFEST), manifestBytes); + const flattened = layers.flatMap((layer) => layer.entries); + const sums = [ + ...flattened.map((entry) => `${entry.sha256} ${entry.path}`), + `${sha256(manifestBytes)} ${MANIFEST}`, + ]; + fs.writeFileSync(repoPath(repoRoot, R6_SUMS), `${sums.join('\n')}\n`, 'utf8'); + process.stdout.write(`${JSON.stringify({ + manifest: MANIFEST, + manifest_sha256: sha256(manifestBytes), + sums: R6_SUMS, + layers: layers.length, + entries: flattened.length, + path_digest_sha256: manifest.path_digest_sha256, + }, null, 2)}\n`); +} + +function main() { + const mode = process.argv[2]; + if (!['--refresh-r5', '--build-r6'].includes(mode)) { + throw new Error('usage: build-checksums.cjs --refresh-r5|--build-r6'); + } + const repoRoot = path.resolve(String(git(['rev-parse', '--show-toplevel'], process.cwd(), 'utf8')).trim()); + if (mode === '--refresh-r5') refreshR5(repoRoot); + else buildR6(repoRoot); +} + +try { + main(); +} catch (error) { + process.stderr.write(`${error.stack || error.message}\n`); + process.exit(1); +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/capture-coverage-run.cjs b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/capture-coverage-run.cjs new file mode 100644 index 00000000..adf25a38 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/capture-coverage-run.cjs @@ -0,0 +1,408 @@ +#!/usr/bin/env node +'use strict'; + +const crypto = require('node:crypto'); +const fs = require('node:fs'); +const os = require('node:os'); +const path = require('node:path'); +const { spawnSync } = require('node:child_process'); + +const SLICE = 'DB-EMBEDDING-EVIDENCE-TRANSPORT-R6'; +const TARGET_BASE = 'a538f6224ef31f612152470a4ecd45e78ff9d0f2'; +const BASE_DIRECTORY = + '.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport'; +const EVIDENCE_DIRECTORY = `${BASE_DIRECTORY}-r6`; +const VERIFIER_PATH = `${BASE_DIRECTORY}/verify-manifest.cjs`; +const TEST_PATH = `${BASE_DIRECTORY}/verify-manifest.test.cjs`; +const WRAPPER_PATH = `${EVIDENCE_DIRECTORY}/capture-coverage-run.cjs`; +const CAPTURE_PATH = `${EVIDENCE_DIRECTORY}/coverage-capture.v2.json`; +const COMMAND_ARGS = Object.freeze([ + '--test', + '--test-concurrency=1', + '--experimental-test-coverage', + TEST_PATH, +]); + +function sha256(bytes) { + return crypto.createHash('sha256').update(bytes).digest('hex'); +} + +function runGit(args, cwd, encoding = null) { + const result = spawnSync('git', args, { + cwd, + encoding, + maxBuffer: 64 * 1024 * 1024, + windowsHide: true, + }); + if (result.error) throw result.error; + if (result.status !== 0) { + const stderr = Buffer.isBuffer(result.stderr) + ? result.stderr.toString('utf8').trim() + : String(result.stderr || '').trim(); + throw new Error(`git ${args.join(' ')} failed (${result.status}): ${stderr}`); + } + return result.stdout; +} + +function relative(repoRoot, relativePath) { + return path.join(repoRoot, ...relativePath.split('/')); +} + +function analyzeLineEndings(bytes) { + let crlfPairs = 0; + let loneLf = 0; + let bareCarriageReturns = 0; + for (let index = 0; index < bytes.length; index += 1) { + if (bytes[index] === 13) { + if (bytes[index + 1] === 10) { + crlfPairs += 1; + index += 1; + } else { + bareCarriageReturns += 1; + } + } else if (bytes[index] === 10) { + loneLf += 1; + } + } + return { crlf_pairs: crlfPairs, lone_lf: loneLf, bare_carriage_returns: bareCarriageReturns }; +} + +function replaceCrlf(bytes) { + const output = []; + for (let index = 0; index < bytes.length; index += 1) { + if (bytes[index] === 13 && bytes[index + 1] === 10) { + output.push(10); + index += 1; + } else { + output.push(bytes[index]); + } + } + return Buffer.from(output); +} + +function indexFact(repoRoot, role, relativePath) { + const blobOid = String(runGit(['rev-parse', `:${relativePath}`], repoRoot, 'utf8')).trim(); + const bytes = Buffer.from(runGit(['cat-file', 'blob', blobOid], repoRoot)); + const endings = analyzeLineEndings(bytes); + if ( + endings.crlf_pairs !== 0 || + endings.bare_carriage_returns !== 0 || + endings.lone_lf === 0 + ) { + throw new Error(`Git index blob must be LF-only: ${relativePath}`); + } + return { + role, + path: relativePath, + git_blob_oid: blobOid, + git_blob_sha256: sha256(bytes), + byte_length: bytes.length, + ...endings, + bytes, + }; +} + +function checkoutObservation(repoRoot, fact) { + const bytes = fs.readFileSync(relative(repoRoot, fact.path)); + const endings = analyzeLineEndings(bytes); + const normalized = replaceCrlf(bytes); + let classification = 'invalid'; + if (bytes.equals(fact.bytes)) classification = 'lf-exact'; + else if (endings.bare_carriage_returns === 0 && normalized.equals(fact.bytes)) { + classification = endings.crlf_pairs > 0 && endings.lone_lf > 0 + ? 'mixed-lf-crlf-equivalent' + : 'crlf-equivalent'; + } + if (classification === 'invalid') { + throw new Error(`checkout bytes are neither exact LF nor pure CRLF-equivalent: ${fact.path}`); + } + return { + role: fact.role, + path: fact.path, + classification, + filesystem_sha256: sha256(bytes), + byte_length: bytes.length, + ...endings, + }; +} + +function canonicalizeTranscript(stdoutBytes) { + const rawEndings = analyzeLineEndings(stdoutBytes); + if (rawEndings.bare_carriage_returns !== 0) { + throw new Error('raw stdout contains a bare carriage return'); + } + const lfBytes = replaceCrlf(stdoutBytes); + const text = lfBytes.toString('utf8'); + if (!Buffer.from(text, 'utf8').equals(lfBytes)) { + throw new Error('raw stdout is not valid round-trippable UTF-8'); + } + let trimmedTrailingBytes = 0; + const lines = text.split('\n').map((line) => { + if (!line.includes('|')) return line; + const trimmed = line.replace(/[ \t]+$/, ''); + trimmedTrailingBytes += Buffer.byteLength(line) - Buffer.byteLength(trimmed); + return trimmed; + }); + const canonical = Buffer.from(lines.join('\n'), 'utf8'); + return { + bytes: canonical, + stats: { + raw_crlf_pairs_replaced: rawEndings.crlf_pairs, + table_trailing_padding_bytes_removed: trimmedTrailingBytes, + semantic_content_changes: 0, + }, + }; +} + +function parseMetricLine(text, filename) { + const escaped = filename.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); + const match = text.match( + new RegExp(`${escaped}\\s+\\|\\s+([0-9.]+)\\s+\\|\\s+([0-9.]+)\\s+\\|\\s+([0-9.]+)\\s+\\|`), + ); + if (!match) throw new Error(`canonical transcript is missing metric row: ${filename}`); + return { + line_percent: Number(match[1]), + branch_percent: Number(match[2]), + functions_percent: Number(match[3]), + }; +} + +function parseTranscript(bytes) { + const text = bytes.toString('utf8'); + const count = (label) => { + const match = text.match(new RegExp(`(?:ℹ|#) ${label} ([0-9]+)`)); + if (!match) throw new Error(`canonical transcript is missing ${label} count`); + return Number(match[1]); + }; + return { + tests: count('tests'), + passed: count('pass'), + failed: count('fail'), + aggregate: parseMetricLine(text, 'all files'), + verifier: parseMetricLine(text, 'verify-manifest.cjs'), + test_harness: parseMetricLine(text, 'verify-manifest.test.cjs'), + }; +} + +function stableFact(fact) { + const { bytes, ...serializable } = fact; + return serializable; +} + +function writeJson(filePath, value) { + fs.mkdirSync(path.dirname(filePath), { recursive: true }); + fs.writeFileSync(filePath, `${JSON.stringify(value, null, 2)}\n`, 'utf8'); +} + +function withCanonicalExecutionClone(repoRoot, indexTree, execute) { + const tempBase = path.resolve(os.tmpdir()); + const cloneRoot = fs.mkdtempSync(path.join(tempBase, 'engram-r6c-')); + try { + runGit(['clone', '--shared', '--no-checkout', '--quiet', repoRoot, cloneRoot], repoRoot); + runGit(['config', 'core.longpaths', 'true'], cloneRoot); + runGit(['config', 'core.autocrlf', 'false'], cloneRoot); + runGit(['read-tree', indexTree], cloneRoot); + runGit(['checkout-index', '--all', '--force'], cloneRoot); + return execute(cloneRoot); + } finally { + const resolvedClone = path.resolve(cloneRoot); + if (!resolvedClone.startsWith(`${tempBase}${path.sep}`)) { + throw new Error(`refusing to clean unexpected canonical clone path: ${resolvedClone}`); + } + fs.rmSync(resolvedClone, { recursive: true, force: true }); + } +} + +function main() { + const runArgument = process.argv.find((argument) => argument.startsWith('--run=')); + const run = Number(runArgument?.slice('--run='.length)); + if (run !== 1 && run !== 2) throw new Error('--run must be 1 or 2'); + + const repoRoot = path.resolve( + String(runGit(['rev-parse', '--show-toplevel'], process.cwd(), 'utf8')).trim(), + ); + const head = String(runGit(['rev-parse', 'HEAD'], repoRoot, 'utf8')).trim(); + if (head !== TARGET_BASE) { + throw new Error(`capture generation must start at exact rejected target ${TARGET_BASE}`); + } + const facts = [ + indexFact(repoRoot, 'verifier', VERIFIER_PATH), + indexFact(repoRoot, 'test_harness', TEST_PATH), + indexFact(repoRoot, 'capture_wrapper', WRAPPER_PATH), + ]; + const observations = facts.slice(0, 2).map((fact) => checkoutObservation(repoRoot, fact)); + const coreAutocrlfResult = spawnSync('git', ['config', '--get', 'core.autocrlf'], { + cwd: repoRoot, + encoding: 'utf8', + windowsHide: true, + }); + if (![0, 1].includes(coreAutocrlfResult.status)) throw new Error('cannot read core.autocrlf'); + const coreAutocrlf = coreAutocrlfResult.status === 0 + ? coreAutocrlfResult.stdout.trim() + : null; + const capture = { + schema_version: 2, + slice: SLICE, + target_base: TARGET_BASE, + source_head: head, + execution_index_tree: String(runGit(['write-tree'], repoRoot, 'utf8')).trim(), + node_version: process.version, + command: { + executable: process.execPath, + executable_basename: path.basename(process.execPath), + argv: [...COMMAND_ARGS], + cwd: '.', + }, + representation: { + checkout_observation: { + core_autocrlf: coreAutocrlf, + files: observations, + }, + canonical_execution: { + materialization: 'temporary independent Git clone materialized from the exact index tree', + repository_topology: 'git-directory', + core_autocrlf: 'false', + line_endings: 'lf-only', + files: facts.slice(0, 2).map(stableFact), + }, + }, + sources: facts.map(stableFact), + }; + const capturePath = relative(repoRoot, CAPTURE_PATH); + if (run === 1) { + writeJson(capturePath, capture); + } else { + const existing = fs.readFileSync(capturePath); + const expected = Buffer.from(`${JSON.stringify(capture, null, 2)}\n`, 'utf8'); + if (!existing.equals(expected)) { + throw new Error('run 2 source/capture state differs from run 1'); + } + } + + let child; + let startedAt = null; + let finishedAt = null; + let executionCwd = null; + withCanonicalExecutionClone(repoRoot, capture.execution_index_tree, (cloneRoot) => { + for (const fact of facts.slice(0, 2)) { + const absolutePath = relative(cloneRoot, fact.path); + if (!fs.readFileSync(absolutePath).equals(fact.bytes)) { + throw new Error(`canonical clone did not materialize exact Git-index LF bytes: ${fact.path}`); + } + } + const env = { ...process.env }; + delete env.NODE_V8_COVERAGE; + executionCwd = cloneRoot; + startedAt = new Date(); + child = spawnSync(process.execPath, COMMAND_ARGS, { + cwd: cloneRoot, + encoding: null, + env, + maxBuffer: 64 * 1024 * 1024, + windowsHide: true, + }); + finishedAt = new Date(); + }); + if (!child || !startedAt || !finishedAt || !executionCwd) { + throw new Error('coverage child process did not produce a timed result'); + } + + const stdout = Buffer.from(child.stdout || []); + const stderr = Buffer.from(child.stderr || []); + const prefix = `${EVIDENCE_DIRECTORY}/coverage-run-${run}`; + const stdoutPath = `${prefix}.stdout.bin`; + const stderrPath = `${prefix}.stderr.bin`; + const transcriptPath = `${prefix}.tap`; + fs.writeFileSync(relative(repoRoot, stdoutPath), stdout); + fs.writeFileSync(relative(repoRoot, stderrPath), stderr); + let transcript = Buffer.alloc(0); + let normalization = null; + let parsed = null; + let parseError = null; + try { + const canonical = canonicalizeTranscript(stdout); + transcript = canonical.bytes; + normalization = { + name: 'crlf-to-lf plus coverage-table trailing-padding trim', + ...canonical.stats, + }; + parsed = parseTranscript(transcript); + } catch (error) { + parseError = String(error.message || error); + } + fs.writeFileSync(relative(repoRoot, transcriptPath), transcript); + + const restored = facts.slice(0, 2).map((fact) => { + const bytes = fs.readFileSync(relative(repoRoot, fact.path)); + const before = observations.find((entry) => entry.path === fact.path); + return { + path: fact.path, + before_sha256: before.filesystem_sha256, + after_sha256: sha256(bytes), + restored: before.filesystem_sha256 === sha256(bytes), + }; + }); + if (restored.some((entry) => !entry.restored)) { + throw new Error('canonical execution overlay did not restore the checkout exactly'); + } + + const envelope = { + schema_version: 2, + slice: SLICE, + run, + capture_manifest: { + path: CAPTURE_PATH, + sha256: sha256(fs.readFileSync(capturePath)), + }, + source: { + head_commit: head, + index_tree: capture.execution_index_tree, + files: facts.map(stableFact), + }, + process: { + executable: process.execPath, + argv: [...COMMAND_ARGS], + cwd: executionCwd, + started_at_utc: startedAt.toISOString(), + finished_at_utc: finishedAt.toISOString(), + duration_ms: finishedAt.getTime() - startedAt.getTime(), + exit_code: child.status, + signal: child.signal, + spawn_error: child.error ? String(child.error.message || child.error) : null, + }, + artifacts: { + stdout: { path: stdoutPath, sha256: sha256(stdout), byte_length: stdout.length }, + stderr: { path: stderrPath, sha256: sha256(stderr), byte_length: stderr.length }, + transcript: { + path: transcriptPath, + sha256: sha256(transcript), + byte_length: transcript.length, + }, + }, + normalization, + parse_error: parseError, + derived_results: parsed ? { exit_code: child.status, ...parsed } : null, + restoration: restored, + }; + const envelopePath = `${prefix}.envelope.v2.json`; + writeJson(relative(repoRoot, envelopePath), envelope); + process.stdout.write(`${JSON.stringify({ envelope_path: envelopePath, ...envelope }, null, 2)}\n`); + if ( + child.status !== 0 || + child.signal !== null || + child.error || + parseError !== null || + parsed.tests !== 24 || + parsed.passed !== 24 || + parsed.failed !== 0 + ) { + process.exit(1); + } +} + +try { + main(); +} catch (error) { + process.stderr.write(`${error.stack || error.message}\n`); + process.exit(1); +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/checksum-layers.v1.json b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/checksum-layers.v1.json new file mode 100644 index 00000000..d8979848 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/checksum-layers.v1.json @@ -0,0 +1,298 @@ +{ + "schema_version": 1, + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT-R6", + "algorithm": "sha256", + "representation": "Git index blob bytes; R6 subtree is -text and byte-exact in every checkout", + "ordering": "layer declaration order; entries lexicographic by repository-relative path", + "self_exclusion": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/checksum-layers.v1.json", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/R6-SHA256SUMS.txt" + ], + "diff_coverage": { + "target_base": "a538f6224ef31f612152470a4ecd45e78ff9d0f2", + "comparison": "target base to current Git index tree; path membership only", + "changed_path_count": 32, + "directly_listed_changed_paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/R5-SHA256SUMS.txt", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-report.md", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-summary.v1.json", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verification-matrix.v1.json", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verify-coverage-capture.cjs", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/.gitattributes", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/assemble-coverage-repeat.cjs", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/build-checksums.cjs", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/capture-coverage-run.cjs", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-capture.v2.json", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-repeat.v2.json", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-1.envelope.v2.json", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-1.stderr.bin", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-1.stdout.bin", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-1.tap", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-2.envelope.v2.json", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-2.stderr.bin", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-2.stdout.bin", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-2.tap", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/maker-report.md", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/maker-summary.v2.json", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/prove-it.cjs", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/red-reproduction.cjs", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/verify-evidence.cjs", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/verify-evidence.test.cjs", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/verify-final-commit-replay.cjs", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs", + ".agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R5.tdd.json", + ".agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R6.red.json", + ".agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R6.tdd.json" + ], + "load_bearing_unchanged_paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.cjs" + ] + }, + "layer_count": 5, + "entry_count": 31, + "path_digest_sha256": "5560d68cff17499f55d71a9abfedaa4d1b10821c3b33faa294f1cad72cd7b4d4", + "layers": [ + { + "name": "covered-final-blobs", + "entries": [ + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.cjs", + "git_blob_oid": "75bec9c41eb5abc435f13d90848074f6608f7fce", + "sha256": "a55e59dd870659330add8f840272aa1e8829f8161779db3e9be9e6e014cf1ba4", + "byte_length": 25465, + "classification": "load-bearing-unchanged" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs", + "git_blob_oid": "caca5ec75f47c03698ac270b549a432b0de04cfe", + "sha256": "d04b8bc050182f2806972c9d30aaa7d6349ef2f56f15b3ef21f7005459bb86cc", + "byte_length": 24229, + "classification": "changed" + } + ] + }, + { + "name": "real-process-capture", + "entries": [ + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-capture.v2.json", + "git_blob_oid": "98f78042e6b81a6c6d86f26ed3ba6cc06c437f86", + "sha256": "28b5286a025794bae2c24535fe31f35e23c8d940698ab9c561aa5a0c1fd178c8", + "byte_length": 4130, + "classification": "changed" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-repeat.v2.json", + "git_blob_oid": "d1297bbbd8b627ae5e44e051c194962781243cc0", + "sha256": "2d7db2ce366c943572af2c04c9239669cc5226541967d404ee00a4d287cbfb86", + "byte_length": 4150, + "classification": "changed" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-1.envelope.v2.json", + "git_blob_oid": "8768f5f14a6ecb9a838a7e1bff6778ff75286d10", + "sha256": "b4271dba88bbd81df2b2e8a541dd35d21cca2637cd53016ff30c15d305f4b384", + "byte_length": 4543, + "classification": "changed" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-1.stderr.bin", + "git_blob_oid": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "byte_length": 0, + "classification": "changed" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-1.stdout.bin", + "git_blob_oid": "fab43bb9858a0a15004a16d9e9cc6bf9ec9362c4", + "sha256": "4fa07b262ea52975cdeb007bf3f7ce15787dc801731cf274f82af19007a6921b", + "byte_length": 4422, + "classification": "changed" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-1.tap", + "git_blob_oid": "13ab109fa12c9118d0b1c788b4bbe349c8cd5304", + "sha256": "dcb71f918832c790b93f9f01564e247a69ff623c50a303aa1979f61ab12cfc18", + "byte_length": 4416, + "classification": "changed" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-2.envelope.v2.json", + "git_blob_oid": "3e194e5907caa1d63016b5cd562c9ec090f67e3c", + "sha256": "88c6eb1450b828cdad7657a6e69138cf52ed36984e267cafd5989734e4ca7419", + "byte_length": 4543, + "classification": "changed" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-2.stderr.bin", + "git_blob_oid": "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "byte_length": 0, + "classification": "changed" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-2.stdout.bin", + "git_blob_oid": "a6085ab23575c510ab17fa6e704cca9e03482463", + "sha256": "8c6d8ae30614624a979c2423ab7c36f9f6f6c029bc4f9e1a4c91fda035164d95", + "byte_length": 4420, + "classification": "changed" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-2.tap", + "git_blob_oid": "746966c6b32fa2a1893bdaed056810f59a2c8530", + "sha256": "7e56b583cb602dd1ac6f156edfd5f18380991126bbb5ef42995fd5ea2089df21", + "byte_length": 4414, + "classification": "changed" + } + ] + }, + { + "name": "implementation-and-verification", + "entries": [ + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/.gitattributes", + "git_blob_oid": "8196bad75728e1a10d66483da9f8ec5d6b369da8", + "sha256": "621be8ab42138dc513f7a4669be76a5772ddac448dbfe2dbe2f236c29d822e7a", + "byte_length": 21, + "classification": "changed" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/assemble-coverage-repeat.cjs", + "git_blob_oid": "38137b203b56bd367f7dacc54decc1518ac512db", + "sha256": "80decf6c7f1d616f3f242e966b7dff9917cc615247401356b816111f32bcbffa", + "byte_length": 3823, + "classification": "changed" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/build-checksums.cjs", + "git_blob_oid": "06817aa7135639254536f558bf8059988e44c6db", + "sha256": "c2685b803ed2207046dc6718a1990861ff168c68d953f43737c5245666d093aa", + "byte_length": 8908, + "classification": "changed" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/capture-coverage-run.cjs", + "git_blob_oid": "adf25a38e0e969d33a12fdd2721907c1fee8bd31", + "sha256": "d10b2cfa0c8230ea26db4c22058e7d06324c5a5282ffa6105c8f4ace7fc27c20", + "byte_length": 13604, + "classification": "changed" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/prove-it.cjs", + "git_blob_oid": "1fac7bf301507b6f48f6b60c7c1f06b2487805db", + "sha256": "c6298da38118de81dbc226dd17cb0b22ce6f8d5680573217e76adfd21439a236", + "byte_length": 5686, + "classification": "changed" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/red-reproduction.cjs", + "git_blob_oid": "ee39e339f882a4cf76593caffb93eb2f079345fb", + "sha256": "fa9569dbe6132d0db41382d7df52a5ff894bd5f2de0d29051de44f278e272fe3", + "byte_length": 8208, + "classification": "changed" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/verify-evidence.cjs", + "git_blob_oid": "f81ca4b1616a58049327b52adee5b9e9ab844eac", + "sha256": "eae5cf24991cf3122a85488ac57e986f589002d071d407a6228a0e6dc235481c", + "byte_length": 39021, + "classification": "changed" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/verify-evidence.test.cjs", + "git_blob_oid": "39ccc3463292a11975bda90271b3b2f169472b64", + "sha256": "d49a5b28894fd4308cf463f1d99f6fd0d58b7d389b7a717dcb5da94561872a72", + "byte_length": 11110, + "classification": "changed" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/verify-final-commit-replay.cjs", + "git_blob_oid": "dc5d3eb0e2fe0747ed3555fd12f41e3962201977", + "sha256": "26a18d00c33e0ffe7602c31ba493354f96104f13958b09955df03a96a1888dcd", + "byte_length": 13561, + "classification": "changed" + } + ] + }, + { + "name": "r6-reports-and-tdd", + "entries": [ + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/maker-report.md", + "git_blob_oid": "4edad29c0926bd9576bb934c1b670c824441dbe9", + "sha256": "419e5852e7b3d56cab0275a3db6b78c0560d02b435b19568496902777319fea8", + "byte_length": 6333, + "classification": "changed" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/maker-summary.v2.json", + "git_blob_oid": "47be10b0daaf8b6079a85bae2bf6b350d98b8ca3", + "sha256": "234eacd815d4c8d2f8b803fca6b90b51848af0b7f4ffa66a44cd2f2dd4fa8625", + "byte_length": 3141, + "classification": "changed" + }, + { + "path": ".agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R6.red.json", + "git_blob_oid": "bacd1088d7971bda49d299bf5a38339178c820a3", + "sha256": "ac184ca611f6c17e4f0ddbb5180fae65276a6ac48c29c89c7cc55254dd3aafd9", + "byte_length": 4129, + "classification": "changed" + }, + { + "path": ".agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R6.tdd.json", + "git_blob_oid": "0428bf0bd3fea999c95d59d931d5ed86ed301f9c", + "sha256": "774b6dc99e314d9061ce3f4b6d5f5c01e535c3403e9fa393dd2f142b0dd44177", + "byte_length": 7079, + "classification": "changed" + } + ] + }, + { + "name": "r5-truth-corrections", + "entries": [ + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/R5-SHA256SUMS.txt", + "git_blob_oid": "2b97e774a00cca388bf9e9b549826bcf276427b5", + "sha256": "caae7325e59534aadae7e1b647e0e86edde4674db224a9706ec12d55ce1687a8", + "byte_length": 5841, + "classification": "changed" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-report.md", + "git_blob_oid": "d2581178d3c9b19270da661a82151bbe9883d41e", + "sha256": "5bb1e3a287ef810f31803cb9ca5a048b7ccd3ad6bad1688794671fba539fbcde", + "byte_length": 4673, + "classification": "changed" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-summary.v1.json", + "git_blob_oid": "5dbbeb0747eb0e1facf03491bebc2d6824917fd7", + "sha256": "72f20018d9c622704a3640c8f933f7db49e51942bcf8591d6ba45efa58cb3e0f", + "byte_length": 5337, + "classification": "changed" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verification-matrix.v1.json", + "git_blob_oid": "c8919227efd0b245d4d45983591d8aeafaae71e6", + "sha256": "4d4180e0dcf75285f059892557b95b1d8794eb62b5d6043d95e2de62b6f5493c", + "byte_length": 1359, + "classification": "changed" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verify-coverage-capture.cjs", + "git_blob_oid": "dc4d647ad6fd13c0fefb3b0ff822deee352cd8d1", + "sha256": "9e5d0edacd150125d7ec657d379d0aa9471477a5bafa74b6dd6eff7c19b0ce5c", + "byte_length": 15440, + "classification": "changed" + }, + { + "path": ".agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R5.tdd.json", + "git_blob_oid": "06c850fb59746196135adf23ef0dd68100ebe9a5", + "sha256": "652de15a329c23c65ce9e0962e97c7b2007c2c7d44ffda5c368704aa7d41c289", + "byte_length": 4197, + "classification": "changed" + } + ] + } + ] +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-capture.v2.json b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-capture.v2.json new file mode 100644 index 00000000..98f78042 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-capture.v2.json @@ -0,0 +1,106 @@ +{ + "schema_version": 2, + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT-R6", + "target_base": "a538f6224ef31f612152470a4ecd45e78ff9d0f2", + "source_head": "a538f6224ef31f612152470a4ecd45e78ff9d0f2", + "execution_index_tree": "8564887bc0df75b74b3e22b112f20a86c034fdc6", + "node_version": "v24.2.0", + "command": { + "executable": "C:\\nvm4w\\nodejs\\node.exe", + "executable_basename": "node.exe", + "argv": [ + "--test", + "--test-concurrency=1", + "--experimental-test-coverage", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs" + ], + "cwd": "." + }, + "representation": { + "checkout_observation": { + "core_autocrlf": "false", + "files": [ + { + "role": "verifier", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.cjs", + "classification": "lf-exact", + "filesystem_sha256": "a55e59dd870659330add8f840272aa1e8829f8161779db3e9be9e6e014cf1ba4", + "byte_length": 25465, + "crlf_pairs": 0, + "lone_lf": 718, + "bare_carriage_returns": 0 + }, + { + "role": "test_harness", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs", + "classification": "lf-exact", + "filesystem_sha256": "d04b8bc050182f2806972c9d30aaa7d6349ef2f56f15b3ef21f7005459bb86cc", + "byte_length": 24229, + "crlf_pairs": 0, + "lone_lf": 726, + "bare_carriage_returns": 0 + } + ] + }, + "canonical_execution": { + "materialization": "temporary independent Git clone materialized from the exact index tree", + "repository_topology": "git-directory", + "core_autocrlf": "false", + "line_endings": "lf-only", + "files": [ + { + "role": "verifier", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.cjs", + "git_blob_oid": "75bec9c41eb5abc435f13d90848074f6608f7fce", + "git_blob_sha256": "a55e59dd870659330add8f840272aa1e8829f8161779db3e9be9e6e014cf1ba4", + "byte_length": 25465, + "crlf_pairs": 0, + "lone_lf": 718, + "bare_carriage_returns": 0 + }, + { + "role": "test_harness", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs", + "git_blob_oid": "caca5ec75f47c03698ac270b549a432b0de04cfe", + "git_blob_sha256": "d04b8bc050182f2806972c9d30aaa7d6349ef2f56f15b3ef21f7005459bb86cc", + "byte_length": 24229, + "crlf_pairs": 0, + "lone_lf": 726, + "bare_carriage_returns": 0 + } + ] + } + }, + "sources": [ + { + "role": "verifier", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.cjs", + "git_blob_oid": "75bec9c41eb5abc435f13d90848074f6608f7fce", + "git_blob_sha256": "a55e59dd870659330add8f840272aa1e8829f8161779db3e9be9e6e014cf1ba4", + "byte_length": 25465, + "crlf_pairs": 0, + "lone_lf": 718, + "bare_carriage_returns": 0 + }, + { + "role": "test_harness", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs", + "git_blob_oid": "caca5ec75f47c03698ac270b549a432b0de04cfe", + "git_blob_sha256": "d04b8bc050182f2806972c9d30aaa7d6349ef2f56f15b3ef21f7005459bb86cc", + "byte_length": 24229, + "crlf_pairs": 0, + "lone_lf": 726, + "bare_carriage_returns": 0 + }, + { + "role": "capture_wrapper", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/capture-coverage-run.cjs", + "git_blob_oid": "adf25a38e0e969d33a12fdd2721907c1fee8bd31", + "git_blob_sha256": "d10b2cfa0c8230ea26db4c22058e7d06324c5a5282ffa6105c8f4ace7fc27c20", + "byte_length": 13604, + "crlf_pairs": 0, + "lone_lf": 408, + "bare_carriage_returns": 0 + } + ] +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-repeat.v2.json b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-repeat.v2.json new file mode 100644 index 00000000..d1297bbb --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-repeat.v2.json @@ -0,0 +1,158 @@ +{ + "schema_version": 2, + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT-R6", + "capture_manifest": { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-capture.v2.json", + "sha256": "28b5286a025794bae2c24535fe31f35e23c8d940698ab9c561aa5a0c1fd178c8" + }, + "envelopes": [ + { + "run": 1, + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-1.envelope.v2.json", + "sha256": "b4271dba88bbd81df2b2e8a541dd35d21cca2637cd53016ff30c15d305f4b384" + }, + { + "run": 2, + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-2.envelope.v2.json", + "sha256": "88c6eb1450b828cdad7657a6e69138cf52ed36984e267cafd5989734e4ca7419" + } + ], + "runs": [ + { + "run": 1, + "envelope_exit_code": 0, + "exit_code": 0, + "tests": 24, + "passed": 24, + "failed": 0, + "aggregate": { + "line_percent": 89.96, + "branch_percent": 75.86, + "functions_percent": 95.8 + }, + "verifier": { + "line_percent": 80.08, + "branch_percent": 55.91, + "functions_percent": 81.82 + }, + "test_harness": { + "line_percent": 99.72, + "branch_percent": 94.78, + "functions_percent": 100 + } + }, + { + "run": 2, + "envelope_exit_code": 0, + "exit_code": 0, + "tests": 24, + "passed": 24, + "failed": 0, + "aggregate": { + "line_percent": 89.96, + "branch_percent": 75.86, + "functions_percent": 95.8 + }, + "verifier": { + "line_percent": 80.08, + "branch_percent": 55.91, + "functions_percent": 81.82 + }, + "test_harness": { + "line_percent": 99.72, + "branch_percent": 94.78, + "functions_percent": 100 + } + } + ], + "reproducible": true, + "dimensions": [ + { + "scope": "aggregate", + "metric": "line_percent", + "observed_percent": 89.96, + "normative": true, + "floor_percent": 80, + "margin_percent": 9.96, + "status": "PASS" + }, + { + "scope": "aggregate", + "metric": "branch_percent", + "observed_percent": 75.86, + "normative": false, + "floor_percent": null, + "margin_percent": null, + "status": "OBSERVED_NON_NORMATIVE" + }, + { + "scope": "aggregate", + "metric": "functions_percent", + "observed_percent": 95.8, + "normative": false, + "floor_percent": null, + "margin_percent": null, + "status": "OBSERVED_NON_NORMATIVE" + }, + { + "scope": "verifier", + "metric": "line_percent", + "observed_percent": 80.08, + "normative": false, + "floor_percent": null, + "margin_percent": null, + "status": "OBSERVED_NON_NORMATIVE" + }, + { + "scope": "verifier", + "metric": "branch_percent", + "observed_percent": 55.91, + "normative": false, + "floor_percent": null, + "margin_percent": null, + "status": "OBSERVED_NON_NORMATIVE" + }, + { + "scope": "verifier", + "metric": "functions_percent", + "observed_percent": 81.82, + "normative": false, + "floor_percent": null, + "margin_percent": null, + "status": "OBSERVED_NON_NORMATIVE" + }, + { + "scope": "test_harness", + "metric": "line_percent", + "observed_percent": 99.72, + "normative": false, + "floor_percent": null, + "margin_percent": null, + "status": "OBSERVED_NON_NORMATIVE" + }, + { + "scope": "test_harness", + "metric": "branch_percent", + "observed_percent": 94.78, + "normative": false, + "floor_percent": null, + "margin_percent": null, + "status": "OBSERVED_NON_NORMATIVE" + }, + { + "scope": "test_harness", + "metric": "functions_percent", + "observed_percent": 100, + "normative": false, + "floor_percent": null, + "margin_percent": null, + "status": "OBSERVED_NON_NORMATIVE" + } + ], + "threshold": { + "percent": 80, + "basis": "aggregate line coverage", + "observed_percent": 89.96, + "status": "PASS" + } +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-1.envelope.v2.json b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-1.envelope.v2.json new file mode 100644 index 00000000..8768f5f1 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-1.envelope.v2.json @@ -0,0 +1,120 @@ +{ + "schema_version": 2, + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT-R6", + "run": 1, + "capture_manifest": { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-capture.v2.json", + "sha256": "28b5286a025794bae2c24535fe31f35e23c8d940698ab9c561aa5a0c1fd178c8" + }, + "source": { + "head_commit": "a538f6224ef31f612152470a4ecd45e78ff9d0f2", + "index_tree": "8564887bc0df75b74b3e22b112f20a86c034fdc6", + "files": [ + { + "role": "verifier", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.cjs", + "git_blob_oid": "75bec9c41eb5abc435f13d90848074f6608f7fce", + "git_blob_sha256": "a55e59dd870659330add8f840272aa1e8829f8161779db3e9be9e6e014cf1ba4", + "byte_length": 25465, + "crlf_pairs": 0, + "lone_lf": 718, + "bare_carriage_returns": 0 + }, + { + "role": "test_harness", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs", + "git_blob_oid": "caca5ec75f47c03698ac270b549a432b0de04cfe", + "git_blob_sha256": "d04b8bc050182f2806972c9d30aaa7d6349ef2f56f15b3ef21f7005459bb86cc", + "byte_length": 24229, + "crlf_pairs": 0, + "lone_lf": 726, + "bare_carriage_returns": 0 + }, + { + "role": "capture_wrapper", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/capture-coverage-run.cjs", + "git_blob_oid": "adf25a38e0e969d33a12fdd2721907c1fee8bd31", + "git_blob_sha256": "d10b2cfa0c8230ea26db4c22058e7d06324c5a5282ffa6105c8f4ace7fc27c20", + "byte_length": 13604, + "crlf_pairs": 0, + "lone_lf": 408, + "bare_carriage_returns": 0 + } + ] + }, + "process": { + "executable": "C:\\nvm4w\\nodejs\\node.exe", + "argv": [ + "--test", + "--test-concurrency=1", + "--experimental-test-coverage", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs" + ], + "cwd": "C:\\Users\\btf\\AppData\\Local\\Temp\\engram-r6c-sQkrM5", + "started_at_utc": "2026-07-10T22:56:08.543Z", + "finished_at_utc": "2026-07-10T22:56:15.965Z", + "duration_ms": 7422, + "exit_code": 0, + "signal": null, + "spawn_error": null + }, + "artifacts": { + "stdout": { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-1.stdout.bin", + "sha256": "4fa07b262ea52975cdeb007bf3f7ce15787dc801731cf274f82af19007a6921b", + "byte_length": 4422 + }, + "stderr": { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-1.stderr.bin", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "byte_length": 0 + }, + "transcript": { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-1.tap", + "sha256": "dcb71f918832c790b93f9f01564e247a69ff623c50a303aa1979f61ab12cfc18", + "byte_length": 4416 + } + }, + "normalization": { + "name": "crlf-to-lf plus coverage-table trailing-padding trim", + "raw_crlf_pairs_replaced": 0, + "table_trailing_padding_bytes_removed": 6, + "semantic_content_changes": 0 + }, + "parse_error": null, + "derived_results": { + "exit_code": 0, + "tests": 24, + "passed": 24, + "failed": 0, + "aggregate": { + "line_percent": 89.96, + "branch_percent": 75.86, + "functions_percent": 95.8 + }, + "verifier": { + "line_percent": 80.08, + "branch_percent": 55.91, + "functions_percent": 81.82 + }, + "test_harness": { + "line_percent": 99.72, + "branch_percent": 94.78, + "functions_percent": 100 + } + }, + "restoration": [ + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.cjs", + "before_sha256": "a55e59dd870659330add8f840272aa1e8829f8161779db3e9be9e6e014cf1ba4", + "after_sha256": "a55e59dd870659330add8f840272aa1e8829f8161779db3e9be9e6e014cf1ba4", + "restored": true + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs", + "before_sha256": "d04b8bc050182f2806972c9d30aaa7d6349ef2f56f15b3ef21f7005459bb86cc", + "after_sha256": "d04b8bc050182f2806972c9d30aaa7d6349ef2f56f15b3ef21f7005459bb86cc", + "restored": true + } + ] +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-1.stderr.bin b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-1.stderr.bin new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-1.stdout.bin b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-1.stdout.bin new file mode 100644 index 00000000..fab43bb9 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-1.stdout.bin @@ -0,0 +1,50 @@ +✔ evidence manifests reject incomplete sets and undeclared or mixed coverage capture (2461.7793ms) +✔ artifact manifest rejects a missing required entry (260.3039ms) +✔ artifact manifest rejects an extra entry (240.6092ms) +✔ artifact manifest rejects a duplicate entry (284.5441ms) +✔ artifact manifest rejects dot-segment traversal outside the evidence namespace (232.877ms) +✔ artifact manifest rejects a non-canonical dot-segment alias (236.5781ms) +▶ artifact manifest rejects absolute and backslash-separated paths + ✔ absolute path (245.0073ms) + ✔ backslash-separated path (271.6047ms) +✔ artifact manifest rejects absolute and backslash-separated paths (516.9948ms) +▶ contract rejects unsupported checkout-equivalence policy values + ✔ bare_cr (177.1393ms) + ✔ transform (270.7538ms) + ✔ required_result (189.1099ms) +✔ contract rejects unsupported checkout-equivalence policy values (637.3275ms) +▶ contract rejects unknown schema keys + ✔ top-level (183.6318ms) + ✔ representation (213.0434ms) + ✔ checkout-equivalence (193.5777ms) + ✔ entry (373.6922ms) +✔ contract rejects unknown schema keys (964.3901ms) +✔ contract rejects deleting one required source when the legacy manifest agrees (215.4699ms) +✔ contract rejects a valid go.mod substitution that preserves cardinality (401.4912ms) +✔ contract rejects rebinding source commit and legacy metadata to an ancestor (180.8376ms) +✔ contract rejects an invalid raw source path before source access (179.1013ms) +✔ contract rejects null representation with structured FAIL before actual source access (172.5208ms) +✔ contract rejects a null entry with structured FAIL before actual source access (178.8782ms) +ℹ tests 24 +ℹ suites 0 +ℹ pass 24 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 7310.6107 +ℹ start of coverage report +ℹ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ℹ file | line % | branch % | funcs % | uncovered lines +ℹ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ℹ .agent | | | | +ℹ reports | | | | +ℹ evidence | | | | +ℹ production-ready | | | | +ℹ db-embedding-stats-evidence-transport | | | | +ℹ verify-manifest.cjs | 80.08 | 55.91 | 81.82 | 84-86 97-98 100-104 121-129 150 163-164 169-170 174-175 203-204 217-219 266-267 273-274 276-277 287-288 319-321 350-351 353-354 356-357 361-362 396-397 408-409 424-425 427-428 430-431 433-434 436-437 470-478 561-562 564-565 573-574 576-577 579-580 591-592 611-648 656-657 669-675 698-705 716-718 +ℹ verify-manifest.test.cjs | 99.72 | 94.78 | 100.00 | 356-357 +ℹ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ℹ all files | 89.96 | 75.86 | 95.80 | +ℹ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ℹ end of coverage report diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-1.tap b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-1.tap new file mode 100644 index 00000000..13ab109f --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-1.tap @@ -0,0 +1,50 @@ +✔ evidence manifests reject incomplete sets and undeclared or mixed coverage capture (2461.7793ms) +✔ artifact manifest rejects a missing required entry (260.3039ms) +✔ artifact manifest rejects an extra entry (240.6092ms) +✔ artifact manifest rejects a duplicate entry (284.5441ms) +✔ artifact manifest rejects dot-segment traversal outside the evidence namespace (232.877ms) +✔ artifact manifest rejects a non-canonical dot-segment alias (236.5781ms) +▶ artifact manifest rejects absolute and backslash-separated paths + ✔ absolute path (245.0073ms) + ✔ backslash-separated path (271.6047ms) +✔ artifact manifest rejects absolute and backslash-separated paths (516.9948ms) +▶ contract rejects unsupported checkout-equivalence policy values + ✔ bare_cr (177.1393ms) + ✔ transform (270.7538ms) + ✔ required_result (189.1099ms) +✔ contract rejects unsupported checkout-equivalence policy values (637.3275ms) +▶ contract rejects unknown schema keys + ✔ top-level (183.6318ms) + ✔ representation (213.0434ms) + ✔ checkout-equivalence (193.5777ms) + ✔ entry (373.6922ms) +✔ contract rejects unknown schema keys (964.3901ms) +✔ contract rejects deleting one required source when the legacy manifest agrees (215.4699ms) +✔ contract rejects a valid go.mod substitution that preserves cardinality (401.4912ms) +✔ contract rejects rebinding source commit and legacy metadata to an ancestor (180.8376ms) +✔ contract rejects an invalid raw source path before source access (179.1013ms) +✔ contract rejects null representation with structured FAIL before actual source access (172.5208ms) +✔ contract rejects a null entry with structured FAIL before actual source access (178.8782ms) +ℹ tests 24 +ℹ suites 0 +ℹ pass 24 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 7310.6107 +ℹ start of coverage report +ℹ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ℹ file | line % | branch % | funcs % | uncovered lines +ℹ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ℹ .agent | | | | +ℹ reports | | | | +ℹ evidence | | | | +ℹ production-ready | | | | +ℹ db-embedding-stats-evidence-transport | | | | +ℹ verify-manifest.cjs | 80.08 | 55.91 | 81.82 | 84-86 97-98 100-104 121-129 150 163-164 169-170 174-175 203-204 217-219 266-267 273-274 276-277 287-288 319-321 350-351 353-354 356-357 361-362 396-397 408-409 424-425 427-428 430-431 433-434 436-437 470-478 561-562 564-565 573-574 576-577 579-580 591-592 611-648 656-657 669-675 698-705 716-718 +ℹ verify-manifest.test.cjs | 99.72 | 94.78 | 100.00 | 356-357 +ℹ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ℹ all files | 89.96 | 75.86 | 95.80 | +ℹ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ℹ end of coverage report diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-2.envelope.v2.json b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-2.envelope.v2.json new file mode 100644 index 00000000..3e194e59 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-2.envelope.v2.json @@ -0,0 +1,120 @@ +{ + "schema_version": 2, + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT-R6", + "run": 2, + "capture_manifest": { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-capture.v2.json", + "sha256": "28b5286a025794bae2c24535fe31f35e23c8d940698ab9c561aa5a0c1fd178c8" + }, + "source": { + "head_commit": "a538f6224ef31f612152470a4ecd45e78ff9d0f2", + "index_tree": "8564887bc0df75b74b3e22b112f20a86c034fdc6", + "files": [ + { + "role": "verifier", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.cjs", + "git_blob_oid": "75bec9c41eb5abc435f13d90848074f6608f7fce", + "git_blob_sha256": "a55e59dd870659330add8f840272aa1e8829f8161779db3e9be9e6e014cf1ba4", + "byte_length": 25465, + "crlf_pairs": 0, + "lone_lf": 718, + "bare_carriage_returns": 0 + }, + { + "role": "test_harness", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs", + "git_blob_oid": "caca5ec75f47c03698ac270b549a432b0de04cfe", + "git_blob_sha256": "d04b8bc050182f2806972c9d30aaa7d6349ef2f56f15b3ef21f7005459bb86cc", + "byte_length": 24229, + "crlf_pairs": 0, + "lone_lf": 726, + "bare_carriage_returns": 0 + }, + { + "role": "capture_wrapper", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/capture-coverage-run.cjs", + "git_blob_oid": "adf25a38e0e969d33a12fdd2721907c1fee8bd31", + "git_blob_sha256": "d10b2cfa0c8230ea26db4c22058e7d06324c5a5282ffa6105c8f4ace7fc27c20", + "byte_length": 13604, + "crlf_pairs": 0, + "lone_lf": 408, + "bare_carriage_returns": 0 + } + ] + }, + "process": { + "executable": "C:\\nvm4w\\nodejs\\node.exe", + "argv": [ + "--test", + "--test-concurrency=1", + "--experimental-test-coverage", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs" + ], + "cwd": "C:\\Users\\btf\\AppData\\Local\\Temp\\engram-r6c-tkf1iz", + "started_at_utc": "2026-07-10T22:56:22.811Z", + "finished_at_utc": "2026-07-10T22:56:29.820Z", + "duration_ms": 7009, + "exit_code": 0, + "signal": null, + "spawn_error": null + }, + "artifacts": { + "stdout": { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-2.stdout.bin", + "sha256": "8c6d8ae30614624a979c2423ab7c36f9f6f6c029bc4f9e1a4c91fda035164d95", + "byte_length": 4420 + }, + "stderr": { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-2.stderr.bin", + "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "byte_length": 0 + }, + "transcript": { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-2.tap", + "sha256": "7e56b583cb602dd1ac6f156edfd5f18380991126bbb5ef42995fd5ea2089df21", + "byte_length": 4414 + } + }, + "normalization": { + "name": "crlf-to-lf plus coverage-table trailing-padding trim", + "raw_crlf_pairs_replaced": 0, + "table_trailing_padding_bytes_removed": 6, + "semantic_content_changes": 0 + }, + "parse_error": null, + "derived_results": { + "exit_code": 0, + "tests": 24, + "passed": 24, + "failed": 0, + "aggregate": { + "line_percent": 89.96, + "branch_percent": 75.86, + "functions_percent": 95.8 + }, + "verifier": { + "line_percent": 80.08, + "branch_percent": 55.91, + "functions_percent": 81.82 + }, + "test_harness": { + "line_percent": 99.72, + "branch_percent": 94.78, + "functions_percent": 100 + } + }, + "restoration": [ + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.cjs", + "before_sha256": "a55e59dd870659330add8f840272aa1e8829f8161779db3e9be9e6e014cf1ba4", + "after_sha256": "a55e59dd870659330add8f840272aa1e8829f8161779db3e9be9e6e014cf1ba4", + "restored": true + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs", + "before_sha256": "d04b8bc050182f2806972c9d30aaa7d6349ef2f56f15b3ef21f7005459bb86cc", + "after_sha256": "d04b8bc050182f2806972c9d30aaa7d6349ef2f56f15b3ef21f7005459bb86cc", + "restored": true + } + ] +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-2.stderr.bin b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-2.stderr.bin new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-2.stdout.bin b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-2.stdout.bin new file mode 100644 index 00000000..a6085ab2 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-2.stdout.bin @@ -0,0 +1,50 @@ +✔ evidence manifests reject incomplete sets and undeclared or mixed coverage capture (2392.62ms) +✔ artifact manifest rejects a missing required entry (291.3692ms) +✔ artifact manifest rejects an extra entry (229.3592ms) +✔ artifact manifest rejects a duplicate entry (229.1499ms) +✔ artifact manifest rejects dot-segment traversal outside the evidence namespace (253.1131ms) +✔ artifact manifest rejects a non-canonical dot-segment alias (234.2533ms) +▶ artifact manifest rejects absolute and backslash-separated paths + ✔ absolute path (327.1341ms) + ✔ backslash-separated path (227.0073ms) +✔ artifact manifest rejects absolute and backslash-separated paths (554.5194ms) +▶ contract rejects unsupported checkout-equivalence policy values + ✔ bare_cr (180.5044ms) + ✔ transform (169.9542ms) + ✔ required_result (179.2196ms) +✔ contract rejects unsupported checkout-equivalence policy values (529.973ms) +▶ contract rejects unknown schema keys + ✔ top-level (224.6851ms) + ✔ representation (177.8517ms) + ✔ checkout-equivalence (173.7824ms) + ✔ entry (240.7313ms) +✔ contract rejects unknown schema keys (817.4222ms) +✔ contract rejects deleting one required source when the legacy manifest agrees (242.4694ms) +✔ contract rejects a valid go.mod substitution that preserves cardinality (284.8825ms) +✔ contract rejects rebinding source commit and legacy metadata to an ancestor (167.9032ms) +✔ contract rejects an invalid raw source path before source access (178.0165ms) +✔ contract rejects null representation with structured FAIL before actual source access (167.9163ms) +✔ contract rejects a null entry with structured FAIL before actual source access (182.6564ms) +ℹ tests 24 +ℹ suites 0 +ℹ pass 24 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 6895.5607 +ℹ start of coverage report +ℹ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ℹ file | line % | branch % | funcs % | uncovered lines +ℹ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ℹ .agent | | | | +ℹ reports | | | | +ℹ evidence | | | | +ℹ production-ready | | | | +ℹ db-embedding-stats-evidence-transport | | | | +ℹ verify-manifest.cjs | 80.08 | 55.91 | 81.82 | 84-86 97-98 100-104 121-129 150 163-164 169-170 174-175 203-204 217-219 266-267 273-274 276-277 287-288 319-321 350-351 353-354 356-357 361-362 396-397 408-409 424-425 427-428 430-431 433-434 436-437 470-478 561-562 564-565 573-574 576-577 579-580 591-592 611-648 656-657 669-675 698-705 716-718 +ℹ verify-manifest.test.cjs | 99.72 | 94.78 | 100.00 | 356-357 +ℹ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ℹ all files | 89.96 | 75.86 | 95.80 | +ℹ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ℹ end of coverage report diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-2.tap b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-2.tap new file mode 100644 index 00000000..746966c6 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/coverage-run-2.tap @@ -0,0 +1,50 @@ +✔ evidence manifests reject incomplete sets and undeclared or mixed coverage capture (2392.62ms) +✔ artifact manifest rejects a missing required entry (291.3692ms) +✔ artifact manifest rejects an extra entry (229.3592ms) +✔ artifact manifest rejects a duplicate entry (229.1499ms) +✔ artifact manifest rejects dot-segment traversal outside the evidence namespace (253.1131ms) +✔ artifact manifest rejects a non-canonical dot-segment alias (234.2533ms) +▶ artifact manifest rejects absolute and backslash-separated paths + ✔ absolute path (327.1341ms) + ✔ backslash-separated path (227.0073ms) +✔ artifact manifest rejects absolute and backslash-separated paths (554.5194ms) +▶ contract rejects unsupported checkout-equivalence policy values + ✔ bare_cr (180.5044ms) + ✔ transform (169.9542ms) + ✔ required_result (179.2196ms) +✔ contract rejects unsupported checkout-equivalence policy values (529.973ms) +▶ contract rejects unknown schema keys + ✔ top-level (224.6851ms) + ✔ representation (177.8517ms) + ✔ checkout-equivalence (173.7824ms) + ✔ entry (240.7313ms) +✔ contract rejects unknown schema keys (817.4222ms) +✔ contract rejects deleting one required source when the legacy manifest agrees (242.4694ms) +✔ contract rejects a valid go.mod substitution that preserves cardinality (284.8825ms) +✔ contract rejects rebinding source commit and legacy metadata to an ancestor (167.9032ms) +✔ contract rejects an invalid raw source path before source access (178.0165ms) +✔ contract rejects null representation with structured FAIL before actual source access (167.9163ms) +✔ contract rejects a null entry with structured FAIL before actual source access (182.6564ms) +ℹ tests 24 +ℹ suites 0 +ℹ pass 24 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 6895.5607 +ℹ start of coverage report +ℹ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ℹ file | line % | branch % | funcs % | uncovered lines +ℹ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ℹ .agent | | | | +ℹ reports | | | | +ℹ evidence | | | | +ℹ production-ready | | | | +ℹ db-embedding-stats-evidence-transport | | | | +ℹ verify-manifest.cjs | 80.08 | 55.91 | 81.82 | 84-86 97-98 100-104 121-129 150 163-164 169-170 174-175 203-204 217-219 266-267 273-274 276-277 287-288 319-321 350-351 353-354 356-357 361-362 396-397 408-409 424-425 427-428 430-431 433-434 436-437 470-478 561-562 564-565 573-574 576-577 579-580 591-592 611-648 656-657 669-675 698-705 716-718 +ℹ verify-manifest.test.cjs | 99.72 | 94.78 | 100.00 | 356-357 +ℹ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ℹ all files | 89.96 | 75.86 | 95.80 | +ℹ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +ℹ end of coverage report diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/maker-report.md b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/maker-report.md new file mode 100644 index 00000000..4edad29c --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/maker-report.md @@ -0,0 +1,112 @@ +# DB-EMBEDDING-EVIDENCE-TRANSPORT R6 maker report + +R6 closes ET-R5-001, ET-R5-002, and ET-R5-003 without changing product code or +the accepted seven-source product manifest. The covered product verifier remains +Git blob `75bec9c41eb5abc435f13d90848074f6608f7fce`; the final portable test blob is +`caca5ec75f47c03698ac270b549a432b0de04cfe`. + +## Process evidence + +`capture-coverage-run.cjs` materializes the exact candidate index tree in a +temporary independent Git clone with a real `.git` directory, +`core.autocrlf=false`, and exact LF index bytes. It launches the exact Node argv +through `spawnSync` there and captures the operating-system status, signal, +start/finish timestamps, and raw stdout/stderr. The host checkout is not mutated. +Each run +has a separate raw stdout file, raw stderr file, canonical TAP transcript, and +process envelope. The envelope is written even when the child is nonzero or TAP +parsing fails; a successful packet additionally requires `parse_error=null`. + +The two real runs both exited 0, emitted empty stderr, and recorded 24/24. Their +metrics are identical: aggregate `89.96 / 75.86 / 95.8`, verifier +`80.08 / 55.91 / 81.82`, and test harness `99.72 / 94.78 / 100`. Aggregate line +coverage is `89.96% >= 80%`. + +The packet binds all nine measured dimensions individually. The inherited +normative contract has exactly one floor: `aggregate.line_percent >= 80`; its +observed value is `89.96` and margin is `+9.96`. Aggregate branch/functions, +verifier line/branch/functions, and test-harness line/branch/functions remain +explicit observations with `normative=false`, `floor=null`, and `margin=null`. +In particular, verifier branch `55.91` is not misreported as satisfying an +invented 80% branch floor. + +`verify-evidence.cjs` independently re-hashes every raw stream, transcript, and +envelope; regenerates the transcript from raw stdout; reparses all counts and +metrics; and refuses nonzero process status, signal, spawn/parse error, nonempty +stderr, missing files, stale source blobs, or hand-entered results. A parseable +TAP file alone can no longer establish success. + +## Representation portability + +Checkout representation and canonical execution bytes are separate contracts. +The verifier classifies LF, CRLF-equivalent, and mixed-equivalent checkout bytes +without calling any of them LF. Canonical execution always uses an independent +`.git`-directory clone of the exact tree with exact LF Git blobs, so coverage no +longer changes merely because the host is a linked worktree or ordinary clone. +The permanent 24-case suite now runs the strict R5 materialization check +inside an isolated `core.autocrlf=false` Git fixture built from the canonical +index blobs. It still rejects a real mixed-EOL mutation; there is no skip or +conditional pass. + +The final atomic commit must be checked in both fresh `core.autocrlf=false` and +fresh `core.autocrlf=true` checkouts. In each, the same committed test blob must +report 24/24. `verify-final-commit-replay.cjs` additionally requires the final +commit to be a direct child of `a538f6224ef31f612152470a4ecd45e78ff9d0f2`, +compares its committed verifier/test/wrapper blobs to the capture, materializes +the final tree in the same canonical clone topology, replays the coverage command +from those final blobs, and emits the exact commit, tree, and +changed-path digest. Those identifiers cannot be embedded in their own commit +without a self-reference, so the immutable replay output is part of the final +handoff and checker command, not a guessed field in this file. + +## RED, GREEN, REFACTOR, Prove-It + +RED was recorded before implementation: + +- an exit-7 process emitted the exact committed R5 TAP bytes while the R5 parser + synthesized `exit_code=0` and returned PASS; +- the unchanged R5 suite in `core.autocrlf=true` returned 23/24 exit 1; +- the exact rejected R5 test blob produced 8/16 for the schema sentinel, proving + its 9/15 claim stale; +- the first R6 checksum packet passed while omitting the changed R5 verifier and + counting an unchanged load-bearing verifier instead; +- the first final replay inherited linked-worktree versus ordinary-clone branch + variance and therefore failed in a legitimate fresh clone despite 24/24. + +GREEN is 24/24 for the base suite and 12/12 for the R6 tamper suite. Prove-It +mutations against the exact final blobs returned 9/15 for schema release, +15/9 for forced artifact PASS, and 0/12 for a forced R6 status PASS. Both suites +returned fully green after byte-for-byte restoration. + +The tamper suite refreshes local envelope hashes while attacking nonzero status, +stale source identity, hand-entered metrics, stdout, stderr, transcript, missing +files, and unknown fields. All semantic attacks fail. Only additional trailing +padding in a coverage-table row is accepted, because the independent canonical +transform removes and exactly counts those bytes while leaving the transcript +unchanged. + +## Changed-path checksum completeness + +The checksum verifier derives the full path delta from the exact target base to +the candidate Git index/final tree. Every changed path must be present directly +in one checksum layer except the checksum manifest and `R6-SHA256SUMS.txt`, the +only two declared self-exclusions. The unchanged covered verifier remains a +separately labelled `load-bearing-unchanged` entry. The changed R5 +`verify-coverage-capture.cjs` is now directly listed. A permanent mutation removes +that path and refreshes the attacker's local manifest, path digest, and sums; the +verifier still returns nonzero FAIL and names the uncovered changed path. + +## Historical R5 correction and scope + +R5 remains a rejected historical snapshot. Its TDD artifact now records the +actual 8/16 result for the exact R5 test blob and its report/summary/matrix state +that the old hashes and 89.28% coverage belong only to R5. R6 current claims use +the final R6 blobs and the two real R6 envelopes above. No PostgreSQL service, +schema, data, product candidate, or product source blob was modified. + +## Residual risk + +The remaining risk is operational, not hidden in the packet: the post-commit +fresh-LF/fresh-CRLF and final-commit replay gates must pass on the immutable maker +SHA. Failure of any one keeps the handoff at REVISE. No push, merge, tag, release, +browser report opening, or PostgreSQL mutation is part of this maker branch. diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/maker-summary.v2.json b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/maker-summary.v2.json new file mode 100644 index 00000000..47be10b0 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/maker-summary.v2.json @@ -0,0 +1,79 @@ +{ + "schema_version": 2, + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT-R6", + "role": "maker", + "status": "READY_FOR_ATOMIC_COMMIT_AND_FRESH_CHECKER", + "target_base": "a538f6224ef31f612152470a4ecd45e78ff9d0f2", + "checker_commit_is_ancestor": false, + "closed_findings": ["ET-R5-001", "ET-R5-002", "ET-R5-003"], + "product_delta": { + "changed": false, + "accepted_source_parity": "7/7", + "artifact_parity": "5/5", + "postgresql_touched": false + }, + "final_source_blobs": { + "verifier": { + "oid": "75bec9c41eb5abc435f13d90848074f6608f7fce", + "sha256": "a55e59dd870659330add8f840272aa1e8829f8161779db3e9be9e6e014cf1ba4" + }, + "test": { + "oid": "caca5ec75f47c03698ac270b549a432b0de04cfe", + "sha256": "d04b8bc050182f2806972c9d30aaa7d6349ef2f56f15b3ef21f7005459bb86cc" + }, + "capture_wrapper": { + "oid": "adf25a38e0e969d33a12fdd2721907c1fee8bd31", + "sha256": "d10b2cfa0c8230ea26db4c22058e7d06324c5a5282ffa6105c8f4ace7fc27c20" + } + }, + "execution_index_tree": "8564887bc0df75b74b3e22b112f20a86c034fdc6", + "coverage": { + "real_process_runs": 2, + "exit_codes": [0, 0], + "stderr_byte_lengths": [0, 0], + "tests": [24, 24], + "passed": [24, 24], + "failed": [0, 0], + "metrics_identical": true, + "aggregate": { "line_percent": 89.96, "branch_percent": 75.86, "functions_percent": 95.8 }, + "verifier": { "line_percent": 80.08, "branch_percent": 55.91, "functions_percent": 81.82 }, + "test_harness": { "line_percent": 99.72, "branch_percent": 94.78, "functions_percent": 100 }, + "normative_floor": { + "dimension": "aggregate.line_percent", + "observed_percent": 89.96, + "floor_percent": 80, + "margin_percent": 9.96, + "status": "PASS" + }, + "other_dimensions": "observed and machine-bound; normative=false, floor=null, margin=null" + }, + "checksum_diff_coverage": { + "changed_paths": 32, + "directly_checksummed_changed_paths": 30, + "self_excluded_changed_paths": 2, + "load_bearing_unchanged_paths": 1, + "missing_path_mutation": "nonzero FAIL" + }, + "permanent_suites": { + "base": "24/24 exit 0", + "r6_tamper": "12/12 exit 0", + "fresh_lf_required": true, + "fresh_core_autocrlf_true_required": true + }, + "prove_it": { + "validateContractSchema": "9 pass / 15 fail / exit 1", + "verifyArtifactFiles": "15 pass / 9 fail / exit 1", + "r6_status_gate": "0 pass / 12 fail / exit 1", + "post_restore": "24/24 and 12/12; zero residue" + }, + "final_commit_attestation": { + "self_reference_policy": "commit/tree/path digest are emitted after commit, never guessed inside their own tree", + "verifier": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/verify-final-commit-replay.cjs", + "requires_direct_parent": "a538f6224ef31f612152470a4ecd45e78ff9d0f2", + "requires_exact_captured_source_blobs": true, + "requires_replay_24_of_24": true, + "requires_canonical_independent_clone": true, + "requires_zero_tracked_residue": true + }, + "residual_risk": "Fresh LF, fresh core.autocrlf=true, and immutable final-commit replay remain mandatory checker gates." +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/prove-it.cjs b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/prove-it.cjs new file mode 100644 index 00000000..1fac7bf3 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/prove-it.cjs @@ -0,0 +1,166 @@ +#!/usr/bin/env node +'use strict'; + +const crypto = require('node:crypto'); +const fs = require('node:fs'); +const path = require('node:path'); +const { spawnSync } = require('node:child_process'); + +const BASE_DIRECTORY = + '.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport'; +const DIRECTORY = `${BASE_DIRECTORY}-r6`; +const BASE_VERIFIER = `${BASE_DIRECTORY}/verify-manifest.cjs`; +const BASE_TEST = `${BASE_DIRECTORY}/verify-manifest.test.cjs`; +const R6_VERIFIER = `${DIRECTORY}/verify-evidence.cjs`; +const R6_TEST = `${DIRECTORY}/verify-evidence.test.cjs`; +const CAPTURE = `${DIRECTORY}/coverage-capture.v2.json`; + +function sha256(bytes) { + return crypto.createHash('sha256').update(bytes).digest('hex'); +} + +function repoPath(repoRoot, relativePath) { + return path.join(repoRoot, ...relativePath.split('/')); +} + +function git(args, cwd, encoding = 'utf8') { + const result = spawnSync('git', args, { cwd, encoding, windowsHide: true }); + if (result.status !== 0) throw new Error(result.stderr.trim()); + return result.stdout; +} + +function parseCounts(text) { + const count = (label) => { + const match = text.match(new RegExp(`(?:ℹ|#) ${label} ([0-9]+)`)); + if (!match) throw new Error(`TAP output is missing ${label}`); + return Number(match[1]); + }; + return { tests: count('tests'), passed: count('pass'), failed: count('fail') }; +} + +function runTest(repoRoot, relativePath) { + const result = spawnSync( + process.execPath, + ['--test', '--test-concurrency=1', relativePath], + { cwd: repoRoot, encoding: 'utf8', windowsHide: true, maxBuffer: 64 * 1024 * 1024 }, + ); + const combined = `${result.stdout}\n${result.stderr}`; + return { + exit_code: result.status, + ...parseCounts(combined), + stdout_sha256: sha256(Buffer.from(result.stdout, 'utf8')), + stderr_sha256: sha256(Buffer.from(result.stderr, 'utf8')), + }; +} + +function withSourceMutation(filePath, mutate, execute) { + const original = fs.readFileSync(filePath); + try { + const mutated = mutate(Buffer.from(original)); + if (mutated.equals(original)) throw new Error(`sentinel did not change ${filePath}`); + fs.writeFileSync(filePath, mutated); + return execute(); + } finally { + fs.writeFileSync(filePath, original); + if (!fs.readFileSync(filePath).equals(original)) { + throw new Error(`failed to restore ${filePath}`); + } + } +} + +function replaceOnce(bytes, expression, replacement, label) { + const text = bytes.toString('utf8'); + const matches = text.match(expression); + if (!matches || matches.length !== 1) throw new Error(`${label} anchor count is not one`); + return Buffer.from(text.replace(expression, replacement), 'utf8'); +} + +function main() { + const repoRoot = path.resolve(git(['rev-parse', '--show-toplevel'], process.cwd()).trim()); + const capture = JSON.parse(fs.readFileSync(repoPath(repoRoot, CAPTURE), 'utf8')); + const expectedBase = capture.sources.slice(0, 2); + expectedBase.forEach((entry) => { + const oid = git(['rev-parse', `:${entry.path}`], repoRoot).trim(); + if (oid !== entry.git_blob_oid) throw new Error(`staged blob drift: ${entry.path}`); + }); + + const baseVerifierPath = repoPath(repoRoot, BASE_VERIFIER); + const r6VerifierPath = repoPath(repoRoot, R6_VERIFIER); + const schemaSentinel = withSourceMutation( + baseVerifierPath, + (bytes) => replaceOnce( + bytes, + /structural_errors: structuralErrors,\r?\n validated_entries: structuralErrors\.length === 0 \? validatedEntries : \[\],/, + 'structural_errors: [],\n validated_entries: validatedEntries,', + 'validateContractSchema sentinel', + ), + () => runTest(repoRoot, BASE_TEST), + ); + const artifactSentinel = withSourceMutation( + baseVerifierPath, + (bytes) => replaceOnce( + bytes, + /const status = structuralErrors\.length === 0 && matched === entryResults\.length \? 'PASS' : 'FAIL';/, + "const status = 'PASS';", + 'verifyArtifactFiles sentinel', + ), + () => runTest(repoRoot, BASE_TEST), + ); + const r6StatusSentinel = withSourceMutation( + r6VerifierPath, + (bytes) => replaceOnce( + bytes, + /const status = errors\.length === 0 \? 'PASS' : 'FAIL';/, + "const status = 'PASS';", + 'R6 status sentinel', + ), + () => runTest(repoRoot, R6_TEST), + ); + const postRestoreBase = runTest(repoRoot, BASE_TEST); + const postRestoreR6 = runTest(repoRoot, R6_TEST); + for (const [label, value] of [ + ['validateContractSchema', schemaSentinel], + ['verifyArtifactFiles', artifactSentinel], + ['R6 status', r6StatusSentinel], + ]) { + if (value.exit_code === 0 || value.failed === 0) { + throw new Error(`${label} mutation did not make the permanent suite fail`); + } + } + for (const [label, value] of [ + ['base post-restore', postRestoreBase], + ['R6 post-restore', postRestoreR6], + ]) { + if (value.exit_code !== 0 || value.failed !== 0) { + throw new Error(`${label} did not return to GREEN`); + } + } + + process.stdout.write(`${JSON.stringify({ + schema_version: 1, + task_id: 'DB-EMBEDDING-EVIDENCE-TRANSPORT-R6', + exact_source_blobs: expectedBase.map(({ role, path: sourcePath, git_blob_oid, git_blob_sha256 }) => ({ + role, + path: sourcePath, + git_blob_oid, + git_blob_sha256, + })), + sentinels: { + validateContractSchema: schemaSentinel, + verifyArtifactFiles: artifactSentinel, + r6_status_gate: r6StatusSentinel, + }, + post_restore: { + base_suite: postRestoreBase, + r6_tamper_suite: postRestoreR6, + }, + residue: false, + }, null, 2)}\n`); +} + +try { + main(); +} catch (error) { + process.stderr.write(`${error.stack || error.message}\n`); + process.exit(1); +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/red-reproduction.cjs b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/red-reproduction.cjs new file mode 100644 index 00000000..ee39e339 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/red-reproduction.cjs @@ -0,0 +1,228 @@ +#!/usr/bin/env node +'use strict'; + +const crypto = require('node:crypto'); +const fs = require('node:fs'); +const os = require('node:os'); +const path = require('node:path'); +const { spawnSync } = require('node:child_process'); + +const TARGET_COMMIT = 'a538f6224ef31f612152470a4ecd45e78ff9d0f2'; +const BASE_EVIDENCE = + '.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport'; +const R5_EVIDENCE = `${BASE_EVIDENCE}-r5`; +const TEST_PATH = `${BASE_EVIDENCE}/verify-manifest.test.cjs`; +const VERIFIER_PATH = `${BASE_EVIDENCE}/verify-manifest.cjs`; +const R5_VERIFIER_PATH = `${R5_EVIDENCE}/verify-coverage-capture.cjs`; +const R5_TRANSCRIPT_PATH = `${R5_EVIDENCE}/coverage-run-1.tap`; +const CURRENT_DIR = `${BASE_EVIDENCE}-r6`; +const SENTINEL_BEFORE = + 'structural_errors: structuralErrors,\n' + + ' validated_entries: structuralErrors.length === 0 ? validatedEntries : [],'; +const SENTINEL_AFTER = + 'structural_errors: [],\n' + + ' validated_entries: validatedEntries,'; + +function sha256(bytes) { + return crypto.createHash('sha256').update(bytes).digest('hex'); +} + +function command(program, args, cwd, options = {}) { + const result = spawnSync(program, args, { + cwd, + encoding: options.encoding === undefined ? 'utf8' : options.encoding, + env: options.env || process.env, + maxBuffer: 64 * 1024 * 1024, + windowsHide: true, + }); + if (result.error) throw result.error; + return result; +} + +function mustPass(program, args, cwd) { + const result = command(program, args, cwd); + if (result.status !== 0) { + throw new Error( + `${program} ${args.join(' ')} failed (${result.status}): ${String(result.stderr).trim()}`, + ); + } + return result; +} + +function git(args, cwd) { + return mustPass('git', args, cwd).stdout.trim(); +} + +function repoRelative(repoRoot, relativePath) { + return path.join(repoRoot, ...relativePath.split('/')); +} + +function parseTestCounts(output) { + const count = (label) => { + const match = output.match(new RegExp(`(?:ℹ|#) ${label} ([0-9]+)`)); + if (!match) throw new Error(`missing TAP count: ${label}`); + return Number(match[1]); + }; + return { + tests: count('tests'), + passed: count('pass'), + failed: count('fail'), + }; +} + +function main() { + const repoRoot = path.resolve(git(['rev-parse', '--show-toplevel'], process.cwd())); + if (git(['rev-parse', 'HEAD'], repoRoot) !== TARGET_COMMIT) { + throw new Error(`RED reproduction must execute at exact target ${TARGET_COMMIT}`); + } + + const tempParent = repoRelative(repoRoot, `${CURRENT_DIR}/.red-tmp`); + fs.mkdirSync(tempParent, { recursive: true }); + const cloneRoot = fs.mkdtempSync(path.join(tempParent, 'lf-clone-')); + try { + mustPass('git', ['clone', '--shared', '--no-checkout', repoRoot, cloneRoot], repoRoot); + mustPass('git', ['config', 'core.longpaths', 'true'], cloneRoot); + mustPass('git', ['config', 'core.autocrlf', 'false'], cloneRoot); + mustPass('git', ['checkout', '--detach', TARGET_COMMIT], cloneRoot); + + const lfEol = git( + ['ls-files', '--eol', '--', VERIFIER_PATH, TEST_PATH], + cloneRoot, + ).split(/\r?\n/); + if (lfEol.some((line) => !/^i\/lf\s+w\/lf\s+/.test(line))) { + throw new Error(`LF clone did not materialize canonical files: ${lfEol.join(' | ')}`); + } + + const committedTranscript = fs.readFileSync(repoRelative(cloneRoot, R5_TRANSCRIPT_PATH)); + const malicious = command( + process.execPath, + [ + '-e', + "const fs=require('node:fs');process.stdout.write(fs.readFileSync(process.argv[1]));process.exit(7)", + repoRelative(cloneRoot, R5_TRANSCRIPT_PATH), + ], + cloneRoot, + { encoding: null }, + ); + if (malicious.status !== 7) { + throw new Error(`malicious transcript process exited ${malicious.status}, expected 7`); + } + if (!Buffer.from(malicious.stdout).equals(committedTranscript)) { + throw new Error('malicious process stdout differs from the committed R5 transcript'); + } + + const r5Verifier = command( + process.execPath, + [repoRelative(cloneRoot, R5_VERIFIER_PATH), '--mode=coverage-evidence'], + cloneRoot, + ); + const r5Result = JSON.parse(r5Verifier.stdout); + if (r5Verifier.status !== 0 || r5Result.status !== 'PASS') { + throw new Error('R5 baseline verifier unexpectedly rejected its committed packet'); + } + if (r5Result.coverage.parsed_runs[0].exit_code !== 0) { + throw new Error('R5 parsed run no longer synthesizes exit_code zero'); + } + + const crlfSuite = command( + process.execPath, + ['--test', '--test-concurrency=1', repoRelative(repoRoot, TEST_PATH)], + repoRoot, + ); + const crlfCounts = parseTestCounts(`${crlfSuite.stdout}\n${crlfSuite.stderr}`); + if ( + crlfSuite.status !== 1 || + crlfCounts.tests !== 24 || + crlfCounts.passed !== 23 || + crlfCounts.failed !== 1 + ) { + throw new Error( + `CRLF blocker changed: exit=${crlfSuite.status}, counts=${JSON.stringify(crlfCounts)}`, + ); + } + + const verifierFile = repoRelative(cloneRoot, VERIFIER_PATH); + const verifierSource = fs.readFileSync(verifierFile, 'utf8'); + const occurrences = verifierSource.split(SENTINEL_BEFORE).length - 1; + if (occurrences !== 1) { + throw new Error(`schema sentinel anchor count is ${occurrences}, expected 1`); + } + fs.writeFileSync(verifierFile, verifierSource.replace(SENTINEL_BEFORE, SENTINEL_AFTER)); + + const sentinelSuite = command( + process.execPath, + ['--test', '--test-concurrency=1', repoRelative(cloneRoot, TEST_PATH)], + cloneRoot, + ); + const sentinelCounts = parseTestCounts(`${sentinelSuite.stdout}\n${sentinelSuite.stderr}`); + if ( + sentinelSuite.status !== 1 || + sentinelCounts.tests !== 24 || + sentinelCounts.passed !== 8 || + sentinelCounts.failed !== 16 + ) { + throw new Error( + `schema sentinel blocker changed: exit=${sentinelSuite.status}, ` + + `counts=${JSON.stringify(sentinelCounts)}`, + ); + } + + const evidence = { + schema_version: 1, + task_id: 'DB-EMBEDDING-EVIDENCE-TRANSPORT-R6', + phase: 'RED', + target_commit: TARGET_COMMIT, + node_version: process.version, + platform: `${process.platform}-${process.arch}`, + blockers: { + 'ET-R5-001': { + reproduced: true, + malicious_process_exit_code: malicious.status, + malicious_stdout_sha256: sha256(Buffer.from(malicious.stdout)), + committed_transcript_sha256: sha256(committedTranscript), + stdout_matches_committed_transcript: true, + r5_verifier_exit_code: r5Verifier.status, + r5_verifier_status: r5Result.status, + r5_synthetic_parsed_exit_code: r5Result.coverage.parsed_runs[0].exit_code, + }, + 'ET-R5-002': { + reproduced: true, + checkout_core_autocrlf: git(['config', '--get', 'core.autocrlf'], repoRoot), + checkout_eol: git( + ['ls-files', '--eol', '--', VERIFIER_PATH, TEST_PATH], + repoRoot, + ).split(/\r?\n/), + suite_exit_code: crlfSuite.status, + ...crlfCounts, + }, + 'ET-R5-003': { + reproduced: true, + exact_final_r5_test_blob: git(['rev-parse', `HEAD:${TEST_PATH}`], cloneRoot), + sentinel: 'discard structural errors and release validated subsets', + suite_exit_code: sentinelSuite.status, + ...sentinelCounts, + stale_claim: { passed: 9, failed: 15 }, + }, + }, + temp_cleanup_required: true, + }; + process.stdout.write(`${JSON.stringify(evidence, null, 2)}\n`); + } finally { + const resolvedParent = path.resolve(tempParent); + const resolvedClone = path.resolve(cloneRoot); + if (!resolvedClone.startsWith(`${resolvedParent}${path.sep}`)) { + throw new Error(`refusing to clean unexpected temp path: ${resolvedClone}`); + } + fs.rmSync(resolvedClone, { recursive: true, force: true }); + if (fs.existsSync(tempParent) && fs.readdirSync(tempParent).length === 0) { + fs.rmdirSync(tempParent); + } + } +} + +try { + main(); +} catch (error) { + process.stderr.write(`${error.stack || error.message}${os.EOL}`); + process.exit(1); +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/verify-evidence.cjs b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/verify-evidence.cjs new file mode 100644 index 00000000..f81ca4b1 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/verify-evidence.cjs @@ -0,0 +1,1080 @@ +#!/usr/bin/env node +'use strict'; + +const crypto = require('node:crypto'); +const fs = require('node:fs'); +const path = require('node:path'); +const { spawnSync } = require('node:child_process'); + +const SLICE = 'DB-EMBEDDING-EVIDENCE-TRANSPORT-R6'; +const TARGET_BASE = 'a538f6224ef31f612152470a4ecd45e78ff9d0f2'; +const BASE_DIRECTORY = + '.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport'; +const DIRECTORY = `${BASE_DIRECTORY}-r6`; +const VERIFIER_PATH = `${BASE_DIRECTORY}/verify-manifest.cjs`; +const TEST_PATH = `${BASE_DIRECTORY}/verify-manifest.test.cjs`; +const WRAPPER_PATH = `${DIRECTORY}/capture-coverage-run.cjs`; +const CAPTURE_PATH = `${DIRECTORY}/coverage-capture.v2.json`; +const REPEAT_PATH = `${DIRECTORY}/coverage-repeat.v2.json`; +const CHECKSUM_MANIFEST_PATH = `${DIRECTORY}/checksum-layers.v1.json`; +const CHECKSUM_SUMS_PATH = `${DIRECTORY}/R6-SHA256SUMS.txt`; +const CHECKSUM_SELF_EXCLUSION = Object.freeze([CHECKSUM_MANIFEST_PATH, CHECKSUM_SUMS_PATH]); +const LOAD_BEARING_UNCHANGED_PATHS = Object.freeze([VERIFIER_PATH]); +const COMMAND_ARGS = Object.freeze([ + '--test', + '--test-concurrency=1', + '--experimental-test-coverage', + TEST_PATH, +]); +const SOURCE_IDENTITIES = Object.freeze([ + Object.freeze({ role: 'verifier', path: VERIFIER_PATH }), + Object.freeze({ role: 'test_harness', path: TEST_PATH }), + Object.freeze({ role: 'capture_wrapper', path: WRAPPER_PATH }), +]); +const METRIC_KEYS = Object.freeze(['line_percent', 'branch_percent', 'functions_percent']); +const METRIC_SCOPES = Object.freeze(['aggregate', 'verifier', 'test_harness']); +const CHECKSUM_LAYERS = Object.freeze([ + Object.freeze({ + name: 'covered-final-blobs', + paths: Object.freeze([VERIFIER_PATH, TEST_PATH]), + }), + Object.freeze({ + name: 'real-process-capture', + paths: Object.freeze([ + CAPTURE_PATH, + REPEAT_PATH, + `${DIRECTORY}/coverage-run-1.envelope.v2.json`, + `${DIRECTORY}/coverage-run-1.stderr.bin`, + `${DIRECTORY}/coverage-run-1.stdout.bin`, + `${DIRECTORY}/coverage-run-1.tap`, + `${DIRECTORY}/coverage-run-2.envelope.v2.json`, + `${DIRECTORY}/coverage-run-2.stderr.bin`, + `${DIRECTORY}/coverage-run-2.stdout.bin`, + `${DIRECTORY}/coverage-run-2.tap`, + ]), + }), + Object.freeze({ + name: 'implementation-and-verification', + paths: Object.freeze([ + `${DIRECTORY}/.gitattributes`, + `${DIRECTORY}/assemble-coverage-repeat.cjs`, + `${DIRECTORY}/build-checksums.cjs`, + `${DIRECTORY}/capture-coverage-run.cjs`, + `${DIRECTORY}/prove-it.cjs`, + `${DIRECTORY}/red-reproduction.cjs`, + `${DIRECTORY}/verify-evidence.cjs`, + `${DIRECTORY}/verify-evidence.test.cjs`, + `${DIRECTORY}/verify-final-commit-replay.cjs`, + ]), + }), + Object.freeze({ + name: 'r6-reports-and-tdd', + paths: Object.freeze([ + `${DIRECTORY}/maker-report.md`, + `${DIRECTORY}/maker-summary.v2.json`, + '.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R6.red.json', + '.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R6.tdd.json', + ]), + }), + Object.freeze({ + name: 'r5-truth-corrections', + paths: Object.freeze([ + `${BASE_DIRECTORY}-r5/R5-SHA256SUMS.txt`, + `${BASE_DIRECTORY}-r5/maker-report.md`, + `${BASE_DIRECTORY}-r5/maker-summary.v1.json`, + `${BASE_DIRECTORY}-r5/verification-matrix.v1.json`, + `${BASE_DIRECTORY}-r5/verify-coverage-capture.cjs`, + '.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R5.tdd.json', + ]), + }), +]); + +function sha256(bytes) { + return crypto.createHash('sha256').update(bytes).digest('hex'); +} + +function repoPath(repoRoot, relativePath) { + return path.join(repoRoot, ...relativePath.split('/')); +} + +function runGit(args, cwd, encoding = null) { + const result = spawnSync('git', args, { + cwd, + encoding, + maxBuffer: 64 * 1024 * 1024, + windowsHide: true, + }); + if (result.error) throw result.error; + if (result.status !== 0) { + const stderr = Buffer.isBuffer(result.stderr) + ? result.stderr.toString('utf8').trim() + : String(result.stderr || '').trim(); + throw new Error(`git ${args.join(' ')} failed (${result.status}): ${stderr}`); + } + return result.stdout; +} + +function readJson(repoRoot, relativePath) { + return JSON.parse(fs.readFileSync(repoPath(repoRoot, relativePath), 'utf8')); +} + +function isPlainObject(value) { + return value !== null && typeof value === 'object' && !Array.isArray(value); +} + +function validateExactKeys(value, keys, label, errors) { + if (!isPlainObject(value)) { + errors.push(`${label} must be an object`); + return false; + } + const expected = new Set(keys); + for (const key of keys) { + if (!Object.hasOwn(value, key)) errors.push(`${label} is missing required key: ${key}`); + } + for (const key of Object.keys(value)) { + if (!expected.has(key)) errors.push(`${label} contains unknown key: ${key}`); + } + return true; +} + +function analyzeLineEndings(bytes) { + let crlfPairs = 0; + let loneLf = 0; + let bareCarriageReturns = 0; + for (let index = 0; index < bytes.length; index += 1) { + if (bytes[index] === 13) { + if (bytes[index + 1] === 10) { + crlfPairs += 1; + index += 1; + } else { + bareCarriageReturns += 1; + } + } else if (bytes[index] === 10) { + loneLf += 1; + } + } + return { crlf_pairs: crlfPairs, lone_lf: loneLf, bare_carriage_returns: bareCarriageReturns }; +} + +function replaceCrlf(bytes) { + const output = []; + for (let index = 0; index < bytes.length; index += 1) { + if (bytes[index] === 13 && bytes[index + 1] === 10) { + output.push(10); + index += 1; + } else { + output.push(bytes[index]); + } + } + return Buffer.from(output); +} + +function indexFact(repoRoot, identity) { + const oid = String(runGit(['rev-parse', `:${identity.path}`], repoRoot, 'utf8')).trim(); + const bytes = Buffer.from(runGit(['cat-file', 'blob', oid], repoRoot)); + return { + role: identity.role, + path: identity.path, + git_blob_oid: oid, + git_blob_sha256: sha256(bytes), + byte_length: bytes.length, + ...analyzeLineEndings(bytes), + bytes, + }; +} + +function serializableFact(fact) { + const { bytes, ...result } = fact; + return result; +} + +function classifyCurrentCheckout(repoRoot, fact, errors) { + const bytes = fs.readFileSync(repoPath(repoRoot, fact.path)); + const endings = analyzeLineEndings(bytes); + const normalized = replaceCrlf(bytes); + let classification = 'invalid'; + if (bytes.equals(fact.bytes)) classification = 'lf-exact'; + else if (endings.bare_carriage_returns === 0 && normalized.equals(fact.bytes)) { + classification = endings.crlf_pairs > 0 && endings.lone_lf > 0 + ? 'mixed-lf-crlf-equivalent' + : 'crlf-equivalent'; + } + if (classification === 'invalid') { + errors.push(`current checkout is not Git-blob-equivalent: ${fact.path}`); + } + return { + role: fact.role, + path: fact.path, + classification, + filesystem_sha256: sha256(bytes), + byte_length: bytes.length, + ...endings, + }; +} + +function canonicalizeTranscript(stdoutBytes) { + const rawEndings = analyzeLineEndings(stdoutBytes); + if (rawEndings.bare_carriage_returns !== 0) { + throw new Error('raw stdout contains a bare carriage return'); + } + const lfBytes = replaceCrlf(stdoutBytes); + const text = lfBytes.toString('utf8'); + if (!Buffer.from(text, 'utf8').equals(lfBytes)) { + throw new Error('raw stdout is not valid round-trippable UTF-8'); + } + let trimmedTrailingBytes = 0; + const lines = text.split('\n').map((line) => { + if (!line.includes('|')) return line; + const trimmed = line.replace(/[ \t]+$/, ''); + trimmedTrailingBytes += Buffer.byteLength(line) - Buffer.byteLength(trimmed); + return trimmed; + }); + return { + bytes: Buffer.from(lines.join('\n'), 'utf8'), + stats: { + name: 'crlf-to-lf plus coverage-table trailing-padding trim', + raw_crlf_pairs_replaced: rawEndings.crlf_pairs, + table_trailing_padding_bytes_removed: trimmedTrailingBytes, + semantic_content_changes: 0, + }, + }; +} + +function parseMetricLine(text, filename) { + const escaped = filename.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); + const match = text.match( + new RegExp(`${escaped}\\s+\\|\\s+([0-9.]+)\\s+\\|\\s+([0-9.]+)\\s+\\|\\s+([0-9.]+)\\s+\\|`), + ); + if (!match) throw new Error(`canonical transcript is missing metric row: ${filename}`); + return { + line_percent: Number(match[1]), + branch_percent: Number(match[2]), + functions_percent: Number(match[3]), + }; +} + +function parseTranscript(bytes) { + const text = bytes.toString('utf8'); + const count = (label) => { + const match = text.match(new RegExp(`(?:ℹ|#) ${label} ([0-9]+)`)); + if (!match) throw new Error(`canonical transcript is missing ${label} count`); + return Number(match[1]); + }; + return { + tests: count('tests'), + passed: count('pass'), + failed: count('fail'), + aggregate: parseMetricLine(text, 'all files'), + verifier: parseMetricLine(text, 'verify-manifest.cjs'), + test_harness: parseMetricLine(text, 'verify-manifest.test.cjs'), + }; +} + +function validateMetric(value, label, errors) { + if (!validateExactKeys(value, METRIC_KEYS, label, errors)) return; + for (const key of METRIC_KEYS) { + if (typeof value[key] !== 'number' || !Number.isFinite(value[key])) { + errors.push(`${label}.${key} must be a finite number`); + } + } +} + +function expectedDimensionContract(run) { + return METRIC_SCOPES.flatMap((scope) => METRIC_KEYS.map((metric) => { + const observed = run[scope][metric]; + const normative = scope === 'aggregate' && metric === 'line_percent'; + const floor = normative ? 80 : null; + return { + scope, + metric, + observed_percent: observed, + normative, + floor_percent: floor, + margin_percent: normative ? Number((observed - floor).toFixed(2)) : null, + status: normative ? (observed >= floor ? 'PASS' : 'FAIL') : 'OBSERVED_NON_NORMATIVE', + }; + })); +} + +function validateFact(value, expected, label, errors) { + const keys = [ + 'role', + 'path', + 'git_blob_oid', + 'git_blob_sha256', + 'byte_length', + 'crlf_pairs', + 'lone_lf', + 'bare_carriage_returns', + ]; + if (!validateExactKeys(value, keys, label, errors)) return; + if (JSON.stringify(value) !== JSON.stringify(serializableFact(expected))) { + errors.push(`${label} disagrees with the current Git index blob`); + } + if (value.crlf_pairs !== 0 || value.bare_carriage_returns !== 0 || value.lone_lf === 0) { + errors.push(`${label} must describe a strict LF-only Git blob`); + } +} + +function validateCapture(repoRoot, capture, facts, errors) { + const captureKeys = [ + 'schema_version', + 'slice', + 'target_base', + 'source_head', + 'execution_index_tree', + 'node_version', + 'command', + 'representation', + 'sources', + ]; + if (!validateExactKeys(capture, captureKeys, 'capture', errors)) return; + if (capture.schema_version !== 2) errors.push('capture.schema_version must be 2'); + if (capture.slice !== SLICE) errors.push(`capture.slice must be ${SLICE}`); + if (capture.target_base !== TARGET_BASE || capture.source_head !== TARGET_BASE) { + errors.push(`capture must bind to exact rejected target ${TARGET_BASE}`); + } + if (!/^[0-9a-f]{40}$/.test(capture.execution_index_tree || '')) { + errors.push('capture.execution_index_tree must be a full Git tree OID'); + } + if (capture.node_version !== process.version) { + errors.push(`capture.node_version must equal ${process.version}`); + } + if (validateExactKeys( + capture.command, + ['executable', 'executable_basename', 'argv', 'cwd'], + 'capture.command', + errors, + )) { + if (capture.command.executable_basename.toLowerCase() !== 'node.exe') { + errors.push('capture.command.executable_basename must be node.exe'); + } + if (JSON.stringify(capture.command.argv) !== JSON.stringify(COMMAND_ARGS)) { + errors.push('capture.command.argv is not the exact coverage command'); + } + if (capture.command.cwd !== '.') errors.push('capture.command.cwd must be repository root (.)'); + } + + if (validateExactKeys( + capture.representation, + ['checkout_observation', 'canonical_execution'], + 'capture.representation', + errors, + )) { + const observation = capture.representation.checkout_observation; + if (validateExactKeys(observation, ['core_autocrlf', 'files'], 'checkout_observation', errors)) { + if (!['true', 'false', 'input', null].includes(observation.core_autocrlf)) { + errors.push('checkout_observation.core_autocrlf is invalid'); + } + if (!Array.isArray(observation.files) || observation.files.length !== 2) { + errors.push('checkout_observation.files must contain exactly two entries'); + } else { + observation.files.forEach((entry, index) => { + const label = `checkout_observation.files[${index}]`; + validateExactKeys( + entry, + [ + 'role', + 'path', + 'classification', + 'filesystem_sha256', + 'byte_length', + 'crlf_pairs', + 'lone_lf', + 'bare_carriage_returns', + ], + label, + errors, + ); + if (entry.role !== facts[index].role || entry.path !== facts[index].path) { + errors.push(`${label} identity is invalid`); + } + if (!['lf-exact', 'crlf-equivalent', 'mixed-lf-crlf-equivalent'].includes(entry.classification)) { + errors.push(`${label}.classification is invalid`); + } + if (entry.bare_carriage_returns !== 0) errors.push(`${label} contains bare CR`); + if (!/^[0-9a-f]{64}$/.test(entry.filesystem_sha256 || '')) { + errors.push(`${label}.filesystem_sha256 is invalid`); + } + const sourceFact = facts[index]; + const totalLogicalLf = entry.crlf_pairs + entry.lone_lf; + if ( + !Number.isSafeInteger(entry.crlf_pairs) || + !Number.isSafeInteger(entry.lone_lf) || + entry.crlf_pairs < 0 || + entry.lone_lf < 0 || + totalLogicalLf !== sourceFact.lone_lf || + entry.byte_length !== sourceFact.byte_length + entry.crlf_pairs + ) { + errors.push(`${label} line-ending counts do not map to the canonical Git blob`); + } + if ( + entry.classification === 'lf-exact' && + (entry.crlf_pairs !== 0 || + entry.lone_lf !== sourceFact.lone_lf || + entry.filesystem_sha256 !== sourceFact.git_blob_sha256) + ) { + errors.push(`${label} is falsely labelled lf-exact`); + } + if ( + entry.classification === 'crlf-equivalent' && + (entry.crlf_pairs !== sourceFact.lone_lf || entry.lone_lf !== 0) + ) { + errors.push(`${label} is falsely labelled crlf-equivalent`); + } + if ( + entry.classification === 'mixed-lf-crlf-equivalent' && + (entry.crlf_pairs === 0 || entry.lone_lf === 0) + ) { + errors.push(`${label} is falsely labelled mixed-lf-crlf-equivalent`); + } + }); + } + } + const execution = capture.representation.canonical_execution; + if (validateExactKeys( + execution, + ['materialization', 'repository_topology', 'core_autocrlf', 'line_endings', 'files'], + 'canonical_execution', + errors, + )) { + if ( + execution.materialization !== + 'temporary independent Git clone materialized from the exact index tree' + ) { + errors.push('canonical_execution.materialization is invalid'); + } + if (execution.repository_topology !== 'git-directory') { + errors.push('canonical_execution.repository_topology must be git-directory'); + } + if (execution.core_autocrlf !== 'false') { + errors.push('canonical_execution.core_autocrlf must be false'); + } + if (execution.line_endings !== 'lf-only') { + errors.push('canonical_execution.line_endings must be lf-only'); + } + if (!Array.isArray(execution.files) || execution.files.length !== 2) { + errors.push('canonical_execution.files must contain exactly two entries'); + } else { + execution.files.forEach((entry, index) => + validateFact(entry, facts[index], `canonical_execution.files[${index}]`, errors), + ); + } + } + } + if (!Array.isArray(capture.sources) || capture.sources.length !== facts.length) { + errors.push(`capture.sources must contain exactly ${facts.length} entries`); + } else { + capture.sources.forEach((entry, index) => + validateFact(entry, facts[index], `capture.sources[${index}]`, errors), + ); + } +} + +function validateArtifact(repoRoot, value, expectedPath, label, errors) { + if (!validateExactKeys(value, ['path', 'sha256', 'byte_length'], label, errors)) { + return Buffer.alloc(0); + } + if (value.path !== expectedPath) errors.push(`${label}.path must be ${expectedPath}`); + let bytes = Buffer.alloc(0); + try { + bytes = fs.readFileSync(repoPath(repoRoot, expectedPath)); + } catch (error) { + errors.push(`${label} cannot be read: ${error.code || error.message}`); + return bytes; + } + if (value.sha256 !== sha256(bytes)) errors.push(`${label}.sha256 disagrees with file bytes`); + if (value.byte_length !== bytes.length) errors.push(`${label}.byte_length disagrees with file bytes`); + return bytes; +} + +function validateEnvelope(repoRoot, run, capture, captureBytes, facts, errors) { + const envelopePath = `${DIRECTORY}/coverage-run-${run}.envelope.v2.json`; + const envelopeBytes = fs.readFileSync(repoPath(repoRoot, envelopePath)); + const envelope = JSON.parse(envelopeBytes); + const envelopeKeys = [ + 'schema_version', + 'slice', + 'run', + 'capture_manifest', + 'source', + 'process', + 'artifacts', + 'normalization', + 'parse_error', + 'derived_results', + 'restoration', + ]; + validateExactKeys(envelope, envelopeKeys, `envelope[${run}]`, errors); + if (envelope.schema_version !== 2 || envelope.slice !== SLICE || envelope.run !== run) { + errors.push(`envelope[${run}] identity is invalid`); + } + if (validateExactKeys( + envelope.capture_manifest, + ['path', 'sha256'], + `envelope[${run}].capture_manifest`, + errors, + )) { + if (envelope.capture_manifest.path !== CAPTURE_PATH) { + errors.push(`envelope[${run}] capture path is invalid`); + } + if (envelope.capture_manifest.sha256 !== sha256(captureBytes)) { + errors.push(`envelope[${run}] capture hash is stale`); + } + } + if (validateExactKeys( + envelope.source, + ['head_commit', 'index_tree', 'files'], + `envelope[${run}].source`, + errors, + )) { + if (envelope.source.head_commit !== TARGET_BASE) { + errors.push(`envelope[${run}] source head is stale`); + } + if (envelope.source.index_tree !== capture.execution_index_tree) { + errors.push(`envelope[${run}] source tree disagrees with capture`); + } + if (!Array.isArray(envelope.source.files) || envelope.source.files.length !== facts.length) { + errors.push(`envelope[${run}] source files length is invalid`); + } else { + envelope.source.files.forEach((entry, index) => + validateFact(entry, facts[index], `envelope[${run}].source.files[${index}]`, errors), + ); + } + } + if (validateExactKeys( + envelope.process, + [ + 'executable', + 'argv', + 'cwd', + 'started_at_utc', + 'finished_at_utc', + 'duration_ms', + 'exit_code', + 'signal', + 'spawn_error', + ], + `envelope[${run}].process`, + errors, + )) { + if (envelope.process.executable !== capture.command.executable) { + errors.push(`envelope[${run}] executable disagrees with capture`); + } + if (JSON.stringify(envelope.process.argv) !== JSON.stringify(COMMAND_ARGS)) { + errors.push(`envelope[${run}] argv is not the exact coverage command`); + } + if (!path.isAbsolute(envelope.process.cwd)) { + errors.push(`envelope[${run}] cwd must be the exact absolute generation cwd`); + } + if (!path.basename(envelope.process.cwd).startsWith('engram-r6c-')) { + errors.push(`envelope[${run}] cwd must identify the independent canonical clone`); + } + const started = Date.parse(envelope.process.started_at_utc); + const finished = Date.parse(envelope.process.finished_at_utc); + if (!Number.isFinite(started) || !Number.isFinite(finished) || finished < started) { + errors.push(`envelope[${run}] timestamps are invalid`); + } + if (envelope.process.duration_ms !== finished - started) { + errors.push(`envelope[${run}] duration disagrees with timestamps`); + } + if (envelope.process.exit_code !== 0) { + errors.push(`envelope[${run}] process exit_code must be real zero`); + } + if (envelope.process.signal !== null) errors.push(`envelope[${run}] signal must be null`); + if (envelope.process.spawn_error !== null) errors.push(`envelope[${run}] spawn_error must be null`); + } + + const prefix = `${DIRECTORY}/coverage-run-${run}`; + const artifacts = envelope.artifacts; + validateExactKeys(artifacts, ['stdout', 'stderr', 'transcript'], `envelope[${run}].artifacts`, errors); + const stdout = validateArtifact( + repoRoot, + artifacts.stdout, + `${prefix}.stdout.bin`, + `envelope[${run}].artifacts.stdout`, + errors, + ); + const stderr = validateArtifact( + repoRoot, + artifacts.stderr, + `${prefix}.stderr.bin`, + `envelope[${run}].artifacts.stderr`, + errors, + ); + const transcript = validateArtifact( + repoRoot, + artifacts.transcript, + `${prefix}.tap`, + `envelope[${run}].artifacts.transcript`, + errors, + ); + if (stderr.length !== 0) errors.push(`envelope[${run}] real stderr must be empty`); + if (envelope.parse_error !== null) { + errors.push(`envelope[${run}] parse_error must be null`); + } + + let parsed = null; + try { + const canonical = canonicalizeTranscript(stdout); + if (!canonical.bytes.equals(transcript)) { + errors.push(`envelope[${run}] transcript is not the canonical form of raw stdout`); + } + if (JSON.stringify(envelope.normalization) !== JSON.stringify(canonical.stats)) { + errors.push(`envelope[${run}] normalization declaration is hand-entered or stale`); + } + parsed = parseTranscript(transcript); + } catch (error) { + errors.push(`envelope[${run}] transcript derivation failed: ${error.message}`); + } + if (parsed) { + const expectedDerived = { exit_code: envelope.process.exit_code, ...parsed }; + if (JSON.stringify(envelope.derived_results) !== JSON.stringify(expectedDerived)) { + errors.push(`envelope[${run}] derived_results are hand-entered or stale`); + } + if (parsed.tests !== 24 || parsed.passed !== 24 || parsed.failed !== 0) { + errors.push(`envelope[${run}] canonical transcript must record 24/24 passing tests`); + } + validateMetric(parsed.aggregate, `envelope[${run}].parsed.aggregate`, errors); + validateMetric(parsed.verifier, `envelope[${run}].parsed.verifier`, errors); + validateMetric(parsed.test_harness, `envelope[${run}].parsed.test_harness`, errors); + } + + if (!Array.isArray(envelope.restoration) || envelope.restoration.length !== 2) { + errors.push(`envelope[${run}].restoration must contain exactly two entries`); + } else { + envelope.restoration.forEach((entry, index) => { + const label = `envelope[${run}].restoration[${index}]`; + validateExactKeys(entry, ['path', 'before_sha256', 'after_sha256', 'restored'], label, errors); + const observation = capture.representation.checkout_observation.files[index]; + if ( + entry.path !== facts[index].path || + entry.before_sha256 !== observation.filesystem_sha256 || + entry.after_sha256 !== observation.filesystem_sha256 || + entry.restored !== true + ) { + errors.push(`${label} does not prove byte-for-byte restoration`); + } + }); + } + return { envelopePath, envelopeBytes, envelope, parsed }; +} + +function validateRepeat(repoRoot, repeat, captureBytes, runs, errors) { + const repeatKeys = [ + 'schema_version', + 'slice', + 'capture_manifest', + 'envelopes', + 'runs', + 'reproducible', + 'dimensions', + 'threshold', + ]; + validateExactKeys(repeat, repeatKeys, 'repeat', errors); + if (repeat.schema_version !== 2 || repeat.slice !== SLICE) errors.push('repeat identity is invalid'); + validateExactKeys(repeat.capture_manifest, ['path', 'sha256'], 'repeat.capture_manifest', errors); + if ( + repeat.capture_manifest.path !== CAPTURE_PATH || + repeat.capture_manifest.sha256 !== sha256(captureBytes) + ) { + errors.push('repeat capture binding is stale'); + } + if (!Array.isArray(repeat.envelopes) || repeat.envelopes.length !== 2) { + errors.push('repeat.envelopes must contain exactly two entries'); + } else { + repeat.envelopes.forEach((entry, index) => { + const run = index + 1; + const actual = runs[index]; + validateExactKeys(entry, ['run', 'path', 'sha256'], `repeat.envelopes[${index}]`, errors); + if ( + entry.run !== run || + entry.path !== actual.envelopePath || + entry.sha256 !== sha256(actual.envelopeBytes) + ) { + errors.push(`repeat.envelopes[${index}] binding is stale`); + } + }); + } + const expectedRuns = runs.map((actual, index) => ({ + run: index + 1, + envelope_exit_code: actual.envelope.process.exit_code, + exit_code: actual.envelope.process.exit_code, + ...(actual.parsed || {}), + })); + if (JSON.stringify(repeat.runs) !== JSON.stringify(expectedRuns)) { + errors.push('repeat.runs contains hand-entered or stale process/coverage results'); + } + if (repeat.reproducible !== true) errors.push('repeat.reproducible must be true'); + const expectedDimensions = expectedRuns.length > 0 + ? expectedDimensionContract(expectedRuns[0]) + : []; + if (!Array.isArray(repeat.dimensions) || repeat.dimensions.length !== 9) { + errors.push('repeat.dimensions must contain all nine measured dimensions'); + } else { + repeat.dimensions.forEach((entry, index) => validateExactKeys( + entry, + [ + 'scope', + 'metric', + 'observed_percent', + 'normative', + 'floor_percent', + 'margin_percent', + 'status', + ], + `repeat.dimensions[${index}]`, + errors, + )); + if (JSON.stringify(repeat.dimensions) !== JSON.stringify(expectedDimensions)) { + errors.push('repeat.dimensions is stale or misstates normative coverage floors'); + } + } + validateExactKeys( + repeat.threshold, + ['percent', 'basis', 'observed_percent', 'status'], + 'repeat.threshold', + errors, + ); + const observed = expectedRuns[0]?.aggregate?.line_percent; + if ( + repeat.threshold.percent !== 80 || + repeat.threshold.basis !== 'aggregate line coverage' || + repeat.threshold.observed_percent !== observed || + repeat.threshold.status !== 'PASS' || + typeof observed !== 'number' || + observed < 80 + ) { + errors.push('repeat threshold declaration is invalid or below 80 percent'); + } + const metrics = (run) => JSON.stringify({ + aggregate: run.aggregate, + verifier: run.verifier, + test_harness: run.test_harness, + }); + if (expectedRuns.length !== 2 || metrics(expectedRuns[0]) !== metrics(expectedRuns[1])) { + errors.push('two real coverage runs must have identical metrics'); + } +} + +function runProductParity(repoRoot, errors) { + const modes = [ + { mode: 'git-object', expected_total: 7 }, + { mode: 'checkout-lf', expected_total: 7 }, + { mode: 'artifact-files', expected_total: 5 }, + ]; + return modes.map((expectation) => { + const result = spawnSync( + process.execPath, + [repoPath(repoRoot, VERIFIER_PATH), `--mode=${expectation.mode}`], + { cwd: repoRoot, encoding: 'utf8', windowsHide: true }, + ); + let output = null; + try { + output = result.stdout.trim() ? JSON.parse(result.stdout) : null; + } catch (error) { + errors.push(`product verifier ${expectation.mode} emitted invalid JSON`); + } + if ( + result.status !== 0 || + output?.status !== 'PASS' || + output?.total !== expectation.expected_total || + output?.matched !== expectation.expected_total + ) { + errors.push( + `product verifier ${expectation.mode} must PASS ` + + `${expectation.expected_total}/${expectation.expected_total}`, + ); + } + return { + mode: expectation.mode, + exit_code: result.status, + status: output?.status || null, + total: output?.total ?? null, + matched: output?.matched ?? null, + }; + }); +} + +function genericIndexEntry(repoRoot, relativePath, classification) { + const oid = String(runGit(['rev-parse', `:${relativePath}`], repoRoot, 'utf8')).trim(); + const bytes = Buffer.from(runGit(['cat-file', 'blob', oid], repoRoot)); + return { + path: relativePath, + git_blob_oid: oid, + sha256: sha256(bytes), + byte_length: bytes.length, + classification, + bytes, + }; +} + +function changedPathsFromIndex(repoRoot) { + const indexTree = String(runGit(['write-tree'], repoRoot, 'utf8')).trim(); + const output = String( + runGit( + ['diff-tree', '--no-commit-id', '--name-only', '-r', TARGET_BASE, indexTree], + repoRoot, + 'utf8', + ), + ).trim(); + return output ? output.split(/\r?\n/).filter(Boolean).sort() : []; +} + +function validateChecksums(repoRoot, errors) { + let manifest; + let manifestBytes; + try { + manifestBytes = fs.readFileSync(repoPath(repoRoot, CHECKSUM_MANIFEST_PATH)); + manifest = JSON.parse(manifestBytes); + } catch (error) { + errors.push(`checksum manifest cannot be read: ${error.message}`); + return null; + } + validateExactKeys( + manifest, + [ + 'schema_version', + 'slice', + 'algorithm', + 'representation', + 'ordering', + 'self_exclusion', + 'diff_coverage', + 'layer_count', + 'entry_count', + 'path_digest_sha256', + 'layers', + ], + 'checksums', + errors, + ); + if ( + manifest.schema_version !== 1 || + manifest.slice !== SLICE || + manifest.algorithm !== 'sha256' || + manifest.representation !== + 'Git index blob bytes; R6 subtree is -text and byte-exact in every checkout' || + manifest.ordering !== + 'layer declaration order; entries lexicographic by repository-relative path' || + JSON.stringify(manifest.self_exclusion) !== JSON.stringify(CHECKSUM_SELF_EXCLUSION) + ) { + errors.push('checksum manifest metadata is invalid'); + } + const changedPaths = changedPathsFromIndex(repoRoot); + const changedSet = new Set(changedPaths); + const selfExcludedSet = new Set(CHECKSUM_SELF_EXCLUSION); + const directlyListedChangedPaths = changedPaths.filter((entry) => !selfExcludedSet.has(entry)); + const expectedDiffCoverage = { + target_base: TARGET_BASE, + comparison: 'target base to current Git index tree; path membership only', + changed_path_count: changedPaths.length, + directly_listed_changed_paths: directlyListedChangedPaths, + load_bearing_unchanged_paths: [...LOAD_BEARING_UNCHANGED_PATHS], + }; + if (!validateExactKeys( + manifest.diff_coverage, + [ + 'target_base', + 'comparison', + 'changed_path_count', + 'directly_listed_changed_paths', + 'load_bearing_unchanged_paths', + ], + 'checksums.diff_coverage', + errors, + ) || JSON.stringify(manifest.diff_coverage) !== JSON.stringify(expectedDiffCoverage)) { + errors.push('checksum diff coverage declaration is stale'); + } + if (!Array.isArray(manifest.layers) || manifest.layers.length !== CHECKSUM_LAYERS.length) { + errors.push(`checksum manifest must contain exactly ${CHECKSUM_LAYERS.length} layers`); + return null; + } + const actualEntries = []; + const directlyValidatedPaths = []; + manifest.layers.forEach((layer, layerIndex) => { + const expectedLayer = CHECKSUM_LAYERS[layerIndex]; + const label = `checksums.layers[${layerIndex}]`; + validateExactKeys(layer, ['name', 'entries'], label, errors); + if (layer.name !== expectedLayer.name) errors.push(`${label}.name is invalid`); + if (!Array.isArray(layer.entries)) { + errors.push(`${label}.entries must be an array`); + return; + } + if (layer.entries.length !== expectedLayer.paths.length) { + errors.push(`${label}.entries length is invalid`); + } + layer.entries.forEach((entry, entryIndex) => { + const expectedPath = expectedLayer.paths[entryIndex]; + const entryLabel = `${label}.entries[${entryIndex}]`; + validateExactKeys( + entry, + ['path', 'git_blob_oid', 'sha256', 'byte_length', 'classification'], + entryLabel, + errors, + ); + if (expectedPath === undefined || entry.path !== expectedPath) { + errors.push(`${entryLabel}.path ordering is invalid`); + return; + } + const expectedClassification = changedSet.has(expectedPath) + ? 'changed' + : 'load-bearing-unchanged'; + let actual; + try { + actual = genericIndexEntry(repoRoot, expectedPath, expectedClassification); + } catch (error) { + errors.push(`${entryLabel} cannot resolve Git index blob: ${error.message}`); + return; + } + const { bytes, ...serializable } = actual; + if (JSON.stringify(entry) !== JSON.stringify(serializable)) { + errors.push(`${entryLabel} disagrees with Git index blob`); + } + directlyValidatedPaths.push(expectedPath); + if (expectedPath.startsWith(`${DIRECTORY}/`)) { + try { + const filesystemBytes = fs.readFileSync(repoPath(repoRoot, expectedPath)); + if (!filesystemBytes.equals(bytes)) { + errors.push(`${entryLabel} R6 filesystem bytes differ from -text Git blob`); + } + } catch (error) { + errors.push(`${entryLabel} R6 file cannot be read: ${error.message}`); + } + } + actualEntries.push({ layer: expectedLayer.name, ...serializable }); + }); + }); + const duplicatePaths = directlyValidatedPaths.filter( + (entry, index) => directlyValidatedPaths.indexOf(entry) !== index, + ); + if (duplicatePaths.length > 0) { + errors.push(`checksum entries contain duplicate paths: ${[...new Set(duplicatePaths)].join(', ')}`); + } + const validatedSet = new Set(directlyValidatedPaths); + const missingChangedPaths = directlyListedChangedPaths.filter((entry) => !validatedSet.has(entry)); + for (const missing of missingChangedPaths) { + errors.push(`changed path is not directly checksummed: ${missing}`); + } + const unexpectedUnchangedPaths = directlyValidatedPaths.filter( + (entry) => !changedSet.has(entry) && !LOAD_BEARING_UNCHANGED_PATHS.includes(entry), + ); + if (unexpectedUnchangedPaths.length > 0) { + errors.push( + `unchanged checksum entries lack load-bearing classification: ${unexpectedUnchangedPaths.join(', ')}`, + ); + } + for (const expectedExtra of LOAD_BEARING_UNCHANGED_PATHS) { + if (!validatedSet.has(expectedExtra) || changedSet.has(expectedExtra)) { + errors.push(`load-bearing unchanged classification is stale: ${expectedExtra}`); + } + } + for (const selfExcluded of CHECKSUM_SELF_EXCLUSION) { + if (!changedSet.has(selfExcluded)) { + errors.push(`self-excluded checksum path is not changed: ${selfExcluded}`); + } + } + const digestBytes = Buffer.from( + actualEntries.map((entry) => + `${entry.layer}\0${entry.classification}\0${entry.path}\0${entry.git_blob_oid}\0${entry.sha256}\n`, + ).join(''), + 'utf8', + ); + const expectedDigest = sha256(digestBytes); + if ( + manifest.layer_count !== CHECKSUM_LAYERS.length || + manifest.entry_count !== actualEntries.length || + manifest.path_digest_sha256 !== expectedDigest + ) { + errors.push('checksum counts or ordered path digest are stale'); + } + try { + const expectedSums = [ + ...actualEntries.map((entry) => `${entry.sha256} ${entry.path}`), + `${sha256(manifestBytes)} ${CHECKSUM_MANIFEST_PATH}`, + '', + ].join('\n'); + const actualSums = fs.readFileSync(repoPath(repoRoot, CHECKSUM_SUMS_PATH), 'utf8'); + if (actualSums !== expectedSums) errors.push('R6-SHA256SUMS.txt is stale or out of order'); + } catch (error) { + errors.push(`R6-SHA256SUMS.txt cannot be read: ${error.message}`); + } + return { + layers: CHECKSUM_LAYERS.length, + entries: actualEntries.length, + path_digest_sha256: expectedDigest, + manifest_sha256: sha256(manifestBytes), + diff_coverage: { + changed_paths: changedPaths.length, + directly_checksummed_changed_paths: directlyListedChangedPaths.length, + self_excluded_changed_paths: [...CHECKSUM_SELF_EXCLUSION], + load_bearing_unchanged_paths: [...LOAD_BEARING_UNCHANGED_PATHS], + }, + }; +} + +function main() { + const repoRoot = path.resolve( + String(runGit(['rev-parse', '--show-toplevel'], process.cwd(), 'utf8')).trim(), + ); + const errors = []; + const facts = SOURCE_IDENTITIES.map((identity) => indexFact(repoRoot, identity)); + const currentRepresentation = facts.slice(0, 2).map((fact) => + classifyCurrentCheckout(repoRoot, fact, errors), + ); + let capture = null; + let captureBytes = Buffer.alloc(0); + let repeat = null; + let runs = []; + try { + captureBytes = fs.readFileSync(repoPath(repoRoot, CAPTURE_PATH)); + capture = JSON.parse(captureBytes); + validateCapture(repoRoot, capture, facts, errors); + } catch (error) { + errors.push(`capture verification failed: ${error.message}`); + } + if (capture) { + for (const run of [1, 2]) { + try { + runs.push(validateEnvelope(repoRoot, run, capture, captureBytes, facts, errors)); + } catch (error) { + errors.push(`envelope[${run}] verification failed: ${error.message}`); + } + } + } + try { + repeat = readJson(repoRoot, REPEAT_PATH); + if (runs.length === 2) validateRepeat(repoRoot, repeat, captureBytes, runs, errors); + } catch (error) { + errors.push(`repeat verification failed: ${error.message}`); + } + const productParity = runProductParity(repoRoot, errors); + const checksums = validateChecksums(repoRoot, errors); + const status = errors.length === 0 ? 'PASS' : 'FAIL'; + const result = { + schema_version: 2, + slice: SLICE, + status, + structural_errors: errors, + current_representation: currentRepresentation, + process_runs: runs.map((run) => ({ + run: run.envelope.run, + exit_code: run.envelope.process.exit_code, + stdout_sha256: run.envelope.artifacts.stdout.sha256, + stderr_sha256: run.envelope.artifacts.stderr.sha256, + transcript_sha256: run.envelope.artifacts.transcript.sha256, + parsed: run.parsed, + })), + product_parity: productParity, + checksums, + }; + process.stdout.write(`${JSON.stringify(result, null, 2)}\n`); + if (status !== 'PASS') process.exit(1); +} + +try { + main(); +} catch (error) { + process.stderr.write(`${error.stack || error.message}\n`); + process.exit(1); +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/verify-evidence.test.cjs b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/verify-evidence.test.cjs new file mode 100644 index 00000000..39ccc346 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/verify-evidence.test.cjs @@ -0,0 +1,283 @@ +#!/usr/bin/env node +'use strict'; + +const assert = require('node:assert/strict'); +const crypto = require('node:crypto'); +const fs = require('node:fs'); +const path = require('node:path'); +const { spawnSync } = require('node:child_process'); +const { test } = require('node:test'); + +const directory = __dirname; +const repoRoot = path.resolve( + spawnSync('git', ['rev-parse', '--show-toplevel'], { + cwd: directory, + encoding: 'utf8', + windowsHide: true, + }).stdout.trim(), +); +const verifierPath = path.join(directory, 'verify-evidence.cjs'); +const finalReplayPath = path.join(directory, 'verify-final-commit-replay.cjs'); +const repeatPath = path.join(directory, 'coverage-repeat.v2.json'); +const envelopePath = path.join(directory, 'coverage-run-1.envelope.v2.json'); +const stdoutPath = path.join(directory, 'coverage-run-1.stdout.bin'); +const stderrPath = path.join(directory, 'coverage-run-1.stderr.bin'); +const transcriptPath = path.join(directory, 'coverage-run-1.tap'); +const checksumManifestPath = path.join(directory, 'checksum-layers.v1.json'); +const checksumSumsPath = path.join(directory, 'R6-SHA256SUMS.txt'); +const changedR5VerifierPath = + '.agent/reports/evidence/production-ready/' + + 'db-embedding-stats-evidence-transport-r5/verify-coverage-capture.cjs'; + +function sha256(bytes) { + return crypto.createHash('sha256').update(bytes).digest('hex'); +} + +function jsonBytes(value) { + return Buffer.from(`${JSON.stringify(value, null, 2)}\n`, 'utf8'); +} + +function runVerifier() { + const result = spawnSync(process.execPath, [verifierPath], { + cwd: repoRoot, + encoding: 'utf8', + windowsHide: true, + }); + return { + exit_code: result.status, + output: result.stdout.trim() ? JSON.parse(result.stdout) : null, + stderr: result.stderr.trim(), + }; +} + +function expectPass(result) { + assert.equal(result.exit_code, 0, result.stderr || JSON.stringify(result.output)); + assert.equal(result.output?.status, 'PASS'); + assert.deepEqual(result.output?.structural_errors, []); +} + +function expectFail(result, pattern) { + assert.notEqual(result.exit_code, 0, 'attack must return a non-zero exit code'); + assert.equal(result.output?.status, 'FAIL', result.stderr || 'attack must emit FAIL'); + assert.ok(result.output.structural_errors.length > 0, 'attack must emit a structural error'); + if (pattern) { + assert.match(result.output.structural_errors.join('\n'), pattern); + } +} + +function withRestored(paths, execute) { + const originals = new Map(paths.map((filePath) => [filePath, fs.readFileSync(filePath)])); + try { + return execute(); + } finally { + for (const [filePath, bytes] of originals) fs.writeFileSync(filePath, bytes); + } +} + +function withEnvelopeMutation(mutate, verify, extraPaths = []) { + return withRestored([envelopePath, repeatPath, ...extraPaths], () => { + const envelope = JSON.parse(fs.readFileSync(envelopePath, 'utf8')); + const repeat = JSON.parse(fs.readFileSync(repeatPath, 'utf8')); + mutate({ envelope, repeat }); + const envelopeBytes = jsonBytes(envelope); + fs.writeFileSync(envelopePath, envelopeBytes); + repeat.envelopes[0].sha256 = sha256(envelopeBytes); + fs.writeFileSync(repeatPath, jsonBytes(repeat)); + return verify(); + }); +} + +function updateArtifact(envelope, name, filePath, bytes) { + fs.writeFileSync(filePath, bytes); + envelope.artifacts[name].sha256 = sha256(bytes); + envelope.artifacts[name].byte_length = bytes.length; +} + +function checksumPathDigest(manifest) { + const bytes = Buffer.from( + manifest.layers.flatMap((layer) => + layer.entries.map((entry) => + `${layer.name}\0${entry.classification}\0${entry.path}\0${entry.git_blob_oid}\0${entry.sha256}\n`, + ), + ).join(''), + 'utf8', + ); + return sha256(bytes); +} + +function checksumSums(manifest, manifestBytes) { + return Buffer.from(`${[ + ...manifest.layers.flatMap((layer) => + layer.entries.map((entry) => `${entry.sha256} ${entry.path}`), + ), + `${sha256(manifestBytes)} ${path.relative(repoRoot, checksumManifestPath).split(path.sep).join('/')}`, + ].join('\n')}\n`, 'utf8'); +} + +test('real process envelopes, raw streams, transcripts, and product parity pass', () => { + const result = runVerifier(); + expectPass(result); + assert.equal(result.output.process_runs.length, 2); + assert.deepEqual(result.output.process_runs.map((run) => run.exit_code), [0, 0]); + assert.deepEqual( + result.output.process_runs.map((run) => [run.parsed.tests, run.parsed.passed, run.parsed.failed]), + [[24, 24, 0], [24, 24, 0]], + ); + assert.deepEqual( + result.output.product_parity.map((entry) => [entry.mode, entry.matched, entry.total]), + [['git-object', 7, 7], ['checkout-lf', 7, 7], ['artifact-files', 5, 5]], + ); + const boundaryProbe = spawnSync( + process.execPath, + [finalReplayPath, '--self-test-prefix-boundaries'], + { cwd: repoRoot, encoding: 'utf8', windowsHide: true }, + ); + assert.equal(boundaryProbe.status, 0, boundaryProbe.stderr); + const boundaryResult = JSON.parse(boundaryProbe.stdout); + assert.equal(boundaryResult.status, 'PASS'); + assert.ok(boundaryResult.rejected.some((entry) => entry.includes('transport-evil'))); +}); + +test('parseable TAP cannot hide a non-zero real process exit', () => { + const result = withEnvelopeMutation(({ envelope, repeat }) => { + envelope.process.exit_code = 1; + envelope.derived_results.exit_code = 1; + repeat.runs[0].envelope_exit_code = 1; + repeat.runs[0].exit_code = 1; + }, runVerifier); + expectFail(result, /process exit_code must be real zero/); +}); + +test('a stale source envelope is rejected even with refreshed envelope hash', () => { + const result = withEnvelopeMutation(({ envelope }) => { + envelope.source.files[0].git_blob_oid = '0'.repeat(40); + }, runVerifier); + expectFail(result, /disagrees with the current Git index blob/); +}); + +test('hand-entered metrics are rejected after envelope and repeat hashes are refreshed', () => { + const result = withEnvelopeMutation(({ envelope, repeat }) => { + envelope.derived_results.aggregate.line_percent = 99.99; + repeat.runs[0].aggregate.line_percent = 99.99; + repeat.threshold.observed_percent = 99.99; + }, runVerifier); + expectFail(result, /derived_results are hand-entered or stale/); +}); + +test('changed stdout is rejected after its declared hashes are refreshed', () => { + const result = withEnvelopeMutation(({ envelope }) => { + const stdout = fs.readFileSync(stdoutPath, 'utf8'); + assert.match(stdout, /ℹ tests 24/); + updateArtifact( + envelope, + 'stdout', + stdoutPath, + Buffer.from(stdout.replace('ℹ tests 24', 'ℹ tests 25'), 'utf8'), + ); + }, runVerifier, [stdoutPath]); + expectFail(result, /transcript is not the canonical form of raw stdout/); +}); + +test('changed stderr is rejected after its declared hashes are refreshed', () => { + const result = withEnvelopeMutation(({ envelope }) => { + updateArtifact(envelope, 'stderr', stderrPath, Buffer.from('synthetic stderr\n', 'utf8')); + }, runVerifier, [stderrPath]); + expectFail(result, /real stderr must be empty/); +}); + +test('changed transcript is rejected after its declared hashes are refreshed', () => { + const result = withEnvelopeMutation(({ envelope }) => { + const transcript = fs.readFileSync(transcriptPath, 'utf8'); + assert.match(transcript, /ℹ pass 24/); + updateArtifact( + envelope, + 'transcript', + transcriptPath, + Buffer.from(transcript.replace('ℹ pass 24', 'ℹ pass 23'), 'utf8'), + ); + }, runVerifier, [transcriptPath]); + expectFail(result, /transcript is not the canonical form of raw stdout/); +}); + +test('missing raw stdout is rejected fail-closed', () => { + const heldPath = `${stdoutPath}.held`; + assert.equal(fs.existsSync(heldPath), false); + fs.renameSync(stdoutPath, heldPath); + try { + expectFail(runVerifier(), /cannot be read/); + } finally { + fs.renameSync(heldPath, stdoutPath); + } +}); + +test('coverage-table padding normalization is semantic-preserving and exactly counted', () => { + const envelope = JSON.parse(fs.readFileSync(envelopePath, 'utf8')); + const stdout = fs.readFileSync(stdoutPath); + const transcript = fs.readFileSync(transcriptPath); + assert.equal(envelope.normalization.semantic_content_changes, 0); + assert.ok( + Number.isSafeInteger(envelope.normalization.table_trailing_padding_bytes_removed) && + envelope.normalization.table_trailing_padding_bytes_removed > 0, + 'normalization must record a positive exact padding-byte count', + ); + assert.equal( + stdout.length - transcript.length, + envelope.normalization.table_trailing_padding_bytes_removed, + ); + const result = runVerifier(); + expectPass(result); +}); + +test('semantic transcript mutation remains rejected with all local hashes refreshed', () => { + const result = withEnvelopeMutation(({ envelope, repeat }) => { + const stdout = fs.readFileSync(stdoutPath, 'utf8'); + const transcript = fs.readFileSync(transcriptPath, 'utf8'); + assert.match(stdout, /ℹ tests 24/); + assert.match(transcript, /ℹ tests 24/); + updateArtifact( + envelope, + 'stdout', + stdoutPath, + Buffer.from(stdout.replace('ℹ tests 24', 'ℹ tests 25'), 'utf8'), + ); + updateArtifact( + envelope, + 'transcript', + transcriptPath, + Buffer.from(transcript.replace('ℹ tests 24', 'ℹ tests 25'), 'utf8'), + ); + envelope.derived_results.tests = 25; + repeat.runs[0].tests = 25; + }, runVerifier, [stdoutPath, transcriptPath]); + expectFail(result, /canonical transcript must record 24\/24 passing tests/); +}); + +test('unknown envelope fields are rejected fail-closed', () => { + const result = withEnvelopeMutation(({ envelope }) => { + envelope.hand_entered_success = true; + }, runVerifier); + expectFail(result, /contains unknown key: hand_entered_success/); +}); + +test('a changed path cannot be omitted after locally refreshing checksum declarations', () => { + const result = withRestored([checksumManifestPath, checksumSumsPath], () => { + const manifest = JSON.parse(fs.readFileSync(checksumManifestPath, 'utf8')); + const layer = manifest.layers.find((entry) => entry.name === 'r5-truth-corrections'); + assert.ok(layer, 'r5 checksum layer must exist'); + const before = layer.entries.length; + layer.entries = layer.entries.filter((entry) => entry.path !== changedR5VerifierPath); + assert.equal(layer.entries.length, before - 1, 'attack must remove the changed R5 verifier'); + manifest.entry_count -= 1; + manifest.diff_coverage.changed_path_count -= 1; + manifest.diff_coverage.directly_listed_changed_paths = + manifest.diff_coverage.directly_listed_changed_paths.filter( + (entry) => entry !== changedR5VerifierPath, + ); + manifest.path_digest_sha256 = checksumPathDigest(manifest); + const manifestBytes = jsonBytes(manifest); + fs.writeFileSync(checksumManifestPath, manifestBytes); + fs.writeFileSync(checksumSumsPath, checksumSums(manifest, manifestBytes)); + return runVerifier(); + }); + expectFail(result, /changed path is not directly checksummed: .*verify-coverage-capture\.cjs/); +}); diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/verify-final-commit-replay.cjs b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/verify-final-commit-replay.cjs new file mode 100644 index 00000000..dc5d3eb0 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/verify-final-commit-replay.cjs @@ -0,0 +1,380 @@ +#!/usr/bin/env node +'use strict'; + +const crypto = require('node:crypto'); +const fs = require('node:fs'); +const os = require('node:os'); +const path = require('node:path'); +const { spawnSync } = require('node:child_process'); + +const TARGET_BASE = 'a538f6224ef31f612152470a4ecd45e78ff9d0f2'; +const BASE_DIRECTORY = + '.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport'; +const DIRECTORY = `${BASE_DIRECTORY}-r6`; +const VERIFIER_PATH = `${BASE_DIRECTORY}/verify-manifest.cjs`; +const TEST_PATH = `${BASE_DIRECTORY}/verify-manifest.test.cjs`; +const WRAPPER_PATH = `${DIRECTORY}/capture-coverage-run.cjs`; +const CAPTURE_PATH = `${DIRECTORY}/coverage-capture.v2.json`; +const REPEAT_PATH = `${DIRECTORY}/coverage-repeat.v2.json`; +const COMMAND_ARGS = Object.freeze([ + '--test', + '--test-concurrency=1', + '--experimental-test-coverage', + TEST_PATH, +]); +const SOURCE_PATHS = Object.freeze([VERIFIER_PATH, TEST_PATH, WRAPPER_PATH]); +const METRIC_SCOPES = Object.freeze(['aggregate', 'verifier', 'test_harness']); +const METRIC_KEYS = Object.freeze(['line_percent', 'branch_percent', 'functions_percent']); +const ALLOWED_PREFIXES = Object.freeze([ + `${BASE_DIRECTORY}/`, + `${BASE_DIRECTORY}-r5/`, + `${DIRECTORY}/`, + '.agent/specs/db-embedding-stats-evidence-transport/evidence/', +]); + +function sha256(bytes) { + return crypto.createHash('sha256').update(bytes).digest('hex'); +} + +function run(program, args, cwd, encoding = null, env = process.env) { + const result = spawnSync(program, args, { + cwd, + encoding, + env, + maxBuffer: 64 * 1024 * 1024, + windowsHide: true, + }); + if (result.error) throw result.error; + return result; +} + +function git(args, cwd, encoding = null) { + const result = run('git', args, cwd, encoding); + if (result.status !== 0) { + const stderr = Buffer.isBuffer(result.stderr) + ? result.stderr.toString('utf8').trim() + : String(result.stderr || '').trim(); + throw new Error(`git ${args.join(' ')} failed (${result.status}): ${stderr}`); + } + return result.stdout; +} + +function repoPath(repoRoot, relativePath) { + return path.join(repoRoot, ...relativePath.split('/')); +} + +function lineEndings(bytes) { + let crlfPairs = 0; + let loneLf = 0; + let bareCarriageReturns = 0; + for (let index = 0; index < bytes.length; index += 1) { + if (bytes[index] === 13) { + if (bytes[index + 1] === 10) { + crlfPairs += 1; + index += 1; + } else { + bareCarriageReturns += 1; + } + } else if (bytes[index] === 10) { + loneLf += 1; + } + } + return { crlf_pairs: crlfPairs, lone_lf: loneLf, bare_carriage_returns: bareCarriageReturns }; +} + +function canonicalize(bytes) { + const output = []; + for (let index = 0; index < bytes.length; index += 1) { + if (bytes[index] === 13 && bytes[index + 1] === 10) { + output.push(10); + index += 1; + } else { + if (bytes[index] === 13) throw new Error('bare CR is not canonicalizable'); + output.push(bytes[index]); + } + } + return Buffer.from(output); +} + +function classifyCheckout(repoRoot, fact) { + const bytes = fs.readFileSync(repoPath(repoRoot, fact.path)); + const normalized = canonicalize(bytes); + if (!normalized.equals(fact.bytes)) { + throw new Error(`checkout is not canonical-equivalent to final blob: ${fact.path}`); + } + const endings = lineEndings(bytes); + let classification = 'lf-exact'; + if (!bytes.equals(fact.bytes)) { + classification = endings.crlf_pairs > 0 && endings.lone_lf > 0 + ? 'mixed-lf-crlf-equivalent' + : 'crlf-equivalent'; + } + return { + path: fact.path, + classification, + filesystem_sha256: sha256(bytes), + byte_length: bytes.length, + ...endings, + }; +} + +function withCanonicalExecutionClone(repoRoot, sourceTree, execute) { + const tempBase = path.resolve(os.tmpdir()); + const cloneRoot = fs.mkdtempSync(path.join(tempBase, 'engram-r6c-')); + try { + const clone = run( + 'git', + ['clone', '--shared', '--no-checkout', '--quiet', repoRoot, cloneRoot], + repoRoot, + 'utf8', + ); + if (clone.status !== 0) throw new Error(`canonical clone failed: ${clone.stderr.trim()}`); + git(['config', 'core.longpaths', 'true'], cloneRoot, 'utf8'); + git(['config', 'core.autocrlf', 'false'], cloneRoot, 'utf8'); + git(['read-tree', sourceTree], cloneRoot, 'utf8'); + git(['checkout-index', '--all', '--force'], cloneRoot, 'utf8'); + return execute(cloneRoot); + } finally { + const resolvedClone = path.resolve(cloneRoot); + if (!resolvedClone.startsWith(`${tempBase}${path.sep}`)) { + throw new Error(`refusing to clean unexpected canonical clone path: ${resolvedClone}`); + } + fs.rmSync(resolvedClone, { recursive: true, force: true }); + } +} + +function finalBlobFact(repoRoot, relativePath) { + const oid = String(git(['rev-parse', `HEAD:${relativePath}`], repoRoot, 'utf8')).trim(); + const bytes = Buffer.from(git(['cat-file', 'blob', oid], repoRoot)); + const endings = lineEndings(bytes); + if (endings.crlf_pairs !== 0 || endings.bare_carriage_returns !== 0 || endings.lone_lf === 0) { + throw new Error(`final committed source blob must be LF-only: ${relativePath}`); + } + return { + path: relativePath, + git_blob_oid: oid, + git_blob_sha256: sha256(bytes), + byte_length: bytes.length, + ...endings, + bytes, + }; +} + +function parseMetric(text, filename) { + const escaped = filename.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); + const match = text.match( + new RegExp(`${escaped}\\s+\\|\\s+([0-9.]+)\\s+\\|\\s+([0-9.]+)\\s+\\|\\s+([0-9.]+)\\s+\\|`), + ); + if (!match) throw new Error(`replay transcript is missing metric row: ${filename}`); + return { + line_percent: Number(match[1]), + branch_percent: Number(match[2]), + functions_percent: Number(match[3]), + }; +} + +function parseReplay(stdout) { + const text = canonicalize(stdout).toString('utf8'); + const count = (label) => { + const match = text.match(new RegExp(`(?:ℹ|#) ${label} ([0-9]+)`)); + if (!match) throw new Error(`replay transcript is missing ${label}`); + return Number(match[1]); + }; + return { + tests: count('tests'), + passed: count('pass'), + failed: count('fail'), + aggregate: parseMetric(text, 'all files'), + verifier: parseMetric(text, 'verify-manifest.cjs'), + test_harness: parseMetric(text, 'verify-manifest.test.cjs'), + }; +} + +function expectedDimensionContract(run) { + return METRIC_SCOPES.flatMap((scope) => METRIC_KEYS.map((metric) => { + const observed = run[scope][metric]; + const normative = scope === 'aggregate' && metric === 'line_percent'; + const floor = normative ? 80 : null; + return { + scope, + metric, + observed_percent: observed, + normative, + floor_percent: floor, + margin_percent: normative ? Number((observed - floor).toFixed(2)) : null, + status: normative ? (observed >= floor ? 'PASS' : 'FAIL') : 'OBSERVED_NON_NORMATIVE', + }; + })); +} + +function isAllowedChangedPath(relativePath) { + return ALLOWED_PREFIXES.some((prefix) => relativePath.startsWith(prefix)); +} + +function runPrefixBoundarySelfTest() { + const accepted = [ + `${BASE_DIRECTORY}/verify-manifest.test.cjs`, + `${BASE_DIRECTORY}-r5/maker-report.md`, + `${DIRECTORY}/maker-report.md`, + '.agent/specs/db-embedding-stats-evidence-transport/evidence/example.json', + ]; + const rejected = [ + `${BASE_DIRECTORY}-evil/payload.cjs`, + `${DIRECTORY}-evil/payload.cjs`, + '.agent/specs/db-embedding-stats-evidence-transport/evidence-evil/payload.json', + 'internal/embedding/store.go', + ]; + if (accepted.some((entry) => !isAllowedChangedPath(entry))) { + throw new Error('prefix-boundary self-test rejected an authorized path'); + } + if (rejected.some((entry) => isAllowedChangedPath(entry))) { + throw new Error('prefix-boundary self-test accepted a collision/disallowed path'); + } + return { status: 'PASS', accepted, rejected }; +} + +function main() { + const repoRoot = path.resolve(String(git(['rev-parse', '--show-toplevel'], process.cwd(), 'utf8')).trim()); + const head = String(git(['rev-parse', 'HEAD'], repoRoot, 'utf8')).trim(); + const parents = String(git(['show', '-s', '--format=%P', 'HEAD'], repoRoot, 'utf8')).trim().split(/\s+/); + if (parents.length !== 1 || parents[0] !== TARGET_BASE) { + throw new Error(`final maker commit must be a direct child of ${TARGET_BASE}`); + } + const clean = String(git(['status', '--porcelain', '--untracked-files=no'], repoRoot, 'utf8')); + if (clean.trim() !== '') throw new Error(`final replay requires a clean tracked checkout: ${clean.trim()}`); + + const changedPaths = String( + git(['diff-tree', '--no-commit-id', '--name-only', '-r', 'HEAD'], repoRoot, 'utf8'), + ).trim().split(/\r?\n/).filter(Boolean).sort(); + runPrefixBoundarySelfTest(); + const disallowed = changedPaths.filter((entry) => !isAllowedChangedPath(entry)); + if (disallowed.length > 0) throw new Error(`final commit changed disallowed paths: ${disallowed.join(', ')}`); + const pathFacts = changedPaths.map((entry) => ({ + path: entry, + blob_oid: String(git(['rev-parse', `HEAD:${entry}`], repoRoot, 'utf8')).trim(), + })); + const pathDigestBytes = Buffer.from( + pathFacts.map((entry) => `${entry.path}\0${entry.blob_oid}\n`).join(''), + 'utf8', + ); + + const capture = JSON.parse(fs.readFileSync(repoPath(repoRoot, CAPTURE_PATH), 'utf8')); + const repeat = JSON.parse(fs.readFileSync(repoPath(repoRoot, REPEAT_PATH), 'utf8')); + const finalFacts = SOURCE_PATHS.map((entry) => finalBlobFact(repoRoot, entry)); + finalFacts.forEach((fact, index) => { + const captured = capture.sources[index]; + for (const key of [ + 'path', + 'git_blob_oid', + 'git_blob_sha256', + 'byte_length', + 'crlf_pairs', + 'lone_lf', + 'bare_carriage_returns', + ]) { + if (captured[key] !== fact[key]) { + throw new Error(`final committed source differs from captured execution source: ${fact.path}`); + } + } + }); + const hostCheckout = finalFacts.slice(0, 2).map((fact) => classifyCheckout(repoRoot, fact)); + + let replay; + let replayCwd = null; + const finalTree = String(git(['rev-parse', 'HEAD^{tree}'], repoRoot, 'utf8')).trim(); + withCanonicalExecutionClone(repoRoot, finalTree, (cloneRoot) => { + for (const fact of finalFacts.slice(0, 2)) { + if (!fs.readFileSync(repoPath(cloneRoot, fact.path)).equals(fact.bytes)) { + throw new Error(`canonical clone differs from final source blob: ${fact.path}`); + } + } + const env = { ...process.env }; + delete env.NODE_V8_COVERAGE; + replayCwd = cloneRoot; + replay = run(process.execPath, COMMAND_ARGS, cloneRoot, null, env); + }); + if (!replay) throw new Error('final replay process did not start'); + const stdout = Buffer.from(replay.stdout || []); + const stderr = Buffer.from(replay.stderr || []); + const parsed = parseReplay(stdout); + if ( + replay.status !== 0 || + replay.signal !== null || + stderr.length !== 0 || + parsed.tests !== 24 || + parsed.passed !== 24 || + parsed.failed !== 0 + ) { + throw new Error( + `final replay failed: exit=${replay.status}, signal=${replay.signal}, ` + + `stderr_bytes=${stderr.length}, counts=${JSON.stringify(parsed)}`, + ); + } + const expectedMetrics = repeat.runs[0]; + for (const key of ['aggregate', 'verifier', 'test_harness']) { + if (JSON.stringify(parsed[key]) !== JSON.stringify(expectedMetrics[key])) { + throw new Error(`final replay ${key} metrics differ from committed real-run packet`); + } + } + const replayDimensions = expectedDimensionContract(parsed); + if (JSON.stringify(repeat.dimensions) !== JSON.stringify(replayDimensions)) { + throw new Error('final replay coverage dimensions/floors differ from committed packet'); + } + if (replayDimensions.some((entry) => entry.normative && entry.status !== 'PASS')) { + throw new Error('final replay failed a normative coverage floor'); + } + const restoredClean = String( + git(['status', '--porcelain', '--untracked-files=no'], repoRoot, 'utf8'), + ); + if (restoredClean.trim() !== '') { + throw new Error(`final replay left tracked residue: ${restoredClean.trim()}`); + } + + const result = { + schema_version: 1, + status: 'PASS', + final_commit: head, + direct_parent: parents[0], + final_tree: finalTree, + changed_path_count: changedPaths.length, + changed_path_digest_sha256: sha256(pathDigestBytes), + changed_paths: pathFacts, + captured_execution_index_tree: capture.execution_index_tree, + final_source_blobs_match_capture: true, + host_checkout: hostCheckout, + canonical_execution: { + materialization: 'temporary independent Git clone from final committed tree', + repository_topology: 'git-directory', + core_autocrlf: 'false', + cwd: replayCwd, + }, + command: { + executable: process.execPath, + argv: [...COMMAND_ARGS], + cwd: repoRoot, + }, + process: { + exit_code: replay.status, + signal: replay.signal, + stdout_sha256: sha256(stdout), + stdout_byte_length: stdout.length, + stderr_sha256: sha256(stderr), + stderr_byte_length: stderr.length, + }, + parsed, + coverage_dimensions: replayDimensions, + tracked_residue: false, + }; + process.stdout.write(`${JSON.stringify(result, null, 2)}\n`); +} + +try { + if (process.argv.includes('--self-test-prefix-boundaries')) { + process.stdout.write(`${JSON.stringify(runPrefixBoundarySelfTest(), null, 2)}\n`); + } else { + main(); + } +} catch (error) { + process.stderr.write(`${error.stack || error.message}\n`); + process.exit(1); +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/ARTIFACTS.sha256 b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/ARTIFACTS.sha256 new file mode 100644 index 00000000..7fcdce22 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/ARTIFACTS.sha256 @@ -0,0 +1,10 @@ +# manifest-version=1 +# algorithm=sha256 +# representation=canonical-lf-files +# checkout-equivalence=crlf-to-lf-with-no-bare-cr +# self-entry=excluded-to-avoid-recursion +5d932e6acf104bf9eff291409b50961007512e09e91d78401257a018fcb780f4 .agent/reports/evidence/production-ready/db-embedding-stats/SHA256SUMS.txt +e3e9fd6250d4ead502a01ec81bb7901ad658d74845184a10b6f153276a1bd12f .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/content-manifest.v1.json +a55e59dd870659330add8f840272aa1e8829f8161779db3e9be9e6e014cf1ba4 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.cjs +4f62630b651d6805ffe894e643159dfdef41176081878f303de12a64a56dca52 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verification-observations.v1.json +5d7a49dd716c25679e133c9aa2c0b59fd40525fb0540cc8b4556429df1d37fc6 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/maker-report.md diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/content-manifest.v1.json b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/content-manifest.v1.json new file mode 100644 index 00000000..3742010a --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/content-manifest.v1.json @@ -0,0 +1,60 @@ +{ + "schema_version": 1, + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "algorithm": "sha256", + "representation": { + "kind": "git-blob-content", + "source_commit": "38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df", + "checkout_equivalence": { + "transform": "replace each CRLF byte pair with LF", + "bare_cr": "reject", + "required_result": "byte-identical to the source commit Git blob" + } + }, + "legacy_manifest": ".agent/reports/evidence/production-ready/db-embedding-stats/SHA256SUMS.txt", + "verifier": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.cjs", + "entries": [ + { + "path": "internal/embedding/store.go", + "git_blob_oid": "1abaee96b07583f9fd824ed03c40b043c490b567", + "byte_length": 10934, + "sha256": "7bfb06dfc0dda792147d5e2df9d2fe68b59edaac55d2396dece1b8a8a09eee5f" + }, + { + "path": "internal/embedding/store_stats_test.go", + "git_blob_oid": "d381643deadbb42e8a9a07fc9375a6cdfedbdccc", + "byte_length": 9189, + "sha256": "a35a234eb167c58bf201afc50954e43926a69ba2294536f2d0fabf4e015b12a4" + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.red.json", + "git_blob_oid": "48db3052d1ff53fa7cd5f61d0371dd1be0e780bd", + "byte_length": 577, + "sha256": "12adb14f118dbf821ee1eabb569f6bbcae831875d3b8a7fb5928c18a4b323a56" + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.tdd.json", + "git_blob_oid": "4d94a57de67a41b718073e403cd894843dcffa0d", + "byte_length": 1429, + "sha256": "56022d4fb07816ca0ed3f841770605dc212a4cb39fcb9682c75a753f73c7776b" + }, + { + "path": ".agent/specs/db-embedding-stats/evidence/coverage.out", + "git_blob_oid": "457c38e08408c534032a7a962969c762fa1fad8c", + "byte_length": 17413, + "sha256": "edd5fb10fe7a7d7aaddd2bfd96ea220fe42f94561d386712951eb70eabffb735" + }, + { + "path": ".agent/reports/2026-07-10-db-embedding-stats-maker.md", + "git_blob_oid": "8a3d45057e7c869e3eec8925a25a341158209f01", + "byte_length": 3054, + "sha256": "efad310616efa0878628e6af946f06349b16f0c7817432cbb3614ff5c74de025" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats/DB-EMBEDDING-STATS.final.json", + "git_blob_oid": "1fa3cb6c4dc1fba849f50f33a42a3f2d1f2b23fd", + "byte_length": 1592, + "sha256": "a82aa7d911935e1327893faa266d49df97018a182fbe8498dc3e4976c59d9ada" + } + ] +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/maker-report.md b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/maker-report.md new file mode 100644 index 00000000..62f97a6f --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/maker-report.md @@ -0,0 +1,93 @@ +# DB-EMBEDDING-EVIDENCE-TRANSPORT R5 maker report + +R5 starts from exact R4 target +`369951b61ee07cb0c405558e0f677cd1c9e90362`. The R4 checker commit +`24bf45cb773dfbe4e42d662b3c35bd0a65b51f45` is not an ancestor. Product, +source, and product-test blobs remain exact to accepted source +`38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df` (`7/7`). + +## ET-R4-001 closure + +The covered R4 verifier is preserved exactly: + +- Git blob OID: `75bec9c41eb5abc435f13d90848074f6608f7fce` +- LF-byte SHA-256: `a55e59dd870659330add8f840272aa1e8829f8161779db3e9be9e6e014cf1ba4` +- bytes / LF / CR: `25465 / 718 / 0` + +The final R5 test harness is captured as: + +- Git blob OID: `8e814737c8d5f4437aeb2a97dc52220e115cba0b` +- LF-byte SHA-256: `970a7a4a322b8aa5a0ed434d68ef5ce41c5085c986007f15aadf34d69c0172aa` +- bytes / LF / CR: `20692 / 634 / 0` + +`coverage-capture.v1.json` binds both exact Git-index blobs to their filesystem +bytes and declares `core.autocrlf=false`, `2/2 i/lf w/lf`, and LF-only +materialization. `verify-coverage-capture.cjs` rejects missing/unknown capture +fields, mixed EOL, CRLF, bare CR, index/filesystem disagreement, wrong hashes, +and a coverage JSON that disagrees with either canonical transcript. The permanent +24-case suite now proves both undeclared capture and a real mixed-EOL mutation +fail closed. The R5 verifier is launched through a small environment-clearing +wrapper, so it is not included in the coverage target. + +## TDD and attack rails + +- R5 RED over exact R4 target: `23 pass / 1 fail`, exit `1`; the new mode did + not exist. +- Historical exact-base RED over + `d650df5c4271cdb50aa1f443d2f95b2f4b672541` with the R4 final test blob: + `22 pass / 2 fail`, exit `1`. +- GREEN and post-restore: `24/24`, exit `0`. +- Permanent top-level attack cases: `15/15`. +- `representation=null` and `entries[0]=null`: structured `FAIL`, empty stderr, + empty entries, reported source access `0/0`, preload-observed Git/source-file + access `0/0`. +- Prove-It `validateContractSchema`: `9 pass / 15 fail`, exit `1`. +- Prove-It `verifyArtifactFiles`: `15 pass / 9 fail`, exit `1`. +- Prove-It R5 capture verifier forced-PASS sentinel: `23 pass / 1 fail`, exit + `1`; restored script passes syntax and evidence verification. + +## Transcript-backed final LF coverage + +Exact command, run twice after final staged covered bytes stopped changing: + +```text +node.exe --test --test-concurrency=1 --experimental-test-coverage .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs +``` + +Both runs are `24/24`, exit `0`, with identical metrics: + +| Scope | Lines | Branches | Functions | +| --- | ---: | ---: | ---: | +| aggregate | `89.28%` | `75.30%` | `95.59%` | +| verifier | `80.08%` | `55.91%` | `81.82%` | +| test harness | `99.68%` | `95.16%` | `100.00%` | + +The aggregate line floor is `89.28% >= 80%`, PASS. Canonical transcript SHA-256 +(LF TAP; only non-semantic coverage-table trailing padding trimmed): + +- run 1: `52a871ca44112dc2d4e7540f7e9548079a05619f967b4c4d9445b999d7a42daf` +- run 2: `d88556d5e8e437eba50505db6ac200e52910353ced62ad4eafbf6195147387a5` + +The evidence-side verifier parses the two canonical tables itself, verifies both +transcript hashes, and compares the parsed values exactly with +`coverage-repeat.v1.json`. No maker-only mixed materialization is accepted. + +## Representation, checksum, and cleanup rails + +- Fresh LF source modes: raw/Git/checkout-LF `7/7`, bare CR `0`. +- Windows CRLF source modes: raw `0/7`, Git `7/7`, checkout-LF `7/7`, bare CR + `0`. +- Canonical artifact mode: `5/5` in LF and Windows materializations. +- Layered checksum manifests exclude themselves and verify `5/5`, `13/13`, + `20/20`, and R5 `32/32` using canonical LF bytes. +- Temporary worktrees, task-owned Node processes, access-spy directories, + matching PostgreSQL databases, and matching PostgreSQL sessions: `0` at + handoff. + +## Handoff + +The maker commit is intentionally reported out-of-band after commit to avoid +self-reference. No merge, push, tag, primary-worktree edit, or integration edit +is part of this slice. A fresh checker must independently parse the transcripts, +recompute coverage, replay the mutations, verify all checksum layers, and audit +the exact evidence-only path inventory before acceptance. diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verification-observations.v1.json b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verification-observations.v1.json new file mode 100644 index 00000000..8f9b7fbb --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verification-observations.v1.json @@ -0,0 +1,86 @@ +{ + "schema_version": 1, + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT-R5", + "role": "revision-maker", + "base_commit": "369951b61ee07cb0c405558e0f677cd1c9e90362", + "r4_checker_commit_is_ancestor": false, + "product_source_commit": "38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df", + "source_lock": { + "required_cardinality": 7, + "exact_required_set": true, + "product_source_blobs_match": 7, + "product_source_test_delta": 0 + }, + "coverage_capture": { + "materialization": "fresh-core-autocrlf-false-lf", + "tracked_eol": "2/2 i/lf w/lf", + "line_endings": "lf-only", + "verifier_git_blob_oid": "75bec9c41eb5abc435f13d90848074f6608f7fce", + "verifier_sha256": "a55e59dd870659330add8f840272aa1e8829f8161779db3e9be9e6e014cf1ba4", + "test_harness_git_blob_oid": "8e814737c8d5f4437aeb2a97dc52220e115cba0b", + "test_harness_sha256": "970a7a4a322b8aa5a0ed434d68ef5ce41c5085c986007f15aadf34d69c0172aa", + "undeclared_capture_rejected": true, + "mixed_eol_capture_rejected": true, + "transcript_parser_status": "PASS" + }, + "tdd": { + "r5_red": { "exit_code": 1, "tests": 24, "passed": 23, "failed": 1 }, + "exact_base_red": { "exit_code": 1, "tests": 24, "passed": 22, "failed": 2 }, + "green": { "exit_code": 0, "tests": 24, "passed": 24, "failed": 0 }, + "independent_attack_cases": { "passed": 15, "failed": 0, "total": 15 }, + "prove_it": [ + { "sentinel": "discard schema structural errors", "passed": 9, "failed": 15, "exit_code": 1 }, + { "sentinel": "force artifact status PASS", "passed": 15, "failed": 9, "exit_code": 1 }, + { "sentinel": "force R5 capture verifier status PASS", "passed": 23, "failed": 1, "exit_code": 1 } + ], + "post_restore": { "exit_code": 0, "tests": 24, "passed": 24, "failed": 0 } + }, + "coverage": { + "node_version": "v24.2.0", + "repeat_count": 2, + "canonical_lf_transcripts_committed": true, + "transcript_representation": "canonical-lf-tap-trim-trailing-table-padding", + "transcript_hashes_verified": true, + "metrics_parsed_from_transcripts": true, + "metrics_identical": true, + "aggregate": { "line_percent": 89.28, "branch_percent": 75.30, "functions_percent": 95.59 }, + "verifier": { "line_percent": 80.08, "branch_percent": 55.91, "functions_percent": 81.82 }, + "test_harness": { "line_percent": 99.68, "branch_percent": 95.16, "functions_percent": 100.00 }, + "threshold_basis": "aggregate line coverage", + "threshold_percent": 80, + "status": "PASS" + }, + "observations": [ + { + "checkout": "windows-autocrlf-true", + "tracked_eol": "7/7 i/lf w/crlf", + "legacy_raw_audit": { "status": "AMBIGUOUS_RAW_CHECKOUT_CONFIRMED", "raw": 0, "git_object": 7, "checkout_lf": 7 }, + "git_object": { "matched": 7, "total": 7 }, + "checkout_lf": { "matched": 7, "total": 7, "bare_carriage_returns": 0 }, + "artifact_files": { "matched": 5, "total": 5 } + }, + { + "checkout": "fresh-core-autocrlf-false-lf", + "tracked_eol": "7/7 i/lf w/lf", + "legacy_raw_audit": { "status": "RAW_CHECKOUT_HAPPENS_TO_MATCH", "raw": 7, "git_object": 7, "checkout_lf": 7 }, + "git_object": { "matched": 7, "total": 7 }, + "checkout_lf": { "matched": 7, "total": 7, "bare_carriage_returns": 0 }, + "artifact_files": { "matched": 5, "total": 5 }, + "permanent_suite": { "passed": 24, "total": 24 } + } + ], + "checksums": { + "artifact_layer": "5/5", + "r3_layer": "13/13", + "r4_layer": "20/20", + "r5_layer": "32/32" + }, + "residue": { + "temporary_worktrees": 0, + "task_node_processes": 0, + "access_spy_directories": 0, + "matching_postgresql_databases": 0, + "matching_postgresql_sessions": 0 + }, + "finish_state": "READY_FOR_CHECK" +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.cjs b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.cjs new file mode 100644 index 00000000..75bec9c4 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.cjs @@ -0,0 +1,718 @@ +#!/usr/bin/env node +'use strict'; + +const crypto = require('node:crypto'); +const fs = require('node:fs'); +const path = require('node:path'); +const { spawnSync } = require('node:child_process'); + +const allowedModes = new Set(['git-object', 'checkout-lf', 'legacy-raw-audit', 'artifact-files']); +const modeArgument = process.argv.find((argument) => argument.startsWith('--mode=')); +const mode = modeArgument ? modeArgument.slice('--mode='.length) : 'git-object'; + +const SLICE = 'DB-EMBEDDING-EVIDENCE-TRANSPORT'; +const EXPECTED_SOURCE_COMMIT = '38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df'; +const LEGACY_MANIFEST_PATH = + '.agent/reports/evidence/production-ready/db-embedding-stats/SHA256SUMS.txt'; +const VERIFIER_PATH = + '.agent/reports/evidence/production-ready/' + + 'db-embedding-stats-evidence-transport/verify-manifest.cjs'; +const CONTRACT_PATH = + '.agent/reports/evidence/production-ready/' + + 'db-embedding-stats-evidence-transport/content-manifest.v1.json'; +const REQUIRED_SOURCE_PATHS = Object.freeze([ + 'internal/embedding/store.go', + 'internal/embedding/store_stats_test.go', + '.agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.red.json', + '.agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.tdd.json', + '.agent/specs/db-embedding-stats/evidence/coverage.out', + '.agent/reports/2026-07-10-db-embedding-stats-maker.md', + '.agent/reports/evidence/production-ready/db-embedding-stats/DB-EMBEDDING-STATS.final.json', +]); +const REQUIRED_ARTIFACT_PATHS = Object.freeze([ + LEGACY_MANIFEST_PATH, + CONTRACT_PATH, + VERIFIER_PATH, + '.agent/reports/evidence/production-ready/' + + 'db-embedding-stats-evidence-transport/verification-observations.v1.json', + '.agent/reports/evidence/production-ready/' + + 'db-embedding-stats-evidence-transport/maker-report.md', +]); +const CONTRACT_TOP_LEVEL_KEYS = Object.freeze([ + 'schema_version', + 'slice', + 'algorithm', + 'representation', + 'legacy_manifest', + 'verifier', + 'entries', +]); +const REPRESENTATION_KEYS = Object.freeze([ + 'kind', + 'source_commit', + 'checkout_equivalence', +]); +const CHECKOUT_EQUIVALENCE_KEYS = Object.freeze([ + 'transform', + 'bare_cr', + 'required_result', +]); +const CONTRACT_ENTRY_KEYS = Object.freeze([ + 'path', + 'git_blob_oid', + 'byte_length', + 'sha256', +]); +const LEGACY_METADATA_KEYS = Object.freeze([ + 'manifest-version', + 'algorithm', + 'representation', + 'source-commit', + 'contract', + 'verifier', + 'checkout-equivalence', +]); +const ARTIFACT_METADATA_KEYS = Object.freeze([ + 'manifest-version', + 'algorithm', + 'representation', + 'checkout-equivalence', + 'self-entry', +]); + +if (!allowedModes.has(mode)) { + process.stderr.write(`unsupported mode: ${mode}\n`); + process.exit(2); +} + +function runGit(args, options = {}) { + const result = spawnSync('git', args, { + cwd: options.cwd, + encoding: options.encoding === undefined ? null : options.encoding, + maxBuffer: 64 * 1024 * 1024, + windowsHide: true, + }); + + if (result.error) { + throw result.error; + } + if (result.status !== 0) { + const stderr = Buffer.isBuffer(result.stderr) + ? result.stderr.toString('utf8').trim() + : String(result.stderr || '').trim(); + throw new Error(`git ${args.join(' ')} failed (${result.status}): ${stderr}`); + } + return result.stdout; +} + +function sha256(bytes) { + return crypto.createHash('sha256').update(bytes).digest('hex'); +} + +function canonicalizeCheckout(bytes) { + const output = []; + let crlfPairs = 0; + let bareCarriageReturns = 0; + let lineFeeds = 0; + + for (let index = 0; index < bytes.length; index += 1) { + const value = bytes[index]; + if (value === 13) { + if (bytes[index + 1] === 10) { + output.push(10); + crlfPairs += 1; + lineFeeds += 1; + index += 1; + } else { + output.push(value); + bareCarriageReturns += 1; + } + } else { + output.push(value); + if (value === 10) { + lineFeeds += 1; + } + } + } + + return { + bytes: Buffer.from(output), + crlf_pairs: crlfPairs, + bare_carriage_returns: bareCarriageReturns, + line_feeds: lineFeeds, + }; +} + +function eolStyle(canonical) { + if (canonical.bare_carriage_returns > 0) return 'bare-cr-present'; + if (canonical.crlf_pairs > 0) return 'crlf'; + if (canonical.line_feeds > 0) return 'lf'; + return 'no-line-ending'; +} + +function parseAnnotatedManifest(manifestPath) { + const metadata = {}; + const entries = []; + const lines = fs.readFileSync(manifestPath, 'utf8').split(/\r?\n/); + + for (const line of lines) { + if (!line) continue; + const metadataMatch = line.match(/^# ([a-z0-9-]+)=(.+)$/); + if (metadataMatch) { + if (Object.hasOwn(metadata, metadataMatch[1])) { + throw new Error(`duplicate manifest metadata key: ${metadataMatch[1]}`); + } + metadata[metadataMatch[1]] = metadataMatch[2]; + continue; + } + if (line.startsWith('#')) { + throw new Error(`invalid manifest metadata line: ${line}`); + } + + const entryMatch = line.match(/^([0-9a-f]{64}) (.+)$/); + if (!entryMatch) { + throw new Error(`invalid manifest line: ${line}`); + } + entries.push({ sha256: entryMatch[1], path: entryMatch[2] }); + } + + return { metadata, entries }; +} + +function compareEntryShape(contractEntries, manifestEntries) { + if (contractEntries.length !== manifestEntries.length) return false; + return contractEntries.every((entry, index) => + isPlainObject(entry) && + entry.path === manifestEntries[index].path && + entry.sha256 === manifestEntries[index].sha256, + ); +} + +function isPlainObject(value) { + return value !== null && typeof value === 'object' && !Array.isArray(value); +} + +function validateExactKeys(value, requiredKeys, label, structuralErrors) { + if (!isPlainObject(value)) { + structuralErrors.push(`${label} must be an object`); + return false; + } + const required = new Set(requiredKeys); + for (const key of requiredKeys) { + if (!Object.hasOwn(value, key)) { + structuralErrors.push(`${label} is missing required key: ${key}`); + } + } + for (const key of Object.keys(value)) { + if (!required.has(key)) { + structuralErrors.push(`${label} contains unknown key: ${key}`); + } + } + return true; +} + +function analyzeRepositoryRelativePath(repoRoot, rawPath) { + const errors = []; + if (typeof rawPath !== 'string' || rawPath.length === 0) { + errors.push('path must be a non-empty string'); + return { errors, absolute_path: null, normalized_path: null }; + } + if (rawPath.includes('\\')) errors.push('path must use POSIX separators'); + if (rawPath.includes('\0')) errors.push('path must not contain NUL'); + if (path.posix.isAbsolute(rawPath) || path.win32.isAbsolute(rawPath)) { + errors.push('path must be repository-relative'); + } + + const segments = rawPath.split('/'); + if (segments.some((segment) => segment === '' || segment === '.' || segment === '..')) { + errors.push('path must not contain empty, dot, or dot-dot segments'); + } + if (segments.some((segment) => segment.includes(':'))) { + errors.push('path must not contain a drive or URI separator'); + } + + const normalizedPath = path.posix.normalize(rawPath); + if (normalizedPath !== rawPath) errors.push('path must already be POSIX-normalized'); + + const absolutePath = path.resolve(repoRoot, ...segments); + const relativePath = path.relative(repoRoot, absolutePath); + const relativePosix = relativePath.split(path.sep).join('/'); + const insideRepository = + relativePath.length > 0 && + relativePath !== '..' && + !relativePath.startsWith(`..${path.sep}`) && + !path.isAbsolute(relativePath); + if (!insideRepository || relativePosix !== rawPath) { + errors.push('path must resolve to the same repository-relative path'); + } + + return { + errors, + absolute_path: errors.length === 0 ? absolutePath : null, + normalized_path: errors.length === 0 ? normalizedPath : null, + }; +} + +function validateContractSchema(contract, repoRoot) { + const structuralErrors = []; + const validatedEntries = []; + const topLevelIsObject = validateExactKeys( + contract, + CONTRACT_TOP_LEVEL_KEYS, + 'contract', + structuralErrors, + ); + if (!topLevelIsObject) { + return { structural_errors: structuralErrors, validated_entries: validatedEntries }; + } + + if (contract.schema_version !== 1) structuralErrors.push('schema_version must be 1'); + if (contract.slice !== SLICE) structuralErrors.push(`slice must be ${SLICE}`); + if (contract.algorithm !== 'sha256') structuralErrors.push('algorithm must be sha256'); + if (contract.legacy_manifest !== LEGACY_MANIFEST_PATH) { + structuralErrors.push(`legacy_manifest must be ${LEGACY_MANIFEST_PATH}`); + } + if (contract.verifier !== VERIFIER_PATH) { + structuralErrors.push(`verifier must be ${VERIFIER_PATH}`); + } + + const representationIsObject = validateExactKeys( + contract.representation, + REPRESENTATION_KEYS, + 'contract.representation', + structuralErrors, + ); + if (representationIsObject) { + if (contract.representation.kind !== 'git-blob-content') { + structuralErrors.push('representation.kind must be git-blob-content'); + } + if (contract.representation.source_commit !== EXPECTED_SOURCE_COMMIT) { + structuralErrors.push( + `representation.source_commit must equal accepted source ${EXPECTED_SOURCE_COMMIT}`, + ); + } + const checkoutEquivalenceIsObject = validateExactKeys( + contract.representation.checkout_equivalence, + CHECKOUT_EQUIVALENCE_KEYS, + 'contract.representation.checkout_equivalence', + structuralErrors, + ); + if (checkoutEquivalenceIsObject) { + const equivalence = contract.representation.checkout_equivalence; + if (equivalence.transform !== 'replace each CRLF byte pair with LF') { + structuralErrors.push( + 'checkout_equivalence.transform must be replace each CRLF byte pair with LF', + ); + } + if (equivalence.bare_cr !== 'reject') { + structuralErrors.push('checkout_equivalence.bare_cr must be reject'); + } + if (equivalence.required_result !== 'byte-identical to the source commit Git blob') { + structuralErrors.push( + 'checkout_equivalence.required_result must bind to the source commit Git blob', + ); + } + } + } + + if (!Array.isArray(contract.entries)) { + structuralErrors.push('entries must be an array'); + return { structural_errors: structuralErrors, validated_entries: validatedEntries }; + } + if (contract.entries.length !== REQUIRED_SOURCE_PATHS.length) { + structuralErrors.push( + `entries must contain exactly ${REQUIRED_SOURCE_PATHS.length} required source paths`, + ); + } + + const canonicalPaths = []; + contract.entries.forEach((entry, index) => { + const label = `contract.entries[${index}]`; + const entryIsObject = validateExactKeys( + entry, + CONTRACT_ENTRY_KEYS, + label, + structuralErrors, + ); + if (!entryIsObject) return; + + const pathAnalysis = analyzeRepositoryRelativePath(repoRoot, entry.path); + for (const error of pathAnalysis.errors) structuralErrors.push(`${label}.path ${error}`); + if (pathAnalysis.normalized_path) { + canonicalPaths.push(pathAnalysis.normalized_path); + validatedEntries.push({ + ...entry, + path: pathAnalysis.normalized_path, + absolute_path: pathAnalysis.absolute_path, + }); + } + if (!/^[0-9a-f]{40}$/.test(entry.git_blob_oid || '')) { + structuralErrors.push(`${label}.git_blob_oid must be a full Git blob OID`); + } + if (!Number.isSafeInteger(entry.byte_length) || entry.byte_length < 0) { + structuralErrors.push(`${label}.byte_length must be a non-negative safe integer`); + } + if (!/^[0-9a-f]{64}$/.test(entry.sha256 || '')) { + structuralErrors.push(`${label}.sha256 must be a lowercase SHA-256`); + } + }); + + if (new Set(canonicalPaths).size !== canonicalPaths.length) { + structuralErrors.push('contract paths must be unique canonical paths'); + } + const canonicalPathSet = new Set(canonicalPaths); + const requiredPathSet = new Set(REQUIRED_SOURCE_PATHS); + const missingPaths = REQUIRED_SOURCE_PATHS.filter( + (entryPath) => !canonicalPathSet.has(entryPath), + ); + const extraPaths = [...canonicalPathSet].filter( + (entryPath) => !requiredPathSet.has(entryPath), + ); + if (missingPaths.length > 0) { + structuralErrors.push(`contract missing required source paths: ${missingPaths.join(', ')}`); + } + if (extraPaths.length > 0) { + structuralErrors.push(`contract contains non-required source paths: ${extraPaths.join(', ')}`); + } + + return { + structural_errors: structuralErrors, + validated_entries: structuralErrors.length === 0 ? validatedEntries : [], + }; +} + +function validateManifestMetadata(metadata, requiredKeys, label, structuralErrors) { + validateExactKeys(metadata, requiredKeys, label, structuralErrors); +} + +function getCoreAutocrlf(repoRoot) { + const result = spawnSync('git', ['config', '--get', 'core.autocrlf'], { + cwd: repoRoot, + encoding: 'utf8', + windowsHide: true, + }); + if (result.status === 1) return null; + if (result.status !== 0) { + throw new Error(`git config --get core.autocrlf failed (${result.status})`); + } + return result.stdout.trim(); +} + +function isAncestor(repoRoot, ancestor, descendant) { + const result = spawnSync('git', ['merge-base', '--is-ancestor', ancestor, descendant], { + cwd: repoRoot, + encoding: 'utf8', + windowsHide: true, + }); + if (result.status === 0) return true; + if (result.status === 1) return false; + throw new Error(`git merge-base --is-ancestor failed (${result.status})`); +} + +function verifyArtifactFiles(repoRoot, scriptDirectory, sourceCommit, sourceCommitIsAncestor, inheritedErrors) { + const artifactManifestPath = path.join(scriptDirectory, 'ARTIFACTS.sha256'); + const manifest = parseAnnotatedManifest(artifactManifestPath); + const structuralErrors = [...inheritedErrors]; + + validateManifestMetadata( + manifest.metadata, + ARTIFACT_METADATA_KEYS, + 'artifact manifest metadata', + structuralErrors, + ); + if (manifest.metadata['manifest-version'] !== '1') { + structuralErrors.push('artifact manifest-version must be 1'); + } + if (manifest.metadata.algorithm !== 'sha256') { + structuralErrors.push('artifact algorithm must be sha256'); + } + if (manifest.metadata.representation !== 'canonical-lf-files') { + structuralErrors.push('artifact representation must be canonical-lf-files'); + } + if (manifest.metadata['checkout-equivalence'] !== 'crlf-to-lf-with-no-bare-cr') { + structuralErrors.push('artifact checkout equivalence must reject bare CR'); + } + if (manifest.metadata['self-entry'] !== 'excluded-to-avoid-recursion') { + structuralErrors.push('artifact manifest must explicitly declare self exclusion'); + } + if (manifest.entries.length !== REQUIRED_ARTIFACT_PATHS.length) { + structuralErrors.push( + `artifact manifest must contain exactly ${REQUIRED_ARTIFACT_PATHS.length} entries`, + ); + } + + const requiredPaths = new Set(REQUIRED_ARTIFACT_PATHS); + const canonicalPaths = []; + const entryResults = manifest.entries.map((entry) => { + const pathAnalysis = analyzeRepositoryRelativePath(repoRoot, entry.path); + for (const error of pathAnalysis.errors) { + structuralErrors.push(`artifact manifest entry ${entry.path}: ${error}`); + } + if (pathAnalysis.normalized_path) canonicalPaths.push(pathAnalysis.normalized_path); + + const isRequiredPath = + pathAnalysis.normalized_path !== null && + requiredPaths.has(pathAnalysis.normalized_path); + if (!isRequiredPath) { + return { + path: entry.path, + normalized_path: pathAnalysis.normalized_path, + match: false, + checkout_eol: 'not-read-outside-boundary', + bare_carriage_returns: null, + }; + } + + let checkoutBytes; + try { + checkoutBytes = fs.readFileSync(pathAnalysis.absolute_path); + } catch (error) { + structuralErrors.push(`artifact file is not readable: ${entry.path}: ${error.code || error.message}`); + return { + path: entry.path, + normalized_path: pathAnalysis.normalized_path, + match: false, + checkout_eol: 'not-readable', + bare_carriage_returns: null, + }; + } + + const canonical = canonicalizeCheckout(checkoutBytes); + const actualHash = sha256(canonical.bytes); + const matches = + canonical.bare_carriage_returns === 0 && + actualHash === entry.sha256; + + return { + path: entry.path, + normalized_path: pathAnalysis.normalized_path, + match: matches, + checkout_eol: eolStyle(canonical), + bare_carriage_returns: canonical.bare_carriage_returns, + }; + }); + + const canonicalPathSet = new Set(canonicalPaths); + if (canonicalPathSet.size !== canonicalPaths.length) { + structuralErrors.push('artifact manifest paths must be unique canonical paths'); + } + const missingPaths = REQUIRED_ARTIFACT_PATHS.filter((entryPath) => !canonicalPathSet.has(entryPath)); + const extraPaths = [...canonicalPathSet].filter((entryPath) => !requiredPaths.has(entryPath)); + if (missingPaths.length > 0) { + structuralErrors.push(`artifact manifest missing required paths: ${missingPaths.join(', ')}`); + } + if (extraPaths.length > 0) { + structuralErrors.push(`artifact manifest contains extra paths: ${extraPaths.join(', ')}`); + } + + const matched = entryResults.filter((entry) => entry.match).length; + const eolCounts = entryResults.reduce((counts, entry) => { + counts[entry.checkout_eol] = (counts[entry.checkout_eol] || 0) + 1; + return counts; + }, {}); + const status = structuralErrors.length === 0 && matched === entryResults.length ? 'PASS' : 'FAIL'; + const result = { + schema_version: 1, + slice: SLICE, + mode: 'artifact-files', + status, + source_commit: sourceCommit, + source_commit_is_ancestor: sourceCommitIsAncestor, + algorithm: 'sha256', + representation: 'canonical-lf-files', + total: entryResults.length, + matched, + source_accesses: { + git_objects: 0, + checkout_files: 0, + }, + checkout: { + core_autocrlf: getCoreAutocrlf(repoRoot), + eol_counts: eolCounts, + }, + structural_errors: structuralErrors, + entries: entryResults, + }; + + process.stdout.write(`${JSON.stringify(result, null, 2)}\n`); + if (status === 'FAIL') process.exit(1); +} + +function main() { + const repoRoot = path.resolve(runGit(['rev-parse', '--show-toplevel'], { encoding: 'utf8' }).trim()); + const scriptDirectory = __dirname; + const contractPath = path.join(scriptDirectory, 'content-manifest.v1.json'); + const contract = JSON.parse(fs.readFileSync(contractPath, 'utf8')); + const contractValidation = validateContractSchema(contract, repoRoot); + const structuralErrors = [...contractValidation.structural_errors]; + const contractRepresentation = isPlainObject(contract.representation) + ? contract.representation + : {}; + const legacyManifestPath = path.join(repoRoot, ...LEGACY_MANIFEST_PATH.split('/')); + const manifest = parseAnnotatedManifest(legacyManifestPath); + + validateManifestMetadata( + manifest.metadata, + LEGACY_METADATA_KEYS, + 'legacy manifest metadata', + structuralErrors, + ); + if (manifest.metadata['manifest-version'] !== '1') { + structuralErrors.push('legacy manifest annotation manifest-version=1 missing'); + } + if (manifest.metadata.algorithm !== contract.algorithm) { + structuralErrors.push('legacy manifest algorithm annotation disagrees with contract'); + } + if (manifest.metadata.representation !== contractRepresentation.kind) { + structuralErrors.push('legacy manifest representation annotation disagrees with contract'); + } + if (manifest.metadata['source-commit'] !== contractRepresentation.source_commit) { + structuralErrors.push('legacy manifest source-commit annotation disagrees with contract'); + } + if (manifest.metadata.contract !== path.relative(repoRoot, contractPath).split(path.sep).join('/')) { + structuralErrors.push('legacy manifest contract path annotation disagrees with verifier location'); + } + if (manifest.metadata.verifier !== path.relative(repoRoot, __filename).split(path.sep).join('/')) { + structuralErrors.push('legacy manifest verifier path annotation disagrees with executing verifier'); + } + if (manifest.metadata['checkout-equivalence'] !== 'crlf-to-lf-with-no-bare-cr') { + structuralErrors.push('legacy manifest checkout equivalence must reject bare CR'); + } + const rawContractEntries = Array.isArray(contract.entries) ? contract.entries : []; + if (!compareEntryShape(rawContractEntries, manifest.entries)) { + structuralErrors.push('legacy manifest entries disagree with contract entries or order'); + } + + const sourceCommit = contractRepresentation.source_commit || ''; + let sourceCommitIsAncestor = false; + if (sourceCommit === EXPECTED_SOURCE_COMMIT && structuralErrors.length === 0) { + sourceCommitIsAncestor = isAncestor(repoRoot, sourceCommit, 'HEAD'); + if (!sourceCommitIsAncestor) { + structuralErrors.push('source commit is not an ancestor of the executing checkout HEAD'); + } + } + if (mode === 'artifact-files') { + verifyArtifactFiles( + repoRoot, + scriptDirectory, + sourceCommit, + sourceCommitIsAncestor, + structuralErrors, + ); + return; + } + + const sourceAccesses = { + git_objects: 0, + checkout_files: 0, + }; + const entryResults = structuralErrors.length === 0 + ? contractValidation.validated_entries.map((entry) => { + const objectSpec = `${sourceCommit}:${entry.path}`; + sourceAccesses.git_objects += 1; + const blob = runGit(['cat-file', 'blob', objectSpec], { cwd: repoRoot }); + const blobOid = runGit( + ['rev-parse', objectSpec], + { cwd: repoRoot, encoding: 'utf8' }, + ).trim(); + sourceAccesses.checkout_files += 1; + const checkout = fs.readFileSync(entry.absolute_path); + const canonical = canonicalizeCheckout(checkout); + const rawHash = sha256(checkout); + const canonicalHash = sha256(canonical.bytes); + const objectHash = sha256(blob); + const objectChecks = + blobOid === entry.git_blob_oid && + blob.length === entry.byte_length && + objectHash === entry.sha256; + const checkoutLfChecks = + canonical.bare_carriage_returns === 0 && + canonical.bytes.equals(blob) && + canonical.bytes.length === entry.byte_length && + canonicalHash === entry.sha256; + + return { + path: entry.path, + git_blob_oid: blobOid, + expected_sha256: entry.sha256, + git_object_sha256: objectHash, + raw_checkout_sha256: rawHash, + checkout_lf_sha256: canonicalHash, + git_object_match: objectChecks, + raw_checkout_match: rawHash === entry.sha256 && checkout.length === entry.byte_length, + checkout_lf_match: checkoutLfChecks, + checkout_eol: eolStyle(canonical), + crlf_pairs: canonical.crlf_pairs, + bare_carriage_returns: canonical.bare_carriage_returns, + }; + }) + : []; + + const total = REQUIRED_SOURCE_PATHS.length; + const gitObjectMatches = entryResults.filter((entry) => entry.git_object_match).length; + const rawCheckoutMatches = entryResults.filter((entry) => entry.raw_checkout_match).length; + const checkoutLfMatches = entryResults.filter((entry) => entry.checkout_lf_match).length; + const eolCounts = entryResults.reduce((counts, entry) => { + counts[entry.checkout_eol] = (counts[entry.checkout_eol] || 0) + 1; + return counts; + }, {}); + + let status = 'FAIL'; + let matched = 0; + if (mode === 'git-object') { + matched = gitObjectMatches; + if (structuralErrors.length === 0 && matched === total) status = 'PASS'; + } else if (mode === 'checkout-lf') { + matched = checkoutLfMatches; + if (structuralErrors.length === 0 && gitObjectMatches === total && matched === total) status = 'PASS'; + } else { + matched = checkoutLfMatches; + if (structuralErrors.length === 0 && gitObjectMatches === total && checkoutLfMatches === total) { + status = rawCheckoutMatches === total + ? 'RAW_CHECKOUT_HAPPENS_TO_MATCH' + : 'AMBIGUOUS_RAW_CHECKOUT_CONFIRMED'; + } + } + + const result = { + schema_version: 1, + slice: contract.slice, + mode, + status, + source_commit: sourceCommit, + source_commit_is_ancestor: sourceCommitIsAncestor, + algorithm: contract.algorithm, + representation: contractRepresentation.kind ?? null, + total, + matched, + source_accesses: sourceAccesses, + git_object_matches: gitObjectMatches, + raw_checkout_matches: rawCheckoutMatches, + checkout_lf_matches: checkoutLfMatches, + checkout: { + core_autocrlf: getCoreAutocrlf(repoRoot), + eol_counts: eolCounts, + }, + structural_errors: structuralErrors, + entries: entryResults.map((entry) => ({ + path: entry.path, + git_blob_oid: entry.git_blob_oid, + git_object_match: entry.git_object_match, + raw_checkout_match: entry.raw_checkout_match, + checkout_lf_match: entry.checkout_lf_match, + checkout_eol: entry.checkout_eol, + crlf_pairs: entry.crlf_pairs, + bare_carriage_returns: entry.bare_carriage_returns, + })), + }; + + process.stdout.write(`${JSON.stringify(result, null, 2)}\n`); + if (status === 'FAIL') process.exit(1); +} + +try { + main(); +} catch (error) { + process.stderr.write(`${error.stack || error.message}\n`); + process.exit(1); +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs new file mode 100644 index 00000000..caca5ec7 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs @@ -0,0 +1,726 @@ +#!/usr/bin/env node +'use strict'; + +// Behavioral signal: release-evidence-false-pass-rate. +// Measurement: deterministic local mutation suite; target: zero false PASS results. +// Source: DB-EMBEDDING-EVIDENCE-TRANSPORT independent checker findings ET-001/ET-002. + +const assert = require('node:assert/strict'); +const crypto = require('node:crypto'); +const fs = require('node:fs'); +const os = require('node:os'); +const path = require('node:path'); +const { spawnSync } = require('node:child_process'); +const { after, test } = require('node:test'); + +const scriptDirectory = __dirname; +const verifierPath = path.join(scriptDirectory, 'verify-manifest.cjs'); +const artifactManifestPath = path.join(scriptDirectory, 'ARTIFACTS.sha256'); +const contractPath = path.join(scriptDirectory, 'content-manifest.v1.json'); +const testPath = __filename; +const ACCEPTED_SOURCE_COMMIT = '38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df'; +const ALTERNATE_ANCESTOR = '580b0cd0ff38bb55a5195a8004e60234a824b7a8'; +const REQUIRED_SOURCE_PATHS = Object.freeze([ + 'internal/embedding/store.go', + 'internal/embedding/store_stats_test.go', + '.agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.red.json', + '.agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.tdd.json', + '.agent/specs/db-embedding-stats/evidence/coverage.out', + '.agent/reports/2026-07-10-db-embedding-stats-maker.md', + '.agent/reports/evidence/production-ready/db-embedding-stats/DB-EMBEDDING-STATS.final.json', +]); +const repoRoot = path.resolve( + spawnSync('git', ['rev-parse', '--show-toplevel'], { + cwd: scriptDirectory, + encoding: 'utf8', + windowsHide: true, + }).stdout.trim(), +); +const coverageCaptureDirectory = path.join( + repoRoot, + '.agent', + 'reports', + 'evidence', + 'production-ready', + 'db-embedding-stats-evidence-transport-r5', +); +const coverageCaptureVerifierPath = path.join( + coverageCaptureDirectory, + 'verify-coverage-capture.cjs', +); +const legacyManifestPath = path.join( + repoRoot, + '.agent', + 'reports', + 'evidence', + 'production-ready', + 'db-embedding-stats', + 'SHA256SUMS.txt', +); +const sourceAbsolutePaths = new Set( + REQUIRED_SOURCE_PATHS.map((entryPath) => path.resolve(repoRoot, ...entryPath.split('/'))), +); +const accessSpyDirectory = fs.mkdtempSync( + path.join(os.tmpdir(), 'engram-embedding-evidence-access-spy-'), +); +const accessSpyPath = path.join(accessSpyDirectory, 'access-spy.cjs'); +fs.writeFileSync( + accessSpyPath, + `'use strict'; + +const fs = require('node:fs'); +const childProcess = require('node:child_process'); + +const logPath = process.env.EMBEDDING_EVIDENCE_ACCESS_LOG; +const originalReadFileSync = fs.readFileSync; +const originalSpawnSync = childProcess.spawnSync; + +function append(record) { + if (logPath) fs.appendFileSync(logPath, \`${'${JSON.stringify(record)}'}\\n\`, 'utf8'); +} + +fs.readFileSync = function observedReadFileSync(filePath, ...args) { + append({ + kind: 'fs.readFileSync', + path: Buffer.isBuffer(filePath) ? filePath.toString('utf8') : String(filePath), + }); + return originalReadFileSync.call(this, filePath, ...args); +}; + +childProcess.spawnSync = function observedSpawnSync(command, args, options) { + append({ + kind: 'child_process.spawnSync', + command: String(command), + args: Array.isArray(args) ? args.map(String) : [], + }); + return originalSpawnSync.call(this, command, args, options); +}; +`, + 'utf8', +); + +const originalBytes = new Map([ + [artifactManifestPath, fs.readFileSync(artifactManifestPath)], + [contractPath, fs.readFileSync(contractPath)], + [legacyManifestPath, fs.readFileSync(legacyManifestPath)], +]); + +function restoreOriginals() { + for (const [filePath, bytes] of originalBytes) { + fs.writeFileSync(filePath, bytes); + } + fs.rmSync(accessSpyDirectory, { recursive: true, force: true }); +} + +after(restoreOriginals); + +function withMutation(filePath, mutate, verify) { + const original = fs.readFileSync(filePath); + try { + fs.writeFileSync(filePath, mutate(Buffer.from(original))); + return verify(); + } finally { + fs.writeFileSync(filePath, original); + } +} + +function withReplacements(replacements, verify) { + const originals = new Map(); + try { + for (const [filePath, bytes] of replacements) { + originals.set(filePath, fs.readFileSync(filePath)); + fs.writeFileSync(filePath, bytes); + } + return verify(); + } finally { + for (const [filePath, bytes] of originals) fs.writeFileSync(filePath, bytes); + } +} + +let accessSpyRun = 0; + +function parseAccessLog(logPath) { + if (!logPath || !fs.existsSync(logPath)) return []; + return fs.readFileSync(logPath, 'utf8') + .split(/\r?\n/) + .filter(Boolean) + .map((line) => JSON.parse(line)); +} + +function runVerifier(mode, options = {}) { + let accessLogPath = null; + const env = { ...process.env }; + if (options.preloadSpy) { + accessSpyRun += 1; + accessLogPath = path.join(accessSpyDirectory, `access-${accessSpyRun}.jsonl`); + env.EMBEDDING_EVIDENCE_ACCESS_LOG = accessLogPath; + env.NODE_OPTIONS = [process.env.NODE_OPTIONS, `--require=${accessSpyPath}`] + .filter(Boolean) + .join(' '); + } + const result = spawnSync(process.execPath, [verifierPath, `--mode=${mode}`], { + cwd: repoRoot, + encoding: 'utf8', + env, + windowsHide: true, + }); + let output = null; + if (result.stdout.trim()) { + output = JSON.parse(result.stdout); + } + const accessLog = parseAccessLog(accessLogPath); + const actualSourceAccesses = { + git_cat_file: accessLog.filter((record) => + record.kind === 'child_process.spawnSync' && + path.basename(record.command).toLowerCase().startsWith('git') && + record.args[0] === 'cat-file' && + record.args[1] === 'blob', + ), + source_files: accessLog.filter((record) => + record.kind === 'fs.readFileSync' && + sourceAbsolutePaths.has(path.resolve(record.path)), + ), + }; + return { + exit_code: result.status, + output, + stderr: result.stderr.trim(), + actual_source_accesses: actualSourceAccesses, + }; +} + +function runCoverageCaptureVerifier(mode, fixture) { + const result = spawnSync(process.execPath, [fixture.verifier_path, `--mode=${mode}`], { + cwd: fixture.repo_root, + encoding: 'utf8', + windowsHide: true, + }); + return { + exit_code: result.status, + output: result.stdout.trim() ? JSON.parse(result.stdout) : null, + stderr: result.stderr.trim(), + }; +} + +function runGitAt(cwd, args, encoding = 'utf8') { + const result = spawnSync('git', args, { + cwd, + encoding, + windowsHide: true, + }); + const stderr = Buffer.isBuffer(result.stderr) + ? result.stderr.toString('utf8') + : String(result.stderr || ''); + assert.equal(result.status, 0, stderr || `git ${args.join(' ')} failed`); + return result.stdout; +} + +function writeRelative(root, relativePath, bytes) { + const absolutePath = path.join(root, ...relativePath.split('/')); + fs.mkdirSync(path.dirname(absolutePath), { recursive: true }); + fs.writeFileSync(absolutePath, bytes); + return absolutePath; +} + +function withCanonicalLfCoverageFixture(verify) { + const fixtureRoot = fs.mkdtempSync( + path.join(os.tmpdir(), 'engram-embedding-evidence-lf-fixture-'), + ); + const verifierRelative = + '.agent/reports/evidence/production-ready/' + + 'db-embedding-stats-evidence-transport/verify-manifest.cjs'; + const testRelative = + '.agent/reports/evidence/production-ready/' + + 'db-embedding-stats-evidence-transport/verify-manifest.test.cjs'; + const captureRelative = + '.agent/reports/evidence/production-ready/' + + 'db-embedding-stats-evidence-transport-r5/coverage-capture.v1.json'; + const captureVerifierRelative = + '.agent/reports/evidence/production-ready/' + + 'db-embedding-stats-evidence-transport-r5/verify-coverage-capture.cjs'; + try { + runGitAt(fixtureRoot, ['init', '--quiet']); + runGitAt(fixtureRoot, ['config', 'core.longpaths', 'true']); + runGitAt(fixtureRoot, ['config', 'core.autocrlf', 'false']); + + const files = [ + { role: 'verifier', relative_path: verifierRelative }, + { role: 'test_harness', relative_path: testRelative }, + ].map((entry) => { + const indexBytes = gitBytes(['show', `:${entry.relative_path}`]); + const absolutePath = writeRelative(fixtureRoot, entry.relative_path, indexBytes); + return { ...entry, absolute_path: absolutePath, bytes: indexBytes }; + }); + runGitAt(fixtureRoot, ['add', '--', verifierRelative, testRelative]); + + const fixtureVerifierPath = writeRelative( + fixtureRoot, + captureVerifierRelative, + canonicalLf(fs.readFileSync(coverageCaptureVerifierPath)), + ); + const capture = { + schema_version: 1, + slice: 'DB-EMBEDDING-EVIDENCE-TRANSPORT-R5', + materialization: 'fresh-core-autocrlf-false-lf', + base_commit: '369951b61ee07cb0c405558e0f677cd1c9e90362', + core_autocrlf: 'false', + tracked_eol: '2/2 i/lf w/lf', + line_endings: 'lf-only', + files: files.map((entry) => ({ + role: entry.role, + path: entry.relative_path, + git_blob_oid: String( + runGitAt(fixtureRoot, ['rev-parse', `:${entry.relative_path}`]), + ).trim(), + git_blob_sha256: sha256(entry.bytes), + filesystem_sha256: sha256(fs.readFileSync(entry.absolute_path)), + byte_length: entry.bytes.length, + crlf_pairs: 0, + lone_lf: entry.bytes.reduce((count, byte) => count + (byte === 10 ? 1 : 0), 0), + bare_carriage_returns: 0, + })), + }; + const fixtureCapturePath = writeRelative( + fixtureRoot, + captureRelative, + Buffer.from(`${JSON.stringify(capture, null, 2)}\n`, 'utf8'), + ); + + return verify({ + repo_root: fixtureRoot, + verifier_path: fixtureVerifierPath, + capture_path: fixtureCapturePath, + covered_verifier_path: files[0].absolute_path, + }); + } finally { + fs.rmSync(fixtureRoot, { recursive: true, force: true }); + } +} + +function expectFailClosed(result) { + assert.notEqual(result.exit_code, 0, 'mutation must return a non-zero exit code'); + assert.equal(result.output?.status, 'FAIL', result.stderr || 'mutation must emit FAIL'); + assert.ok( + Array.isArray(result.output?.structural_errors) && + result.output.structural_errors.length > 0, + 'mutation must emit at least one structural error', + ); +} + +function expectFailClosedBeforeSourceAccess(result) { + expectFailClosed(result); + assert.deepEqual( + result.output?.source_accesses, + { git_objects: 0, checkout_files: 0 }, + 'schema-invalid source paths must be rejected before Git or filesystem source access', + ); + assert.deepEqual(result.output?.entries, [], 'schema-invalid source paths must not be verified'); +} + +function expectStableFailClosedBeforeActualSourceAccess(result, expectedStructuralError) { + expectFailClosedBeforeSourceAccess(result); + assert.equal(result.stderr, '', 'schema rejection must not escape as a raw runtime exception'); + assert.ok( + result.output.structural_errors.includes(expectedStructuralError), + `missing stable structural error: ${expectedStructuralError}`, + ); + assert.deepEqual( + result.actual_source_accesses, + { git_cat_file: [], source_files: [] }, + 'preload spy observed source access before schema rejection', + ); +} + +function mutateArtifactManifest(mutator) { + return (bytes) => { + const text = bytes.toString('utf8'); + const eol = text.includes('\r\n') ? '\r\n' : '\n'; + const lines = text.split(/\r?\n/); + if (lines.at(-1) === '') lines.pop(); + mutator(lines); + return Buffer.from(`${lines.join(eol)}${eol}`, 'utf8'); + }; +} + +function dataLineIndexes(lines) { + return lines + .map((line, index) => ({ line, index })) + .filter(({ line }) => /^[0-9a-f]{64} /.test(line)) + .map(({ index }) => index); +} + +function canonicalLf(bytes) { + const output = []; + for (let index = 0; index < bytes.length; index += 1) { + if (bytes[index] === 13 && bytes[index + 1] === 10) { + output.push(10); + index += 1; + } else { + assert.notEqual(bytes[index], 13, 'fixture must not contain a bare CR'); + output.push(bytes[index]); + } + } + return Buffer.from(output); +} + +function sha256(bytes) { + return crypto.createHash('sha256').update(bytes).digest('hex'); +} + +function gitBytes(args) { + const result = spawnSync('git', args, { + cwd: repoRoot, + encoding: null, + windowsHide: true, + }); + assert.equal(result.status, 0, result.stderr.toString('utf8')); + return result.stdout; +} + +function gitText(args) { + return gitBytes(args).toString('utf8').trim(); +} + +function mutateContract(mutator) { + return (bytes) => { + const text = bytes.toString('utf8'); + const eol = text.includes('\r\n') ? '\r\n' : '\n'; + const contract = JSON.parse(text); + mutator(contract); + return Buffer.from(`${JSON.stringify(contract, null, 2).replace(/\n/g, eol)}${eol}`); + }; +} + +function mutateJson(mutator) { + return (bytes) => { + const value = JSON.parse(bytes.toString('utf8')); + mutator(value); + return Buffer.from(`${JSON.stringify(value, null, 2)}\n`, 'utf8'); + }; +} + +function makeMixedLineEndings(bytes) { + const firstLf = bytes.indexOf(10); + assert.notEqual(firstLf, -1, 'fixture must contain an LF'); + return Buffer.concat([ + bytes.subarray(0, firstLf), + Buffer.from('\r\n', 'utf8'), + bytes.subarray(firstLf + 1), + ]); +} + +test('evidence manifests reject incomplete sets and undeclared or mixed coverage capture', () => { + const result = withMutation( + artifactManifestPath, + mutateArtifactManifest((lines) => { + for (const index of dataLineIndexes(lines).reverse()) lines.splice(index, 1); + }), + () => runVerifier('artifact-files'), + ); + expectFailClosed(result); + + withCanonicalLfCoverageFixture((fixture) => { + const baseline = runCoverageCaptureVerifier('materialization', fixture); + assert.equal(baseline.exit_code, 0, baseline.stderr || JSON.stringify(baseline.output)); + assert.equal(baseline.output?.status, 'PASS'); + + const undeclared = withMutation( + fixture.capture_path, + mutateJson((coverage) => { + delete coverage.materialization; + }), + () => runCoverageCaptureVerifier('materialization', fixture), + ); + expectFailClosed(undeclared); + assert.ok( + undeclared.output.structural_errors.includes( + 'capture is missing required key: materialization', + ), + ); + + const mixed = withMutation( + fixture.covered_verifier_path, + makeMixedLineEndings, + () => runCoverageCaptureVerifier('materialization', fixture), + ); + expectFailClosed(mixed); + assert.ok( + mixed.output.structural_errors.includes( + 'coverage file must be LF-only and byte-identical to the Git index: ' + + '.agent/reports/evidence/production-ready/' + + 'db-embedding-stats-evidence-transport/verify-manifest.cjs', + ), + ); + }); +}); + +test('artifact manifest rejects a missing required entry', () => { + const result = withMutation( + artifactManifestPath, + mutateArtifactManifest((lines) => { + const index = lines.findIndex((line) => line.endsWith('/content-manifest.v1.json')); + assert.notEqual(index, -1); + lines.splice(index, 1); + }), + () => runVerifier('artifact-files'), + ); + expectFailClosed(result); +}); + +test('artifact manifest rejects an extra entry', () => { + const testRelativePath = path.relative(repoRoot, testPath).split(path.sep).join('/'); + const testHash = sha256(canonicalLf(fs.readFileSync(testPath))); + const result = withMutation( + artifactManifestPath, + mutateArtifactManifest((lines) => { + lines.push(`${testHash} ${testRelativePath}`); + }), + () => runVerifier('artifact-files'), + ); + expectFailClosed(result); +}); + +test('artifact manifest rejects a duplicate entry', () => { + const result = withMutation( + artifactManifestPath, + mutateArtifactManifest((lines) => { + const firstDataLine = lines.find((line) => /^[0-9a-f]{64} /.test(line)); + assert.ok(firstDataLine); + lines.push(firstDataLine); + }), + () => runVerifier('artifact-files'), + ); + expectFailClosed(result); +}); + +test('artifact manifest rejects dot-segment traversal outside the evidence namespace', () => { + const traversalPath = + '.agent/reports/evidence/production-ready/' + + 'db-embedding-stats-evidence-transport/../../../../../internal/embedding/store.go'; + const storeHash = '7bfb06dfc0dda792147d5e2df9d2fe68b59edaac55d2396dece1b8a8a09eee5f'; + const result = withMutation( + artifactManifestPath, + mutateArtifactManifest((lines) => { + const index = lines.findIndex((line) => line.endsWith('/content-manifest.v1.json')); + assert.notEqual(index, -1); + lines[index] = `${storeHash} ${traversalPath}`; + }), + () => runVerifier('artifact-files'), + ); + expectFailClosed(result); +}); + +test('artifact manifest rejects a non-canonical dot-segment alias', () => { + const result = withMutation( + artifactManifestPath, + mutateArtifactManifest((lines) => { + const index = lines.findIndex((line) => line.endsWith('/content-manifest.v1.json')); + assert.notEqual(index, -1); + lines[index] = lines[index].replace( + '/content-manifest.v1.json', + '/./content-manifest.v1.json', + ); + }), + () => runVerifier('artifact-files'), + ); + expectFailClosed(result); +}); + +test('artifact manifest rejects absolute and backslash-separated paths', async (t) => { + await t.test('absolute path', () => { + const result = withMutation( + artifactManifestPath, + mutateArtifactManifest((lines) => { + const index = lines.findIndex((line) => line.endsWith('/content-manifest.v1.json')); + assert.notEqual(index, -1); + lines[index] = lines[index].replace( + '.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/content-manifest.v1.json', + path.resolve(contractPath), + ); + }), + () => runVerifier('artifact-files'), + ); + expectFailClosed(result); + }); + + await t.test('backslash-separated path', () => { + const result = withMutation( + artifactManifestPath, + mutateArtifactManifest((lines) => { + const index = lines.findIndex((line) => line.endsWith('/content-manifest.v1.json')); + assert.notEqual(index, -1); + lines[index] = lines[index].replaceAll('/', '\\'); + }), + () => runVerifier('artifact-files'), + ); + expectFailClosed(result); + }); +}); + +test('contract rejects unsupported checkout-equivalence policy values', async (t) => { + const cases = [ + ['bare_cr', (contract) => { contract.representation.checkout_equivalence.bare_cr = 'accept'; }], + ['transform', (contract) => { contract.representation.checkout_equivalence.transform = 'identity'; }], + ['required_result', (contract) => { + contract.representation.checkout_equivalence.required_result = 'checkout bytes'; + }], + ]; + for (const [name, mutate] of cases) { + await t.test(name, () => { + const result = withMutation( + contractPath, + mutateContract(mutate), + () => runVerifier('checkout-lf'), + ); + expectFailClosed(result); + }); + } +}); + +test('contract rejects unknown schema keys', async (t) => { + const cases = [ + ['top-level', (contract) => { contract.unknown = true; }], + ['representation', (contract) => { contract.representation.unknown = true; }], + ['checkout-equivalence', (contract) => { + contract.representation.checkout_equivalence.unknown = true; + }], + ['entry', (contract) => { contract.entries[0].unknown = true; }], + ]; + for (const [name, mutate] of cases) { + await t.test(name, () => { + const result = withMutation( + contractPath, + mutateContract(mutate), + () => runVerifier('git-object'), + ); + expectFailClosed(result); + }); + } +}); + +test('contract rejects deleting one required source when the legacy manifest agrees', () => { + const removedPath = REQUIRED_SOURCE_PATHS.at(-1); + const contractBytes = mutateContract((contract) => { + contract.entries = contract.entries.filter((entry) => entry.path !== removedPath); + })(fs.readFileSync(contractPath)); + const legacyBytes = mutateArtifactManifest((lines) => { + const index = lines.findIndex((line) => line.endsWith(` ${removedPath}`)); + assert.notEqual(index, -1); + lines.splice(index, 1); + })(fs.readFileSync(legacyManifestPath)); + + const result = withReplacements( + [ + [contractPath, contractBytes], + [legacyManifestPath, legacyBytes], + ], + () => runVerifier('git-object'), + ); + expectFailClosed(result); +}); + +test('contract rejects a valid go.mod substitution that preserves cardinality', () => { + const replacedPath = REQUIRED_SOURCE_PATHS.at(-1); + const substitutePath = 'go.mod'; + const substituteBytes = gitBytes([ + 'cat-file', + 'blob', + `${ACCEPTED_SOURCE_COMMIT}:${substitutePath}`, + ]); + const substitute = { + path: substitutePath, + git_blob_oid: gitText(['rev-parse', `${ACCEPTED_SOURCE_COMMIT}:${substitutePath}`]), + byte_length: substituteBytes.length, + sha256: sha256(substituteBytes), + }; + const contractBytes = mutateContract((contract) => { + const index = contract.entries.findIndex((entry) => entry.path === replacedPath); + assert.notEqual(index, -1); + contract.entries[index] = substitute; + })(fs.readFileSync(contractPath)); + const legacyBytes = mutateArtifactManifest((lines) => { + const index = lines.findIndex((line) => line.endsWith(` ${replacedPath}`)); + assert.notEqual(index, -1); + lines[index] = `${substitute.sha256} ${substitute.path}`; + })(fs.readFileSync(legacyManifestPath)); + + const result = withReplacements( + [ + [contractPath, contractBytes], + [legacyManifestPath, legacyBytes], + ], + () => runVerifier('git-object'), + ); + expectFailClosed(result); +}); + +test('contract rejects rebinding source commit and legacy metadata to an ancestor', () => { + const contractBytes = mutateContract((contract) => { + contract.representation.source_commit = ALTERNATE_ANCESTOR; + })(fs.readFileSync(contractPath)); + const legacyBytes = mutateArtifactManifest((lines) => { + const index = lines.findIndex((line) => line.startsWith('# source-commit=')); + assert.notEqual(index, -1); + lines[index] = `# source-commit=${ALTERNATE_ANCESTOR}`; + })(fs.readFileSync(legacyManifestPath)); + + const result = withReplacements( + [ + [contractPath, contractBytes], + [legacyManifestPath, legacyBytes], + ], + () => runVerifier('git-object'), + ); + expectFailClosed(result); +}); + +test('contract rejects an invalid raw source path before source access', () => { + const invalidPath = 'internal/embedding/../embedding/store.go'; + const originalPath = REQUIRED_SOURCE_PATHS[0]; + const contractBytes = mutateContract((contract) => { + contract.entries[0].path = invalidPath; + })(fs.readFileSync(contractPath)); + const legacyBytes = mutateArtifactManifest((lines) => { + const index = lines.findIndex((line) => line.endsWith(` ${originalPath}`)); + assert.notEqual(index, -1); + lines[index] = lines[index].replace(originalPath, invalidPath); + })(fs.readFileSync(legacyManifestPath)); + + const result = withReplacements( + [ + [contractPath, contractBytes], + [legacyManifestPath, legacyBytes], + ], + () => runVerifier('git-object'), + ); + expectFailClosedBeforeSourceAccess(result); +}); + +test('contract rejects null representation with structured FAIL before actual source access', () => { + const result = withMutation( + contractPath, + mutateContract((contract) => { + contract.representation = null; + }), + () => runVerifier('git-object', { preloadSpy: true }), + ); + expectStableFailClosedBeforeActualSourceAccess( + result, + 'contract.representation must be an object', + ); + assert.equal(result.output.representation, null); +}); + +test('contract rejects a null entry with structured FAIL before actual source access', () => { + const result = withMutation( + contractPath, + mutateContract((contract) => { + contract.entries[0] = null; + }), + () => runVerifier('git-object', { preloadSpy: true }), + ); + expectStableFailClosedBeforeActualSourceAccess( + result, + 'contract.entries[0] must be an object', + ); +}); diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats/DB-EMBEDDING-STATS.final.json b/.agent/reports/evidence/production-ready/db-embedding-stats/DB-EMBEDDING-STATS.final.json new file mode 100644 index 00000000..1fa3cb6c --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats/DB-EMBEDDING-STATS.final.json @@ -0,0 +1,42 @@ +{ + "schema_version": 1, + "slice": "DB-EMBEDDING-STATS", + "status": "READY_FOR_INDEPENDENT_CHECK", + "base": "dc891b2d72b1fd63b83e4a630a249241fc389151", + "classification": "live", + "root_cause": "PostgreSQL max(created_at) returns SQL NULL on an empty content_chunks table, which the production GORM path attempted to scan into *time.Time.", + "changed_paths": [ + "internal/embedding/store.go", + "internal/embedding/store_stats_test.go", + ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.red.json", + ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.tdd.json", + ".agent/specs/db-embedding-stats/evidence/coverage.out", + ".agent/reports/2026-07-10-db-embedding-stats-maker.md", + ".agent/reports/evidence/production-ready/db-embedding-stats/DB-EMBEDDING-STATS.final.json", + ".agent/reports/evidence/production-ready/db-embedding-stats/SHA256SUMS.txt" + ], + "gates": { + "red_observed": true, + "focused_green": true, + "repeat_20": true, + "package_repeat_3": true, + "focused_race_repeat_3": true, + "full_package_race": true, + "vet": true, + "prove_it_failed_against_sentinel": true, + "diff_check": true + }, + "coverage": { + "package_percent": 47.8, + "stats_function_percent": 76.2, + "threshold": 80, + "status": "WARN" + }, + "cleanup": { + "dedicated_database": "engram_prc_embedding_stats", + "active_sessions_before_drop": 0, + "database_count_after_drop": 0 + }, + "demolition_guard": "No v5-demolished path restored.", + "next_gate": "fresh independent checker, then root post-run code review" +} diff --git a/.agent/reports/evidence/production-ready/db-embedding-stats/SHA256SUMS.txt b/.agent/reports/evidence/production-ready/db-embedding-stats/SHA256SUMS.txt new file mode 100644 index 00000000..0ab8f31e --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-embedding-stats/SHA256SUMS.txt @@ -0,0 +1,14 @@ +# manifest-version=1 +# algorithm=sha256 +# representation=git-blob-content +# source-commit=38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df +# contract=.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/content-manifest.v1.json +# verifier=.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.cjs +# checkout-equivalence=crlf-to-lf-with-no-bare-cr +7bfb06dfc0dda792147d5e2df9d2fe68b59edaac55d2396dece1b8a8a09eee5f internal/embedding/store.go +a35a234eb167c58bf201afc50954e43926a69ba2294536f2d0fabf4e015b12a4 internal/embedding/store_stats_test.go +12adb14f118dbf821ee1eabb569f6bbcae831875d3b8a7fb5928c18a4b323a56 .agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.red.json +56022d4fb07816ca0ed3f841770605dc212a4cb39fcb9682c75a753f73c7776b .agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.tdd.json +edd5fb10fe7a7d7aaddd2bfd96ea220fe42f94561d386712951eb70eabffb735 .agent/specs/db-embedding-stats/evidence/coverage.out +efad310616efa0878628e6af946f06349b16f0c7817432cbb3614ff5c74de025 .agent/reports/2026-07-10-db-embedding-stats-maker.md +a82aa7d911935e1327893faa266d49df97018a182fbe8498dc3e4976c59d9ada .agent/reports/evidence/production-ready/db-embedding-stats/DB-EMBEDDING-STATS.final.json diff --git a/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/coverage/reaper.coverage.out b/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/coverage/reaper.coverage.out new file mode 100644 index 00000000..2aec3328 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/coverage/reaper.coverage.out @@ -0,0 +1,68 @@ +mode: set +github.com/thebtf/engram/internal/worker/reaper/reaper.go:67.51,67.65 1 0 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:69.62,71.2 1 0 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:87.31,92.2 1 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:96.45,97.16 1 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:101.2,102.29 2 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:102.29,105.3 2 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:106.2,109.22 4 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:109.22,111.3 1 0 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:112.2,122.26 7 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:122.26,124.3 1 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:125.2,127.43 2 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:131.25,133.19 2 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:133.19,136.3 2 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:137.2,142.19 5 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:142.19,144.3 1 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:145.2,148.20 3 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:148.20,153.3 4 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:154.2,154.24 1 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:157.134,159.15 2 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:159.15,164.21 4 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:164.21,166.19 2 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:166.19,169.5 2 0 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:171.3,172.25 2 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:175.2,175.6 1 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:175.6,176.10 1 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:177.21,179.10 2 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:180.24,181.39 1 0 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:181.39,183.5 1 0 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:190.51,191.17 1 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:191.17,193.3 1 0 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:195.2,196.22 2 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:196.22,199.3 2 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:201.2,209.25 4 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:209.25,211.3 1 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:213.2,213.29 1 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:213.29,218.3 1 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:219.2,219.12 1 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:224.44,226.2 1 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:232.57,233.39 1 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:233.39,235.3 1 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:237.2,237.17 1 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:237.17,239.3 1 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:241.2,242.16 2 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:242.16,243.31 1 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:243.31,245.4 1 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:246.3,246.22 1 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:248.2,248.15 1 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:248.15,250.3 1 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:251.2,251.29 1 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:251.29,253.3 1 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:254.2,254.36 1 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:257.43,258.17 1 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:258.17,260.3 1 0 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:261.2,261.21 1 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:261.21,263.3 1 0 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:264.2,264.17 1 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:264.17,266.3 1 0 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:268.2,269.30 2 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:269.30,270.33 1 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:270.33,272.4 1 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:273.3,273.19 1 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:273.19,275.4 1 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:277.2,277.19 1 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:282.55,283.17 1 1 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:283.17,285.3 1 0 +github.com/thebtf/engram/internal/worker/reaper/reaper.go:286.2,286.21 1 1 diff --git a/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/final.json b/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/final.json new file mode 100644 index 00000000..1d7952c4 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/final.json @@ -0,0 +1,31 @@ +{ + "schema_version": 1, + "status": "READY_FOR_INDEPENDENT_CHECK", + "role": "MAKER", + "self_approved": false, + "integration_authorized": false, + "branch": "work/prc-db-reaper", + "base_sha": "dc891b2d72b1fd63b83e4a630a249241fc389151", + "rejected_predecessor_sha": "88f6bbb58c228b843dc30aa00bd05d3e775f3558", + "final_commit_sha": "reported out-of-band because this JSON is contained by that commit", + "prior_checker_report_sha256": "45584C1A632801BDFC2F85B013FB681B4B37080CE2AA5C83D35D92E1DBB26B6E", + "report": ".agent/reports/2026-07-10-db-reaper-lifecycle-rework-maker.md", + "evidence_root": ".agent/reports/evidence/production-ready/db-reaper-lifecycle-rework", + "verification": { + "focused_edge_repeat": 20, + "reaper_race_repeat": 10, + "service_shutdown_race_repeat": 10, + "reaper_coverage_percent": 87.6, + "worker_unit_baseline": "PASS", + "repository_unit_baseline": "PASS", + "vet": "PASS", + "server_build": "PASS", + "diff_check": "PASS", + "prove_it": "PASS", + "residue_cleanup": "CLEAN" + }, + "discrepancy": { + "broad_db_worker_run": "FAIL_OUT_OF_SCOPE", + "details": "verification-summary.json" + } +} diff --git a/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/manifest.sha256 b/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/manifest.sha256 new file mode 100644 index 00000000..0c3cfbf3 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/manifest.sha256 @@ -0,0 +1,13 @@ +37A2A6EFB4EC5E12C4DCC8A462DD5F3A03322CACBA5B5DEB8E32A066D00F1D04 .agent/reports/2026-07-10-db-reaper-lifecycle-rework-maker.md +424ED42B68C0CAF8B02D3592E7B18B2EE8205547033A3D08B44D73FA577D62E4 .agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/coverage/reaper.coverage.out +8EF31C549A50EABAD58F51616EC7874ABC6BED9CA745F5778FFE6D36FF1AC7C1 .agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/final.json +F9FEB83770D10C646FB5B877941C2E9CC76F0ABD7A8EBD763C63BF043B7E8D66 .agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/residue-cleanup.json +144823F3B6AEBA10C4F04043C2E74A5F500C5B254AF2BBE2E849C185A44DA9BC .agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/tdd/concurrent-lifecycle.red.json +C56EBA731C0740D08AF4CC0F69A08889E36921B4DC79B1A9954B11392555D5A3 .agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/tdd/db-reaper-lifecycle-rework.tdd.json +B10CE4F2AD36A32D15CA5F540ED79CBD1C83045482995BB5E5B20941ABFB8F62 .agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/tdd/prove-it.json +738CA64FA27CCD511E5E115DF71C588F9A47DA7DCDA225F2F57131C9821768BB .agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/tdd/purge-error.red.json +EA18394C21C6B2CC9CCAC027ACADDF5BC876E23398910F2B7219B1D490A7E4F6 .agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/tdd/retention-config.red.json +57766E202AA0CEF3DB57BA227EEFD674A8B08A3E3BD1FB033089DDC6180D0373 .agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/tdd/service-partial-init.red.json +82415413CF0183AC2D3D5E5F3BCDAFEF4C652E96679503671852ECDE0C07B80D .agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/tdd/service-reaper-order.red.json +7B7F3B2E304463E385C4D5DA5E33AF4D2C2962891041001A95A87F8C3EFFC946 .agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/tdd/stop-before-start.red.json +1F936F8F94C854B4F84CE8D5E7F5E5A733A3F4ECC98BCECC4ACC72D9DEFCD135 .agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/verification-summary.json diff --git a/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/residue-cleanup.json b/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/residue-cleanup.json new file mode 100644 index 00000000..741dce56 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/residue-cleanup.json @@ -0,0 +1,24 @@ +{ + "observed_at": "2026-07-10T10:41:07.3899959Z", + "postgresql": { + "databases_checked": [ + "engram_prc_reaper", + "engram_prc_reaper_lifecycle_rework" + ], + "remaining_databases": 0, + "remaining_sessions": 0, + "container_retained": "engram-prc-postgres" + }, + "processes": { + "worktree_commandline_matches_excluding_probe": 0 + }, + "build_artifacts": { + "temporary_server_binary_exists": false, + "temporary_build_directory_exists": false + }, + "semantic_index": { + "worktree_index_removed": true, + "post_cleanup_status": "No index found for project" + }, + "status": "CLEAN" +} diff --git a/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/tdd/concurrent-lifecycle.red.json b/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/tdd/concurrent-lifecycle.red.json new file mode 100644 index 00000000..1b18bd68 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/tdd/concurrent-lifecycle.red.json @@ -0,0 +1,11 @@ +{ + "task_id": "db-reaper-concurrent-lifecycle", + "observed_at": "2026-07-10T10:08:29.3755547Z", + "test_file": "internal/worker/reaper/reaper_test.go", + "test_name": "TestReaper_ConcurrentStartIsIdempotent and lifecycle siblings", + "invariant": "Concurrent and repeated Start/Stop own at most one loop, join cancellation, stop every ticker exactly once, and leave no active goroutine.", + "failure_reason": "The production Reaper had no concurrency-safe lifecycle state or injectable ticker ownership seam.", + "runner_command": "go test ./internal/worker/reaper -run '^TestReaper_(ConcurrentStartIsIdempotent|ConcurrentStopJoinsSingleLoop|StopWaitsForTickerCleanup|ConcurrentStartStopLeavesNoLoopOrTicker|StopsOnContextCancel)$' -count=1 -v", + "runner_exit_code": 1, + "runner_stdout_excerpt": "reaper_test.go:290:53: undefined: reaperTicker\nreaper_test.go:333:4: r.newTicker undefined\nreaper_test.go:408:36: undefined: reaperTicker\nFAIL github.com/thebtf/engram/internal/worker/reaper [build failed]" +} diff --git a/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/tdd/db-reaper-lifecycle-rework.tdd.json b/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/tdd/db-reaper-lifecycle-rework.tdd.json new file mode 100644 index 00000000..ada2dc42 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/tdd/db-reaper-lifecycle-rework.tdd.json @@ -0,0 +1,69 @@ +{ + "task_id": "db-reaper-lifecycle-rework", + "stack": "GO", + "red": [ + { + "observed_at": "2026-07-10T10:02:01.0213459Z", + "test": "TestParseRetentionConfig_ExplicitInvalidAndLargeBehavior", + "evidence": "retention-config.red.json" + }, + { + "observed_at": "2026-07-10T10:04:17.5190633Z", + "test": "TestReaper_PurgeOnceReturnsQueryError", + "evidence": "purge-error.red.json" + }, + { + "observed_at": "2026-07-10T10:05:50.1611201Z", + "test": "TestReaper_StopBeforeStartReturns", + "evidence": "stop-before-start.red.json" + }, + { + "observed_at": "2026-07-10T10:08:29.3755547Z", + "test": "TestReaper_ConcurrentStartIsIdempotent and lifecycle siblings", + "evidence": "concurrent-lifecycle.red.json" + }, + { + "observed_at": "2026-07-10T10:10:30.4712439Z", + "test": "TestServiceShutdown_PartialInitIsNilSafeAndIdempotent", + "evidence": "service-partial-init.red.json" + }, + { + "observed_at": "2026-07-10T10:12:50.9687795Z", + "test": "TestServiceShutdown_ConcurrentCallsStopReaperOnce and shutdown-order siblings", + "evidence": "service-reaper-order.red.json" + } + ], + "green": { + "observed_at": "2026-07-10T10:23:33.1887949Z", + "focused_repeat": 20, + "reaper_race_repeat": 10, + "service_shutdown_race_repeat": 10, + "regressed_tests": 0, + "evidence": "../verification-summary.json" + }, + "refactor": { + "applied": true, + "patterns": [ + "replace shared close channels with a mutex-guarded lifecycle state machine", + "extract bounded retention parsing from environment access", + "split Shutdown once-wrapper from ordered shutdown implementation" + ], + "post_refactor_parity": true + }, + "prove_it": { + "status": "PASS", + "failed_tests": 5, + "substituted_files": [ + "internal/worker/reaper/reaper.go", + "internal/worker/service.go" + ], + "evidence": "prove-it.json", + "reverted_at": "2026-07-10T10:36:26.3898501Z" + }, + "coverage": { + "percent": 87.6, + "threshold": 80, + "status": "PASS", + "profile": "../coverage/reaper.coverage.out" + } +} diff --git a/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/tdd/prove-it.json b/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/tdd/prove-it.json new file mode 100644 index 00000000..3ba8e36c --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/tdd/prove-it.json @@ -0,0 +1,50 @@ +{ + "observed_at": "2026-07-10T10:36:26.3898501Z", + "snapshot_commit_before_amend": "d60b35be", + "substituted_files": [ + "internal/worker/reaper/reaper.go", + "internal/worker/service.go" + ], + "failed_tests": 5, + "mutations": [ + { + "symbol": "parseRetentionConfig", + "sentinel": "return retentionConfig{}", + "result": "FAIL", + "evidence": "All eight parser cases failed; invalid fallback purged the recent row; oversized retention purged the protected row." + }, + { + "symbol": "PurgeOnce", + "sentinel": "return nil", + "result": "FAIL", + "evidence": "TestReaper_PurgeOnceReturnsQueryError failed: PurgeOnce returned nil after the database was closed." + }, + { + "symbol": "Stop", + "sentinel": "return", + "result": "FAIL", + "evidence": "TestReaper_ConcurrentStopJoinsSingleLoop observed started:1 stopped:0 active:1 instead of 1/1/0." + }, + { + "symbol": "run", + "sentinel": "panic(\"not implemented\")", + "result": "FAIL", + "evidence": "TestReaper_ConcurrentStartIsIdempotent failed with the sentinel panic from Reaper.run." + }, + { + "symbol": "Service.Shutdown once-wrapper and shutdown body", + "sentinel": "bypass sync.Once, then return nil from shutdown", + "result": "FAIL", + "evidence": "Bypassing the body produced 0 reaper stops; bypassing sync.Once produced 32 reaper stops instead of 1." + } + ], + "restore": { + "method": "git restore --source=HEAD on only the substituted production file after each run", + "post_restore_tests": [ + "ok github.com/thebtf/engram/internal/worker/reaper 0.168s", + "ok github.com/thebtf/engram/internal/worker 0.262s" + ], + "reverted_at": "2026-07-10T10:36:26.3898501Z", + "status": "GREEN" + } +} diff --git a/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/tdd/purge-error.red.json b/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/tdd/purge-error.red.json new file mode 100644 index 00000000..b6df7401 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/tdd/purge-error.red.json @@ -0,0 +1,11 @@ +{ + "task_id": "db-reaper-purge-error", + "observed_at": "2026-07-10T10:04:17.5190633Z", + "test_file": "internal/worker/reaper/reaper_test.go", + "test_name": "TestReaper_PurgeOnceReturnsQueryError", + "invariant": "The synchronous PurgeOnce API reports a failed DELETE to its caller instead of logging the failure and returning nil.", + "failure_reason": "purge logged sql: database is closed, but PurgeOnce returned nil.", + "runner_command": "$env:DATABASE_DSN='postgres://engram:engram@localhost:55432/engram_prc_reaper?sslmode=disable'; go test ./internal/worker/reaper -run '^TestReaper_PurgeOnceReturnsQueryError$' -count=1 -v", + "runner_exit_code": 1, + "runner_stdout_excerpt": "project reaper: purge query failed: sql: database is closed\nreaper_test.go:246: PurgeOnce returned nil after the database was closed\n--- FAIL: TestReaper_PurgeOnceReturnsQueryError" +} diff --git a/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/tdd/retention-config.red.json b/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/tdd/retention-config.red.json new file mode 100644 index 00000000..c4ce33f3 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/tdd/retention-config.red.json @@ -0,0 +1,11 @@ +{ + "task_id": "db-reaper-retention-config", + "observed_at": "2026-07-10T10:02:01.0213459Z", + "test_file": "internal/worker/reaper/reaper_test.go", + "test_name": "TestParseRetentionConfig_ExplicitInvalidAndLargeBehavior", + "invariant": "Malformed, zero, and negative retention values use the documented default, while positive values beyond safe duration arithmetic skip the purge instead of wrapping into an over-delete cutoff.", + "failure_reason": "The production package had no bounded retention parser or maximum duration-safe retention constant.", + "runner_command": "$env:DATABASE_DSN='postgres://engram:engram@localhost:55432/engram_prc_reaper?sslmode=disable'; go test ./internal/worker/reaper -run '^(TestParseRetentionConfig_ExplicitInvalidAndLargeBehavior|TestReaper_InvalidRetentionFallsBack|TestReaper_LargeRetentionDoesNotWrapOrPurgeNewerRows)$' -count=1", + "runner_exit_code": 1, + "runner_stdout_excerpt": "internal\\worker\\reaper\\reaper_test.go:154:66: undefined: maxRetentionDays\ninternal\\worker\\reaper\\reaper_test.go:161:11: undefined: parseRetentionConfig\ninternal\\worker\\reaper\\reaper_test.go:208:62: undefined: maxRetentionDays\nFAIL github.com/thebtf/engram/internal/worker/reaper [build failed]" +} diff --git a/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/tdd/service-partial-init.red.json b/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/tdd/service-partial-init.red.json new file mode 100644 index 00000000..640842ef --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/tdd/service-partial-init.red.json @@ -0,0 +1,11 @@ +{ + "task_id": "db-reaper-service-partial-init", + "observed_at": "2026-07-10T10:10:30.4712439Z", + "test_file": "internal/worker/service_reaper_lifecycle_test.go", + "test_name": "TestServiceShutdown_PartialInitIsNilSafeAndIdempotent", + "invariant": "Shutdown is safe when construction or async initialization has not populated optional lifecycle fields.", + "failure_reason": "Shutdown unconditionally invoked a nil cancel function and panicked.", + "runner_command": "go test ./internal/worker -run '^TestServiceShutdown_PartialInitIsNilSafeAndIdempotent$' -count=1 -v", + "runner_exit_code": 1, + "runner_stdout_excerpt": "panic: runtime error: invalid memory address or nil pointer dereference\nService.Shutdown service.go:2220\nTestServiceShutdown_PartialInitIsNilSafeAndIdempotent service_reaper_lifecycle_test.go:12" +} diff --git a/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/tdd/service-reaper-order.red.json b/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/tdd/service-reaper-order.red.json new file mode 100644 index 00000000..0105c722 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/tdd/service-reaper-order.red.json @@ -0,0 +1,11 @@ +{ + "task_id": "db-reaper-service-shutdown-order", + "observed_at": "2026-07-10T10:12:50.9687795Z", + "test_file": "internal/worker/service_reaper_lifecycle_test.go", + "test_name": "TestServiceShutdown_ConcurrentCallsStopReaperOnce and shutdown-order siblings", + "invariant": "Service shutdown runs once, joins partial initialization, joins the project reaper, and only then closes the database.", + "failure_reason": "Service exposed only a concrete reaper pointer, had no initialization join, and had no testable shutdown lifecycle contract.", + "runner_command": "$env:DATABASE_DSN='postgres://engram:engram@localhost:55432/engram_prc_reaper?sslmode=disable'; go test ./internal/worker -run '^TestServiceShutdown_(ConcurrentCallsStopReaperOnce|WaitsForPartialInitializationBeforeReaperStop|WaitsForReaperBeforeClosingDatabase)$' -count=1 -v", + "runner_exit_code": 1, + "runner_stdout_excerpt": "cannot use *blockingProjectReaper as *reaper.Reaper\nsvc.initWG undefined\nFAIL github.com/thebtf/engram/internal/worker [build failed]" +} diff --git a/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/tdd/stop-before-start.red.json b/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/tdd/stop-before-start.red.json new file mode 100644 index 00000000..5b99747c --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/tdd/stop-before-start.red.json @@ -0,0 +1,11 @@ +{ + "task_id": "db-reaper-stop-before-start", + "observed_at": "2026-07-10T10:05:50.1611201Z", + "test_file": "internal/worker/reaper/reaper_test.go", + "test_name": "TestReaper_StopBeforeStartReturns", + "invariant": "Stop is a safe idempotent no-op before the first Start.", + "failure_reason": "Stop closed the stop channel and waited forever on a done channel that no goroutine could close.", + "runner_command": "go test ./internal/worker/reaper -run '^TestReaper_StopBeforeStartReturns$' -count=1 -v", + "runner_exit_code": 1, + "runner_stdout_excerpt": "reaper_test.go:265: Stop blocked before Start\n--- FAIL: TestReaper_StopBeforeStartReturns (0.50s)" +} diff --git a/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/verification-summary.json b/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/verification-summary.json new file mode 100644 index 00000000..c468332b --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-reaper-lifecycle-rework/verification-summary.json @@ -0,0 +1,86 @@ +{ + "observed_at": "2026-07-10T10:23:33.1887949Z", + "database": "engram_prc_reaper_lifecycle_rework", + "results": [ + { + "name": "focused_edge_matrix_repeat_20", + "command": "go test ./internal/worker/reaper -run -count=20", + "status": "PASS", + "output": "ok github.com/thebtf/engram/internal/worker/reaper 2.688s" + }, + { + "name": "reaper_race_repeat_10", + "command": "go test -race ./internal/worker/reaper -count=10", + "status": "PASS", + "output": "ok github.com/thebtf/engram/internal/worker/reaper 3.788s" + }, + { + "name": "service_shutdown_race_repeat_10", + "command": "go test -race ./internal/worker -run '^TestServiceShutdown_' -count=10", + "status": "PASS", + "output": "ok github.com/thebtf/engram/internal/worker 6.024s" + }, + { + "name": "reaper_package_repeat_3", + "command": "go test ./internal/worker/reaper -count=3", + "status": "PASS", + "output": "ok github.com/thebtf/engram/internal/worker/reaper 0.522s" + }, + { + "name": "worker_unit_baseline", + "command": "DATABASE_DSN unset; go test ./internal/worker -count=1", + "status": "PASS", + "output": "ok github.com/thebtf/engram/internal/worker 0.762s" + }, + { + "name": "worker_tree_unit_baseline", + "command": "DATABASE_DSN unset; go test ./internal/worker/... -count=1", + "status": "PASS", + "output": "worker, projectevents, reaper, sdk, session, and sse packages passed" + }, + { + "name": "repository_unit_baseline", + "command": "DATABASE_DSN unset; go test ./... -count=1", + "status": "PASS", + "output": "all repository packages passed; packages without tests were reported explicitly" + }, + { + "name": "reaper_coverage", + "command": "go test ./internal/worker/reaper -coverprofile=reaper.coverage.out -count=1", + "status": "PASS", + "output": "87.6% statements" + }, + { + "name": "vet", + "command": "go vet ./...", + "status": "PASS", + "output": "exit 0" + }, + { + "name": "server_build", + "command": "go build -o .agent/tmp/db-reaper-lifecycle/engram-server.exe ./cmd/engram-server", + "status": "PASS", + "output": "48905728 bytes; SHA256 FCF19C377C32F86071052F6C1DCBB8DA53F5E360F65C1DBF0D12BC1DB74E7760" + }, + { + "name": "diff_check", + "command": "git diff --check", + "status": "PASS", + "output": "exit 0" + } + ], + "discrepancies": [ + { + "command": "DATABASE_DSN=engram_prc_reaper_lifecycle_rework; go test ./internal/worker -count=1", + "status": "FAIL_OUT_OF_SCOPE", + "failures": [ + "TestAuthHandlersLifecycle_LastAdminDemoteRaceLeavesOneAdmin", + "TestAuthHandlersLifecycle_DisabledAdminCanBeDemotedWithoutLastAdminError", + "TestCrystallizationIntegration_DecisionsStoredWithCorrectFields", + "TestCrystallizationIntegration_PrivacyRedaction", + "TestCrystallizationIntegration_ConcurrentReplaySkipsDuplicateFingerprint" + ], + "classification": "No failing test touches the reaper/service lifecycle diff. The two auth failures belong to the separately assigned DB-AUTH isolation lane. The three crystallization tests assert demolished direct decision-memory behavior and are outside the DB-REAPER contract. The same worker package and full repository pass with DATABASE_DSN unset, while the DB-backed shutdown tests pass under repeat and race." + } + ] +} diff --git a/.agent/reports/evidence/production-ready/db-test-pool-hygiene/01-parent-broad.summary.log b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/01-parent-broad.summary.log new file mode 100644 index 00000000..95738976 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/01-parent-broad.summary.log @@ -0,0 +1,40 @@ +format=compact status/failure extraction from complete go test output +full_output_captured=true +filter=run metadata, top-level failures, client-exhaustion records, package result, exit and residue +base_sha=bd68c05baf4b7250096dd84f56bebea2aa555970 +head_sha=bd68c05baf4b7250096dd84f56bebea2aa555970 +database=engram_mkr_dbph_parent_broad_a +command=go test -p=1 ./internal/db/gorm -count=1 -v +max_connections=100 +superuser_reserved_connections=3 +started_utc=2026-07-10T12:39:54.7843328Z +activity_before_test=0 +--- FAIL: TestRuleGovernanceStore_AnnotatedCandidateWaitsUntilReviewAfter (0.16s) +--- FAIL: TestRuleGovernanceStore_GetLifecycleHealthAggregatesGovernanceTables (0.18s) +--- FAIL: TestRuleGovernanceStore_GetLifecycleHealthOmitsGlobalArbiterRunsForProjectScopedReads (0.12s) +--- FAIL: TestMigration144_RuleGovernanceRollbackAndReapply (0.14s) +--- FAIL: TestMigration144_RuleGovernanceEscapeConstraints (0.13s) +--- FAIL: TestMigration144_RuleGovernanceSnapshotStatusesAcceptExtendedStates (0.13s) +[error] failed to initialize database, got error failed to connect to `user=engram database=engram_mkr_dbph_parent_broad_a`: 127.0.0.1:55432 (127.0.0.1): server error: FATAL: sorry, too many clients already (SQLSTATE 53300) + failed to connect to `user=engram database=engram_mkr_dbph_parent_broad_a`: 127.0.0.1:55432 (127.0.0.1): server error: FATAL: sorry, too many clients already (SQLSTATE 53300) +--- FAIL: TestTemporalTruthStore_RefreshProjectBoundsPredecessorFromSuccessorChain (0.00s) +[error] failed to initialize database, got error failed to connect to `user=engram database=engram_mkr_dbph_parent_broad_a`: 127.0.0.1:55432 (127.0.0.1): server error: FATAL: sorry, too many clients already (SQLSTATE 53300) + failed to connect to `user=engram database=engram_mkr_dbph_parent_broad_a`: 127.0.0.1:55432 (127.0.0.1): server error: FATAL: sorry, too many clients already (SQLSTATE 53300) +--- FAIL: TestTemporalTruthStore_RefreshProjectRejectsSingleWriteAndUnsupportedChains (0.00s) +[error] failed to initialize database, got error failed to connect to `user=engram database=engram_mkr_dbph_parent_broad_a`: 127.0.0.1:55432 (127.0.0.1): server error: FATAL: sorry, too many clients already (SQLSTATE 53300) + failed to connect to `user=engram database=engram_mkr_dbph_parent_broad_a`: 127.0.0.1:55432 (127.0.0.1): server error: FATAL: sorry, too many clients already (SQLSTATE 53300) +--- FAIL: TestTemporalTruthStore_LoadSelectedRecordsUsesDBNowForValidFrom (0.00s) + failed to connect to `user=engram database=engram_mkr_dbph_parent_broad_a`: 127.0.0.1:55432 (127.0.0.1): server error: FATAL: sorry, too many clients already (SQLSTATE 53300) +--- FAIL: TestTokenStore_CreateWithPrincipalRoundTrip (0.00s) + failed to connect to `user=engram database=engram_mkr_dbph_parent_broad_a`: 127.0.0.1:55432 (127.0.0.1): server error: FATAL: sorry, too many clients already (SQLSTATE 53300) +--- FAIL: TestTokenStore_CreateWithPrincipalRejectsKindWithoutPrincipal (0.00s) + transcript_store_test.go:64: open test db: failed to connect to `user=engram database=engram_mkr_dbph_parent_broad_a`: 127.0.0.1:55432 (127.0.0.1): server error: FATAL: sorry, too many clients already (SQLSTATE 53300) +--- FAIL: TestTranscriptStore_Lifecycle (0.00s) +FAIL +FAIL github.com/thebtf/engram/internal/db/gorm 32.929s +FAIL +test_exit=1 +activity_after_test_process=0 +database_residue=0 +activity_residue=0 +finished_utc=2026-07-10T12:40:30.7792674Z diff --git a/.agent/reports/evidence/production-ready/db-test-pool-hygiene/02-parent-red.log b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/02-parent-red.log new file mode 100644 index 00000000..75147bf5 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/02-parent-red.log @@ -0,0 +1,87 @@ +base_sha=bd68c05baf4b7250096dd84f56bebea2aa555970 +head_sha=bd68c05baf4b7250096dd84f56bebea2aa555970 +database=engram_mkr_dbph_parent_red_a +command=go test -p=1 ./internal/db/gorm -run ^TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose$ -count=1 -v +max_connections=100 +superuser_reserved_connections=3 +started_utc=2026-07-10T12:41:32.2303434Z +activity_before_test=0 +=== RUN TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose + +2026/07/10 15:41:34 D:/Dev/engram/.agent/worktrees/dbph/internal/db/gorm/migrations.go:483 ERROR: column "is_deprecated" does not exist (SQLSTATE 42703) +[1.000ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_patterns_frequency + ON patterns(frequency DESC, last_seen_at_epoch DESC) + WHERE is_deprecated = 0 + +2026/07/10 15:41:34 D:/Dev/engram/.agent/worktrees/dbph/internal/db/gorm/migrations.go:578 ERROR: column "is_deprecated" does not exist (SQLSTATE 42703) +[0.501ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_patterns_type_project + ON patterns(type, project, frequency DESC) + WHERE is_deprecated = 0 + +2026/07/10 15:41:34 D:/Dev/engram/.agent/worktrees/dbph/internal/db/gorm/migrations.go:578 ERROR: column "source_observation_id" does not exist (SQLSTATE 42703) +[0.999ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_relations_source_type + ON observation_relations(source_observation_id, relation_type) + +2026/07/10 15:41:34 D:/Dev/engram/.agent/worktrees/dbph/internal/db/gorm/migrations.go:578 ERROR: column "target_observation_id" does not exist (SQLSTATE 42703) +[0.500ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_relations_target_type + ON observation_relations(target_observation_id, relation_type) + +2026/07/10 15:41:34 D:/Dev/engram/.agent/worktrees/dbph/internal/db/gorm/migrations.go:670 ERROR: column "source_observation_id" does not exist (SQLSTATE 42703) +[0.499ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_relations_source_type_target + ON observation_relations(source_observation_id, relation_type, target_observation_id) + +2026/07/10 15:41:34 D:/Dev/engram/.agent/worktrees/dbph/internal/db/gorm/migrations.go:670 ERROR: column "target_observation_id" does not exist (SQLSTATE 42703) +[1.000ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_relations_target_type_source + ON observation_relations(target_observation_id, relation_type, source_observation_id) + +2026/07/10 15:41:35 D:/Dev/engram/.agent/worktrees/dbph/internal/db/gorm/migrations.go:1447 ERROR: relation "observation_vectors" does not exist (SQLSTATE 42P01) +[0.502ms] [rows:0] + DELETE FROM observation_vectors + WHERE id IN ( + SELECT ov.id FROM observation_vectors ov + LEFT JOIN observations o ON ov.metadata->>'sqlite_id' = o.id::text + WHERE o.id IS NULL + ) + +{"level":"warn","error":"ERROR: relation \"observation_vectors\" does not exist (SQLSTATE 42P01)","time":"2026-07-10T15:41:35+03:00","message":"migration 040: orphan vector cleanup failed (non-fatal)"} +{"level":"info","garbage_deleted":0,"orphan_vectors_deleted":0,"time":"2026-07-10T15:41:35+03:00","message":"migration 040: garbage cleanup complete"} +{"level":"info","orphan_vectors_deleted":0,"time":"2026-07-10T15:41:35+03:00","message":"migration 041: orphan vector purge complete"} +{"level":"info","patterns_deleted":0,"time":"2026-07-10T15:41:35+03:00","message":"migration 042: low-quality pattern purge complete"} +{"level":"info","total_deleted":0,"time":"2026-07-10T15:41:35+03:00","message":"migration 043: radical observation cleanup complete"} + +2026/07/10 15:41:36 D:/Dev/engram/.agent/worktrees/dbph/internal/db/gorm/migrations.go:3502 ERROR: extension "vectorscale" is not available (SQLSTATE 0A000) +[0.500ms] [rows:0] CREATE EXTENSION IF NOT EXISTS vectorscale CASCADE +{"level":"warn","error":"ERROR: extension \"vectorscale\" is not available (SQLSTATE 0A000)","time":"2026-07-10T15:41:36+03:00","message":"migration 109: vectorscale extension not available, skipping DiskANN index"} +=== RUN TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose/owner-0 + candidate_store_test.go:58: baseline_sessions=0 child_live_sessions=1 +=== NAME TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose + candidate_store_test.go:63: baseline_sessions=0 sessions_after_owner_cleanup=1 + candidate_store_test.go:65: child pool leaked past owner cleanup: baseline=0 after=1 +=== RUN TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose/owner-1 + candidate_store_test.go:58: baseline_sessions=0 child_live_sessions=2 +=== NAME TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose + candidate_store_test.go:63: baseline_sessions=0 sessions_after_owner_cleanup=2 + candidate_store_test.go:65: child pool leaked past owner cleanup: baseline=0 after=2 +=== RUN TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose/owner-2 + candidate_store_test.go:58: baseline_sessions=0 child_live_sessions=3 +=== NAME TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose + candidate_store_test.go:63: baseline_sessions=0 sessions_after_owner_cleanup=3 + candidate_store_test.go:65: child pool leaked past owner cleanup: baseline=0 after=3 +=== RUN TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose/owner-3 + candidate_store_test.go:58: baseline_sessions=0 child_live_sessions=4 +=== NAME TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose + candidate_store_test.go:63: baseline_sessions=0 sessions_after_owner_cleanup=4 + candidate_store_test.go:65: child pool leaked past owner cleanup: baseline=0 after=4 +--- FAIL: TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose (2.87s) + --- PASS: TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose/owner-0 (0.09s) + --- PASS: TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose/owner-1 (0.10s) + --- PASS: TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose/owner-2 (0.09s) + --- PASS: TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose/owner-3 (0.09s) +FAIL +FAIL github.com/thebtf/engram/internal/db/gorm 2.956s +FAIL +test_exit=1 +activity_after_test_process=0 +database_residue=0 +activity_residue=0 +finished_utc=2026-07-10T12:41:38.9724244Z diff --git a/.agent/reports/evidence/production-ready/db-test-pool-hygiene/03-green-focused.log b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/03-green-focused.log new file mode 100644 index 00000000..af10330d --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/03-green-focused.log @@ -0,0 +1,82 @@ +base_sha=bd68c05baf4b7250096dd84f56bebea2aa555970 +head_sha=bd68c05baf4b7250096dd84f56bebea2aa555970 +database=engram_mkr_dbph_green_focus_b +command=go test -p=1 ./internal/db/gorm -run ^TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose$ -count=1 -v +max_connections=100 +superuser_reserved_connections=3 +started_utc=2026-07-10T12:43:34.3764837Z +activity_before_test=0 +=== RUN TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose + +2026/07/10 15:43:37 D:/Dev/engram/.agent/worktrees/dbph/internal/db/gorm/migrations.go:483 ERROR: column "is_deprecated" does not exist (SQLSTATE 42703) +[0.499ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_patterns_frequency + ON patterns(frequency DESC, last_seen_at_epoch DESC) + WHERE is_deprecated = 0 + +2026/07/10 15:43:37 D:/Dev/engram/.agent/worktrees/dbph/internal/db/gorm/migrations.go:578 ERROR: column "is_deprecated" does not exist (SQLSTATE 42703) +[1.003ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_patterns_type_project + ON patterns(type, project, frequency DESC) + WHERE is_deprecated = 0 + +2026/07/10 15:43:37 D:/Dev/engram/.agent/worktrees/dbph/internal/db/gorm/migrations.go:578 ERROR: column "source_observation_id" does not exist (SQLSTATE 42703) +[0.997ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_relations_source_type + ON observation_relations(source_observation_id, relation_type) + +2026/07/10 15:43:37 D:/Dev/engram/.agent/worktrees/dbph/internal/db/gorm/migrations.go:578 ERROR: column "target_observation_id" does not exist (SQLSTATE 42703) +[0.501ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_relations_target_type + ON observation_relations(target_observation_id, relation_type) + +2026/07/10 15:43:37 D:/Dev/engram/.agent/worktrees/dbph/internal/db/gorm/migrations.go:670 ERROR: column "source_observation_id" does not exist (SQLSTATE 42703) +[0.500ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_relations_source_type_target + ON observation_relations(source_observation_id, relation_type, target_observation_id) + +2026/07/10 15:43:37 D:/Dev/engram/.agent/worktrees/dbph/internal/db/gorm/migrations.go:670 ERROR: column "target_observation_id" does not exist (SQLSTATE 42703) +[0.500ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_relations_target_type_source + ON observation_relations(target_observation_id, relation_type, source_observation_id) + +2026/07/10 15:43:37 D:/Dev/engram/.agent/worktrees/dbph/internal/db/gorm/migrations.go:1447 ERROR: relation "observation_vectors" does not exist (SQLSTATE 42P01) +[0.501ms] [rows:0] + DELETE FROM observation_vectors + WHERE id IN ( + SELECT ov.id FROM observation_vectors ov + LEFT JOIN observations o ON ov.metadata->>'sqlite_id' = o.id::text + WHERE o.id IS NULL + ) + +{"level":"warn","error":"ERROR: relation \"observation_vectors\" does not exist (SQLSTATE 42P01)","time":"2026-07-10T15:43:37+03:00","message":"migration 040: orphan vector cleanup failed (non-fatal)"} +{"level":"info","garbage_deleted":0,"orphan_vectors_deleted":0,"time":"2026-07-10T15:43:37+03:00","message":"migration 040: garbage cleanup complete"} +{"level":"info","orphan_vectors_deleted":0,"time":"2026-07-10T15:43:37+03:00","message":"migration 041: orphan vector purge complete"} +{"level":"info","patterns_deleted":0,"time":"2026-07-10T15:43:37+03:00","message":"migration 042: low-quality pattern purge complete"} +{"level":"info","total_deleted":0,"time":"2026-07-10T15:43:37+03:00","message":"migration 043: radical observation cleanup complete"} + +2026/07/10 15:43:38 D:/Dev/engram/.agent/worktrees/dbph/internal/db/gorm/migrations.go:3502 ERROR: extension "vectorscale" is not available (SQLSTATE 0A000) +[0.500ms] [rows:0] CREATE EXTENSION IF NOT EXISTS vectorscale CASCADE +{"level":"warn","error":"ERROR: extension \"vectorscale\" is not available (SQLSTATE 0A000)","time":"2026-07-10T15:43:38+03:00","message":"migration 109: vectorscale extension not available, skipping DiskANN index"} +=== RUN TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose/owner-0 + candidate_store_test.go:63: baseline_sessions=0 child_live_sessions=1 +=== NAME TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose + candidate_store_test.go:73: baseline_sessions=0 sessions_after_owner_cleanup=0 +=== RUN TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose/owner-1 + candidate_store_test.go:63: baseline_sessions=0 child_live_sessions=1 +=== NAME TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose + candidate_store_test.go:73: baseline_sessions=0 sessions_after_owner_cleanup=0 +=== RUN TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose/owner-2 + candidate_store_test.go:63: baseline_sessions=0 child_live_sessions=1 +=== NAME TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose + candidate_store_test.go:73: baseline_sessions=0 sessions_after_owner_cleanup=0 +=== RUN TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose/owner-3 + candidate_store_test.go:63: baseline_sessions=0 child_live_sessions=1 +=== NAME TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose + candidate_store_test.go:73: baseline_sessions=0 sessions_after_owner_cleanup=0 +--- PASS: TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose (3.20s) + --- PASS: TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose/owner-0 (0.11s) + --- PASS: TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose/owner-1 (0.10s) + --- PASS: TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose/owner-2 (0.10s) + --- PASS: TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose/owner-3 (0.10s) +PASS +ok github.com/thebtf/engram/internal/db/gorm 3.335s +test_exit=0 +activity_after_test_process=0 +database_residue=0 +activity_residue=0 +finished_utc=2026-07-10T12:43:41.6527231Z diff --git a/.agent/reports/evidence/production-ready/db-test-pool-hygiene/04-prove-it.log b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/04-prove-it.log new file mode 100644 index 00000000..476eb561 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/04-prove-it.log @@ -0,0 +1,87 @@ +base_sha=bd68c05baf4b7250096dd84f56bebea2aa555970 +head_sha=bd68c05baf4b7250096dd84f56bebea2aa555970 +database=engram_mkr_dbph_prove_it_a +command=go test -p=1 ./internal/db/gorm -run ^TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose$ -count=1 -v +max_connections=100 +superuser_reserved_connections=3 +started_utc=2026-07-10T12:44:13.6263569Z +activity_before_test=0 +=== RUN TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose + +2026/07/10 15:44:16 D:/Dev/engram/.agent/worktrees/dbph/internal/db/gorm/migrations.go:483 ERROR: column "is_deprecated" does not exist (SQLSTATE 42703) +[0.999ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_patterns_frequency + ON patterns(frequency DESC, last_seen_at_epoch DESC) + WHERE is_deprecated = 0 + +2026/07/10 15:44:16 D:/Dev/engram/.agent/worktrees/dbph/internal/db/gorm/migrations.go:578 ERROR: column "is_deprecated" does not exist (SQLSTATE 42703) +[0.500ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_patterns_type_project + ON patterns(type, project, frequency DESC) + WHERE is_deprecated = 0 + +2026/07/10 15:44:16 D:/Dev/engram/.agent/worktrees/dbph/internal/db/gorm/migrations.go:578 ERROR: column "source_observation_id" does not exist (SQLSTATE 42703) +[0.497ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_relations_source_type + ON observation_relations(source_observation_id, relation_type) + +2026/07/10 15:44:16 D:/Dev/engram/.agent/worktrees/dbph/internal/db/gorm/migrations.go:578 ERROR: column "target_observation_id" does not exist (SQLSTATE 42703) +[1.002ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_relations_target_type + ON observation_relations(target_observation_id, relation_type) + +2026/07/10 15:44:16 D:/Dev/engram/.agent/worktrees/dbph/internal/db/gorm/migrations.go:670 ERROR: column "source_observation_id" does not exist (SQLSTATE 42703) +[0.501ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_relations_source_type_target + ON observation_relations(source_observation_id, relation_type, target_observation_id) + +2026/07/10 15:44:16 D:/Dev/engram/.agent/worktrees/dbph/internal/db/gorm/migrations.go:670 ERROR: column "target_observation_id" does not exist (SQLSTATE 42703) +[1.000ms] [rows:0] CREATE INDEX IF NOT EXISTS idx_relations_target_type_source + ON observation_relations(target_observation_id, relation_type, source_observation_id) + +2026/07/10 15:44:16 D:/Dev/engram/.agent/worktrees/dbph/internal/db/gorm/migrations.go:1447 ERROR: relation "observation_vectors" does not exist (SQLSTATE 42P01) +[1.001ms] [rows:0] + DELETE FROM observation_vectors + WHERE id IN ( + SELECT ov.id FROM observation_vectors ov + LEFT JOIN observations o ON ov.metadata->>'sqlite_id' = o.id::text + WHERE o.id IS NULL + ) + +{"level":"warn","error":"ERROR: relation \"observation_vectors\" does not exist (SQLSTATE 42P01)","time":"2026-07-10T15:44:16+03:00","message":"migration 040: orphan vector cleanup failed (non-fatal)"} +{"level":"info","garbage_deleted":0,"orphan_vectors_deleted":0,"time":"2026-07-10T15:44:16+03:00","message":"migration 040: garbage cleanup complete"} +{"level":"info","orphan_vectors_deleted":0,"time":"2026-07-10T15:44:16+03:00","message":"migration 041: orphan vector purge complete"} +{"level":"info","patterns_deleted":0,"time":"2026-07-10T15:44:16+03:00","message":"migration 042: low-quality pattern purge complete"} +{"level":"info","total_deleted":0,"time":"2026-07-10T15:44:17+03:00","message":"migration 043: radical observation cleanup complete"} + +2026/07/10 15:44:17 D:/Dev/engram/.agent/worktrees/dbph/internal/db/gorm/migrations.go:3502 ERROR: extension "vectorscale" is not available (SQLSTATE 0A000) +[0.500ms] [rows:0] CREATE EXTENSION IF NOT EXISTS vectorscale CASCADE +{"level":"warn","error":"ERROR: extension \"vectorscale\" is not available (SQLSTATE 0A000)","time":"2026-07-10T15:44:17+03:00","message":"migration 109: vectorscale extension not available, skipping DiskANN index"} +=== RUN TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose/owner-0 + candidate_store_test.go:58: baseline_sessions=0 child_live_sessions=1 +=== NAME TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose + candidate_store_test.go:68: baseline_sessions=0 sessions_after_owner_cleanup=1 + candidate_store_test.go:70: child pool leaked past owner cleanup: baseline=0 after=1 +=== RUN TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose/owner-1 + candidate_store_test.go:58: baseline_sessions=0 child_live_sessions=2 +=== NAME TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose + candidate_store_test.go:68: baseline_sessions=0 sessions_after_owner_cleanup=2 + candidate_store_test.go:70: child pool leaked past owner cleanup: baseline=0 after=2 +=== RUN TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose/owner-2 + candidate_store_test.go:58: baseline_sessions=0 child_live_sessions=3 +=== NAME TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose + candidate_store_test.go:68: baseline_sessions=0 sessions_after_owner_cleanup=3 + candidate_store_test.go:70: child pool leaked past owner cleanup: baseline=0 after=3 +=== RUN TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose/owner-3 + candidate_store_test.go:58: baseline_sessions=0 child_live_sessions=4 +=== NAME TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose + candidate_store_test.go:68: baseline_sessions=0 sessions_after_owner_cleanup=4 + candidate_store_test.go:70: child pool leaked past owner cleanup: baseline=0 after=4 +--- FAIL: TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose (7.20s) + --- PASS: TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose/owner-0 (0.10s) + --- PASS: TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose/owner-1 (0.11s) + --- PASS: TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose/owner-2 (0.11s) + --- PASS: TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose/owner-3 (0.11s) +FAIL +FAIL github.com/thebtf/engram/internal/db/gorm 7.356s +FAIL +test_exit=1 +activity_after_test_process=0 +database_residue=0 +activity_residue=0 +finished_utc=2026-07-10T12:44:24.7787771Z diff --git a/.agent/reports/evidence/production-ready/db-test-pool-hygiene/05-post-prove-green.log b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/05-post-prove-green.log new file mode 100644 index 00000000..fc72ec58 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/05-post-prove-green.log @@ -0,0 +1,14 @@ +base_sha=bd68c05baf4b7250096dd84f56bebea2aa555970 +head_sha=bd68c05baf4b7250096dd84f56bebea2aa555970 +database=engram_mkr_dbph_post_prove_a +command=go test -p=1 ./internal/db/gorm -run ^TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose$ -count=1 +max_connections=100 +superuser_reserved_connections=3 +started_utc=2026-07-10T12:44:54.3836591Z +activity_before_test=0 +ok github.com/thebtf/engram/internal/db/gorm 3.499s +test_exit=0 +activity_after_test_process=0 +database_residue=0 +activity_residue=0 +finished_utc=2026-07-10T12:45:01.5262006Z diff --git a/.agent/reports/evidence/production-ready/db-test-pool-hygiene/06-repeat20.log b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/06-repeat20.log new file mode 100644 index 00000000..e7c7bbaf --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/06-repeat20.log @@ -0,0 +1,14 @@ +base_sha=bd68c05baf4b7250096dd84f56bebea2aa555970 +head_sha=bd68c05baf4b7250096dd84f56bebea2aa555970 +database=engram_mkr_dbph_repeat_a +command=go test -p=1 ./internal/db/gorm -run ^TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose$ -count=20 +max_connections=100 +superuser_reserved_connections=3 +started_utc=2026-07-10T12:45:15.8162838Z +activity_before_test=0 +ok github.com/thebtf/engram/internal/db/gorm 14.802s +test_exit=0 +activity_after_test_process=0 +database_residue=0 +activity_residue=0 +finished_utc=2026-07-10T12:45:33.8890373Z diff --git a/.agent/reports/evidence/production-ready/db-test-pool-hygiene/07-race.log b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/07-race.log new file mode 100644 index 00000000..b985980b --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/07-race.log @@ -0,0 +1,14 @@ +base_sha=bd68c05baf4b7250096dd84f56bebea2aa555970 +head_sha=bd68c05baf4b7250096dd84f56bebea2aa555970 +database=engram_mkr_dbph_race_a +command=go test -race -p=1 ./internal/db/gorm -run ^TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose$ -count=1 +max_connections=100 +superuser_reserved_connections=3 +started_utc=2026-07-10T12:45:51.8676905Z +activity_before_test=0 +ok github.com/thebtf/engram/internal/db/gorm 4.711s +test_exit=0 +activity_after_test_process=0 +database_residue=0 +activity_residue=0 +finished_utc=2026-07-10T12:46:04.8094754Z diff --git a/.agent/reports/evidence/production-ready/db-test-pool-hygiene/08-successor-broad.summary.log b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/08-successor-broad.summary.log new file mode 100644 index 00000000..3de11652 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/08-successor-broad.summary.log @@ -0,0 +1,25 @@ +format=compact status/failure extraction from complete go test output +full_output_captured=true +filter=run metadata, top-level failures, client-exhaustion records, package result, exit and residue +base_sha=bd68c05baf4b7250096dd84f56bebea2aa555970 +head_sha=bd68c05baf4b7250096dd84f56bebea2aa555970 +database=engram_mkr_dbph_successor_broad_a +command=go test -p=1 ./internal/db/gorm -count=1 -v +max_connections=100 +superuser_reserved_connections=3 +started_utc=2026-07-10T12:46:28.7916082Z +activity_before_test=0 +--- FAIL: TestRuleGovernanceStore_AnnotatedCandidateWaitsUntilReviewAfter (0.20s) +--- FAIL: TestRuleGovernanceStore_GetLifecycleHealthAggregatesGovernanceTables (0.21s) +--- FAIL: TestRuleGovernanceStore_GetLifecycleHealthOmitsGlobalArbiterRunsForProjectScopedReads (0.14s) +--- FAIL: TestMigration144_RuleGovernanceRollbackAndReapply (0.16s) +--- FAIL: TestMigration144_RuleGovernanceEscapeConstraints (0.16s) +--- FAIL: TestMigration144_RuleGovernanceSnapshotStatusesAcceptExtendedStates (0.17s) +FAIL +FAIL github.com/thebtf/engram/internal/db/gorm 35.530s +FAIL +test_exit=1 +activity_after_test_process=0 +database_residue=0 +activity_residue=0 +finished_utc=2026-07-10T12:47:07.4812942Z diff --git a/.agent/reports/evidence/production-ready/db-test-pool-hygiene/09-candidate-repeat5.log b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/09-candidate-repeat5.log new file mode 100644 index 00000000..c97977d6 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/09-candidate-repeat5.log @@ -0,0 +1,14 @@ +base_sha=bd68c05baf4b7250096dd84f56bebea2aa555970 +head_sha=bd68c05baf4b7250096dd84f56bebea2aa555970 +database=engram_mkr_dbph_candidate_repeat_a +command=go test -p=1 ./internal/db/gorm -run ^(TestOpenCandidateTestDB_|TestCandidateStore_) -count=5 +max_connections=100 +superuser_reserved_connections=3 +started_utc=2026-07-10T12:48:32.4925113Z +activity_before_test=0 +ok github.com/thebtf/engram/internal/db/gorm 24.267s +test_exit=0 +activity_after_test_process=0 +database_residue=0 +activity_residue=0 +finished_utc=2026-07-10T12:49:00.3129799Z diff --git a/.agent/reports/evidence/production-ready/db-test-pool-hygiene/10-candidate-race.log b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/10-candidate-race.log new file mode 100644 index 00000000..164fd019 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/10-candidate-race.log @@ -0,0 +1,14 @@ +base_sha=bd68c05baf4b7250096dd84f56bebea2aa555970 +head_sha=bd68c05baf4b7250096dd84f56bebea2aa555970 +database=engram_mkr_dbph_candidate_race_a +command=go test -race -p=1 ./internal/db/gorm -run ^(TestOpenCandidateTestDB_|TestCandidateStore_) -count=1 +max_connections=100 +superuser_reserved_connections=3 +started_utc=2026-07-10T12:49:15.0953890Z +activity_before_test=0 +ok github.com/thebtf/engram/internal/db/gorm 8.798s +test_exit=0 +activity_after_test_process=0 +database_residue=0 +activity_residue=0 +finished_utc=2026-07-10T12:49:28.3723859Z diff --git a/.agent/reports/evidence/production-ready/db-test-pool-hygiene/11-parent-successor-comparison.txt b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/11-parent-successor-comparison.txt new file mode 100644 index 00000000..736ee7c6 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/11-parent-successor-comparison.txt @@ -0,0 +1,34 @@ +base_sha=bd68c05baf4b7250096dd84f56bebea2aa555970 +parent_command=go test -p=1 ./internal/db/gorm -count=1 -v +successor_command=go test -p=1 ./internal/db/gorm -count=1 -v +max_connections=100 +superuser_reserved_connections=3 + +parent_semantic_failures=6 +successor_semantic_failures=6 +shared_semantic_failure_set: +- TestMigration144_RuleGovernanceEscapeConstraints +- TestMigration144_RuleGovernanceRollbackAndReapply +- TestMigration144_RuleGovernanceSnapshotStatusesAcceptExtendedStates +- TestRuleGovernanceStore_AnnotatedCandidateWaitsUntilReviewAfter +- TestRuleGovernanceStore_GetLifecycleHealthAggregatesGovernanceTables +- TestRuleGovernanceStore_GetLifecycleHealthOmitsGlobalArbiterRunsForProjectScopedReads + +parent_secondary_client_exhaustion_failures=6 +parent_only_failure_set: +- TestTemporalTruthStore_LoadSelectedRecordsUsesDBNowForValidFrom +- TestTemporalTruthStore_RefreshProjectBoundsPredecessorFromSuccessorChain +- TestTemporalTruthStore_RefreshProjectRejectsSingleWriteAndUnsupportedChains +- TestTokenStore_CreateWithPrincipalRejectsKindWithoutPrincipal +- TestTokenStore_CreateWithPrincipalRoundTrip +- TestTranscriptStore_Lifecycle + +successor_only_failure_set=none +parent_too_many_clients_occurrences=9 +successor_too_many_clients_occurrences=0 +parent_database_residue=0 +parent_activity_residue=0 +successor_database_residue=0 +successor_activity_residue=0 + +verdict=client-exhaustion class removed; the exact six unrelated governance/migration failures remain visible and unchanged diff --git a/.agent/reports/evidence/production-ready/db-test-pool-hygiene/12-static-gates.txt b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/12-static-gates.txt new file mode 100644 index 00000000..184376c2 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/12-static-gates.txt @@ -0,0 +1,8 @@ +go_version=go1.25.11 windows/amd64 +command=go vet ./... +exit_code=0 +command=go build ./... +exit_code=0 +command=git diff --check +exit_code=0 +coverage=N/A: only *_test.go infrastructure changed; Go production coverage does not instrument test helpers diff --git a/.agent/reports/evidence/production-ready/db-test-pool-hygiene/13-final-residue.log b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/13-final-residue.log new file mode 100644 index 00000000..8e13b980 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/13-final-residue.log @@ -0,0 +1,11 @@ +checked_utc=2026-07-10T13:00:03.1981568Z +database_prefix=engram_mkr_dbph_ +database_residue=0 +activity_residue=0 +go_or_test_process_residue=0 +socraticode_index_residue=0 +socraticode_watcher_residue=0 +serena_generated_dir_exists=false +temporary_worktree_residue=0 +maker_worktree_entries=1 +maker_worktree_note=the single assigned dbph worktree is intentionally retained for checker handoff diff --git a/.agent/reports/evidence/production-ready/db-test-pool-hygiene/14-evidence-r2-focused.log b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/14-evidence-r2-focused.log new file mode 100644 index 00000000..5aa37f3b --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/14-evidence-r2-focused.log @@ -0,0 +1,14 @@ +head_sha=276337b3e96aa5af6d2e7dd9a0002ff957e5ffc9 +worktree=D:\Dev\engram\.agent\worktrees\dbph-evidence-r2-runtime +database=engram_chk_dbph_evr2_focus_a +command=go test -p=1 ./internal/db/gorm -run ^TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose$ -count=3 +max_connections=100 +superuser_reserved_connections=3 +started_utc=2026-07-10T13:56:26.7004264Z +activity_before_test=0 +ok github.com/thebtf/engram/internal/db/gorm 5.014s +test_exit=0 +activity_after_test_process=0 +database_residue=0 +activity_residue=0 +finished_utc=2026-07-10T13:56:38.3299151Z diff --git a/.agent/reports/evidence/production-ready/db-test-pool-hygiene/15-evidence-r2-static.txt b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/15-evidence-r2-static.txt new file mode 100644 index 00000000..bad863bb --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/15-evidence-r2-static.txt @@ -0,0 +1,11 @@ +product_candidate_sha=276337b3e96aa5af6d2e7dd9a0002ff957e5ffc9 +runtime_worktree=D:\Dev\engram\.agent\worktrees\dbph-evidence-r2-runtime +go_vet_command=go vet ./... +go_vet_exit=0 +go_build_command=go build ./... +go_build_exit=0 +focused_command=go test -p=1 ./internal/db/gorm -run ^TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose$ -count=3 +focused_exit=0 +focused_database=engram_chk_dbph_evr2_focus_a +focused_database_residue=0 +focused_activity_residue=0 diff --git a/.agent/reports/evidence/production-ready/db-test-pool-hygiene/16-evidence-r4-red.json b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/16-evidence-r4-red.json new file mode 100644 index 00000000..707ff9ce --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/16-evidence-r4-red.json @@ -0,0 +1,46 @@ +{ + "schema_version": 1, + "task_id": "DBPH-R4-EVIDENCE-STRICTNESS", + "phase": "RED", + "observed_at": "2026-07-11T01:51:59.4209935Z", + "runner": "PowerShell 7.6.1", + "base_target": "331b5b195a967e7f27dca94038a3480c9afcc84f", + "checker_commit": "c83536a8fa2f57bde8a194fa49b7b24271a51c03", + "checker_artifact": ".agent/reviews/db-test-pool-hygiene-r3-checker/alternate-index-proof.json", + "checker_artifact_sha256": "9e7383dcb3929e749f0a53ac44d9b4acb1e726ed146ddab673ab5c2d9af4cf65", + "protected_invariant": "Every evidence document must match its exact schema and current semantic proof contract; cryptographically coherent stale or extended JSON must fail closed.", + "failure_reason": "Five internally coherent invalid evidence packets returned exit 0 and PASS before the R4 verifier repair.", + "cases": [ + { + "name": "unknown_manifest_key", + "expected": "REJECT", + "actual_exit": 0, + "actual_status": "PASS" + }, + { + "name": "unknown_inventory_key", + "expected": "REJECT", + "actual_exit": 0, + "actual_status": "PASS" + }, + { + "name": "inventory_schema_99", + "expected": "REJECT", + "actual_exit": 0, + "actual_status": "PASS" + }, + { + "name": "stale_adversarial_proof", + "expected": "REJECT", + "actual_exit": 0, + "actual_status": "PASS" + }, + { + "name": "stale_verifier_proof", + "expected": "REJECT", + "actual_exit": 0, + "actual_status": "PASS" + } + ], + "scope_override": "The operator forbids .agent/specs changes for this evidence-only revision, so RED/GREEN/prove-it records live in the authorized evidence packet." +} diff --git a/.agent/reports/evidence/production-ready/db-test-pool-hygiene/17-evidence-r4-gates.json b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/17-evidence-r4-gates.json new file mode 100644 index 00000000..f1e22f5c --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/17-evidence-r4-gates.json @@ -0,0 +1,96 @@ +{ + "schema_version": 4, + "status": "PASS", + "source_mode": "GitIndex", + "revision": "INDEX", + "gates": [ + { + "name": "strict_verifier", + "status": "PASS", + "changed_paths": 21, + "directly_bound_changed_paths": 19, + "manifest_entries": 35, + "checksum_entries": 36, + "inventory_call_sites": 83, + "inventory_files": 8 + }, + { + "name": "alternate_index_adversarial", + "status": "PASS", + "cases": 35, + "legacy_cases_retained": 12, + "all_cases_pass": true, + "temp_root_removed": true, + "proof_sha256": "f4113547697cf1c87c7d260d8f04c27d82149e34d78bb941c3da1a4ec663b1c8" + }, + { + "name": "adversarial_determinism", + "status": "PASS", + "repeat_sha256": "f4113547697cf1c87c7d260d8f04c27d82149e34d78bb941c3da1a4ec663b1c8", + "byte_identical": true + }, + { + "name": "builder_determinism", + "status": "PASS", + "iterations": 2, + "manifest_byte_identical": true, + "outer_checksum_byte_identical": true, + "seed_phase_status": "SEEDED_DYNAMIC_PROOFS", + "seed_phase_leaves_manifest_and_checksum_unchanged": true, + "self_hashes": "reported_out_of_band_to_avoid_self_reference" + }, + { + "name": "verifier_proof", + "status": "PASS", + "proof_sha256": "839e1bcb76f4eddc118eeeee47c65385513f97a4b615d25654ad129bd935ce2f", + "failures": [] + }, + { + "name": "product_test_blob", + "status": "PASS", + "git_blob_oid": "7337f1bd8da4fb315de842eea2e3cce5476250a3", + "sha256": "62260c1a2e0705b065295322dd23fcf9b17fd47cb5ebc64134630788e2d23e09", + "byte_identical_to_product_candidate": true + }, + { + "name": "go_vet_all", + "status": "PASS", + "exit_code": 0 + }, + { + "name": "go_build_all", + "status": "PASS", + "exit_code": 0 + }, + { + "name": "focused_database_regression", + "status": "PASS", + "command": "go test -p=1 ./internal/db/gorm -run ^TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose$ -count=3", + "database": "engram_mkr_dbph_r4_f49932f29f5f", + "exit_code": 0, + "database_residue": 0, + "activity_residue": 0 + }, + { + "name": "powershell_parse", + "status": "PASS", + "scripts": 5 + }, + { + "name": "gitleaks_staged", + "status": "PASS", + "version": "8.30.0", + "leaks": 0 + }, + { + "name": "scope_and_diff", + "status": "PASS", + "product_or_test_paths_changed": [], + "git_diff_check_exit": 0 + } + ], + "cleanup": "PASS", + "database_residue": 0, + "activity_residue": 0, + "alternate_index_temp_roots": 0 +} diff --git a/.agent/reports/evidence/production-ready/db-test-pool-hygiene/Build-DBPoolHygieneEvidence.ps1 b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/Build-DBPoolHygieneEvidence.ps1 new file mode 100644 index 00000000..10984e03 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/Build-DBPoolHygieneEvidence.ps1 @@ -0,0 +1,247 @@ +param( + [Parameter(Mandatory = $true)] + [string]$RepositoryRoot, + + [string]$ProductCandidateSHA = '276337b3e96aa5af6d2e7dd9a0002ff957e5ffc9', + + [string]$ManifestPath = '.agent/reports/evidence/production-ready/db-test-pool-hygiene/MANIFEST.json', + + [string]$SumsPath = '.agent/reports/evidence/production-ready/db-test-pool-hygiene/SHA256SUMS.txt', + + [string]$AdversarialProofPath = '.agent/reports/evidence/production-ready/db-test-pool-hygiene/adversarial-proof.json', + + [string]$VerifierProofPath = '.agent/reports/evidence/production-ready/db-test-pool-hygiene/verifier-proof.json', + + [switch]$SeedDynamicProofs +) + +$ErrorActionPreference = 'Stop' +$utf8Strict = [Text.UTF8Encoding]::new($false, $true) +$utf8NoBom = [Text.UTF8Encoding]::new($false) +$ordinal = [StringComparer]::Ordinal +$resolvedRepository = (Resolve-Path -LiteralPath $RepositoryRoot).Path +$evidencePrefix = '.agent/reports/evidence/production-ready/db-test-pool-hygiene/' +$contractPath = Join-Path $PSScriptRoot 'DBPoolHygieneEvidenceContract.ps1' +if (-not (Test-Path -LiteralPath $contractPath)) { + throw "evidence contract not found: $contractPath" +} +. $contractPath +if ($ProductCandidateSHA -cne $DBPHProductCandidateSHA) { + throw "unsupported product candidate: $ProductCandidateSHA" +} +$productBlobPath = $DBPHProductBlobPath +$manifestExclusions = @($ManifestPath, $SumsPath) +$checksumExclusions = @($SumsPath) + +function Invoke-GitRaw { + param([Parameter(Mandatory = $true)][string[]]$Arguments) + + $startInfo = [Diagnostics.ProcessStartInfo]::new() + $startInfo.FileName = 'git' + $startInfo.WorkingDirectory = $resolvedRepository + $startInfo.UseShellExecute = $false + $startInfo.RedirectStandardOutput = $true + $startInfo.RedirectStandardError = $true + foreach ($argument in $Arguments) { + $startInfo.ArgumentList.Add($argument) + } + + $process = [Diagnostics.Process]::Start($startInfo) + $stream = [IO.MemoryStream]::new() + $process.StandardOutput.BaseStream.CopyTo($stream) + $standardError = $process.StandardError.ReadToEnd() + $process.WaitForExit() + if ($process.ExitCode -ne 0) { + throw "git $($Arguments -join ' ') failed: $standardError" + } + return $stream.ToArray() +} + +function Convert-BytesToText { + param([Parameter(Mandatory = $true)][byte[]]$Bytes) + return $utf8Strict.GetString($Bytes) +} + +function Convert-NulList { + param([Parameter(Mandatory = $true)][byte[]]$Bytes) + + $text = Convert-BytesToText -Bytes $Bytes + return @($text -split [char]0 | Where-Object { $_ -ne '' }) +} + +function Sort-Ordinal { + param([Parameter(Mandatory = $true)][string[]]$Values) + + $copy = [string[]]@($Values) + [Array]::Sort($copy, $ordinal) + return $copy +} + +function Get-IndexObjectEvidence { + param([Parameter(Mandatory = $true)][string]$Path) + + $oid = (Convert-BytesToText (Invoke-GitRaw -Arguments @('rev-parse', ":$Path"))).Trim() + $type = (Convert-BytesToText (Invoke-GitRaw -Arguments @('cat-file', '-t', $oid))).Trim() + if ($type -ne 'blob') { + throw "index object for $Path is $type, expected blob" + } + $bytes = Invoke-GitRaw -Arguments @('cat-file', 'blob', $oid) + if ($bytes -contains [byte]0x0D) { + throw "index blob contains CR, LF bytes are required: $Path" + } + return [pscustomobject]@{ + oid = $oid + bytes = $bytes + length = $bytes.Length + sha256 = [Convert]::ToHexString([Security.Cryptography.SHA256]::HashData($bytes)).ToLowerInvariant() + } +} + +$head = (Convert-BytesToText (Invoke-GitRaw -Arguments @('rev-parse', 'HEAD'))).Trim() +$changedPaths = Convert-NulList (Invoke-GitRaw -Arguments @('diff', '--cached', '--name-only', '-z', $ProductCandidateSHA, '--')) +$changedPaths = Sort-Ordinal -Values $changedPaths +$productOrTestChanges = @($changedPaths | Where-Object { -not $_.StartsWith('.agent/reports/', [StringComparison]::Ordinal) }) +if ($productOrTestChanges.Count -ne 0) { + throw "evidence revision changes forbidden product/test paths: $($productOrTestChanges -join ', ')" +} + +$trackedPaths = Convert-NulList (Invoke-GitRaw -Arguments @('ls-files', '-z')) +$entryPaths = @($trackedPaths | Where-Object { + ($_.StartsWith($evidencePrefix, [StringComparison]::Ordinal) -or + ($_ -match '^\.agent/reports/[0-9]{4}-[0-9]{2}-[0-9]{2}-db-test-pool-hygiene.*\.md$') -or + $_ -eq $productBlobPath) -and + -not $manifestExclusions.Contains($_) +}) +$entryPaths = Sort-Ordinal -Values $entryPaths + +$directChangedPaths = @($changedPaths | Where-Object { -not $manifestExclusions.Contains($_) }) +$missingChangedPaths = @($directChangedPaths | Where-Object { -not $entryPaths.Contains($_) }) +if ($missingChangedPaths.Count -ne 0) { + throw "builder selection omits changed evidence paths: $($missingChangedPaths -join ', ')" +} + +if ($SeedDynamicProofs) { + $adversarialProof = New-DBPHSeedAdversarialProof + $verifierProof = New-DBPHSeedVerifierProof ` + -ChangedPaths ([int64]$changedPaths.Count) ` + -DirectlyBoundChangedPaths ([int64]$directChangedPaths.Count) ` + -ManifestEntries ([int64]$entryPaths.Count) ` + -ChecksumEntries ([int64]($entryPaths.Count + 1)) + foreach ($proof in @( + [pscustomobject]@{ path = $AdversarialProofPath; value = $adversarialProof }, + [pscustomobject]@{ path = $VerifierProofPath; value = $verifierProof } + )) { + $proofJson = (($proof.value | ConvertTo-Json -Depth 20) -replace "`r`n", "`n") + "`n" + if ($utf8NoBom.GetBytes($proofJson) -contains [byte]0x0D) { + throw "generated dynamic proof contains CR: $($proof.path)" + } + [IO.File]::WriteAllText((Join-Path $resolvedRepository $proof.path), $proofJson, $utf8NoBom) + } + [ordered]@{ + status = 'SEEDED_DYNAMIC_PROOFS' + source_mode = 'GitIndex' + changed_path_count = $changedPaths.Count + directly_bound_changed_path_count = $directChangedPaths.Count + manifest_entries = $entryPaths.Count + checksum_entries = $entryPaths.Count + 1 + next_action = 'stage both proof files, then rerun builder without -SeedDynamicProofs' + } | ConvertTo-Json -Depth 4 + return +} + +$entries = [Collections.Generic.List[object]]::new() +$entryHashes = @{} +foreach ($path in $entryPaths) { + $object = Get-IndexObjectEvidence -Path $path + $entryHashes[$path] = $object.sha256 + $entries.Add([ordered]@{ + path = $path + git_blob_oid = $object.oid + bytes = [int64]$object.length + sha256 = $object.sha256 + }) +} + +$manifest = [ordered]@{ + schema_version = $DBPHManifestSchemaVersion + status = 'READY_FOR_RECHECK_EVIDENCE_R4' + product_parent_sha = $DBPHProductParentSHA + product_candidate_sha = $ProductCandidateSHA + evidence_revision_parent_sha = $head + evidence_revision_target = 'GitIndex' + evidence_delta = [ordered]@{ + comparison = "$ProductCandidateSHA..GitIndex" + changed_path_count = [int64]$changedPaths.Count + directly_manifest_bound_count = [int64]$directChangedPaths.Count + product_or_test_paths_changed = @() + manifest_entry_self_excluded_paths = $manifestExclusions + checksum_self_excluded_paths = $checksumExclusions + } + representation_contract = [ordered]@{ + id = $DBPHRepresentationContract + digest = 'SHA-256' + object_type = 'blob' + path_binding = 'each path at the verified Git index/revision resolves to git_blob_oid' + contract_bytes = 'git cat-file blob exact stdout bytes' + working_tree_bytes = 'excluded; raw CRLF checkout bytes fail verification' + text_git_blob_line_endings = 'LF' + manifest_self_reference = 'excluded-from-manifest-entries-bound-by-outer-checksum' + outer_checksum_path = $SumsPath + outer_checksum_generation_order = 'manifest-first-checksum-second' + outer_checksum_self_reference = 'excluded' + } + product_test_blob = [ordered]@{ + path = $productBlobPath + git_blob_oid = $DBPHProductBlobOID + sha256 = $DBPHProductBlobSHA256 + byte_identical_to_product_candidate = $true + } + inventory = [ordered]@{ + parent_sha = $DBPHProductParentSHA + required_call_sites = [int64]83 + required_files = [int64]8 + path = '.agent/reports/evidence/production-ready/db-test-pool-hygiene/INVENTORY.json' + } + entry_count = [int64]$entries.Count + entries = @($entries) +} + +$manifestJson = (($manifest | ConvertTo-Json -Depth 12) -replace "`r`n", "`n") + "`n" +$manifestBytes = $utf8NoBom.GetBytes($manifestJson) +if ($manifestBytes -contains [byte]0x0D) { + throw 'generated manifest contains CR' +} +$resolvedManifest = Join-Path $resolvedRepository $ManifestPath +[IO.File]::WriteAllText($resolvedManifest, $manifestJson, $utf8NoBom) +$manifestHash = [Convert]::ToHexString([Security.Cryptography.SHA256]::HashData($manifestBytes)).ToLowerInvariant() + +$sumPaths = Sort-Ordinal -Values @($entryPaths + $ManifestPath) +$sumLines = [Collections.Generic.List[string]]::new() +$sumLines.Add('# representation_contract=git-blob-bytes-v1') +$sumLines.Add('# manifest_generation_order=manifest-first-checksum-second') +$sumLines.Add('# checksum_self_reference=excluded') +foreach ($path in $sumPaths) { + $hash = if ($path -eq $ManifestPath) { $manifestHash } else { $entryHashes[$path] } + if ([string]::IsNullOrWhiteSpace($hash)) { + throw "missing hash for checksum path: $path" + } + $sumLines.Add("$hash $path") +} +$sumsText = ($sumLines -join "`n") + "`n" +$sumsBytes = $utf8NoBom.GetBytes($sumsText) +if ($sumsBytes -contains [byte]0x0D) { + throw 'generated outer checksum contains CR' +} +$resolvedSums = Join-Path $resolvedRepository $SumsPath +[IO.File]::WriteAllText($resolvedSums, $sumsText, $utf8NoBom) + +[ordered]@{ + status = 'BUILT' + source_mode = 'GitIndex' + evidence_revision_parent_sha = $head + changed_path_count = $changedPaths.Count + manifest_entries = $entries.Count + checksum_entries = $sumPaths.Count + manifest_self_excluded_paths = $manifestExclusions + checksum_self_excluded_paths = $checksumExclusions +} | ConvertTo-Json -Depth 6 diff --git a/.agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.evidence-r2.json b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.evidence-r2.json new file mode 100644 index 00000000..73438a1e --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.evidence-r2.json @@ -0,0 +1,71 @@ +{ + "schema_version": 1, + "generated_utc": "2026-07-10T13:50:06.3759908Z", + "status": "READY_FOR_RECHECK", + "product_parent_sha": "bd68c05baf4b7250096dd84f56bebea2aa555970", + "product_candidate_sha": "276337b3e96aa5af6d2e7dd9a0002ff957e5ffc9", + "evidence_revision_base_sha": "276337b3e96aa5af6d2e7dd9a0002ff957e5ffc9", + "evidence_revision_head_sha": null, + "evidence_revision_head_reason": "reported after the atomic commit because a commit cannot embed its own hash", + "branch": "work/prc-db-test-pool-hygiene-evidence-r2", + "worktree": "D:\\Dev\\engram\\.agent\\worktrees\\dbph-evidence-r2", + "product_or_test_paths_changed_by_revision": [], + "product_test_blob": { + "path": "internal/db/gorm/candidate_store_test.go", + "git_blob_oid": "7337f1bd8da4fb315de842eea2e3cce5476250a3", + "sha256": "62260c1a2e0705b065295322dd23fcf9b17fd47cb5ebc64134630788e2d23e09", + "byte_identical_to_product_candidate": true + }, + "inventory": { + "parent_sha": "bd68c05baf4b7250096dd84f56bebea2aa555970", + "call_sites": 83, + "files": 8, + "artifact": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/INVENTORY.json" + }, + "runtime_evidence": { + "max_connections": 100, + "parent_semantic_failures": 6, + "parent_secondary_exhaustion_failures": 6, + "parent_too_many_clients_records": 9, + "candidate_semantic_failures": 6, + "candidate_secondary_exhaustion_failures": 0, + "candidate_too_many_clients_records": 0, + "focused_repeat20_exit": 0, + "focused_race_exit": 0, + "candidate_repeat5_exit": 0, + "candidate_race_exit": 0, + "go_vet_all_exit": 0, + "go_build_all_exit": 0, + "revision2_focused_count": 3, + "revision2_focused_exit": 0, + "revision2_go_vet_all_exit": 0, + "revision2_go_build_all_exit": 0, + "database_residue": 0, + "postgres_session_residue": 0 + }, + "representation_contract": { + "id": "git-blob-bytes-v1", + "digest": "SHA-256", + "path_binding": "Git blob OID plus SHA-256 plus byte count", + "working_tree_bytes_are_not_contract_bytes": true, + "manifest_generation_order": "final MANIFEST.json first, SHA256SUMS.txt second", + "manifest_self_reference": "excluded", + "outer_checksum_self_reference": "excluded" + }, + "adversarial_cases_required": [ + "stale_manifest_entry", + "crlf_raw_representation", + "incorrect_representation_contract", + "false_inventory_76_6" + ], + "evidence_verification": { + "source_mode": "GitIndex", + "verifier_exit": 0, + "verifier_status": "PASS", + "adversarial_harness_exit": 0, + "baseline_exit": 0, + "mutation_exits": [1, 1, 1, 1], + "adversarial_temp_root_removed": true, + "runtime_worktree_removed_and_unregistered": true + } +} diff --git a/.agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.evidence-r3.json b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.evidence-r3.json new file mode 100644 index 00000000..15fa98aa --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.evidence-r3.json @@ -0,0 +1,65 @@ +{ + "schema_version": 3, + "status": "READY_FOR_RECHECK", + "product_parent_sha": "bd68c05baf4b7250096dd84f56bebea2aa555970", + "product_candidate_sha": "276337b3e96aa5af6d2e7dd9a0002ff957e5ffc9", + "evidence_revision_parent_sha": "68242c48aaad62ec087166eeb9ea32f14d189450", + "branch": "work/prc-db-test-pool-hygiene-evidence-r3", + "worktree": "D:\\Dev\\engram\\.w\\dbph-r3", + "scope": "evidence-only", + "product_or_test_paths_changed_by_revision": [], + "whole_delta_base_sha": "276337b3e96aa5af6d2e7dd9a0002ff957e5ffc9", + "whole_delta_changed_paths": 16, + "whole_delta_directly_manifest_bound_paths": 14, + "exact_self_exclusions": { + "manifest_entries": [ + ".agent/reports/evidence/production-ready/db-test-pool-hygiene/MANIFEST.json", + ".agent/reports/evidence/production-ready/db-test-pool-hygiene/SHA256SUMS.txt" + ], + "outer_checksum": [ + ".agent/reports/evidence/production-ready/db-test-pool-hygiene/SHA256SUMS.txt" + ] + }, + "dynamic_proofs_directly_bound": [ + ".agent/reports/evidence/production-ready/db-test-pool-hygiene/adversarial-proof.json", + ".agent/reports/evidence/production-ready/db-test-pool-hygiene/verifier-proof.json" + ], + "product_test_blob": { + "path": "internal/db/gorm/candidate_store_test.go", + "git_blob_oid": "7337f1bd8da4fb315de842eea2e3cce5476250a3", + "sha256": "62260c1a2e0705b065295322dd23fcf9b17fd47cb5ebc64134630788e2d23e09", + "byte_identical_to_product_candidate": true + }, + "inventory": { + "parent_sha": "bd68c05baf4b7250096dd84f56bebea2aa555970", + "call_sites": 83, + "files": 8 + }, + "verification": { + "baseline": "PASS", + "manifest_entries": 30, + "checksum_entries": 31, + "inventory_call_sites": 83, + "inventory_files": 8, + "adversarial_cases": 12, + "adversarial_status": "PASS", + "adversarial_case_names": [ + "baseline", + "missing_changed_path", + "unsorted_manifest_and_sums", + "duplicate_manifest_and_sums", + "wrong_type_representation_id_array", + "null_representation_id", + "wrong_type_exclusions_scalar", + "wrong_type_inventory_numeric_strings", + "null_inventory_count", + "crlf_raw_representation", + "incorrect_representation_contract", + "false_inventory_76_6" + ], + "git_diff_check": "PASS", + "gitleaks_reports_scan": "PASS", + "gitleaks_version": "8.30.0" + }, + "handoff_commit": "REPORTED_OUT_OF_BAND_TO_AVOID_SELF_REFERENCE" +} diff --git a/.agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.evidence-r4.json b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.evidence-r4.json new file mode 100644 index 00000000..81515731 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.evidence-r4.json @@ -0,0 +1,34 @@ +{ + "schema_version": 4, + "status": "READY_FOR_RECHECK", + "product_parent_sha": "bd68c05baf4b7250096dd84f56bebea2aa555970", + "product_candidate_sha": "276337b3e96aa5af6d2e7dd9a0002ff957e5ffc9", + "evidence_revision_parent_sha": "331b5b195a967e7f27dca94038a3480c9afcc84f", + "branch": "work/prc-db-test-pool-hygiene-evidence-r4", + "worktree": "D:\\Dev\\engram\\.w\\dbph-r4", + "scope": "evidence-only", + "product_or_test_paths_changed_by_revision": [], + "whole_delta_base_sha": "276337b3e96aa5af6d2e7dd9a0002ff957e5ffc9", + "whole_delta_changed_paths": 21, + "whole_delta_directly_manifest_bound_paths": 19, + "manifest_entries": 35, + "checksum_entries": 36, + "exact_json_schema": true, + "semantic_dynamic_proof_validation": true, + "alternate_index_adversarial_cases": 35, + "legacy_adversarial_cases_retained": 12, + "deterministic_fixed_point": "PASS", + "adversarial_proof_sha256": "f4113547697cf1c87c7d260d8f04c27d82149e34d78bb941c3da1a4ec663b1c8", + "verifier_proof_sha256": "839e1bcb76f4eddc118eeeee47c65385513f97a4b615d25654ad129bd935ce2f", + "inventory": { + "parent_sha": "bd68c05baf4b7250096dd84f56bebea2aa555970", + "call_sites": 83, + "files": 8 + }, + "cleanup": { + "database_residue": 0, + "activity_residue": 0, + "alternate_index_temp_roots": 0 + }, + "handoff_commit": "REPORTED_OUT_OF_BAND_TO_AVOID_SELF_REFERENCE" +} diff --git a/.agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.final.json b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.final.json new file mode 100644 index 00000000..4d30b24f --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.final.json @@ -0,0 +1,66 @@ +{ + "status": "READY_FOR_RECHECK_EVIDENCE_R4", + "parent_sha": "bd68c05baf4b7250096dd84f56bebea2aa555970", + "product_candidate_sha": "276337b3e96aa5af6d2e7dd9a0002ff957e5ffc9", + "branch": "work/prc-db-test-pool-hygiene-evidence-r4", + "changed_implementation_paths": [ + "internal/db/gorm/candidate_store_test.go" + ], + "preexisting_helper_call_sites_closed": 83, + "preexisting_helper_call_site_files": 8, + "parent_red": { + "session_baseline": 0, + "sessions_after_child_owners": [1, 2, 3, 4], + "exit_code": 1 + }, + "successor_green": { + "child_live_sessions": 1, + "sessions_after_owner_cleanup": 0, + "repeat_count": 20, + "focused_race_exit": 0, + "candidate_repeat_count": 5, + "candidate_race_exit": 0 + }, + "broad_comparison": { + "max_connections": 100, + "parent_semantic_failures": 6, + "successor_semantic_failures": 6, + "parent_secondary_client_exhaustion_failures": 6, + "parent_too_many_clients_occurrences": 9, + "successor_too_many_clients_occurrences": 0 + }, + "static_gates": { + "go_vet_all": 0, + "go_build_all": 0, + "git_diff_check": 0, + "coverage": null, + "coverage_reason": "only *_test.go infrastructure changed" + }, + "residue": { + "database": 0, + "postgres_sessions": 0 + }, + "evidence_contract": { + "representation": "git-blob-bytes-v1", + "whole_delta_base_sha": "276337b3e96aa5af6d2e7dd9a0002ff957e5ffc9", + "manifest_self_reference": "excluded from manifest entries and bound by outer checksum", + "outer_checksum_generation_order": "final manifest first; outer checksum second", + "outer_checksum_self_reference": "excluded", + "dynamic_proofs_directly_bound": true, + "canonical_path_order": "StringComparer.Ordinal", + "strict_raw_json_types": true, + "exact_json_keys": true, + "manifest_schema_version": 4, + "inventory_schema_version": 1, + "verifier_proof_schema_version": 4, + "adversarial_proof_schema_version": 4, + "semantic_dynamic_proof_validation": true, + "alternate_index_adversarial_cases": 35, + "adversarial_proof_byte_deterministic": true, + "inventory_parent_sha": "bd68c05baf4b7250096dd84f56bebea2aa555970", + "inventory_required_call_sites": 83, + "inventory_required_files": 8 + }, + "handoff_sha": null, + "handoff_sha_reason": "reported after the single commit because a commit cannot contain its own hash" +} diff --git a/.agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.red.json b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.red.json new file mode 100644 index 00000000..145b3e36 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.red.json @@ -0,0 +1,14 @@ +{ + "task_id": "DB-TEST-POOL-HYGIENE", + "parent_sha": "bd68c05baf4b7250096dd84f56bebea2aa555970", + "observed_at": "2026-07-10T12:41:38.9724244Z", + "test_file": "internal/db/gorm/candidate_store_test.go", + "test_name": "TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose", + "invariant": "a child-owned candidate test DB pool remains usable inside the subtest and is closed before t.Run returns to its parent", + "failure_reason": "four sequential child subtests accumulated four PostgreSQL sessions instead of returning to the zero-session baseline", + "runner_stdout_excerpt": "baseline_sessions=0 child_live_sessions=1; sessions_after_owner_cleanup=1 ... child_live_sessions=4; sessions_after_owner_cleanup=4", + "evidence_log": "02-parent-red.log", + "exit_code": 1, + "database_residue": 0, + "activity_residue": 0 +} diff --git a/.agent/reports/evidence/production-ready/db-test-pool-hygiene/DBPoolHygieneEvidenceContract.ps1 b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/DBPoolHygieneEvidenceContract.ps1 new file mode 100644 index 00000000..584375ad --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/DBPoolHygieneEvidenceContract.ps1 @@ -0,0 +1,205 @@ +$DBPHManifestSchemaVersion = [int64]4 +$DBPHInventorySchemaVersion = [int64]1 +$DBPHVerifierProofSchemaVersion = [int64]4 +$DBPHAdversarialProofSchemaVersion = [int64]4 +$DBPHProductParentSHA = 'bd68c05baf4b7250096dd84f56bebea2aa555970' +$DBPHProductCandidateSHA = '276337b3e96aa5af6d2e7dd9a0002ff957e5ffc9' +$DBPHEvidenceParentSHA = '331b5b195a967e7f27dca94038a3480c9afcc84f' +$DBPHProductBlobPath = 'internal/db/gorm/candidate_store_test.go' +$DBPHProductBlobOID = '7337f1bd8da4fb315de842eea2e3cce5476250a3' +$DBPHProductBlobSHA256 = '62260c1a2e0705b065295322dd23fcf9b17fd47cb5ebc64134630788e2d23e09' +$DBPHRepresentationContract = 'git-blob-bytes-v1' + +function Get-DBPHExactJsonProperties { + param( + [Parameter(Mandatory = $true)] + [ValidateSet( + 'manifest', + 'manifest.evidence_delta', + 'manifest.representation_contract', + 'manifest.product_test_blob', + 'manifest.inventory', + 'manifest.entry', + 'inventory', + 'inventory.entry', + 'verifier-proof', + 'adversarial-proof', + 'adversarial-proof.case' + )] + [string]$Schema + ) + + switch ($Schema) { + 'manifest' { + return [string[]]@( + 'schema_version', 'status', 'product_parent_sha', + 'product_candidate_sha', 'evidence_revision_parent_sha', + 'evidence_revision_target', 'evidence_delta', + 'representation_contract', 'product_test_blob', 'inventory', + 'entry_count', 'entries' + ) + } + 'manifest.evidence_delta' { + return [string[]]@( + 'comparison', 'changed_path_count', + 'directly_manifest_bound_count', 'product_or_test_paths_changed', + 'manifest_entry_self_excluded_paths', + 'checksum_self_excluded_paths' + ) + } + 'manifest.representation_contract' { + return [string[]]@( + 'id', 'digest', 'object_type', 'path_binding', 'contract_bytes', + 'working_tree_bytes', 'text_git_blob_line_endings', + 'manifest_self_reference', 'outer_checksum_path', + 'outer_checksum_generation_order', + 'outer_checksum_self_reference' + ) + } + 'manifest.product_test_blob' { + return [string[]]@( + 'path', 'git_blob_oid', 'sha256', + 'byte_identical_to_product_candidate' + ) + } + 'manifest.inventory' { + return [string[]]@('parent_sha', 'required_call_sites', 'required_files', 'path') + } + 'manifest.entry' { + return [string[]]@('path', 'git_blob_oid', 'bytes', 'sha256') + } + 'inventory' { + return [string[]]@( + 'schema_version', 'parent_sha', 'symbol', 'definition', 'method', + 'required_call_sites', 'required_files', 'actual_call_sites', + 'actual_files', 'entries' + ) + } + 'inventory.entry' { + return [string[]]@('path', 'count', 'lines') + } + 'verifier-proof' { + return [string[]]@( + 'schema_version', 'status', 'source_mode', 'revision', + 'product_candidate_sha', 'representation_contract', + 'changed_paths', 'directly_bound_changed_paths', + 'manifest_entries', 'checksum_entries', 'inventory_call_sites', + 'inventory_files', 'failures' + ) + } + 'adversarial-proof' { + return [string[]]@( + 'schema_version', 'status', 'source_mode', 'revision', 'cases', + 'temp_root_removed', 'cleanup' + ) + } + 'adversarial-proof.case' { + return [string[]]@( + 'name', 'expected_exit', 'actual_exit', 'verifier_status', + 'expected_failure', 'observed_failures', 'pass' + ) + } + } +} + +function Get-DBPHAdversarialCaseSpecs { + $specs = @( + @('baseline', $false, ''), + @('missing_changed_path', $true, 'manifest missing changed path'), + @('unsorted_manifest_and_sums', $true, 'not canonical ordinal order'), + @('duplicate_manifest_and_sums', $true, 'duplicate manifest path'), + @('wrong_type_representation_id_array', $true, 'must be JSON string, got array'), + @('null_representation_id', $true, 'must be JSON string, got null'), + @('wrong_type_exclusions_scalar', $true, 'must be JSON array, got string'), + @('wrong_type_inventory_numeric_strings', $true, 'must be JSON number, got string'), + @('null_inventory_count', $true, 'must be JSON number, got null'), + @('crlf_raw_representation', $true, 'manifest bytes contain CR'), + @('incorrect_representation_contract', $true, 'unsupported representation contract'), + @('false_inventory_76_6', $true, 'inventory acceptance constants must be 83/8'), + @('mixed_eol_representation', $true, 'manifest bytes contain CR'), + @('unknown_manifest_key', $true, 'manifest has unknown JSON property'), + @('unknown_manifest_nested_key', $true, 'manifest.representation_contract has unknown JSON property'), + @('unknown_manifest_entry_key', $true, 'manifest.entries[0] has unknown JSON property'), + @('unknown_inventory_key', $true, 'inventory has unknown JSON property'), + @('unknown_inventory_entry_key', $true, 'inventory.entries[0] has unknown JSON property'), + @('manifest_schema_99', $true, 'manifest schema_version must be 4'), + @('inventory_schema_99', $true, 'inventory schema_version must be 1'), + @('adversarial_proof_schema_99', $true, 'adversarial proof schema_version must be 4'), + @('verifier_proof_schema_99', $true, 'verifier proof schema_version must be 4'), + @('unknown_adversarial_proof_key', $true, 'adversarial proof has unknown JSON property'), + @('unknown_adversarial_case_key', $true, 'adversarial proof.cases[0] has unknown JSON property'), + @('unknown_verifier_proof_key', $true, 'verifier proof has unknown JSON property'), + @('stale_adversarial_proof', $true, 'adversarial proof case count mismatch'), + @('stale_verifier_proof', $true, 'verifier proof changed_paths mismatch'), + @('false_adversarial_case_order', $true, 'adversarial proof case order mismatch'), + @('false_adversarial_status', $true, 'adversarial proof status must be PASS'), + @('false_adversarial_actual_status', $true, 'adversarial proof case result mismatch'), + @('false_adversarial_required_diagnostic', $true, 'adversarial proof case missing required diagnostic'), + @('false_verifier_counts', $true, 'verifier proof manifest_entries mismatch'), + @('false_verifier_status', $true, 'verifier proof status must be PASS'), + @('false_verifier_source_revision', $true, 'verifier proof source/revision contract mismatch'), + @('duplicate_json_property', $true, 'duplicate JSON property') + ) + + $result = [Collections.Generic.List[object]]::new() + foreach ($spec in $specs) { + $result.Add([pscustomobject]@{ + name = [string]$spec[0] + expect_nonzero = [bool]$spec[1] + expected_failure = [string]$spec[2] + }) + } + return [object[]]@($result) +} + +function New-DBPHSeedAdversarialProof { + $cases = [Collections.Generic.List[object]]::new() + foreach ($spec in Get-DBPHAdversarialCaseSpecs) { + $isBaseline = -not $spec.expect_nonzero + $observedFailures = [object[]]@() + if (-not $isBaseline) { $observedFailures = [object[]]@($spec.expected_failure) } + $cases.Add([ordered]@{ + name = $spec.name + expected_exit = if ($isBaseline) { 0 } else { 'nonzero' } + actual_exit = if ($isBaseline) { 0 } else { 1 } + verifier_status = if ($isBaseline) { 'PASS' } else { 'FAIL' } + expected_failure = $spec.expected_failure + observed_failures = $observedFailures + pass = $true + }) + } + return [ordered]@{ + schema_version = $DBPHAdversarialProofSchemaVersion + status = 'PASS' + source_mode = 'GitIndex' + revision = 'INDEX' + cases = [object[]]@($cases) + temp_root_removed = $true + cleanup = 'PASS' + } +} + +function New-DBPHSeedVerifierProof { + param( + [Parameter(Mandatory = $true)][int64]$ChangedPaths, + [Parameter(Mandatory = $true)][int64]$DirectlyBoundChangedPaths, + [Parameter(Mandatory = $true)][int64]$ManifestEntries, + [Parameter(Mandatory = $true)][int64]$ChecksumEntries + ) + + return [ordered]@{ + schema_version = $DBPHVerifierProofSchemaVersion + status = 'PASS' + source_mode = 'GitIndex' + revision = 'INDEX' + product_candidate_sha = $DBPHProductCandidateSHA + representation_contract = $DBPHRepresentationContract + changed_paths = $ChangedPaths + directly_bound_changed_paths = $DirectlyBoundChangedPaths + manifest_entries = $ManifestEntries + checksum_entries = $ChecksumEntries + inventory_call_sites = [int64]83 + inventory_files = [int64]8 + failures = [object[]]@() + } +} diff --git a/.agent/reports/evidence/production-ready/db-test-pool-hygiene/INVENTORY.json b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/INVENTORY.json new file mode 100644 index 00000000..6c634686 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/INVENTORY.json @@ -0,0 +1,53 @@ +{ + "schema_version": 1, + "parent_sha": "bd68c05baf4b7250096dd84f56bebea2aa555970", + "symbol": "openCandidateTestDB", + "definition": "internal/db/gorm/candidate_store_test.go:23", + "method": "enumerate every internal/db/gorm/*_test.go Git blob at parent_sha; count lines containing openCandidateTestDB( except the func definition", + "required_call_sites": 83, + "required_files": 8, + "actual_call_sites": 83, + "actual_files": 8, + "entries": [ + { + "path": "internal/db/gorm/candidate_store_test.go", + "count": 19, + "lines": [43, 88, 165, 193, 236, 262, 290, 325, 367, 411, 450, 522, 566, 589, 611, 742, 870, 907, 1022] + }, + { + "path": "internal/db/gorm/rule_arbiter_store_test.go", + "count": 8, + "lines": [15, 23, 37, 92, 120, 153, 199, 234] + }, + { + "path": "internal/db/gorm/rule_governance_rg3_store_test.go", + "count": 9, + "lines": [16, 103, 133, 223, 268, 331, 364, 392, 427] + }, + { + "path": "internal/db/gorm/rule_governance_store_test.go", + "count": 21, + "lines": [20, 25, 39, 116, 152, 187, 228, 258, 318, 334, 371, 394, 443, 460, 489, 536, 561, 581, 606, 723, 745] + }, + { + "path": "internal/db/gorm/rule_injection_event_store_test.go", + "count": 5, + "lines": [15, 40, 99, 167, 184] + }, + { + "path": "internal/db/gorm/state_store_test.go", + "count": 14, + "lines": [28, 61, 82, 113, 135, 167, 201, 251, 309, 407, 451, 511, 553, 598] + }, + { + "path": "internal/db/gorm/temporal_truth_store_migration_test.go", + "count": 1, + "lines": [10] + }, + { + "path": "internal/db/gorm/temporal_truth_store_test.go", + "count": 6, + "lines": [18, 91, 152, 236, 296, 377] + } + ] +} diff --git a/.agent/reports/evidence/production-ready/db-test-pool-hygiene/Invoke-DBPoolHygieneGo.ps1 b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/Invoke-DBPoolHygieneGo.ps1 new file mode 100644 index 00000000..9f3d063e --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/Invoke-DBPoolHygieneGo.ps1 @@ -0,0 +1,124 @@ +param( + [Parameter(Mandatory = $true)] + [ValidatePattern('^engram_mkr_dbph_[a-z0-9_]+$')] + [string]$DatabaseName, + + [Parameter(Mandatory = $true)] + [string]$LogPath, + + [Parameter(Mandatory = $true, ValueFromRemainingArguments = $true)] + [string[]]$GoArgs +) + +$ErrorActionPreference = 'Stop' +$container = 'engram-prc-postgres' +$worktree = 'D:\Dev\engram\.agent\worktrees\dbph' +$baseCommit = 'bd68c05baf4b7250096dd84f56bebea2aa555970' +$logDirectory = Split-Path -Parent $LogPath +New-Item -ItemType Directory -Force -Path $logDirectory | Out-Null + +$containerEnv = @{} +$inspectEnv = docker inspect --format '{{range .Config.Env}}{{println .}}{{end}}' $container +if ($LASTEXITCODE -ne 0) { + throw "docker inspect failed for $container" +} +foreach ($line in $inspectEnv) { + $parts = $line -split '=', 2 + if ($parts.Count -eq 2) { + $containerEnv[$parts[0]] = $parts[1] + } +} +$pgUser = $containerEnv['POSTGRES_USER'] +$pgPassword = $containerEnv['POSTGRES_PASSWORD'] +if ([string]::IsNullOrWhiteSpace($pgUser) -or [string]::IsNullOrWhiteSpace($pgPassword)) { + throw 'POSTGRES_USER/POSTGRES_PASSWORD are unavailable from the test container' +} + +$portLine = docker port $container 5432/tcp | Select-Object -First 1 +if ($LASTEXITCODE -ne 0 -or $portLine -notmatch ':(\d+)$') { + throw "could not resolve host PostgreSQL port for $container" +} +$hostPort = $Matches[1] + +function Invoke-TestPsql { + param( + [Parameter(Mandatory = $true)][string]$Database, + [Parameter(Mandatory = $true)][string]$Sql + ) + $output = docker exec -e "PGPASSWORD=$pgPassword" $container psql -v ON_ERROR_STOP=1 -U $pgUser -d $Database -Atc $Sql + if ($LASTEXITCODE -ne 0) { + throw "psql failed against $Database" + } + return $output +} + +function Write-Evidence { + param([Parameter(Mandatory = $true)][AllowEmptyString()][string]$Line) + $Line | Tee-Object -FilePath $LogPath -Append +} + +if (Test-Path -LiteralPath $LogPath) { + Remove-Item -LiteralPath $LogPath -Force +} + +$existing = Invoke-TestPsql -Database postgres -Sql "SELECT count(*) FROM pg_database WHERE datname = '$DatabaseName';" +if ([int]$existing -ne 0) { + throw "test database already exists: $DatabaseName" +} + +$currentHead = git -C $worktree rev-parse HEAD +if ($LASTEXITCODE -ne 0) { + throw 'could not resolve maker worktree HEAD' +} +Write-Evidence "base_sha=$baseCommit" +Write-Evidence "head_sha=$currentHead" +Write-Evidence "database=$DatabaseName" +Write-Evidence "command=go $($GoArgs -join ' ')" +Write-Evidence "max_connections=$(Invoke-TestPsql -Database postgres -Sql 'SHOW max_connections;')" +Write-Evidence "superuser_reserved_connections=$(Invoke-TestPsql -Database postgres -Sql 'SHOW superuser_reserved_connections;')" +Write-Evidence "started_utc=$([DateTime]::UtcNow.ToString('o'))" + +$testExit = 99 +$cleanupFailed = $false +try { + Invoke-TestPsql -Database postgres -Sql "CREATE DATABASE `"$DatabaseName`";" | Out-Null + $escapedUser = [uri]::EscapeDataString($pgUser) + $escapedPassword = [uri]::EscapeDataString($pgPassword) + $env:DATABASE_DSN = "postgres://${escapedUser}:${escapedPassword}@127.0.0.1:${hostPort}/${DatabaseName}?sslmode=disable" + Write-Evidence "activity_before_test=$(Invoke-TestPsql -Database postgres -Sql "SELECT count(*) FROM pg_stat_activity WHERE datname = '$DatabaseName';")" + + Push-Location $worktree + try { + & go @GoArgs 2>&1 | Tee-Object -FilePath $LogPath -Append + $testExit = $LASTEXITCODE + } + finally { + Pop-Location + } + Write-Evidence "test_exit=$testExit" +} +finally { + try { + $activeAfter = Invoke-TestPsql -Database postgres -Sql "SELECT count(*) FROM pg_stat_activity WHERE datname = '$DatabaseName';" + Write-Evidence "activity_after_test_process=$activeAfter" + Invoke-TestPsql -Database postgres -Sql "SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = '$DatabaseName' AND pid <> pg_backend_pid();" | Out-Null + Invoke-TestPsql -Database postgres -Sql "DROP DATABASE IF EXISTS `"$DatabaseName`" WITH (FORCE);" | Out-Null + $databaseResidue = Invoke-TestPsql -Database postgres -Sql "SELECT count(*) FROM pg_database WHERE datname = '$DatabaseName';" + $activityResidue = Invoke-TestPsql -Database postgres -Sql "SELECT count(*) FROM pg_stat_activity WHERE datname = '$DatabaseName';" + Write-Evidence "database_residue=$databaseResidue" + Write-Evidence "activity_residue=$activityResidue" + Write-Evidence "finished_utc=$([DateTime]::UtcNow.ToString('o'))" + if ([int]$databaseResidue -ne 0 -or [int]$activityResidue -ne 0) { + $cleanupFailed = $true + } + } + catch { + $cleanupFailed = $true + Write-Evidence "cleanup_error=$($_.Exception.Message)" + } +} + +if ($cleanupFailed) { + exit 97 +} +exit $testExit diff --git a/.agent/reports/evidence/production-ready/db-test-pool-hygiene/MANIFEST.json b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/MANIFEST.json new file mode 100644 index 00000000..d92c1106 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/MANIFEST.json @@ -0,0 +1,259 @@ +{ + "schema_version": 4, + "status": "READY_FOR_RECHECK_EVIDENCE_R4", + "product_parent_sha": "bd68c05baf4b7250096dd84f56bebea2aa555970", + "product_candidate_sha": "276337b3e96aa5af6d2e7dd9a0002ff957e5ffc9", + "evidence_revision_parent_sha": "331b5b195a967e7f27dca94038a3480c9afcc84f", + "evidence_revision_target": "GitIndex", + "evidence_delta": { + "comparison": "276337b3e96aa5af6d2e7dd9a0002ff957e5ffc9..GitIndex", + "changed_path_count": 21, + "directly_manifest_bound_count": 19, + "product_or_test_paths_changed": [], + "manifest_entry_self_excluded_paths": [ + ".agent/reports/evidence/production-ready/db-test-pool-hygiene/MANIFEST.json", + ".agent/reports/evidence/production-ready/db-test-pool-hygiene/SHA256SUMS.txt" + ], + "checksum_self_excluded_paths": [ + ".agent/reports/evidence/production-ready/db-test-pool-hygiene/SHA256SUMS.txt" + ] + }, + "representation_contract": { + "id": "git-blob-bytes-v1", + "digest": "SHA-256", + "object_type": "blob", + "path_binding": "each path at the verified Git index/revision resolves to git_blob_oid", + "contract_bytes": "git cat-file blob exact stdout bytes", + "working_tree_bytes": "excluded; raw CRLF checkout bytes fail verification", + "text_git_blob_line_endings": "LF", + "manifest_self_reference": "excluded-from-manifest-entries-bound-by-outer-checksum", + "outer_checksum_path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/SHA256SUMS.txt", + "outer_checksum_generation_order": "manifest-first-checksum-second", + "outer_checksum_self_reference": "excluded" + }, + "product_test_blob": { + "path": "internal/db/gorm/candidate_store_test.go", + "git_blob_oid": "7337f1bd8da4fb315de842eea2e3cce5476250a3", + "sha256": "62260c1a2e0705b065295322dd23fcf9b17fd47cb5ebc64134630788e2d23e09", + "byte_identical_to_product_candidate": true + }, + "inventory": { + "parent_sha": "bd68c05baf4b7250096dd84f56bebea2aa555970", + "required_call_sites": 83, + "required_files": 8, + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/INVENTORY.json" + }, + "entry_count": 35, + "entries": [ + { + "path": ".agent/reports/2026-07-10-db-test-pool-hygiene-evidence-revision-maker.md", + "git_blob_oid": "88960a7d51986a1c0de49ac4b8d4e447f0866bac", + "bytes": 5303, + "sha256": "86a843700a146ad46dfcb6e8c7cb9b8433312dcd755383761e2313d3b13c72dc" + }, + { + "path": ".agent/reports/2026-07-10-db-test-pool-hygiene-maker.md", + "git_blob_oid": "d951bf50086e78699edbcc59be2a7126461e9f80", + "bytes": 7008, + "sha256": "51c95f8471312f6fd81e1ba2d58f206d7bb368032079c47b55bd0e7147cd8001" + }, + { + "path": ".agent/reports/2026-07-11-db-test-pool-hygiene-evidence-revision3-maker.md", + "git_blob_oid": "d860880d0466e77c152bda3946352bd0387a3e59", + "bytes": 3008, + "sha256": "7fcc3759c36bc91b7fd0e04dc3d9309df3b8b8c56585ed562e73bb362002ba34" + }, + { + "path": ".agent/reports/2026-07-11-db-test-pool-hygiene-evidence-revision4-maker.md", + "git_blob_oid": "d3da8921af57ddcfdc3fdf1d1081f6128b0e4094", + "bytes": 3900, + "sha256": "583a8d9b46142ea99a8a1cc701807d157b1767c0f265eaa9684cbf02bb5355da" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/01-parent-broad.summary.log", + "git_blob_oid": "95738976368ef9ca6efc765fc93107d7ea1085e8", + "bytes": 3598, + "sha256": "d1aa9c7a603a140be74bccc1170e78bfa2007f8aca0e48473c5b5a749a97c435" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/02-parent-red.log", + "git_blob_oid": "75147bf5cf8eb415b060777125753122910bc063", + "bytes": 6718, + "sha256": "765e7e93a5b9a2384d0417199cdd66dc816f97e178219473d18b7b0a93cd31a7" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/03-green-focused.log", + "git_blob_oid": "af10330dc3ce95ca785f9fc686a7266bc36ea80c", + "bytes": 6358, + "sha256": "9fbe284df01cece683d0dc6938b370dabbea030af3e39047f382e9e3c3cd4d9b" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/04-prove-it.log", + "git_blob_oid": "476eb561d1700cf5e41f82a6e15f266de03e585e", + "bytes": 6716, + "sha256": "b9acc25599272b3942beaaaabd5a042c86128765e3d8b1b9ad142b6b0d1fc20f" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/05-post-prove-green.log", + "git_blob_oid": "fc72ec588c82340927d61aa81b83e1685eddd520", + "bytes": 561, + "sha256": "053f89d836427c51e34214ea20d708f6cca16b5078034f08263a9af2caec0f9c" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/06-repeat20.log", + "git_blob_oid": "e7c7bbaf80c6f85101883f4087a74ccb7fb0997c", + "bytes": 559, + "sha256": "27f91058ef2f24c18445f0757373e27040f0004154ef93ad4017b612c830eca9" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/07-race.log", + "git_blob_oid": "b985980b1e82e4db302090b650ac2c5d30004b99", + "bytes": 561, + "sha256": "3d1b59a1852b5cb6709b3a2997c34f6b0d940dfd0bec18984776363b0a027a5f" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/08-successor-broad.summary.log", + "git_blob_oid": "3de11652d1d4bd86d3229f5f6282a4a001276bff", + "bytes": 1196, + "sha256": "69486af589b72b841163a134b26ae21396156be6b737f9750ffc1c17c1151db2" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/09-candidate-repeat5.log", + "git_blob_oid": "c97977d6093c39ebd4c817f150883bd49cfb7ee1", + "bytes": 546, + "sha256": "432f97671e9a9b0c3a37f25a54cc9ea8b623e4904f69c846c0fffa70c3557e49" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/10-candidate-race.log", + "git_blob_oid": "164fd019b9d72797b621fbe5bbb93d0679fd33af", + "bytes": 549, + "sha256": "57a31b83602ce023094fd05bdbcea11dee6cc4c5cca0b21df25b70010bfd224b" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/11-parent-successor-comparison.txt", + "git_blob_oid": "736ee7c69b7cfd77cc2ca8fe36a879f6ae645eeb", + "bytes": 1489, + "sha256": "1137da3adb9e75c178072ae942fadd1c23c56721388e202c942d56901ea17db1" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/12-static-gates.txt", + "git_blob_oid": "184376c2504810ff20f4a0728ce0044cffc0089a", + "bytes": 249, + "sha256": "94ca19b3d51903449acefc41241e8c397198453f4c6674bed1a2dc61ea49b5f4" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/13-final-residue.log", + "git_blob_oid": "8e13b980d7323c64a2a51b54f218a601f468a7be", + "bytes": 387, + "sha256": "31b07bacde4ad835c55a4aa85e09f01edd2dfeb0887011547b4b17d4f686b40e" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/14-evidence-r2-focused.log", + "git_blob_oid": "5aa37f3b16a497ae035fe1f885790f72cd274f50", + "bytes": 570, + "sha256": "4c544c5ea7e5e0f7d6518f3af222054589bd258e6aa373c833789ec2532f7a2d" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/15-evidence-r2-static.txt", + "git_blob_oid": "bad863bb9df549f69dd5df0910232b45df588611", + "bytes": 473, + "sha256": "6b74e1f64b909f8ffe0042fbc7d2dc6d8310752f2c7398352a395d6d6362b677" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/16-evidence-r4-red.json", + "git_blob_oid": "707ff9ceb7c7d24acf3265f60b2797f619721ed7", + "bytes": 1657, + "sha256": "c2dd430033d42ca2c65f4b67428358abfaf337f53892daeadae660c4752ab1b3" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/17-evidence-r4-gates.json", + "git_blob_oid": "f1e22f5ce5b31477b206343faa7c493ca04b1245", + "bytes": 2656, + "sha256": "8c48dca9178c5c2628bc17616f93d1f2de256ffd87855750e8bc5886939071fd" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/Build-DBPoolHygieneEvidence.ps1", + "git_blob_oid": "10984e03ef984e497291b471388ca86443560a60", + "bytes": 10148, + "sha256": "e8d93a96bb8e98bbb81bfccc6a4172b77edc8a8b8f42ba472032499064cce52f" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.evidence-r2.json", + "git_blob_oid": "73438a1ea8917c62666d779a356e09eaa7768a85", + "bytes": 2711, + "sha256": "c4fdaad603d5c03954cd1026afc9a9c01c0e0963c367390247a795b5382584e1" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.evidence-r3.json", + "git_blob_oid": "15fa98aae65c4e32b423a8785465b32f0921c900", + "bytes": 2438, + "sha256": "69439533993845249230a227189e1a7ffc63d4f0819218da2d0ecceb782c3c6c" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.evidence-r4.json", + "git_blob_oid": "815157312854f438d67bb4b9a9ec55884db489d9", + "bytes": 1357, + "sha256": "5435562e8c914452aacf1b42fbdd46a296931ad61fd7734b3685c0f57622b9cf" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.final.json", + "git_blob_oid": "4d30b24f723bf0a1f9dc1bbee5a6ae561c003d52", + "bytes": 2368, + "sha256": "84cc07d88d06e33c0b4136465bc5930bdd5dcc6d17878d1ae24f2e2d39fa7d4b" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.red.json", + "git_blob_oid": "145b3e367a1509f4a663d57e94eea29081afa533", + "bytes": 842, + "sha256": "98398e3e46628fd0f3f08ca54b1baa1b96f70554ac7316712a4e1906d96e0cb0" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/DBPoolHygieneEvidenceContract.ps1", + "git_blob_oid": "584375adf635076b2ae50410e05512a719763419", + "bytes": 9322, + "sha256": "1ae5fad5582af4f4a4193753dc5c530c3e622fade5dfa4d4d9afd49fa2cf55f7" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/INVENTORY.json", + "git_blob_oid": "6c63468628a1501bc5188ae1067448b9e89a9d73", + "bytes": 1742, + "sha256": "64a1b454068b5480af0aa512d5157222a4760798f4e9689aa9887643939ccb10" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/Invoke-DBPoolHygieneGo.ps1", + "git_blob_oid": "9f3d063e9e60307818f45ef6e4f0939a8a286315", + "bytes": 4848, + "sha256": "fb886ee1749c7b2d45adf9bd43ac2a1434cab24c9ce35bb548f1751bd9e71861" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/Test-DBPoolHygieneEvidenceAdversarial.ps1", + "git_blob_oid": "ce9084627e1dda7d7ffa838b22c271eb869ea5bc", + "bytes": 29273, + "sha256": "7165a1a38565292270f34fd3a2c07b815ae3e3fc504d30fc0eda48a735b24162" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/Verify-DBPoolHygieneEvidence.ps1", + "git_blob_oid": "c436cebb13ccf7cea619ce3cbe835c4d9d70e9f4", + "bytes": 46077, + "sha256": "bc605cf7c2f6066cbc0c5fc890707def0159f519adbc853afaf59d6d2ba7a247" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/adversarial-proof.json", + "git_blob_oid": "c1c09b6dfe84edae9616066af8fbd536d930b869", + "bytes": 29410, + "sha256": "f4113547697cf1c87c7d260d8f04c27d82149e34d78bb941c3da1a4ec663b1c8" + }, + { + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/verifier-proof.json", + "git_blob_oid": "2659915a3f44ff789bc2e6e7747bcf9ec5fd87fb", + "bytes": 404, + "sha256": "839e1bcb76f4eddc118eeeee47c65385513f97a4b615d25654ad129bd935ce2f" + }, + { + "path": "internal/db/gorm/candidate_store_test.go", + "git_blob_oid": "7337f1bd8da4fb315de842eea2e3cce5476250a3", + "bytes": 47016, + "sha256": "62260c1a2e0705b065295322dd23fcf9b17fd47cb5ebc64134630788e2d23e09" + } + ] +} diff --git a/.agent/reports/evidence/production-ready/db-test-pool-hygiene/SHA256SUMS.txt b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/SHA256SUMS.txt new file mode 100644 index 00000000..4bc186df --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/SHA256SUMS.txt @@ -0,0 +1,39 @@ +# representation_contract=git-blob-bytes-v1 +# manifest_generation_order=manifest-first-checksum-second +# checksum_self_reference=excluded +86a843700a146ad46dfcb6e8c7cb9b8433312dcd755383761e2313d3b13c72dc .agent/reports/2026-07-10-db-test-pool-hygiene-evidence-revision-maker.md +51c95f8471312f6fd81e1ba2d58f206d7bb368032079c47b55bd0e7147cd8001 .agent/reports/2026-07-10-db-test-pool-hygiene-maker.md +7fcc3759c36bc91b7fd0e04dc3d9309df3b8b8c56585ed562e73bb362002ba34 .agent/reports/2026-07-11-db-test-pool-hygiene-evidence-revision3-maker.md +583a8d9b46142ea99a8a1cc701807d157b1767c0f265eaa9684cbf02bb5355da .agent/reports/2026-07-11-db-test-pool-hygiene-evidence-revision4-maker.md +d1aa9c7a603a140be74bccc1170e78bfa2007f8aca0e48473c5b5a749a97c435 .agent/reports/evidence/production-ready/db-test-pool-hygiene/01-parent-broad.summary.log +765e7e93a5b9a2384d0417199cdd66dc816f97e178219473d18b7b0a93cd31a7 .agent/reports/evidence/production-ready/db-test-pool-hygiene/02-parent-red.log +9fbe284df01cece683d0dc6938b370dabbea030af3e39047f382e9e3c3cd4d9b .agent/reports/evidence/production-ready/db-test-pool-hygiene/03-green-focused.log +b9acc25599272b3942beaaaabd5a042c86128765e3d8b1b9ad142b6b0d1fc20f .agent/reports/evidence/production-ready/db-test-pool-hygiene/04-prove-it.log +053f89d836427c51e34214ea20d708f6cca16b5078034f08263a9af2caec0f9c .agent/reports/evidence/production-ready/db-test-pool-hygiene/05-post-prove-green.log +27f91058ef2f24c18445f0757373e27040f0004154ef93ad4017b612c830eca9 .agent/reports/evidence/production-ready/db-test-pool-hygiene/06-repeat20.log +3d1b59a1852b5cb6709b3a2997c34f6b0d940dfd0bec18984776363b0a027a5f .agent/reports/evidence/production-ready/db-test-pool-hygiene/07-race.log +69486af589b72b841163a134b26ae21396156be6b737f9750ffc1c17c1151db2 .agent/reports/evidence/production-ready/db-test-pool-hygiene/08-successor-broad.summary.log +432f97671e9a9b0c3a37f25a54cc9ea8b623e4904f69c846c0fffa70c3557e49 .agent/reports/evidence/production-ready/db-test-pool-hygiene/09-candidate-repeat5.log +57a31b83602ce023094fd05bdbcea11dee6cc4c5cca0b21df25b70010bfd224b .agent/reports/evidence/production-ready/db-test-pool-hygiene/10-candidate-race.log +1137da3adb9e75c178072ae942fadd1c23c56721388e202c942d56901ea17db1 .agent/reports/evidence/production-ready/db-test-pool-hygiene/11-parent-successor-comparison.txt +94ca19b3d51903449acefc41241e8c397198453f4c6674bed1a2dc61ea49b5f4 .agent/reports/evidence/production-ready/db-test-pool-hygiene/12-static-gates.txt +31b07bacde4ad835c55a4aa85e09f01edd2dfeb0887011547b4b17d4f686b40e .agent/reports/evidence/production-ready/db-test-pool-hygiene/13-final-residue.log +4c544c5ea7e5e0f7d6518f3af222054589bd258e6aa373c833789ec2532f7a2d .agent/reports/evidence/production-ready/db-test-pool-hygiene/14-evidence-r2-focused.log +6b74e1f64b909f8ffe0042fbc7d2dc6d8310752f2c7398352a395d6d6362b677 .agent/reports/evidence/production-ready/db-test-pool-hygiene/15-evidence-r2-static.txt +c2dd430033d42ca2c65f4b67428358abfaf337f53892daeadae660c4752ab1b3 .agent/reports/evidence/production-ready/db-test-pool-hygiene/16-evidence-r4-red.json +8c48dca9178c5c2628bc17616f93d1f2de256ffd87855750e8bc5886939071fd .agent/reports/evidence/production-ready/db-test-pool-hygiene/17-evidence-r4-gates.json +e8d93a96bb8e98bbb81bfccc6a4172b77edc8a8b8f42ba472032499064cce52f .agent/reports/evidence/production-ready/db-test-pool-hygiene/Build-DBPoolHygieneEvidence.ps1 +c4fdaad603d5c03954cd1026afc9a9c01c0e0963c367390247a795b5382584e1 .agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.evidence-r2.json +69439533993845249230a227189e1a7ffc63d4f0819218da2d0ecceb782c3c6c .agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.evidence-r3.json +5435562e8c914452aacf1b42fbdd46a296931ad61fd7734b3685c0f57622b9cf .agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.evidence-r4.json +84cc07d88d06e33c0b4136465bc5930bdd5dcc6d17878d1ae24f2e2d39fa7d4b .agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.final.json +98398e3e46628fd0f3f08ca54b1baa1b96f70554ac7316712a4e1906d96e0cb0 .agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.red.json +1ae5fad5582af4f4a4193753dc5c530c3e622fade5dfa4d4d9afd49fa2cf55f7 .agent/reports/evidence/production-ready/db-test-pool-hygiene/DBPoolHygieneEvidenceContract.ps1 +64a1b454068b5480af0aa512d5157222a4760798f4e9689aa9887643939ccb10 .agent/reports/evidence/production-ready/db-test-pool-hygiene/INVENTORY.json +fb886ee1749c7b2d45adf9bd43ac2a1434cab24c9ce35bb548f1751bd9e71861 .agent/reports/evidence/production-ready/db-test-pool-hygiene/Invoke-DBPoolHygieneGo.ps1 +b0b63988722207186805712b1f32d80ee81afaacffa57e54144d5bd82c5dcb6c .agent/reports/evidence/production-ready/db-test-pool-hygiene/MANIFEST.json +7165a1a38565292270f34fd3a2c07b815ae3e3fc504d30fc0eda48a735b24162 .agent/reports/evidence/production-ready/db-test-pool-hygiene/Test-DBPoolHygieneEvidenceAdversarial.ps1 +bc605cf7c2f6066cbc0c5fc890707def0159f519adbc853afaf59d6d2ba7a247 .agent/reports/evidence/production-ready/db-test-pool-hygiene/Verify-DBPoolHygieneEvidence.ps1 +f4113547697cf1c87c7d260d8f04c27d82149e34d78bb941c3da1a4ec663b1c8 .agent/reports/evidence/production-ready/db-test-pool-hygiene/adversarial-proof.json +839e1bcb76f4eddc118eeeee47c65385513f97a4b615d25654ad129bd935ce2f .agent/reports/evidence/production-ready/db-test-pool-hygiene/verifier-proof.json +62260c1a2e0705b065295322dd23fcf9b17fd47cb5ebc64134630788e2d23e09 internal/db/gorm/candidate_store_test.go diff --git a/.agent/reports/evidence/production-ready/db-test-pool-hygiene/Test-DBPoolHygieneEvidenceAdversarial.ps1 b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/Test-DBPoolHygieneEvidenceAdversarial.ps1 new file mode 100644 index 00000000..ce908462 --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/Test-DBPoolHygieneEvidenceAdversarial.ps1 @@ -0,0 +1,556 @@ +param( + [Parameter(Mandatory = $true)] + [string]$RepositoryRoot, + + [ValidateSet('GitRevision', 'GitIndex')] + [string]$SourceMode = 'GitIndex', + + [string]$Revision = 'HEAD', + + [string]$OutputPath, + + [string]$VerifierPath = '.agent/reports/evidence/production-ready/db-test-pool-hygiene/Verify-DBPoolHygieneEvidence.ps1', + + [string]$ManifestPath = '.agent/reports/evidence/production-ready/db-test-pool-hygiene/MANIFEST.json', + + [string]$SumsPath = '.agent/reports/evidence/production-ready/db-test-pool-hygiene/SHA256SUMS.txt', + + [string]$InventoryPath = '.agent/reports/evidence/production-ready/db-test-pool-hygiene/INVENTORY.json', + + [string]$AdversarialProofPath = '.agent/reports/evidence/production-ready/db-test-pool-hygiene/adversarial-proof.json', + + [string]$VerifierProofPath = '.agent/reports/evidence/production-ready/db-test-pool-hygiene/verifier-proof.json' +) + +$ErrorActionPreference = 'Stop' +$utf8Strict = [Text.UTF8Encoding]::new($false, $true) +$utf8NoBom = [Text.UTF8Encoding]::new($false) +$ordinal = [StringComparer]::Ordinal +$resolvedRepository = (Resolve-Path -LiteralPath $RepositoryRoot).Path +$resolvedVerifier = (Resolve-Path -LiteralPath (Join-Path $resolvedRepository $VerifierPath)).Path +$contractPath = Join-Path (Split-Path -Parent $resolvedVerifier) 'DBPoolHygieneEvidenceContract.ps1' +if (-not (Test-Path -LiteralPath $contractPath)) { throw "evidence contract not found: $contractPath" } +. $contractPath +if ($SourceMode -ne 'GitIndex') { throw 'R4 adversarial proof must run from SourceMode GitIndex' } + +$tempBase = [IO.Path]::GetFullPath([IO.Path]::GetTempPath()) +$tempPrefix = 'engram-dbph-evidence-r4-' +$tempRoot = Join-Path $tempBase ($tempPrefix + [Guid]::NewGuid().ToString('N')) +if (-not $tempRoot.StartsWith($tempBase, [StringComparison]::OrdinalIgnoreCase) -or + -not [IO.Path]::GetFileName($tempRoot).StartsWith($tempPrefix, [StringComparison]::Ordinal)) { + throw "unsafe temporary root: $tempRoot" +} +[IO.Directory]::CreateDirectory($tempRoot) | Out-Null + +function Invoke-GitRawAt { + param( + [Parameter(Mandatory = $true)][string]$WorkingDirectory, + [Parameter(Mandatory = $true)][string[]]$Arguments, + [byte[]]$InputBytes + ) + + $startInfo = [Diagnostics.ProcessStartInfo]::new() + $startInfo.FileName = 'git' + $startInfo.WorkingDirectory = $WorkingDirectory + $startInfo.UseShellExecute = $false + $startInfo.RedirectStandardOutput = $true + $startInfo.RedirectStandardError = $true + $hasInput = $PSBoundParameters.ContainsKey('InputBytes') + $startInfo.RedirectStandardInput = $hasInput + foreach ($argument in $Arguments) { $startInfo.ArgumentList.Add($argument) } + $process = [Diagnostics.Process]::Start($startInfo) + if ($hasInput) { + $process.StandardInput.BaseStream.Write($InputBytes, 0, $InputBytes.Length) + $process.StandardInput.Close() + } + $stream = [IO.MemoryStream]::new() + $process.StandardOutput.BaseStream.CopyTo($stream) + $standardError = $process.StandardError.ReadToEnd() + $process.WaitForExit() + if ($process.ExitCode -ne 0) { throw "git $($Arguments -join ' ') failed: $standardError" } + return $stream.ToArray() +} + +function Convert-BytesToText { + param([Parameter(Mandatory = $true)][byte[]]$Bytes) + return $utf8Strict.GetString($Bytes) +} + +function Invoke-GitTextAt { + param( + [Parameter(Mandatory = $true)][string]$WorkingDirectory, + [Parameter(Mandatory = $true)][string[]]$Arguments, + [byte[]]$InputBytes + ) + if ($PSBoundParameters.ContainsKey('InputBytes')) { + return (Convert-BytesToText (Invoke-GitRawAt -WorkingDirectory $WorkingDirectory -Arguments $Arguments -InputBytes $InputBytes)).Trim() + } + return (Convert-BytesToText (Invoke-GitRawAt -WorkingDirectory $WorkingDirectory -Arguments $Arguments)).Trim() +} + +function ConvertTo-CanonicalJsonBytes { + param([Parameter(Mandatory = $true)]$Value) + $json = (($Value | ConvertTo-Json -Depth 30) -replace "`r`n", "`n") + "`n" + $bytes = $utf8NoBom.GetBytes($json) + if ($bytes -contains [byte]0x0D) { throw 'canonical JSON serialization produced CR bytes' } + return $bytes +} + +function ConvertFrom-JsonBytes { + param([Parameter(Mandatory = $true)][byte[]]$Bytes) + return (Convert-BytesToText $Bytes) | ConvertFrom-Json +} + +function Get-SHA256 { + param([Parameter(Mandatory = $true)][byte[]]$Bytes) + return [Convert]::ToHexString([Security.Cryptography.SHA256]::HashData($Bytes)).ToLowerInvariant() +} + +function Get-IndexBytes { + param([Parameter(Mandatory = $true)][string]$CaseRepository, [Parameter(Mandatory = $true)][string]$Path) + return Invoke-GitRawAt -WorkingDirectory $CaseRepository -Arguments @('show', ":$Path") +} + +function Set-IndexBytes { + param( + [Parameter(Mandatory = $true)][string]$CaseRepository, + [Parameter(Mandatory = $true)][string]$Path, + [Parameter(Mandatory = $true)][byte[]]$Bytes + ) + $oid = Invoke-GitTextAt -WorkingDirectory $CaseRepository -Arguments @('hash-object', '-w', '--stdin') -InputBytes $Bytes + Invoke-GitRawAt -WorkingDirectory $CaseRepository -Arguments @('update-index', '--add', '--cacheinfo', "100644,$oid,$Path") | Out-Null + return $oid +} + +function Write-SumsFromManifest { + param( + [Parameter(Mandatory = $true)][string]$CaseRepository, + [Parameter(Mandatory = $true)]$Manifest, + [Parameter(Mandatory = $true)][byte[]]$ManifestBytes, + [switch]$PreserveManifestEntryOrder, + [switch]$DuplicateFirstDataLine + ) + + $data = [Collections.Generic.List[string]]::new() + foreach ($entry in @($Manifest.entries)) { $data.Add("$($entry.sha256) $($entry.path)") } + $data.Add("$(Get-SHA256 -Bytes $ManifestBytes) $ManifestPath") + if (-not $PreserveManifestEntryOrder) { + $array = [string[]]@($data) + [Array]::Sort($array, [Comparison[string]]{ + param($left, $right) + $leftPath = $left.Substring(66) + $rightPath = $right.Substring(66) + return $ordinal.Compare($leftPath, $rightPath) + }) + $data = [Collections.Generic.List[string]]::new() + foreach ($line in $array) { $data.Add($line) } + } + if ($DuplicateFirstDataLine) { $data.Add($data[0]) } + $lines = @( + '# representation_contract=git-blob-bytes-v1', + '# manifest_generation_order=manifest-first-checksum-second', + '# checksum_self_reference=excluded' + ) + @($data) + Set-IndexBytes -CaseRepository $CaseRepository -Path $SumsPath -Bytes $utf8NoBom.GetBytes(($lines -join "`n") + "`n") | Out-Null +} + +function Set-ManifestBytesCoherently { + param( + [Parameter(Mandatory = $true)][string]$CaseRepository, + [Parameter(Mandatory = $true)][byte[]]$ManifestBytes + ) + Set-IndexBytes -CaseRepository $CaseRepository -Path $ManifestPath -Bytes $ManifestBytes | Out-Null + $sumsText = Convert-BytesToText (Get-IndexBytes -CaseRepository $CaseRepository -Path $SumsPath) + $manifestHash = Get-SHA256 -Bytes $ManifestBytes + $lines = @($sumsText -split "`n" | Where-Object { $_ -ne '' }) + $replaced = 0 + for ($index = 0; $index -lt $lines.Count; $index++) { + if ($lines[$index].EndsWith(" $ManifestPath", [StringComparison]::Ordinal)) { + $lines[$index] = "$manifestHash $ManifestPath" + $replaced++ + } + } + if ($replaced -ne 1) { throw "expected one manifest checksum line, got $replaced" } + Set-IndexBytes -CaseRepository $CaseRepository -Path $SumsPath -Bytes $utf8NoBom.GetBytes(($lines -join "`n") + "`n") | Out-Null +} + +function Set-ManifestObjectCoherently { + param([Parameter(Mandatory = $true)][string]$CaseRepository, [Parameter(Mandatory = $true)]$Manifest) + Set-ManifestBytesCoherently -CaseRepository $CaseRepository -ManifestBytes (ConvertTo-CanonicalJsonBytes -Value $Manifest) +} + +function Set-ArtifactBytesCoherently { + param( + [Parameter(Mandatory = $true)][string]$CaseRepository, + [Parameter(Mandatory = $true)][string]$Path, + [Parameter(Mandatory = $true)][byte[]]$Bytes + ) + $oid = Set-IndexBytes -CaseRepository $CaseRepository -Path $Path -Bytes $Bytes + $manifest = ConvertFrom-JsonBytes (Get-IndexBytes -CaseRepository $CaseRepository -Path $ManifestPath) + $entry = @($manifest.entries | Where-Object { $_.path -ceq $Path }) + if ($entry.Count -ne 1) { throw "manifest must contain exactly one entry for coherent mutation: $Path" } + $entry[0].git_blob_oid = $oid + $entry[0].bytes = [int64]$Bytes.Length + $entry[0].sha256 = Get-SHA256 -Bytes $Bytes + $manifestBytes = ConvertTo-CanonicalJsonBytes -Value $manifest + Set-IndexBytes -CaseRepository $CaseRepository -Path $ManifestPath -Bytes $manifestBytes | Out-Null + Write-SumsFromManifest -CaseRepository $CaseRepository -Manifest $manifest -ManifestBytes $manifestBytes +} + +function Set-ArtifactObjectCoherently { + param( + [Parameter(Mandatory = $true)][string]$CaseRepository, + [Parameter(Mandatory = $true)][string]$Path, + [Parameter(Mandatory = $true)]$Value + ) + Set-ArtifactBytesCoherently -CaseRepository $CaseRepository -Path $Path -Bytes (ConvertTo-CanonicalJsonBytes -Value $Value) +} + +function Add-UnknownProperty { + param([Parameter(Mandatory = $true)]$Object, [string]$Name = 'unexpected_r4_key') + $Object | Add-Member -MemberType NoteProperty -Name $Name -Value 'must-be-rejected' +} + +function Replace-ExactlyOnce { + param( + [Parameter(Mandatory = $true)][string]$Text, + [Parameter(Mandatory = $true)][string]$Old, + [Parameter(Mandatory = $true)][string]$New + ) + $first = $Text.IndexOf($Old, [StringComparison]::Ordinal) + if ($first -lt 0 -or $Text.IndexOf($Old, $first + $Old.Length, [StringComparison]::Ordinal) -ge 0) { + throw "replacement source must occur exactly once: $Old" + } + return $Text.Substring(0, $first) + $New + $Text.Substring($first + $Old.Length) +} + +function New-CaseRepository { + param([Parameter(Mandatory = $true)][int]$Ordinal, [Parameter(Mandatory = $true)][string]$Name) + $caseRepository = Join-Path $tempRoot ('case-{0:D2}-{1}' -f $Ordinal, $Name) + [IO.Directory]::CreateDirectory($caseRepository) | Out-Null + Invoke-GitRawAt -WorkingDirectory $caseRepository -Arguments @('init', '-q') | Out-Null + $gitDirectory = Invoke-GitTextAt -WorkingDirectory $caseRepository -Arguments @('rev-parse', '--absolute-git-dir') + $infoDirectory = Join-Path $gitDirectory 'objects/info' + [IO.Directory]::CreateDirectory($infoDirectory) | Out-Null + [IO.File]::WriteAllText((Join-Path $infoDirectory 'alternates'), $script:sourceObjectsPath + "`n", $utf8NoBom) + Invoke-GitRawAt -WorkingDirectory $caseRepository -Arguments @('config', 'core.autocrlf', 'false') | Out-Null + Invoke-GitRawAt -WorkingDirectory $caseRepository -Arguments @('update-ref', 'refs/heads/evidence', $DBPHEvidenceParentSHA) | Out-Null + Invoke-GitRawAt -WorkingDirectory $caseRepository -Arguments @('symbolic-ref', 'HEAD', 'refs/heads/evidence') | Out-Null + Invoke-GitRawAt -WorkingDirectory $caseRepository -Arguments @('read-tree', $script:sourceTree) | Out-Null + return $caseRepository +} + +function Invoke-Verifier { + param([Parameter(Mandatory = $true)][string]$CaseRepository, [Parameter(Mandatory = $true)][string]$Name) + $resultPath = Join-Path $CaseRepository 'verifier-result.json' + $startInfo = [Diagnostics.ProcessStartInfo]::new() + $startInfo.FileName = 'pwsh' + $startInfo.WorkingDirectory = $CaseRepository + $startInfo.UseShellExecute = $false + $startInfo.RedirectStandardOutput = $true + $startInfo.RedirectStandardError = $true + foreach ($argument in @( + '-NoProfile', '-File', $resolvedVerifier, + '-RepositoryRoot', $CaseRepository, + '-SourceMode', 'GitIndex', + '-ManifestPath', $ManifestPath, + '-SumsPath', $SumsPath, + '-InventoryPath', $InventoryPath, + '-AdversarialProofPath', $AdversarialProofPath, + '-VerifierProofPath', $VerifierProofPath, + '-OutputPath', $resultPath, + '-Quiet' + )) { $startInfo.ArgumentList.Add($argument) } + $process = [Diagnostics.Process]::Start($startInfo) + $stdout = $process.StandardOutput.ReadToEnd() + $stderr = $process.StandardError.ReadToEnd() + $process.WaitForExit() + $result = if (Test-Path -LiteralPath $resultPath) { + Get-Content -Raw -LiteralPath $resultPath | ConvertFrom-Json + } else { + [pscustomobject]@{ status = 'NO_RESULT'; failures = @("verifier did not write result JSON: $Name", $stdout.Trim(), $stderr.Trim()) } + } + return [pscustomobject]@{ exit_code = $process.ExitCode; result = $result } +} + +function Apply-CaseMutation { + param([Parameter(Mandatory = $true)][string]$CaseRepository, [Parameter(Mandatory = $true)][string]$Name) + if ($Name -eq 'baseline') { return } + + $manifestBytes = Get-IndexBytes -CaseRepository $CaseRepository -Path $ManifestPath + $manifestText = Convert-BytesToText $manifestBytes + $inventoryBytes = Get-IndexBytes -CaseRepository $CaseRepository -Path $InventoryPath + $inventoryText = Convert-BytesToText $inventoryBytes + switch ($Name) { + 'missing_changed_path' { + $missingPath = '.agent/reports/evidence/production-ready/db-test-pool-hygiene/16-evidence-r4-red.json' + $manifest = ConvertFrom-JsonBytes $manifestBytes + $before = @($manifest.entries).Count + $manifest.entries = @($manifest.entries | Where-Object { $_.path -cne $missingPath }) + if (@($manifest.entries).Count -ne $before - 1) { throw "missing-path fixture not manifest-bound: $missingPath" } + $manifest.entry_count = [int64]@($manifest.entries).Count + $newBytes = ConvertTo-CanonicalJsonBytes $manifest + Set-IndexBytes -CaseRepository $CaseRepository -Path $ManifestPath -Bytes $newBytes | Out-Null + Write-SumsFromManifest -CaseRepository $CaseRepository -Manifest $manifest -ManifestBytes $newBytes + } + 'unsorted_manifest_and_sums' { + $manifest = ConvertFrom-JsonBytes $manifestBytes + $entries = [object[]]@($manifest.entries) + [Array]::Reverse($entries) + $manifest.entries = $entries + $newBytes = ConvertTo-CanonicalJsonBytes $manifest + Set-IndexBytes -CaseRepository $CaseRepository -Path $ManifestPath -Bytes $newBytes | Out-Null + Write-SumsFromManifest -CaseRepository $CaseRepository -Manifest $manifest -ManifestBytes $newBytes -PreserveManifestEntryOrder + } + 'duplicate_manifest_and_sums' { + $manifest = ConvertFrom-JsonBytes $manifestBytes + $manifest.entries = @($manifest.entries) + @($manifest.entries[0]) + $manifest.entry_count = [int64]@($manifest.entries).Count + $newBytes = ConvertTo-CanonicalJsonBytes $manifest + Set-IndexBytes -CaseRepository $CaseRepository -Path $ManifestPath -Bytes $newBytes | Out-Null + Write-SumsFromManifest -CaseRepository $CaseRepository -Manifest $manifest -ManifestBytes $newBytes -PreserveManifestEntryOrder + } + 'wrong_type_representation_id_array' { + Set-ManifestBytesCoherently -CaseRepository $CaseRepository -ManifestBytes $utf8NoBom.GetBytes((Replace-ExactlyOnce -Text $manifestText -Old '"id": "git-blob-bytes-v1"' -New '"id": ["git-blob-bytes-v1"]')) + } + 'null_representation_id' { + Set-ManifestBytesCoherently -CaseRepository $CaseRepository -ManifestBytes $utf8NoBom.GetBytes((Replace-ExactlyOnce -Text $manifestText -Old '"id": "git-blob-bytes-v1"' -New '"id": null')) + } + 'wrong_type_exclusions_scalar' { + $manifest = ConvertFrom-JsonBytes $manifestBytes + $manifest.evidence_delta.manifest_entry_self_excluded_paths = $ManifestPath + Set-ManifestObjectCoherently -CaseRepository $CaseRepository -Manifest $manifest + } + 'wrong_type_inventory_numeric_strings' { + $text = Replace-ExactlyOnce -Text $inventoryText -Old '"required_call_sites": 83' -New '"required_call_sites": "83"' + $text = Replace-ExactlyOnce -Text $text -Old '"required_files": 8' -New '"required_files": "8"' + Set-ArtifactBytesCoherently -CaseRepository $CaseRepository -Path $InventoryPath -Bytes $utf8NoBom.GetBytes($text) + } + 'null_inventory_count' { + $text = Replace-ExactlyOnce -Text $inventoryText -Old '"required_call_sites": 83' -New '"required_call_sites": null' + Set-ArtifactBytesCoherently -CaseRepository $CaseRepository -Path $InventoryPath -Bytes $utf8NoBom.GetBytes($text) + } + 'crlf_raw_representation' { + Set-ManifestBytesCoherently -CaseRepository $CaseRepository -ManifestBytes $utf8NoBom.GetBytes($manifestText.Replace("`n", "`r`n")) + } + 'incorrect_representation_contract' { + $manifest = ConvertFrom-JsonBytes $manifestBytes + $manifest.representation_contract.id = 'raw-checkout-bytes-v1' + Set-ManifestObjectCoherently -CaseRepository $CaseRepository -Manifest $manifest + } + 'false_inventory_76_6' { + $inventory = ConvertFrom-JsonBytes $inventoryBytes + $inventory.required_call_sites = 76 + $inventory.required_files = 6 + $inventory.actual_call_sites = 76 + $inventory.actual_files = 6 + $inventory.entries = @($inventory.entries | Where-Object { -not $_.path.Contains('temporal_truth') }) + Set-ArtifactObjectCoherently -CaseRepository $CaseRepository -Path $InventoryPath -Value $inventory + } + 'mixed_eol_representation' { + $firstLF = $manifestText.IndexOf("`n", [StringComparison]::Ordinal) + if ($firstLF -lt 0) { throw 'manifest fixture contains no LF' } + $mixed = $manifestText.Substring(0, $firstLF) + "`r`n" + $manifestText.Substring($firstLF + 1) + Set-ManifestBytesCoherently -CaseRepository $CaseRepository -ManifestBytes $utf8NoBom.GetBytes($mixed) + } + 'unknown_manifest_key' { + $manifest = ConvertFrom-JsonBytes $manifestBytes + Add-UnknownProperty -Object $manifest + Set-ManifestObjectCoherently -CaseRepository $CaseRepository -Manifest $manifest + } + 'unknown_manifest_nested_key' { + $manifest = ConvertFrom-JsonBytes $manifestBytes + Add-UnknownProperty -Object $manifest.representation_contract + Set-ManifestObjectCoherently -CaseRepository $CaseRepository -Manifest $manifest + } + 'unknown_manifest_entry_key' { + $manifest = ConvertFrom-JsonBytes $manifestBytes + Add-UnknownProperty -Object $manifest.entries[0] + Set-ManifestObjectCoherently -CaseRepository $CaseRepository -Manifest $manifest + } + 'unknown_inventory_key' { + $inventory = ConvertFrom-JsonBytes $inventoryBytes + Add-UnknownProperty -Object $inventory + Set-ArtifactObjectCoherently -CaseRepository $CaseRepository -Path $InventoryPath -Value $inventory + } + 'unknown_inventory_entry_key' { + $inventory = ConvertFrom-JsonBytes $inventoryBytes + Add-UnknownProperty -Object $inventory.entries[0] + Set-ArtifactObjectCoherently -CaseRepository $CaseRepository -Path $InventoryPath -Value $inventory + } + 'manifest_schema_99' { + $manifest = ConvertFrom-JsonBytes $manifestBytes + $manifest.schema_version = 99 + Set-ManifestObjectCoherently -CaseRepository $CaseRepository -Manifest $manifest + } + 'inventory_schema_99' { + $inventory = ConvertFrom-JsonBytes $inventoryBytes + $inventory.schema_version = 99 + Set-ArtifactObjectCoherently -CaseRepository $CaseRepository -Path $InventoryPath -Value $inventory + } + 'adversarial_proof_schema_99' { + $proof = ConvertFrom-JsonBytes (Get-IndexBytes -CaseRepository $CaseRepository -Path $AdversarialProofPath) + $proof.schema_version = 99 + Set-ArtifactObjectCoherently -CaseRepository $CaseRepository -Path $AdversarialProofPath -Value $proof + } + 'verifier_proof_schema_99' { + $proof = ConvertFrom-JsonBytes (Get-IndexBytes -CaseRepository $CaseRepository -Path $VerifierProofPath) + $proof.schema_version = 99 + Set-ArtifactObjectCoherently -CaseRepository $CaseRepository -Path $VerifierProofPath -Value $proof + } + 'unknown_adversarial_proof_key' { + $proof = ConvertFrom-JsonBytes (Get-IndexBytes -CaseRepository $CaseRepository -Path $AdversarialProofPath) + Add-UnknownProperty -Object $proof + Set-ArtifactObjectCoherently -CaseRepository $CaseRepository -Path $AdversarialProofPath -Value $proof + } + 'unknown_adversarial_case_key' { + $proof = ConvertFrom-JsonBytes (Get-IndexBytes -CaseRepository $CaseRepository -Path $AdversarialProofPath) + Add-UnknownProperty -Object $proof.cases[0] + Set-ArtifactObjectCoherently -CaseRepository $CaseRepository -Path $AdversarialProofPath -Value $proof + } + 'unknown_verifier_proof_key' { + $proof = ConvertFrom-JsonBytes (Get-IndexBytes -CaseRepository $CaseRepository -Path $VerifierProofPath) + Add-UnknownProperty -Object $proof + Set-ArtifactObjectCoherently -CaseRepository $CaseRepository -Path $VerifierProofPath -Value $proof + } + 'stale_adversarial_proof' { + $proof = ConvertFrom-JsonBytes (Get-IndexBytes -CaseRepository $CaseRepository -Path $AdversarialProofPath) + $proof.cases = @($proof.cases[0..($proof.cases.Count - 2)]) + Set-ArtifactObjectCoherently -CaseRepository $CaseRepository -Path $AdversarialProofPath -Value $proof + } + 'stale_verifier_proof' { + $proof = ConvertFrom-JsonBytes (Get-IndexBytes -CaseRepository $CaseRepository -Path $VerifierProofPath) + $proof.changed_paths = [int64]$proof.changed_paths - 1 + Set-ArtifactObjectCoherently -CaseRepository $CaseRepository -Path $VerifierProofPath -Value $proof + } + 'false_adversarial_case_order' { + $proof = ConvertFrom-JsonBytes (Get-IndexBytes -CaseRepository $CaseRepository -Path $AdversarialProofPath) + $cases = [object[]]@($proof.cases) + $temporary = $cases[0] + $cases[0] = $cases[1] + $cases[1] = $temporary + $proof.cases = $cases + Set-ArtifactObjectCoherently -CaseRepository $CaseRepository -Path $AdversarialProofPath -Value $proof + } + 'false_adversarial_status' { + $proof = ConvertFrom-JsonBytes (Get-IndexBytes -CaseRepository $CaseRepository -Path $AdversarialProofPath) + $proof.status = 'FAIL' + Set-ArtifactObjectCoherently -CaseRepository $CaseRepository -Path $AdversarialProofPath -Value $proof + } + 'false_adversarial_actual_status' { + $proof = ConvertFrom-JsonBytes (Get-IndexBytes -CaseRepository $CaseRepository -Path $AdversarialProofPath) + $proof.cases[1].actual_exit = 0 + Set-ArtifactObjectCoherently -CaseRepository $CaseRepository -Path $AdversarialProofPath -Value $proof + } + 'false_adversarial_required_diagnostic' { + $proof = ConvertFrom-JsonBytes (Get-IndexBytes -CaseRepository $CaseRepository -Path $AdversarialProofPath) + $proof.cases[1].observed_failures = [object[]]@() + Set-ArtifactObjectCoherently -CaseRepository $CaseRepository -Path $AdversarialProofPath -Value $proof + } + 'false_verifier_counts' { + $proof = ConvertFrom-JsonBytes (Get-IndexBytes -CaseRepository $CaseRepository -Path $VerifierProofPath) + $proof.manifest_entries = [int64]$proof.manifest_entries + 1 + Set-ArtifactObjectCoherently -CaseRepository $CaseRepository -Path $VerifierProofPath -Value $proof + } + 'false_verifier_status' { + $proof = ConvertFrom-JsonBytes (Get-IndexBytes -CaseRepository $CaseRepository -Path $VerifierProofPath) + $proof.status = 'FAIL' + Set-ArtifactObjectCoherently -CaseRepository $CaseRepository -Path $VerifierProofPath -Value $proof + } + 'false_verifier_source_revision' { + $proof = ConvertFrom-JsonBytes (Get-IndexBytes -CaseRepository $CaseRepository -Path $VerifierProofPath) + $proof.source_mode = 'GitRevision' + $proof.revision = 'HEAD' + Set-ArtifactObjectCoherently -CaseRepository $CaseRepository -Path $VerifierProofPath -Value $proof + } + 'duplicate_json_property' { + $duplicate = '"schema_version": 4,' + "`n " + '"schema_version": 4,' + $text = Replace-ExactlyOnce -Text $manifestText -Old '"schema_version": 4,' -New $duplicate + Set-ManifestBytesCoherently -CaseRepository $CaseRepository -ManifestBytes $utf8NoBom.GetBytes($text) + } + default { throw "unimplemented adversarial case: $Name" } + } +} + +$cases = [Collections.Generic.List[object]]::new() +$cleanupError = $null +$fatalError = $null +try { + $sourceTree = Invoke-GitTextAt -WorkingDirectory $resolvedRepository -Arguments @('write-tree') + $objectsPathText = Invoke-GitTextAt -WorkingDirectory $resolvedRepository -Arguments @('rev-parse', '--git-path', 'objects') + $sourceObjectsPath = if ([IO.Path]::IsPathRooted($objectsPathText)) { + [IO.Path]::GetFullPath($objectsPathText) + } else { + [IO.Path]::GetFullPath((Join-Path $resolvedRepository $objectsPathText)) + } + if (-not [IO.Directory]::Exists($sourceObjectsPath)) { throw "source Git object directory not found: $sourceObjectsPath" } + + $specs = @(Get-DBPHAdversarialCaseSpecs) + for ($index = 0; $index -lt $specs.Count; $index++) { + $spec = $specs[$index] + $caseRepository = New-CaseRepository -Ordinal ($index + 1) -Name $spec.name + Apply-CaseMutation -CaseRepository $caseRepository -Name $spec.name + $invocation = Invoke-Verifier -CaseRepository $caseRepository -Name $spec.name + $result = $invocation.result + $observedFailures = [object[]]@($result.failures) + $exitMatches = if ($spec.expect_nonzero) { $invocation.exit_code -ne 0 } else { $invocation.exit_code -eq 0 } + $statusMatches = [string]$result.status -ceq $(if ($spec.expect_nonzero) { 'FAIL' } else { 'PASS' }) + $diagnosticMatches = if ($spec.expect_nonzero) { + $matched = $false + foreach ($failure in $observedFailures) { + if (([string]$failure).Contains([string]$spec.expected_failure, [StringComparison]::Ordinal)) { $matched = $true; break } + } + $matched + } else { + $observedFailures.Count -eq 0 + } + $cases.Add([ordered]@{ + name = $spec.name + expected_exit = if ($spec.expect_nonzero) { 'nonzero' } else { 0 } + actual_exit = [int64]$invocation.exit_code + verifier_status = [string]$result.status + expected_failure = [string]$spec.expected_failure + observed_failures = $observedFailures + pass = $exitMatches -and $statusMatches -and $diagnosticMatches + }) + } +} +catch { + $fatalError = $_.Exception.Message +} +finally { + try { + $resolvedTempRoot = [IO.Path]::GetFullPath($tempRoot) + if (-not $resolvedTempRoot.StartsWith($tempBase, [StringComparison]::OrdinalIgnoreCase) -or + -not [IO.Path]::GetFileName($resolvedTempRoot).StartsWith($tempPrefix, [StringComparison]::Ordinal)) { + throw "refusing unsafe cleanup: $resolvedTempRoot" + } + if ([IO.Directory]::Exists($resolvedTempRoot)) { + Get-ChildItem -LiteralPath $resolvedTempRoot -Recurse -Force | ForEach-Object { $_.Attributes = [IO.FileAttributes]::Normal } + [IO.Directory]::Delete($resolvedTempRoot, $true) + } + } + catch { $cleanupError = $_.Exception.Message } +} + +$tempResidue = [IO.Directory]::Exists($tempRoot) +$allPass = $null -eq $fatalError -and $null -eq $cleanupError -and -not $tempResidue -and + $cases.Count -eq @(Get-DBPHAdversarialCaseSpecs).Count -and @($cases | Where-Object { -not $_.pass }).Count -eq 0 +$proof = [ordered]@{ + schema_version = $DBPHAdversarialProofSchemaVersion + status = if ($allPass) { 'PASS' } else { 'FAIL' } + source_mode = 'GitIndex' + revision = 'INDEX' + cases = [object[]]@($cases) + temp_root_removed = -not $tempResidue + cleanup = if ($null -eq $cleanupError -and $null -eq $fatalError) { 'PASS' } elseif ($null -ne $fatalError) { "FAIL: $fatalError" } else { "FAIL: $cleanupError" } +} +$proofJson = (($proof | ConvertTo-Json -Depth 30) -replace "`r`n", "`n") +if (-not [string]::IsNullOrWhiteSpace($OutputPath)) { + $resolvedOutput = [IO.Path]::GetFullPath($OutputPath) + [IO.Directory]::CreateDirectory([IO.Path]::GetDirectoryName($resolvedOutput)) | Out-Null + [IO.File]::WriteAllText($resolvedOutput, $proofJson + "`n", $utf8NoBom) +} +$proofJson +if (-not $allPass) { exit 1 } +exit 0 diff --git a/.agent/reports/evidence/production-ready/db-test-pool-hygiene/Verify-DBPoolHygieneEvidence.ps1 b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/Verify-DBPoolHygieneEvidence.ps1 new file mode 100644 index 00000000..c436cebb --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/Verify-DBPoolHygieneEvidence.ps1 @@ -0,0 +1,842 @@ +param( + [Parameter(Mandatory = $true)] + [string]$RepositoryRoot, + + [ValidateSet('GitRevision', 'GitIndex')] + [string]$SourceMode = 'GitRevision', + + [string]$Revision = 'HEAD', + + [string]$ProductCandidateSHA = '276337b3e96aa5af6d2e7dd9a0002ff957e5ffc9', + + [string]$ManifestPath = '.agent/reports/evidence/production-ready/db-test-pool-hygiene/MANIFEST.json', + + [string]$SumsPath = '.agent/reports/evidence/production-ready/db-test-pool-hygiene/SHA256SUMS.txt', + + [string]$InventoryPath = '.agent/reports/evidence/production-ready/db-test-pool-hygiene/INVENTORY.json', + + [string]$AdversarialProofPath = '.agent/reports/evidence/production-ready/db-test-pool-hygiene/adversarial-proof.json', + + [string]$VerifierProofPath = '.agent/reports/evidence/production-ready/db-test-pool-hygiene/verifier-proof.json', + + [string]$ManifestOverridePath, + + [string]$SumsOverridePath, + + [string]$InventoryOverridePath, + + [string]$OutputPath, + + [switch]$Quiet +) + +$ErrorActionPreference = 'Stop' +$utf8Strict = [Text.UTF8Encoding]::new($false, $true) +$utf8NoBom = [Text.UTF8Encoding]::new($false) +$ordinal = [StringComparer]::Ordinal +$failures = [Collections.Generic.List[string]]::new() +$contractPath = Join-Path $PSScriptRoot 'DBPoolHygieneEvidenceContract.ps1' +if (-not (Test-Path -LiteralPath $contractPath)) { + throw "evidence contract not found: $contractPath" +} +. $contractPath +if ($ProductCandidateSHA -cne $DBPHProductCandidateSHA) { + throw "unsupported product candidate: $ProductCandidateSHA" +} +$expectedProductParentSHA = $DBPHProductParentSHA +$expectedProductBlobPath = $DBPHProductBlobPath +$expectedProductBlobOID = $DBPHProductBlobOID +$expectedProductBlobSHA256 = $DBPHProductBlobSHA256 +$expectedManifestExclusions = @($ManifestPath, $SumsPath) +$expectedChecksumExclusions = @($SumsPath) +$requiredDynamicProofPaths = @( + $AdversarialProofPath, + $VerifierProofPath +) +$resolvedRepository = (Resolve-Path -LiteralPath $RepositoryRoot).Path + +function Add-Failure { + param([Parameter(Mandatory = $true)][string]$Message) + $failures.Add($Message) +} + +function Invoke-GitRaw { + param([Parameter(Mandatory = $true)][string[]]$Arguments) + + $startInfo = [Diagnostics.ProcessStartInfo]::new() + $startInfo.FileName = 'git' + $startInfo.WorkingDirectory = $resolvedRepository + $startInfo.UseShellExecute = $false + $startInfo.RedirectStandardOutput = $true + $startInfo.RedirectStandardError = $true + foreach ($argument in $Arguments) { + $startInfo.ArgumentList.Add($argument) + } + + $process = [Diagnostics.Process]::Start($startInfo) + $stream = [IO.MemoryStream]::new() + $process.StandardOutput.BaseStream.CopyTo($stream) + $standardError = $process.StandardError.ReadToEnd() + $process.WaitForExit() + if ($process.ExitCode -ne 0) { + throw "git $($Arguments -join ' ') failed: $standardError" + } + return $stream.ToArray() +} + +function Convert-BytesToText { + param([Parameter(Mandatory = $true)][byte[]]$Bytes) + return $utf8Strict.GetString($Bytes) +} + +function Convert-NulList { + param([Parameter(Mandatory = $true)][byte[]]$Bytes) + return @((Convert-BytesToText -Bytes $Bytes) -split [char]0 | Where-Object { $_ -ne '' }) +} + +function Sort-Ordinal { + param([Parameter(Mandatory = $true)][string[]]$Values) + $copy = [string[]]@($Values) + [Array]::Sort($copy, $ordinal) + return $copy +} + +function Test-ContainsCarriageReturn { + param([Parameter(Mandatory = $true)][byte[]]$Bytes) + return ($Bytes -contains [byte]0x0D) +} + +function Get-SourceBytes { + param([Parameter(Mandatory = $true)][string]$Path) + + if ($Path -eq $ManifestPath -and -not [string]::IsNullOrWhiteSpace($ManifestOverridePath)) { + return [IO.File]::ReadAllBytes((Resolve-Path -LiteralPath $ManifestOverridePath)) + } + if ($Path -eq $SumsPath -and -not [string]::IsNullOrWhiteSpace($SumsOverridePath)) { + return [IO.File]::ReadAllBytes((Resolve-Path -LiteralPath $SumsOverridePath)) + } + if ($Path -eq $InventoryPath -and -not [string]::IsNullOrWhiteSpace($InventoryOverridePath)) { + return [IO.File]::ReadAllBytes((Resolve-Path -LiteralPath $InventoryOverridePath)) + } + + if ($SourceMode -eq 'GitIndex') { + return Invoke-GitRaw -Arguments @('show', ":$Path") + } + return Invoke-GitRaw -Arguments @('show', "${Revision}:$Path") +} + +function Get-SourceBlobOID { + param([Parameter(Mandatory = $true)][string]$Path) + $spec = if ($SourceMode -eq 'GitIndex') { ":$Path" } else { "${Revision}:$Path" } + return (Convert-BytesToText (Invoke-GitRaw -Arguments @('rev-parse', $spec))).Trim() +} + +function Get-ObjectEvidence { + param([Parameter(Mandatory = $true)][string]$OID) + + $type = (Convert-BytesToText (Invoke-GitRaw -Arguments @('cat-file', '-t', $OID))).Trim() + if ($type -ne 'blob') { + throw "object $OID is $type, expected blob" + } + $bytes = Invoke-GitRaw -Arguments @('cat-file', 'blob', $OID) + return [pscustomobject]@{ + bytes = $bytes + length = $bytes.Length + sha256 = [Convert]::ToHexString([Security.Cryptography.SHA256]::HashData($bytes)).ToLowerInvariant() + } +} + +function Get-ChangedPaths { + $arguments = if ($SourceMode -eq 'GitIndex') { + @('diff', '--cached', '--name-only', '-z', $ProductCandidateSHA, '--') + } else { + @('diff', '--name-only', '-z', $ProductCandidateSHA, $Revision, '--') + } + return Sort-Ordinal -Values (Convert-NulList (Invoke-GitRaw -Arguments $arguments)) +} + +function Convert-JsonBytes { + param( + [Parameter(Mandatory = $true)][byte[]]$Bytes, + [Parameter(Mandatory = $true)][string]$Label + ) + try { + return (Convert-BytesToText $Bytes) | ConvertFrom-Json + } + catch { + throw "$Label is not strict UTF-8 JSON: $($_.Exception.Message)" + } +} + +function Open-JsonDocument { + param( + [Parameter(Mandatory = $true)][byte[]]$Bytes, + [Parameter(Mandatory = $true)][string]$Label + ) + try { + return [Text.Json.JsonDocument]::Parse((Convert-BytesToText $Bytes)) + } + catch { + throw "$Label is not strict UTF-8 JSON: $($_.Exception.Message)" + } +} + +function Get-RequiredJsonProperty { + param( + [Parameter(Mandatory = $true)][Text.Json.JsonElement]$Object, + [Parameter(Mandatory = $true)][string]$Name, + [Parameter(Mandatory = $true)][string]$Label + ) + + if ($Object.ValueKind -ne [Text.Json.JsonValueKind]::Object) { + Add-Failure "$Label must be a JSON object" + return $null + } + foreach ($property in $Object.EnumerateObject()) { + if ($property.Name -ceq $Name) { + return $property.Value + } + } + Add-Failure "$Label.$Name is required" + return $null +} + +function Test-JsonKind { + param( + $Element, + [Parameter(Mandatory = $true)][Text.Json.JsonValueKind]$Expected, + [Parameter(Mandatory = $true)][string]$Label + ) + + if ($null -eq $Element) { + return $false + } + if ($Element.ValueKind -ne $Expected) { + Add-Failure "$Label must be JSON $($Expected.ToString().ToLowerInvariant()), got $($Element.ValueKind.ToString().ToLowerInvariant())" + return $false + } + return $true +} + +function Test-JsonInteger { + param($Element, [Parameter(Mandatory = $true)][string]$Label) + + if (-not (Test-JsonKind -Element $Element -Expected ([Text.Json.JsonValueKind]::Number) -Label $Label)) { + return $false + } + if ($Element.GetRawText() -notmatch '^(0|[1-9][0-9]*)$') { + Add-Failure "$Label must be a non-negative JSON integer" + return $false + } + return $true +} + +function Test-NoDuplicateJsonProperties { + param([Parameter(Mandatory = $true)][Text.Json.JsonElement]$Element, [Parameter(Mandatory = $true)][string]$Label) + + if ($Element.ValueKind -eq [Text.Json.JsonValueKind]::Object) { + $names = [Collections.Generic.HashSet[string]]::new($ordinal) + foreach ($property in $Element.EnumerateObject()) { + if (-not $names.Add($property.Name)) { + Add-Failure "duplicate JSON property: $Label.$($property.Name)" + } + Test-NoDuplicateJsonProperties -Element $property.Value -Label "$Label.$($property.Name)" + } + } elseif ($Element.ValueKind -eq [Text.Json.JsonValueKind]::Array) { + $index = 0 + foreach ($item in $Element.EnumerateArray()) { + Test-NoDuplicateJsonProperties -Element $item -Label "$Label[$index]" + $index++ + } + } +} + +function Test-ExactJsonProperties { + param( + [Parameter(Mandatory = $true)][Text.Json.JsonElement]$Element, + [Parameter(Mandatory = $true)][string]$Schema, + [Parameter(Mandatory = $true)][string]$Label + ) + + if ($Element.ValueKind -ne [Text.Json.JsonValueKind]::Object) { return } + $expected = [Collections.Generic.HashSet[string]]::new($ordinal) + foreach ($name in (Get-DBPHExactJsonProperties -Schema $Schema)) { $expected.Add($name) | Out-Null } + foreach ($property in $Element.EnumerateObject()) { + if (-not $expected.Contains($property.Name)) { + Add-Failure "$Label has unknown JSON property: $($property.Name)" + } + } +} + +function Test-JsonBoolean { + param($Element, [Parameter(Mandatory = $true)][string]$Label) + if ($null -eq $Element) { return $false } + if ($Element.ValueKind -ne [Text.Json.JsonValueKind]::True -and + $Element.ValueKind -ne [Text.Json.JsonValueKind]::False) { + Add-Failure "$Label must be JSON boolean, got $($Element.ValueKind.ToString().ToLowerInvariant())" + return $false + } + return $true +} + +function Test-ManifestRawSchema { + param([Parameter(Mandatory = $true)][Text.Json.JsonDocument]$Document) + + $root = $Document.RootElement + if (-not (Test-JsonKind -Element $root -Expected ([Text.Json.JsonValueKind]::Object) -Label 'manifest')) { return } + Test-NoDuplicateJsonProperties -Element $root -Label 'manifest' + Test-ExactJsonProperties -Element $root -Schema 'manifest' -Label 'manifest' + + foreach ($name in @('schema_version', 'entry_count')) { + Test-JsonInteger -Element (Get-RequiredJsonProperty -Object $root -Name $name -Label 'manifest') -Label "manifest.$name" | Out-Null + } + foreach ($name in @('status', 'product_parent_sha', 'product_candidate_sha', 'evidence_revision_parent_sha', 'evidence_revision_target')) { + Test-JsonKind -Element (Get-RequiredJsonProperty -Object $root -Name $name -Label 'manifest') -Expected ([Text.Json.JsonValueKind]::String) -Label "manifest.$name" | Out-Null + } + + $delta = Get-RequiredJsonProperty -Object $root -Name 'evidence_delta' -Label 'manifest' + if (Test-JsonKind -Element $delta -Expected ([Text.Json.JsonValueKind]::Object) -Label 'manifest.evidence_delta') { + Test-ExactJsonProperties -Element $delta -Schema 'manifest.evidence_delta' -Label 'manifest.evidence_delta' + Test-JsonKind -Element (Get-RequiredJsonProperty -Object $delta -Name 'comparison' -Label 'manifest.evidence_delta') -Expected ([Text.Json.JsonValueKind]::String) -Label 'manifest.evidence_delta.comparison' | Out-Null + foreach ($name in @('changed_path_count', 'directly_manifest_bound_count')) { + Test-JsonInteger -Element (Get-RequiredJsonProperty -Object $delta -Name $name -Label 'manifest.evidence_delta') -Label "manifest.evidence_delta.$name" | Out-Null + } + foreach ($name in @('product_or_test_paths_changed', 'manifest_entry_self_excluded_paths', 'checksum_self_excluded_paths')) { + $array = Get-RequiredJsonProperty -Object $delta -Name $name -Label 'manifest.evidence_delta' + if (Test-JsonKind -Element $array -Expected ([Text.Json.JsonValueKind]::Array) -Label "manifest.evidence_delta.$name") { + $index = 0 + foreach ($item in $array.EnumerateArray()) { + Test-JsonKind -Element $item -Expected ([Text.Json.JsonValueKind]::String) -Label "manifest.evidence_delta.$name[$index]" | Out-Null + $index++ + } + } + } + } + + $representation = Get-RequiredJsonProperty -Object $root -Name 'representation_contract' -Label 'manifest' + if (Test-JsonKind -Element $representation -Expected ([Text.Json.JsonValueKind]::Object) -Label 'manifest.representation_contract') { + Test-ExactJsonProperties -Element $representation -Schema 'manifest.representation_contract' -Label 'manifest.representation_contract' + foreach ($name in @('id', 'digest', 'object_type', 'path_binding', 'contract_bytes', 'working_tree_bytes', 'text_git_blob_line_endings', 'manifest_self_reference', 'outer_checksum_path', 'outer_checksum_generation_order', 'outer_checksum_self_reference')) { + Test-JsonKind -Element (Get-RequiredJsonProperty -Object $representation -Name $name -Label 'manifest.representation_contract') -Expected ([Text.Json.JsonValueKind]::String) -Label "manifest.representation_contract.$name" | Out-Null + } + } + + $productBlob = Get-RequiredJsonProperty -Object $root -Name 'product_test_blob' -Label 'manifest' + if (Test-JsonKind -Element $productBlob -Expected ([Text.Json.JsonValueKind]::Object) -Label 'manifest.product_test_blob') { + Test-ExactJsonProperties -Element $productBlob -Schema 'manifest.product_test_blob' -Label 'manifest.product_test_blob' + foreach ($name in @('path', 'git_blob_oid', 'sha256')) { + Test-JsonKind -Element (Get-RequiredJsonProperty -Object $productBlob -Name $name -Label 'manifest.product_test_blob') -Expected ([Text.Json.JsonValueKind]::String) -Label "manifest.product_test_blob.$name" | Out-Null + } + Test-JsonKind -Element (Get-RequiredJsonProperty -Object $productBlob -Name 'byte_identical_to_product_candidate' -Label 'manifest.product_test_blob') -Expected ([Text.Json.JsonValueKind]::True) -Label 'manifest.product_test_blob.byte_identical_to_product_candidate' | Out-Null + } + + $inventory = Get-RequiredJsonProperty -Object $root -Name 'inventory' -Label 'manifest' + if (Test-JsonKind -Element $inventory -Expected ([Text.Json.JsonValueKind]::Object) -Label 'manifest.inventory') { + Test-ExactJsonProperties -Element $inventory -Schema 'manifest.inventory' -Label 'manifest.inventory' + foreach ($name in @('parent_sha', 'path')) { + Test-JsonKind -Element (Get-RequiredJsonProperty -Object $inventory -Name $name -Label 'manifest.inventory') -Expected ([Text.Json.JsonValueKind]::String) -Label "manifest.inventory.$name" | Out-Null + } + foreach ($name in @('required_call_sites', 'required_files')) { + Test-JsonInteger -Element (Get-RequiredJsonProperty -Object $inventory -Name $name -Label 'manifest.inventory') -Label "manifest.inventory.$name" | Out-Null + } + } + + $entries = Get-RequiredJsonProperty -Object $root -Name 'entries' -Label 'manifest' + if (Test-JsonKind -Element $entries -Expected ([Text.Json.JsonValueKind]::Array) -Label 'manifest.entries') { + $index = 0 + foreach ($entry in $entries.EnumerateArray()) { + if (Test-JsonKind -Element $entry -Expected ([Text.Json.JsonValueKind]::Object) -Label "manifest.entries[$index]") { + Test-ExactJsonProperties -Element $entry -Schema 'manifest.entry' -Label "manifest.entries[$index]" + foreach ($name in @('path', 'git_blob_oid', 'sha256')) { + Test-JsonKind -Element (Get-RequiredJsonProperty -Object $entry -Name $name -Label "manifest.entries[$index]") -Expected ([Text.Json.JsonValueKind]::String) -Label "manifest.entries[$index].$name" | Out-Null + } + Test-JsonInteger -Element (Get-RequiredJsonProperty -Object $entry -Name 'bytes' -Label "manifest.entries[$index]") -Label "manifest.entries[$index].bytes" | Out-Null + } + $index++ + } + } +} + +function Test-InventoryRawSchema { + param([Parameter(Mandatory = $true)][Text.Json.JsonDocument]$Document) + + $root = $Document.RootElement + if (-not (Test-JsonKind -Element $root -Expected ([Text.Json.JsonValueKind]::Object) -Label 'inventory')) { return } + Test-NoDuplicateJsonProperties -Element $root -Label 'inventory' + Test-ExactJsonProperties -Element $root -Schema 'inventory' -Label 'inventory' + foreach ($name in @('schema_version', 'required_call_sites', 'required_files', 'actual_call_sites', 'actual_files')) { + Test-JsonInteger -Element (Get-RequiredJsonProperty -Object $root -Name $name -Label 'inventory') -Label "inventory.$name" | Out-Null + } + foreach ($name in @('parent_sha', 'symbol', 'definition', 'method')) { + Test-JsonKind -Element (Get-RequiredJsonProperty -Object $root -Name $name -Label 'inventory') -Expected ([Text.Json.JsonValueKind]::String) -Label "inventory.$name" | Out-Null + } + $entries = Get-RequiredJsonProperty -Object $root -Name 'entries' -Label 'inventory' + if (Test-JsonKind -Element $entries -Expected ([Text.Json.JsonValueKind]::Array) -Label 'inventory.entries') { + $index = 0 + foreach ($entry in $entries.EnumerateArray()) { + if (Test-JsonKind -Element $entry -Expected ([Text.Json.JsonValueKind]::Object) -Label "inventory.entries[$index]") { + Test-ExactJsonProperties -Element $entry -Schema 'inventory.entry' -Label "inventory.entries[$index]" + Test-JsonKind -Element (Get-RequiredJsonProperty -Object $entry -Name 'path' -Label "inventory.entries[$index]") -Expected ([Text.Json.JsonValueKind]::String) -Label "inventory.entries[$index].path" | Out-Null + Test-JsonInteger -Element (Get-RequiredJsonProperty -Object $entry -Name 'count' -Label "inventory.entries[$index]") -Label "inventory.entries[$index].count" | Out-Null + $lines = Get-RequiredJsonProperty -Object $entry -Name 'lines' -Label "inventory.entries[$index]" + if (Test-JsonKind -Element $lines -Expected ([Text.Json.JsonValueKind]::Array) -Label "inventory.entries[$index].lines") { + $lineIndex = 0 + foreach ($line in $lines.EnumerateArray()) { + Test-JsonInteger -Element $line -Label "inventory.entries[$index].lines[$lineIndex]" | Out-Null + $lineIndex++ + } + } + } + $index++ + } + } +} + +function Test-VerifierProofRawSchema { + param([Parameter(Mandatory = $true)][Text.Json.JsonDocument]$Document) + + $root = $Document.RootElement + if (-not (Test-JsonKind -Element $root -Expected ([Text.Json.JsonValueKind]::Object) -Label 'verifier proof')) { return } + Test-NoDuplicateJsonProperties -Element $root -Label 'verifier proof' + Test-ExactJsonProperties -Element $root -Schema 'verifier-proof' -Label 'verifier proof' + foreach ($name in @( + 'schema_version', 'changed_paths', 'directly_bound_changed_paths', + 'manifest_entries', 'checksum_entries', 'inventory_call_sites', 'inventory_files' + )) { + Test-JsonInteger -Element (Get-RequiredJsonProperty -Object $root -Name $name -Label 'verifier proof') -Label "verifier proof.$name" | Out-Null + } + foreach ($name in @('status', 'source_mode', 'revision', 'product_candidate_sha', 'representation_contract')) { + Test-JsonKind -Element (Get-RequiredJsonProperty -Object $root -Name $name -Label 'verifier proof') -Expected ([Text.Json.JsonValueKind]::String) -Label "verifier proof.$name" | Out-Null + } + $proofFailures = Get-RequiredJsonProperty -Object $root -Name 'failures' -Label 'verifier proof' + if (Test-JsonKind -Element $proofFailures -Expected ([Text.Json.JsonValueKind]::Array) -Label 'verifier proof.failures') { + $index = 0 + foreach ($item in $proofFailures.EnumerateArray()) { + Test-JsonKind -Element $item -Expected ([Text.Json.JsonValueKind]::String) -Label "verifier proof.failures[$index]" | Out-Null + $index++ + } + } +} + +function Test-AdversarialProofRawSchema { + param([Parameter(Mandatory = $true)][Text.Json.JsonDocument]$Document) + + $root = $Document.RootElement + if (-not (Test-JsonKind -Element $root -Expected ([Text.Json.JsonValueKind]::Object) -Label 'adversarial proof')) { return } + Test-NoDuplicateJsonProperties -Element $root -Label 'adversarial proof' + Test-ExactJsonProperties -Element $root -Schema 'adversarial-proof' -Label 'adversarial proof' + Test-JsonInteger -Element (Get-RequiredJsonProperty -Object $root -Name 'schema_version' -Label 'adversarial proof') -Label 'adversarial proof.schema_version' | Out-Null + foreach ($name in @('status', 'source_mode', 'revision', 'cleanup')) { + Test-JsonKind -Element (Get-RequiredJsonProperty -Object $root -Name $name -Label 'adversarial proof') -Expected ([Text.Json.JsonValueKind]::String) -Label "adversarial proof.$name" | Out-Null + } + Test-JsonBoolean -Element (Get-RequiredJsonProperty -Object $root -Name 'temp_root_removed' -Label 'adversarial proof') -Label 'adversarial proof.temp_root_removed' | Out-Null + $proofCases = Get-RequiredJsonProperty -Object $root -Name 'cases' -Label 'adversarial proof' + if (Test-JsonKind -Element $proofCases -Expected ([Text.Json.JsonValueKind]::Array) -Label 'adversarial proof.cases') { + $index = 0 + foreach ($proofCase in $proofCases.EnumerateArray()) { + $label = "adversarial proof.cases[$index]" + if (Test-JsonKind -Element $proofCase -Expected ([Text.Json.JsonValueKind]::Object) -Label $label) { + Test-ExactJsonProperties -Element $proofCase -Schema 'adversarial-proof.case' -Label $label + foreach ($name in @('name', 'verifier_status', 'expected_failure')) { + Test-JsonKind -Element (Get-RequiredJsonProperty -Object $proofCase -Name $name -Label $label) -Expected ([Text.Json.JsonValueKind]::String) -Label "$label.$name" | Out-Null + } + Test-JsonInteger -Element (Get-RequiredJsonProperty -Object $proofCase -Name 'actual_exit' -Label $label) -Label "$label.actual_exit" | Out-Null + $expectedExit = Get-RequiredJsonProperty -Object $proofCase -Name 'expected_exit' -Label $label + if ($null -ne $expectedExit -and + $expectedExit.ValueKind -ne [Text.Json.JsonValueKind]::Number -and + $expectedExit.ValueKind -ne [Text.Json.JsonValueKind]::String) { + Add-Failure "$label.expected_exit must be JSON number or string" + } + $observedFailures = Get-RequiredJsonProperty -Object $proofCase -Name 'observed_failures' -Label $label + if (Test-JsonKind -Element $observedFailures -Expected ([Text.Json.JsonValueKind]::Array) -Label "$label.observed_failures") { + $failureIndex = 0 + foreach ($failure in $observedFailures.EnumerateArray()) { + Test-JsonKind -Element $failure -Expected ([Text.Json.JsonValueKind]::String) -Label "$label.observed_failures[$failureIndex]" | Out-Null + $failureIndex++ + } + } + Test-JsonBoolean -Element (Get-RequiredJsonProperty -Object $proofCase -Name 'pass' -Label $label) -Label "$label.pass" | Out-Null + } + $index++ + } + } +} + +function Test-ExactStringArray { + param( + [Parameter(Mandatory = $true)][object[]]$Actual, + [Parameter(Mandatory = $true)][string[]]$Expected, + [Parameter(Mandatory = $true)][string]$Label + ) + + if ($Actual.Count -ne $Expected.Count) { + Add-Failure "$Label must contain exactly $($Expected.Count) item(s)" + return + } + for ($index = 0; $index -lt $Expected.Count; $index++) { + if ([string]$Actual[$index] -cne $Expected[$index]) { + Add-Failure "$Label mismatch at index $index" + } + } +} + +function Test-StrictOrdinalOrder { + param([Parameter(Mandatory = $true)][string[]]$Paths, [Parameter(Mandatory = $true)][string]$Label) + + for ($index = 1; $index -lt $Paths.Count; $index++) { + $comparison = $ordinal.Compare($Paths[$index - 1], $Paths[$index]) + if ($comparison -eq 0) { + Add-Failure "duplicate $Label path: $($Paths[$index])" + } elseif ($comparison -gt 0) { + Add-Failure "$Label paths are not canonical ordinal order: $($Paths[$index - 1]) before $($Paths[$index])" + } + } +} + +function Test-CanonicalDynamicProofs { + param( + [Parameter(Mandatory = $true)][int64]$ChangedPaths, + [Parameter(Mandatory = $true)][int64]$DirectlyBoundChangedPaths, + [Parameter(Mandatory = $true)][int64]$ManifestEntries, + [Parameter(Mandatory = $true)][int64]$ChecksumEntries, + [Parameter(Mandatory = $true)][int64]$InventoryCallSites, + [Parameter(Mandatory = $true)][int64]$InventoryFiles + ) + + $verifierBytes = Get-SourceBytes -Path $VerifierProofPath + if (Test-ContainsCarriageReturn -Bytes $verifierBytes) { Add-Failure 'verifier proof bytes contain CR; LF Git blob bytes are required' } + $verifierDocument = Open-JsonDocument -Bytes $verifierBytes -Label $VerifierProofPath + try { Test-VerifierProofRawSchema -Document $verifierDocument } finally { $verifierDocument.Dispose() } + $verifierProof = Convert-JsonBytes -Bytes $verifierBytes -Label $VerifierProofPath + if ([int64]$verifierProof.schema_version -ne $DBPHVerifierProofSchemaVersion) { Add-Failure "verifier proof schema_version must be $DBPHVerifierProofSchemaVersion" } + if ([string]$verifierProof.status -cne 'PASS') { Add-Failure 'verifier proof status must be PASS' } + if ([string]$verifierProof.source_mode -cne 'GitIndex' -or [string]$verifierProof.revision -cne 'INDEX') { + Add-Failure 'verifier proof source/revision contract mismatch' + } + if ([string]$verifierProof.product_candidate_sha -cne $ProductCandidateSHA) { Add-Failure 'verifier proof product_candidate_sha mismatch' } + if ([string]$verifierProof.representation_contract -cne $DBPHRepresentationContract) { Add-Failure 'verifier proof representation_contract mismatch' } + foreach ($count in @( + [pscustomobject]@{ name = 'changed_paths'; expected = $ChangedPaths }, + [pscustomobject]@{ name = 'directly_bound_changed_paths'; expected = $DirectlyBoundChangedPaths }, + [pscustomobject]@{ name = 'manifest_entries'; expected = $ManifestEntries }, + [pscustomobject]@{ name = 'checksum_entries'; expected = $ChecksumEntries }, + [pscustomobject]@{ name = 'inventory_call_sites'; expected = $InventoryCallSites }, + [pscustomobject]@{ name = 'inventory_files'; expected = $InventoryFiles } + )) { + if ([int64]$verifierProof.($count.name) -ne [int64]$count.expected) { + Add-Failure "verifier proof $($count.name) mismatch: declared $($verifierProof.($count.name)), actual $($count.expected)" + } + } + if (@($verifierProof.failures).Count -ne 0) { Add-Failure 'verifier proof failures must be an empty JSON array' } + + $adversarialBytes = Get-SourceBytes -Path $AdversarialProofPath + if (Test-ContainsCarriageReturn -Bytes $adversarialBytes) { Add-Failure 'adversarial proof bytes contain CR; LF Git blob bytes are required' } + $adversarialDocument = Open-JsonDocument -Bytes $adversarialBytes -Label $AdversarialProofPath + try { Test-AdversarialProofRawSchema -Document $adversarialDocument } finally { $adversarialDocument.Dispose() } + $adversarialProof = Convert-JsonBytes -Bytes $adversarialBytes -Label $AdversarialProofPath + if ([int64]$adversarialProof.schema_version -ne $DBPHAdversarialProofSchemaVersion) { Add-Failure "adversarial proof schema_version must be $DBPHAdversarialProofSchemaVersion" } + if ([string]$adversarialProof.status -cne 'PASS') { Add-Failure 'adversarial proof status must be PASS' } + if ([string]$adversarialProof.source_mode -cne 'GitIndex' -or [string]$adversarialProof.revision -cne 'INDEX') { + Add-Failure 'adversarial proof source/revision contract mismatch' + } + if ($adversarialProof.temp_root_removed -ne $true) { Add-Failure 'adversarial proof temp_root_removed must be true' } + if ([string]$adversarialProof.cleanup -cne 'PASS') { Add-Failure 'adversarial proof cleanup must be PASS' } + + $specs = @(Get-DBPHAdversarialCaseSpecs) + $proofCases = @($adversarialProof.cases) + if ($proofCases.Count -ne $specs.Count) { + Add-Failure "adversarial proof case count mismatch: declared $($proofCases.Count), required $($specs.Count)" + } + $caseCount = [Math]::Min($proofCases.Count, $specs.Count) + for ($index = 0; $index -lt $caseCount; $index++) { + $proofCase = $proofCases[$index] + $spec = $specs[$index] + if ([string]$proofCase.name -cne [string]$spec.name) { + Add-Failure "adversarial proof case order mismatch at index ${index}: declared $($proofCase.name), required $($spec.name)" + continue + } + $isBaseline = -not [bool]$spec.expect_nonzero + $expectedExitMatches = if ($isBaseline) { $proofCase.expected_exit -is [ValueType] -and [int64]$proofCase.expected_exit -eq 0 } else { [string]$proofCase.expected_exit -ceq 'nonzero' } + $actualExitMatches = if ($isBaseline) { [int64]$proofCase.actual_exit -eq 0 } else { [int64]$proofCase.actual_exit -ne 0 } + $statusMatches = [string]$proofCase.verifier_status -ceq $(if ($isBaseline) { 'PASS' } else { 'FAIL' }) + if (-not $expectedExitMatches -or -not $actualExitMatches -or -not $statusMatches -or $proofCase.pass -ne $true) { + Add-Failure "adversarial proof case result mismatch: $($spec.name)" + } + if ([string]$proofCase.expected_failure -cne [string]$spec.expected_failure) { + Add-Failure "adversarial proof expected diagnostic mismatch: $($spec.name)" + } + $observed = @($proofCase.observed_failures) + if ($isBaseline) { + if ($observed.Count -ne 0) { Add-Failure 'adversarial proof baseline observed_failures must be an empty JSON array' } + } else { + $found = $false + foreach ($failure in $observed) { + if (([string]$failure).Contains([string]$spec.expected_failure, [StringComparison]::Ordinal)) { $found = $true; break } + } + if (-not $found) { Add-Failure "adversarial proof case missing required diagnostic: $($spec.name)" } + } + } +} + +function Get-ParentInventory { + param([Parameter(Mandatory = $true)][string]$ParentSHA) + + $pathsText = Convert-BytesToText (Invoke-GitRaw -Arguments @('ls-tree', '-r', '--name-only', $ParentSHA, '--', 'internal/db/gorm')) + $paths = @($pathsText -split "`n" | ForEach-Object { $_.TrimEnd("`r") } | Where-Object { $_.EndsWith('_test.go', [StringComparison]::Ordinal) }) + $entries = @() + foreach ($path in $paths) { + $text = Convert-BytesToText (Invoke-GitRaw -Arguments @('show', "${ParentSHA}:$path")) + $lines = @($text -split "`n") + $callLines = @() + for ($index = 0; $index -lt $lines.Count; $index++) { + $line = $lines[$index].TrimEnd("`r") + if ($line.Contains('openCandidateTestDB(') -and -not $line.Contains('func openCandidateTestDB(')) { + $callLines += ($index + 1) + } + } + if ($callLines.Count -gt 0) { + $entries += [pscustomobject]@{ path = $path; count = $callLines.Count; lines = $callLines } + } + } + return @($entries | Sort-Object path) +} + +$manifestEntryCount = 0 +$sumEntryCount = 0 +$actualInventoryCount = 0 +$actualInventoryFiles = 0 +$changedPathCount = 0 +$directlyBoundChangedPathCount = 0 + +try { + $manifestBytes = Get-SourceBytes -Path $ManifestPath + if (Test-ContainsCarriageReturn -Bytes $manifestBytes) { + Add-Failure 'manifest bytes contain CR; LF Git blob bytes are required' + } + $manifestDocument = Open-JsonDocument -Bytes $manifestBytes -Label $ManifestPath + try { Test-ManifestRawSchema -Document $manifestDocument } finally { $manifestDocument.Dispose() } + $manifest = Convert-JsonBytes -Bytes $manifestBytes -Label $ManifestPath + + if ([int64]$manifest.schema_version -ne $DBPHManifestSchemaVersion) { Add-Failure "manifest schema_version must be $DBPHManifestSchemaVersion" } + if ([string]$manifest.status -cne 'READY_FOR_RECHECK_EVIDENCE_R4') { Add-Failure 'manifest status must be READY_FOR_RECHECK_EVIDENCE_R4' } + if ($manifest.product_parent_sha -cne $expectedProductParentSHA) { Add-Failure 'manifest product_parent_sha mismatch' } + if ($manifest.product_candidate_sha -cne $ProductCandidateSHA) { Add-Failure 'manifest product_candidate_sha mismatch' } + if ($manifest.evidence_revision_parent_sha -cne $DBPHEvidenceParentSHA) { Add-Failure 'manifest evidence_revision_parent_sha mismatch' } + if ($manifest.evidence_revision_target -cne 'GitIndex') { Add-Failure 'manifest evidence_revision_target must be GitIndex' } + if ($manifest.evidence_delta.comparison -cne "$ProductCandidateSHA..GitIndex") { Add-Failure 'manifest evidence_delta.comparison mismatch' } + if ($manifest.representation_contract.id -cne $DBPHRepresentationContract) { Add-Failure "unsupported representation contract: $($manifest.representation_contract.id)" } + if ($manifest.representation_contract.digest -cne 'SHA-256') { Add-Failure "unsupported digest: $($manifest.representation_contract.digest)" } + if ($manifest.representation_contract.object_type -cne 'blob') { Add-Failure 'representation object_type must be blob' } + if ($manifest.representation_contract.path_binding -cne 'each path at the verified Git index/revision resolves to git_blob_oid') { Add-Failure 'representation path_binding mismatch' } + if ($manifest.representation_contract.contract_bytes -cne 'git cat-file blob exact stdout bytes') { Add-Failure 'representation contract_bytes mismatch' } + if ($manifest.representation_contract.working_tree_bytes -cne 'excluded; raw CRLF checkout bytes fail verification') { Add-Failure 'representation working_tree_bytes mismatch' } + if ($manifest.representation_contract.text_git_blob_line_endings -cne 'LF') { Add-Failure 'unsupported Git blob line-ending contract' } + if ($manifest.representation_contract.manifest_self_reference -cne 'excluded-from-manifest-entries-bound-by-outer-checksum') { Add-Failure 'manifest self-reference contract mismatch' } + if ($manifest.representation_contract.outer_checksum_path -cne $SumsPath) { Add-Failure 'outer checksum path mismatch' } + if ($manifest.representation_contract.outer_checksum_generation_order -cne 'manifest-first-checksum-second') { Add-Failure 'outer checksum generation order mismatch' } + if ($manifest.representation_contract.outer_checksum_self_reference -cne 'excluded') { Add-Failure 'outer checksum self-reference contract mismatch' } + Test-ExactStringArray -Actual @($manifest.evidence_delta.manifest_entry_self_excluded_paths) -Expected $expectedManifestExclusions -Label 'manifest entry self exclusions' + Test-ExactStringArray -Actual @($manifest.evidence_delta.checksum_self_excluded_paths) -Expected $expectedChecksumExclusions -Label 'checksum self exclusions' + + $changedPaths = Get-ChangedPaths + $changedPathCount = $changedPaths.Count + if ([int64]$manifest.evidence_delta.changed_path_count -ne $changedPathCount) { + Add-Failure "changed path count mismatch: declared $($manifest.evidence_delta.changed_path_count), actual $changedPathCount" + } + $productOrTestChanges = @($changedPaths | Where-Object { -not $_.StartsWith('.agent/reports/', [StringComparison]::Ordinal) }) + if ($productOrTestChanges.Count -ne 0) { + Add-Failure "evidence revision changes product/test paths: $($productOrTestChanges -join ', ')" + } + if (@($manifest.evidence_delta.product_or_test_paths_changed).Count -ne 0) { + Add-Failure 'manifest product_or_test_paths_changed must be an empty JSON array' + } + + $manifestPaths = @{} + $manifestPathOrder = [Collections.Generic.List[string]]::new() + foreach ($entry in @($manifest.entries)) { + $manifestEntryCount++ + $path = [string]$entry.path + $manifestPathOrder.Add($path) + if ($manifestPaths.ContainsKey($path)) { + Add-Failure "duplicate manifest path: $path" + continue + } + $manifestPaths[$path] = $true + if ($expectedManifestExclusions.Contains($path)) { + Add-Failure "manifest contains self-excluded path: $path" + } + try { + $object = Get-ObjectEvidence -OID ([string]$entry.git_blob_oid) + if ($object.sha256 -cne [string]$entry.sha256) { Add-Failure "manifest SHA-256 mismatch: $path" } + if ($object.length -ne [int64]$entry.bytes) { Add-Failure "manifest byte-count mismatch: $path" } + if (Test-ContainsCarriageReturn -Bytes $object.bytes) { Add-Failure "manifest entry contains CR; LF Git blob bytes are required: $path" } + $pathOID = Get-SourceBlobOID -Path $path + if ($pathOID -cne [string]$entry.git_blob_oid) { Add-Failure "manifest path/blob binding mismatch: $path" } + } + catch { + Add-Failure "manifest entry unreadable: ${path}: $($_.Exception.Message)" + } + } + Test-StrictOrdinalOrder -Paths @($manifestPathOrder) -Label 'manifest' + if ([int64]$manifest.entry_count -ne $manifestEntryCount) { Add-Failure 'manifest entry_count mismatch' } + + $directChangedPaths = @($changedPaths | Where-Object { -not $expectedManifestExclusions.Contains($_) }) + $directlyBoundChangedPathCount = $directChangedPaths.Count + if ([int64]$manifest.evidence_delta.directly_manifest_bound_count -ne $directlyBoundChangedPathCount) { + Add-Failure 'directly_manifest_bound_count mismatch' + } + foreach ($path in $directChangedPaths) { + if (-not $manifestPaths.ContainsKey($path)) { Add-Failure "manifest missing changed path: $path" } + } + foreach ($path in $requiredDynamicProofPaths) { + if (-not $manifestPaths.ContainsKey($path)) { Add-Failure "manifest missing dynamic proof path: $path" } + } + + if ($manifest.product_test_blob.path -cne $expectedProductBlobPath -or + $manifest.product_test_blob.git_blob_oid -cne $expectedProductBlobOID -or + $manifest.product_test_blob.sha256 -cne $expectedProductBlobSHA256 -or + $manifest.product_test_blob.byte_identical_to_product_candidate -ne $true) { + Add-Failure 'manifest product test blob contract mismatch' + } + $productOID = Get-SourceBlobOID -Path $expectedProductBlobPath + $productObject = Get-ObjectEvidence -OID $productOID + if ($productOID -cne $expectedProductBlobOID -or $productObject.sha256 -cne $expectedProductBlobSHA256) { + Add-Failure 'product test blob differs from accepted product candidate' + } + + $inventoryBytes = Get-SourceBytes -Path $InventoryPath + if (Test-ContainsCarriageReturn -Bytes $inventoryBytes) { Add-Failure 'inventory bytes contain CR; LF Git blob bytes are required' } + $inventoryDocument = Open-JsonDocument -Bytes $inventoryBytes -Label $InventoryPath + try { Test-InventoryRawSchema -Document $inventoryDocument } finally { $inventoryDocument.Dispose() } + $inventory = Convert-JsonBytes -Bytes $inventoryBytes -Label $InventoryPath + if ([int64]$inventory.schema_version -ne $DBPHInventorySchemaVersion) { Add-Failure "inventory schema_version must be $DBPHInventorySchemaVersion" } + if ($inventory.parent_sha -cne $expectedProductParentSHA) { Add-Failure 'inventory parent_sha mismatch' } + $actualInventory = Get-ParentInventory -ParentSHA $expectedProductParentSHA + $actualInventoryCount = [int](($actualInventory | Measure-Object count -Sum).Sum) + $actualInventoryFiles = $actualInventory.Count + if ([int64]$inventory.required_call_sites -ne 83 -or [int64]$inventory.required_files -ne 8) { + Add-Failure "inventory acceptance constants must be 83/8, got $($inventory.required_call_sites)/$($inventory.required_files)" + } + if ([int64]$manifest.inventory.required_call_sites -ne 83 -or [int64]$manifest.inventory.required_files -ne 8 -or + [string]$manifest.inventory.parent_sha -cne $expectedProductParentSHA -or [string]$manifest.inventory.path -cne $InventoryPath) { + Add-Failure 'manifest inventory contract mismatch' + } + if ([int64]$inventory.actual_call_sites -ne $actualInventoryCount -or [int64]$inventory.actual_files -ne $actualInventoryFiles) { + Add-Failure "inventory total mismatch: declared $($inventory.actual_call_sites)/$($inventory.actual_files), actual $actualInventoryCount/$actualInventoryFiles" + } + + $declaredByPath = @{} + $inventoryPathOrder = [Collections.Generic.List[string]]::new() + foreach ($entry in @($inventory.entries)) { + $path = [string]$entry.path + $inventoryPathOrder.Add($path) + if ($declaredByPath.ContainsKey($path)) { + Add-Failure "duplicate inventory path: $path" + } else { + $declaredByPath[$path] = $entry + } + } + Test-StrictOrdinalOrder -Paths @($inventoryPathOrder) -Label 'inventory' + foreach ($actual in $actualInventory) { + if (-not $declaredByPath.ContainsKey($actual.path)) { + Add-Failure "inventory missing path: $($actual.path)" + continue + } + $declared = $declaredByPath[$actual.path] + if ([int64]$declared.count -ne [int64]$actual.count -or (@($declared.lines) -join ',') -cne (@($actual.lines) -join ',')) { + Add-Failure "inventory site list mismatch: $($actual.path)" + } + } + foreach ($declaredPath in $declaredByPath.Keys) { + if (-not @($actualInventory.path).Contains($declaredPath)) { Add-Failure "inventory has extra path: $declaredPath" } + } + + $sumsBytes = Get-SourceBytes -Path $SumsPath + if (Test-ContainsCarriageReturn -Bytes $sumsBytes) { Add-Failure 'outer checksum bytes contain CR; LF Git blob bytes are required' } + $sumLines = @((Convert-BytesToText $sumsBytes) -split "`n" | Where-Object { $_ -ne '' }) + $expectedHeaders = @( + '# representation_contract=git-blob-bytes-v1', + '# manifest_generation_order=manifest-first-checksum-second', + '# checksum_self_reference=excluded' + ) + for ($index = 0; $index -lt $expectedHeaders.Count; $index++) { + if ($sumLines.Count -le $index -or $sumLines[$index] -cne $expectedHeaders[$index]) { + Add-Failure "checksum header mismatch at index $index" + } + } + if (@($sumLines | Where-Object { $_.StartsWith('#') }).Count -ne $expectedHeaders.Count) { + Add-Failure 'outer checksum must contain exactly the canonical three headers' + } + + $sumMap = @{} + $sumPathOrder = [Collections.Generic.List[string]]::new() + foreach ($line in @($sumLines | Where-Object { -not $_.StartsWith('#') })) { + if ($line -notmatch '^([0-9a-f]{64}) (.+)$') { + Add-Failure "invalid checksum line: $line" + continue + } + $expected = $Matches[1] + $path = $Matches[2] + $sumPathOrder.Add($path) + if ($sumMap.ContainsKey($path)) { + Add-Failure "duplicate checksum path: $path" + continue + } + $sumMap[$path] = $expected + $sumEntryCount++ + try { + $actualBytes = Get-SourceBytes -Path $path + $actualHash = [Convert]::ToHexString([Security.Cryptography.SHA256]::HashData($actualBytes)).ToLowerInvariant() + if ($actualHash -cne $expected) { Add-Failure "outer checksum mismatch: $path" } + } + catch { + Add-Failure "checksum path unreadable: ${path}: $($_.Exception.Message)" + } + } + Test-StrictOrdinalOrder -Paths @($sumPathOrder) -Label 'checksum' + if ($sumMap.ContainsKey($SumsPath)) { Add-Failure 'outer checksum must exclude itself' } + if (-not $sumMap.ContainsKey($ManifestPath)) { Add-Failure 'outer checksum does not bind final MANIFEST.json' } + $requiredSumPaths = @($manifestPathOrder) + @($ManifestPath) + foreach ($path in $requiredSumPaths) { + if (-not $sumMap.ContainsKey($path)) { Add-Failure "outer checksum missing manifest-bound path: $path" } + } + foreach ($path in $sumMap.Keys) { + if (-not $requiredSumPaths.Contains($path)) { Add-Failure "outer checksum contains unbound extra path: $path" } + } + + Test-CanonicalDynamicProofs ` + -ChangedPaths ([int64]$changedPathCount) ` + -DirectlyBoundChangedPaths ([int64]$directlyBoundChangedPathCount) ` + -ManifestEntries ([int64]$manifestEntryCount) ` + -ChecksumEntries ([int64]$sumEntryCount) ` + -InventoryCallSites ([int64]$actualInventoryCount) ` + -InventoryFiles ([int64]$actualInventoryFiles) +} +catch { + Add-Failure "verifier exception: $($_.Exception.Message)" +} + +$result = [ordered]@{ + schema_version = $DBPHVerifierProofSchemaVersion + status = if ($failures.Count -eq 0) { 'PASS' } else { 'FAIL' } + source_mode = $SourceMode + revision = if ($SourceMode -eq 'GitIndex') { 'INDEX' } else { $Revision } + product_candidate_sha = $ProductCandidateSHA + representation_contract = $DBPHRepresentationContract + changed_paths = $changedPathCount + directly_bound_changed_paths = $directlyBoundChangedPathCount + manifest_entries = $manifestEntryCount + checksum_entries = $sumEntryCount + inventory_call_sites = $actualInventoryCount + inventory_files = $actualInventoryFiles + failures = @($failures) +} +$json = (($result | ConvertTo-Json -Depth 8) -replace "`r`n", "`n") +if (-not [string]::IsNullOrWhiteSpace($OutputPath)) { + $resolvedOutput = [IO.Path]::GetFullPath($OutputPath) + [IO.Directory]::CreateDirectory([IO.Path]::GetDirectoryName($resolvedOutput)) | Out-Null + [IO.File]::WriteAllText($resolvedOutput, $json + "`n", $utf8NoBom) +} +if (-not $Quiet) { $json } +if ($failures.Count -ne 0) { exit 1 } +exit 0 diff --git a/.agent/reports/evidence/production-ready/db-test-pool-hygiene/adversarial-proof.json b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/adversarial-proof.json new file mode 100644 index 00000000..c1c09b6d --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/adversarial-proof.json @@ -0,0 +1,474 @@ +{ + "schema_version": 4, + "status": "PASS", + "source_mode": "GitIndex", + "revision": "INDEX", + "cases": [ + { + "name": "baseline", + "expected_exit": 0, + "actual_exit": 0, + "verifier_status": "PASS", + "expected_failure": "", + "observed_failures": [], + "pass": true + }, + { + "name": "missing_changed_path", + "expected_exit": "nonzero", + "actual_exit": 1, + "verifier_status": "FAIL", + "expected_failure": "manifest missing changed path", + "observed_failures": [ + "manifest missing changed path: .agent/reports/evidence/production-ready/db-test-pool-hygiene/16-evidence-r4-red.json", + "verifier proof manifest_entries mismatch: declared 35, actual 34", + "verifier proof checksum_entries mismatch: declared 36, actual 35" + ], + "pass": true + }, + { + "name": "unsorted_manifest_and_sums", + "expected_exit": "nonzero", + "actual_exit": 1, + "verifier_status": "FAIL", + "expected_failure": "not canonical ordinal order", + "observed_failures": [ + "manifest paths are not canonical ordinal order: internal/db/gorm/candidate_store_test.go before .agent/reports/evidence/production-ready/db-test-pool-hygiene/verifier-proof.json", + "manifest paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/verifier-proof.json before .agent/reports/evidence/production-ready/db-test-pool-hygiene/adversarial-proof.json", + "manifest paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/adversarial-proof.json before .agent/reports/evidence/production-ready/db-test-pool-hygiene/Verify-DBPoolHygieneEvidence.ps1", + "manifest paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/Verify-DBPoolHygieneEvidence.ps1 before .agent/reports/evidence/production-ready/db-test-pool-hygiene/Test-DBPoolHygieneEvidenceAdversarial.ps1", + "manifest paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/Test-DBPoolHygieneEvidenceAdversarial.ps1 before .agent/reports/evidence/production-ready/db-test-pool-hygiene/Invoke-DBPoolHygieneGo.ps1", + "manifest paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/Invoke-DBPoolHygieneGo.ps1 before .agent/reports/evidence/production-ready/db-test-pool-hygiene/INVENTORY.json", + "manifest paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/INVENTORY.json before .agent/reports/evidence/production-ready/db-test-pool-hygiene/DBPoolHygieneEvidenceContract.ps1", + "manifest paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/DBPoolHygieneEvidenceContract.ps1 before .agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.red.json", + "manifest paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.red.json before .agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.final.json", + "manifest paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.final.json before .agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.evidence-r4.json", + "manifest paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.evidence-r4.json before .agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.evidence-r3.json", + "manifest paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.evidence-r3.json before .agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.evidence-r2.json", + "manifest paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.evidence-r2.json before .agent/reports/evidence/production-ready/db-test-pool-hygiene/Build-DBPoolHygieneEvidence.ps1", + "manifest paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/Build-DBPoolHygieneEvidence.ps1 before .agent/reports/evidence/production-ready/db-test-pool-hygiene/17-evidence-r4-gates.json", + "manifest paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/17-evidence-r4-gates.json before .agent/reports/evidence/production-ready/db-test-pool-hygiene/16-evidence-r4-red.json", + "manifest paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/16-evidence-r4-red.json before .agent/reports/evidence/production-ready/db-test-pool-hygiene/15-evidence-r2-static.txt", + "manifest paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/15-evidence-r2-static.txt before .agent/reports/evidence/production-ready/db-test-pool-hygiene/14-evidence-r2-focused.log", + "manifest paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/14-evidence-r2-focused.log before .agent/reports/evidence/production-ready/db-test-pool-hygiene/13-final-residue.log", + "manifest paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/13-final-residue.log before .agent/reports/evidence/production-ready/db-test-pool-hygiene/12-static-gates.txt", + "manifest paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/12-static-gates.txt before .agent/reports/evidence/production-ready/db-test-pool-hygiene/11-parent-successor-comparison.txt", + "manifest paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/11-parent-successor-comparison.txt before .agent/reports/evidence/production-ready/db-test-pool-hygiene/10-candidate-race.log", + "manifest paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/10-candidate-race.log before .agent/reports/evidence/production-ready/db-test-pool-hygiene/09-candidate-repeat5.log", + "manifest paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/09-candidate-repeat5.log before .agent/reports/evidence/production-ready/db-test-pool-hygiene/08-successor-broad.summary.log", + "manifest paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/08-successor-broad.summary.log before .agent/reports/evidence/production-ready/db-test-pool-hygiene/07-race.log", + "manifest paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/07-race.log before .agent/reports/evidence/production-ready/db-test-pool-hygiene/06-repeat20.log", + "manifest paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/06-repeat20.log before .agent/reports/evidence/production-ready/db-test-pool-hygiene/05-post-prove-green.log", + "manifest paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/05-post-prove-green.log before .agent/reports/evidence/production-ready/db-test-pool-hygiene/04-prove-it.log", + "manifest paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/04-prove-it.log before .agent/reports/evidence/production-ready/db-test-pool-hygiene/03-green-focused.log", + "manifest paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/03-green-focused.log before .agent/reports/evidence/production-ready/db-test-pool-hygiene/02-parent-red.log", + "manifest paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/02-parent-red.log before .agent/reports/evidence/production-ready/db-test-pool-hygiene/01-parent-broad.summary.log", + "manifest paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/01-parent-broad.summary.log before .agent/reports/2026-07-11-db-test-pool-hygiene-evidence-revision4-maker.md", + "manifest paths are not canonical ordinal order: .agent/reports/2026-07-11-db-test-pool-hygiene-evidence-revision4-maker.md before .agent/reports/2026-07-11-db-test-pool-hygiene-evidence-revision3-maker.md", + "manifest paths are not canonical ordinal order: .agent/reports/2026-07-11-db-test-pool-hygiene-evidence-revision3-maker.md before .agent/reports/2026-07-10-db-test-pool-hygiene-maker.md", + "manifest paths are not canonical ordinal order: .agent/reports/2026-07-10-db-test-pool-hygiene-maker.md before .agent/reports/2026-07-10-db-test-pool-hygiene-evidence-revision-maker.md", + "checksum paths are not canonical ordinal order: internal/db/gorm/candidate_store_test.go before .agent/reports/evidence/production-ready/db-test-pool-hygiene/verifier-proof.json", + "checksum paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/verifier-proof.json before .agent/reports/evidence/production-ready/db-test-pool-hygiene/adversarial-proof.json", + "checksum paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/adversarial-proof.json before .agent/reports/evidence/production-ready/db-test-pool-hygiene/Verify-DBPoolHygieneEvidence.ps1", + "checksum paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/Verify-DBPoolHygieneEvidence.ps1 before .agent/reports/evidence/production-ready/db-test-pool-hygiene/Test-DBPoolHygieneEvidenceAdversarial.ps1", + "checksum paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/Test-DBPoolHygieneEvidenceAdversarial.ps1 before .agent/reports/evidence/production-ready/db-test-pool-hygiene/Invoke-DBPoolHygieneGo.ps1", + "checksum paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/Invoke-DBPoolHygieneGo.ps1 before .agent/reports/evidence/production-ready/db-test-pool-hygiene/INVENTORY.json", + "checksum paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/INVENTORY.json before .agent/reports/evidence/production-ready/db-test-pool-hygiene/DBPoolHygieneEvidenceContract.ps1", + "checksum paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/DBPoolHygieneEvidenceContract.ps1 before .agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.red.json", + "checksum paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.red.json before .agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.final.json", + "checksum paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.final.json before .agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.evidence-r4.json", + "checksum paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.evidence-r4.json before .agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.evidence-r3.json", + "checksum paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.evidence-r3.json before .agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.evidence-r2.json", + "checksum paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.evidence-r2.json before .agent/reports/evidence/production-ready/db-test-pool-hygiene/Build-DBPoolHygieneEvidence.ps1", + "checksum paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/Build-DBPoolHygieneEvidence.ps1 before .agent/reports/evidence/production-ready/db-test-pool-hygiene/17-evidence-r4-gates.json", + "checksum paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/17-evidence-r4-gates.json before .agent/reports/evidence/production-ready/db-test-pool-hygiene/16-evidence-r4-red.json", + "checksum paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/16-evidence-r4-red.json before .agent/reports/evidence/production-ready/db-test-pool-hygiene/15-evidence-r2-static.txt", + "checksum paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/15-evidence-r2-static.txt before .agent/reports/evidence/production-ready/db-test-pool-hygiene/14-evidence-r2-focused.log", + "checksum paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/14-evidence-r2-focused.log before .agent/reports/evidence/production-ready/db-test-pool-hygiene/13-final-residue.log", + "checksum paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/13-final-residue.log before .agent/reports/evidence/production-ready/db-test-pool-hygiene/12-static-gates.txt", + "checksum paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/12-static-gates.txt before .agent/reports/evidence/production-ready/db-test-pool-hygiene/11-parent-successor-comparison.txt", + "checksum paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/11-parent-successor-comparison.txt before .agent/reports/evidence/production-ready/db-test-pool-hygiene/10-candidate-race.log", + "checksum paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/10-candidate-race.log before .agent/reports/evidence/production-ready/db-test-pool-hygiene/09-candidate-repeat5.log", + "checksum paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/09-candidate-repeat5.log before .agent/reports/evidence/production-ready/db-test-pool-hygiene/08-successor-broad.summary.log", + "checksum paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/08-successor-broad.summary.log before .agent/reports/evidence/production-ready/db-test-pool-hygiene/07-race.log", + "checksum paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/07-race.log before .agent/reports/evidence/production-ready/db-test-pool-hygiene/06-repeat20.log", + "checksum paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/06-repeat20.log before .agent/reports/evidence/production-ready/db-test-pool-hygiene/05-post-prove-green.log", + "checksum paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/05-post-prove-green.log before .agent/reports/evidence/production-ready/db-test-pool-hygiene/04-prove-it.log", + "checksum paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/04-prove-it.log before .agent/reports/evidence/production-ready/db-test-pool-hygiene/03-green-focused.log", + "checksum paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/03-green-focused.log before .agent/reports/evidence/production-ready/db-test-pool-hygiene/02-parent-red.log", + "checksum paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/02-parent-red.log before .agent/reports/evidence/production-ready/db-test-pool-hygiene/01-parent-broad.summary.log", + "checksum paths are not canonical ordinal order: .agent/reports/evidence/production-ready/db-test-pool-hygiene/01-parent-broad.summary.log before .agent/reports/2026-07-11-db-test-pool-hygiene-evidence-revision4-maker.md", + "checksum paths are not canonical ordinal order: .agent/reports/2026-07-11-db-test-pool-hygiene-evidence-revision4-maker.md before .agent/reports/2026-07-11-db-test-pool-hygiene-evidence-revision3-maker.md", + "checksum paths are not canonical ordinal order: .agent/reports/2026-07-11-db-test-pool-hygiene-evidence-revision3-maker.md before .agent/reports/2026-07-10-db-test-pool-hygiene-maker.md", + "checksum paths are not canonical ordinal order: .agent/reports/2026-07-10-db-test-pool-hygiene-maker.md before .agent/reports/2026-07-10-db-test-pool-hygiene-evidence-revision-maker.md" + ], + "pass": true + }, + { + "name": "duplicate_manifest_and_sums", + "expected_exit": "nonzero", + "actual_exit": 1, + "verifier_status": "FAIL", + "expected_failure": "duplicate manifest path", + "observed_failures": [ + "duplicate manifest path: .agent/reports/2026-07-10-db-test-pool-hygiene-evidence-revision-maker.md", + "manifest paths are not canonical ordinal order: internal/db/gorm/candidate_store_test.go before .agent/reports/2026-07-10-db-test-pool-hygiene-evidence-revision-maker.md", + "duplicate checksum path: .agent/reports/2026-07-10-db-test-pool-hygiene-evidence-revision-maker.md", + "checksum paths are not canonical ordinal order: internal/db/gorm/candidate_store_test.go before .agent/reports/2026-07-10-db-test-pool-hygiene-evidence-revision-maker.md", + "verifier proof manifest_entries mismatch: declared 35, actual 36" + ], + "pass": true + }, + { + "name": "wrong_type_representation_id_array", + "expected_exit": "nonzero", + "actual_exit": 1, + "verifier_status": "FAIL", + "expected_failure": "must be JSON string, got array", + "observed_failures": [ + "manifest.representation_contract.id must be JSON string, got array" + ], + "pass": true + }, + { + "name": "null_representation_id", + "expected_exit": "nonzero", + "actual_exit": 1, + "verifier_status": "FAIL", + "expected_failure": "must be JSON string, got null", + "observed_failures": [ + "manifest.representation_contract.id must be JSON string, got null", + "unsupported representation contract: " + ], + "pass": true + }, + { + "name": "wrong_type_exclusions_scalar", + "expected_exit": "nonzero", + "actual_exit": 1, + "verifier_status": "FAIL", + "expected_failure": "must be JSON array, got string", + "observed_failures": [ + "manifest.evidence_delta.manifest_entry_self_excluded_paths must be JSON array, got string", + "manifest entry self exclusions must contain exactly 2 item(s)" + ], + "pass": true + }, + { + "name": "wrong_type_inventory_numeric_strings", + "expected_exit": "nonzero", + "actual_exit": 1, + "verifier_status": "FAIL", + "expected_failure": "must be JSON number, got string", + "observed_failures": [ + "inventory.required_call_sites must be JSON number, got string", + "inventory.required_files must be JSON number, got string" + ], + "pass": true + }, + { + "name": "null_inventory_count", + "expected_exit": "nonzero", + "actual_exit": 1, + "verifier_status": "FAIL", + "expected_failure": "must be JSON number, got null", + "observed_failures": [ + "inventory.required_call_sites must be JSON number, got null", + "inventory acceptance constants must be 83/8, got /8" + ], + "pass": true + }, + { + "name": "crlf_raw_representation", + "expected_exit": "nonzero", + "actual_exit": 1, + "verifier_status": "FAIL", + "expected_failure": "manifest bytes contain CR", + "observed_failures": [ + "manifest bytes contain CR; LF Git blob bytes are required" + ], + "pass": true + }, + { + "name": "incorrect_representation_contract", + "expected_exit": "nonzero", + "actual_exit": 1, + "verifier_status": "FAIL", + "expected_failure": "unsupported representation contract", + "observed_failures": [ + "unsupported representation contract: raw-checkout-bytes-v1" + ], + "pass": true + }, + { + "name": "false_inventory_76_6", + "expected_exit": "nonzero", + "actual_exit": 1, + "verifier_status": "FAIL", + "expected_failure": "inventory acceptance constants must be 83/8", + "observed_failures": [ + "inventory acceptance constants must be 83/8, got 76/6", + "inventory total mismatch: declared 76/6, actual 83/8", + "inventory missing path: internal/db/gorm/temporal_truth_store_migration_test.go", + "inventory missing path: internal/db/gorm/temporal_truth_store_test.go" + ], + "pass": true + }, + { + "name": "mixed_eol_representation", + "expected_exit": "nonzero", + "actual_exit": 1, + "verifier_status": "FAIL", + "expected_failure": "manifest bytes contain CR", + "observed_failures": [ + "manifest bytes contain CR; LF Git blob bytes are required" + ], + "pass": true + }, + { + "name": "unknown_manifest_key", + "expected_exit": "nonzero", + "actual_exit": 1, + "verifier_status": "FAIL", + "expected_failure": "manifest has unknown JSON property", + "observed_failures": [ + "manifest has unknown JSON property: unexpected_r4_key" + ], + "pass": true + }, + { + "name": "unknown_manifest_nested_key", + "expected_exit": "nonzero", + "actual_exit": 1, + "verifier_status": "FAIL", + "expected_failure": "manifest.representation_contract has unknown JSON property", + "observed_failures": [ + "manifest.representation_contract has unknown JSON property: unexpected_r4_key" + ], + "pass": true + }, + { + "name": "unknown_manifest_entry_key", + "expected_exit": "nonzero", + "actual_exit": 1, + "verifier_status": "FAIL", + "expected_failure": "manifest.entries[0] has unknown JSON property", + "observed_failures": [ + "manifest.entries[0] has unknown JSON property: unexpected_r4_key" + ], + "pass": true + }, + { + "name": "unknown_inventory_key", + "expected_exit": "nonzero", + "actual_exit": 1, + "verifier_status": "FAIL", + "expected_failure": "inventory has unknown JSON property", + "observed_failures": [ + "inventory has unknown JSON property: unexpected_r4_key" + ], + "pass": true + }, + { + "name": "unknown_inventory_entry_key", + "expected_exit": "nonzero", + "actual_exit": 1, + "verifier_status": "FAIL", + "expected_failure": "inventory.entries[0] has unknown JSON property", + "observed_failures": [ + "inventory.entries[0] has unknown JSON property: unexpected_r4_key" + ], + "pass": true + }, + { + "name": "manifest_schema_99", + "expected_exit": "nonzero", + "actual_exit": 1, + "verifier_status": "FAIL", + "expected_failure": "manifest schema_version must be 4", + "observed_failures": [ + "manifest schema_version must be 4" + ], + "pass": true + }, + { + "name": "inventory_schema_99", + "expected_exit": "nonzero", + "actual_exit": 1, + "verifier_status": "FAIL", + "expected_failure": "inventory schema_version must be 1", + "observed_failures": [ + "inventory schema_version must be 1" + ], + "pass": true + }, + { + "name": "adversarial_proof_schema_99", + "expected_exit": "nonzero", + "actual_exit": 1, + "verifier_status": "FAIL", + "expected_failure": "adversarial proof schema_version must be 4", + "observed_failures": [ + "adversarial proof schema_version must be 4" + ], + "pass": true + }, + { + "name": "verifier_proof_schema_99", + "expected_exit": "nonzero", + "actual_exit": 1, + "verifier_status": "FAIL", + "expected_failure": "verifier proof schema_version must be 4", + "observed_failures": [ + "verifier proof schema_version must be 4" + ], + "pass": true + }, + { + "name": "unknown_adversarial_proof_key", + "expected_exit": "nonzero", + "actual_exit": 1, + "verifier_status": "FAIL", + "expected_failure": "adversarial proof has unknown JSON property", + "observed_failures": [ + "adversarial proof has unknown JSON property: unexpected_r4_key" + ], + "pass": true + }, + { + "name": "unknown_adversarial_case_key", + "expected_exit": "nonzero", + "actual_exit": 1, + "verifier_status": "FAIL", + "expected_failure": "adversarial proof.cases[0] has unknown JSON property", + "observed_failures": [ + "adversarial proof.cases[0] has unknown JSON property: unexpected_r4_key" + ], + "pass": true + }, + { + "name": "unknown_verifier_proof_key", + "expected_exit": "nonzero", + "actual_exit": 1, + "verifier_status": "FAIL", + "expected_failure": "verifier proof has unknown JSON property", + "observed_failures": [ + "verifier proof has unknown JSON property: unexpected_r4_key" + ], + "pass": true + }, + { + "name": "stale_adversarial_proof", + "expected_exit": "nonzero", + "actual_exit": 1, + "verifier_status": "FAIL", + "expected_failure": "adversarial proof case count mismatch", + "observed_failures": [ + "adversarial proof case count mismatch: declared 34, required 35" + ], + "pass": true + }, + { + "name": "stale_verifier_proof", + "expected_exit": "nonzero", + "actual_exit": 1, + "verifier_status": "FAIL", + "expected_failure": "verifier proof changed_paths mismatch", + "observed_failures": [ + "verifier proof changed_paths mismatch: declared 20, actual 21" + ], + "pass": true + }, + { + "name": "false_adversarial_case_order", + "expected_exit": "nonzero", + "actual_exit": 1, + "verifier_status": "FAIL", + "expected_failure": "adversarial proof case order mismatch", + "observed_failures": [ + "adversarial proof case order mismatch at index 0: declared missing_changed_path, required baseline", + "adversarial proof case order mismatch at index 1: declared baseline, required missing_changed_path" + ], + "pass": true + }, + { + "name": "false_adversarial_status", + "expected_exit": "nonzero", + "actual_exit": 1, + "verifier_status": "FAIL", + "expected_failure": "adversarial proof status must be PASS", + "observed_failures": [ + "adversarial proof status must be PASS" + ], + "pass": true + }, + { + "name": "false_adversarial_actual_status", + "expected_exit": "nonzero", + "actual_exit": 1, + "verifier_status": "FAIL", + "expected_failure": "adversarial proof case result mismatch", + "observed_failures": [ + "adversarial proof case result mismatch: missing_changed_path" + ], + "pass": true + }, + { + "name": "false_adversarial_required_diagnostic", + "expected_exit": "nonzero", + "actual_exit": 1, + "verifier_status": "FAIL", + "expected_failure": "adversarial proof case missing required diagnostic", + "observed_failures": [ + "adversarial proof case missing required diagnostic: missing_changed_path" + ], + "pass": true + }, + { + "name": "false_verifier_counts", + "expected_exit": "nonzero", + "actual_exit": 1, + "verifier_status": "FAIL", + "expected_failure": "verifier proof manifest_entries mismatch", + "observed_failures": [ + "verifier proof manifest_entries mismatch: declared 36, actual 35" + ], + "pass": true + }, + { + "name": "false_verifier_status", + "expected_exit": "nonzero", + "actual_exit": 1, + "verifier_status": "FAIL", + "expected_failure": "verifier proof status must be PASS", + "observed_failures": [ + "verifier proof status must be PASS" + ], + "pass": true + }, + { + "name": "false_verifier_source_revision", + "expected_exit": "nonzero", + "actual_exit": 1, + "verifier_status": "FAIL", + "expected_failure": "verifier proof source/revision contract mismatch", + "observed_failures": [ + "verifier proof source/revision contract mismatch" + ], + "pass": true + }, + { + "name": "duplicate_json_property", + "expected_exit": "nonzero", + "actual_exit": 1, + "verifier_status": "FAIL", + "expected_failure": "duplicate JSON property", + "observed_failures": [ + "duplicate JSON property: manifest.schema_version" + ], + "pass": true + } + ], + "temp_root_removed": true, + "cleanup": "PASS" +} diff --git a/.agent/reports/evidence/production-ready/db-test-pool-hygiene/verifier-proof.json b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/verifier-proof.json new file mode 100644 index 00000000..2659915a --- /dev/null +++ b/.agent/reports/evidence/production-ready/db-test-pool-hygiene/verifier-proof.json @@ -0,0 +1,15 @@ +{ + "schema_version": 4, + "status": "PASS", + "source_mode": "GitIndex", + "revision": "INDEX", + "product_candidate_sha": "276337b3e96aa5af6d2e7dd9a0002ff957e5ffc9", + "representation_contract": "git-blob-bytes-v1", + "changed_paths": 21, + "directly_bound_changed_paths": 19, + "manifest_entries": 35, + "checksum_entries": 36, + "inventory_call_sites": 83, + "inventory_files": 8, + "failures": [] +} diff --git a/.agent/reports/evidence/production-ready/demolition-portability-r1/demolition-guard.json b/.agent/reports/evidence/production-ready/demolition-portability-r1/demolition-guard.json new file mode 100644 index 00000000..648dcccf --- /dev/null +++ b/.agent/reports/evidence/production-ready/demolition-portability-r1/demolition-guard.json @@ -0,0 +1,23 @@ +{ + "schema_version": 1, + "classification": { + "knowledge_node_metadata": "dormant-flag-gated current-contract product defect", + "dangling_edge_test": "pre-current-schema stale expectation", + "graph_boot_and_cleanup": "test setup/lifecycle defect", + "T022_parser": "current-contract test correction", + "Loom_shell_skips": "cross-platform test portability defect", + "Loom_limited_writer": "live production Writer-contract defect discovered by the portable helper" + }, + "production_delta": [ + "default omitted KnowledgeNode metadata to an empty JSON object on Create and Update", + "make limitedWriter consume intentionally discarded overflow without returning io.ErrShortWrite while preserving real writer failures" + ], + "explicitly_not_built": [ + "automated graph retrieval", + "cross-encoder rerank", + "composite scoring passes", + "SDK observation extraction", + "server-side HTTP MCP transports" + ], + "verdict": "NO_V5_DEMOLISHED_BEHAVIOR_RESURRECTED" +} diff --git a/.agent/reports/evidence/production-ready/demolition-portability-r1/gates.json b/.agent/reports/evidence/production-ready/demolition-portability-r1/gates.json new file mode 100644 index 00000000..b185b318 --- /dev/null +++ b/.agent/reports/evidence/production-ready/demolition-portability-r1/gates.json @@ -0,0 +1,67 @@ +{ + "schema_version": 1, + "captured_at": "2026-07-11T06:25:02.1011804+03:00", + "environment": { + "windows_go": "go1.25.4 windows/amd64", + "linux_go": "go1.25.12 linux/amd64 via Ubuntu WSL", + "database": "disposable PostgreSQL 17.10 database engram_demo_root_0522" + }, + "gates": [ + {"name":"graph focused repeat3","result":"PASS","detail":"6 tests/subtests per run, zero skip"}, + {"name":"T022 focused repeat3","result":"PASS","detail":"T022, T022b and T022c, zero skip"}, + {"name":"Loom Windows repeat3","result":"PASS","detail":"86.9 percent statement coverage"}, + {"name":"Loom Windows race","result":"PASS"}, + {"name":"Loom Windows JSON","result":"PASS","detail":"47 test/subtest pass events, 0 fail, 0 skip"}, + {"name":"Loom Ubuntu WSL","result":"PASS","detail":"86.9 percent statement coverage; no t.Skip call remains in the package"}, + {"name":"go build ./...","result":"PASS"}, + {"name":"go vet ./...","result":"PASS"}, + {"name":"git diff --check","result":"PASS"}, + {"name":"demolished-symbol delta scan","result":"PASS","detail":"no added graph retrieval, rerank, composite scoring, SDK extraction, or HTTP MCP transport symbols"}, + {"name":"owned fixture residue before drop","result":"PASS","detail":"memories=0 nodes=0 edges=0 active_sessions=0"}, + {"name":"disposable database cleanup","result":"PASS","detail":"database count after drop=0"} + ], + "broad_suite": { + "command": "go test -json ./... -count=1", + "actual_exit": 1, + "failed_test_events": 34, + "failed_packages": [ + "internal/db/gorm", + "internal/bulkops", + "internal/mcp" + ], + "owned_slice_failures": 0, + "known_external_failures": { + "T007": "accepted separately at 1418796e55e8b5bfbb216ffbf5a3fba9fa620922 but intentionally absent from this disjoint base", + "DB_pool_and_candidate_governance": "active DB-TEST-POOL-HYGIENE R4 checker and later synthesis own these failures", + "bulkops": "accepted/reviewed stack is not part of this isolated base" + }, + "skipped_test_events": 20, + "skip_owners": [ + "historical upgrade fixture", + "grpc session-start exact fresh-DB lane", + "retrieval embedding prerequisite lane", + "redaction live-contract lane", + "current migration-order lane", + "static-embed image lane" + ] + }, + "post_stage_gates": [ + { + "name": "staged path closure", + "result": "PASS", + "path_count": 15, + "ordinal_lf_path_digest": "996b153680df782d4247b6ef72120fba36bfc7cf3fb1015385817e1035ce700f", + "ordinal_lf_status_path_digest": "4761d8020de2f6ba49841291eca5996f7ae928559a69228c383f3ede5df71b18" + }, + { + "name": "gitleaks staged candidate", + "result": "PASS", + "tool": "gitleaks 8.30.0", + "detail": "staged candidate scanned; no leaks found" + }, + { + "name": "staged diff check", + "result": "PASS" + } + ] +} diff --git a/.agent/reports/evidence/production-ready/demolition-portability-r1/plan-amendment.json b/.agent/reports/evidence/production-ready/demolition-portability-r1/plan-amendment.json new file mode 100644 index 00000000..58c37def --- /dev/null +++ b/.agent/reports/evidence/production-ready/demolition-portability-r1/plan-amendment.json @@ -0,0 +1,37 @@ +{ + "schema_version": 1, + "decided_at": "2026-07-11T06:16:55.2789291+03:00", + "authority_file": ".agent/plans/2026-07-10-engram-production-ready-master-plan.md", + "authority_sha256": "60e3b3cbf2491af8adc91f8f18a394404d68c811618fbf7ba98cc664a898591f", + "preflight_file": ".agent/reports/evidence/production-ready/demolition-portability/preflight-baseline.json", + "preflight_sha256": "a98389e8be76fd139418eceea908441b0d44557bdcc7e8dd0179dfa9c9a939b3", + "decision": "TRANSFER_COVERAGE_LOOM_AND_CURRENT_CONTRACT_CORRECTIONS_TO_DEMOLITION_PORTABILITY", + "reason": "The cross-platform helper exposed a production Writer-contract defect: a child write crossing maxOutputBytes returned a truncated count and caused exec.Cmd to fail with short write. Product ownership was expanded before editing workers.go.", + "owned_paths": [ + "internal/graph/dangling_test.go", + "internal/graph/integration_test.go", + "internal/graph/nodes_store.go", + "internal/mcp/integration_tg3_hybrid_test.go", + "internal/handlers/loom/workers.go", + "internal/handlers/loom/workers_test.go", + "internal/handlers/loom/limited_writer_test.go", + "internal/handlers/loom/testdata/clihelper/main.go", + "internal/handlers/loom/production_readiness_coverage_test.go", + ".agent/reports/2026-07-11-demolition-portability-r1-maker.md", + ".agent/reports/evidence/production-ready/demolition-portability-r1/**" + ], + "parallel_non_overlap": [ + "RELEASE-GATES R10 replacement", + "DB-TEST-POOL-HYGIENE R4 checker", + "IMAGE-REMEDIATION", + "T007 accepted candidate", + "PUBLIC-CONTRACTS prepared batch" + ], + "forbidden": [ + "graph retrieval stage", + "cross-encoder rerank", + "ApplyCompositeScoring or sibling composite scoring passes", + "SDK observation extraction", + "server-side HTTP MCP transports" + ] +} diff --git a/.agent/reports/evidence/production-ready/demolition-portability-r1/prove-it.json b/.agent/reports/evidence/production-ready/demolition-portability-r1/prove-it.json new file mode 100644 index 00000000..cf822a44 --- /dev/null +++ b/.agent/reports/evidence/production-ready/demolition-portability-r1/prove-it.json @@ -0,0 +1,31 @@ +{ + "schema_version": 1, + "mutations": [ + { + "slice": "GRAPH-METADATA", + "mutation": "normalizeNodeMetadata returned input unchanged", + "expected_failure": "Create and Update omitted-metadata tests both fail SQLSTATE 23502", + "observed": "PASS", + "restoration": "exact normalizer restored; both tests pass" + }, + { + "slice": "T022-CONFIDENCE-FLOOR", + "mutation": "both live confidence_min filters were temporarily disabled", + "expected_failure": "low-confidence fixture appears and the corrected T022 test fails", + "observed": "PASS: low beta was returned and rejected", + "restoration": "both filters restored byte-for-byte; T022/T022b/T022c pass" + }, + { + "slice": "LOOM-OUTPUT-CAP", + "mutation": "maxOutputBytes was temporarily changed to a non-buffer-aligned 1024-byte cap", + "expected_failure": "existing limitedWriter returns a short count", + "observed": "PASS: exec.Cmd returned short write", + "follow_up": "a permanent non-aligned end-to-end RED was added before the class fix", + "restoration": "10 MiB constant restored byte-for-byte; Writer implementation fixed instead" + } + ], + "temporary_product_files_restored": [ + "internal/mcp/tools_memory.go", + "internal/handlers/loom/workers.go before the authorized class fix" + ] +} diff --git a/.agent/reports/evidence/production-ready/demolition-portability-r1/red.json b/.agent/reports/evidence/production-ready/demolition-portability-r1/red.json new file mode 100644 index 00000000..dec139e5 --- /dev/null +++ b/.agent/reports/evidence/production-ready/demolition-portability-r1/red.json @@ -0,0 +1,48 @@ +{ + "schema_version": 1, + "base": "0c6269908aa810a2248f2bfaf3fca4f9f5791359", + "cycles": [ + { + "slice": "GRAPH-CURRENT-SCHEMA", + "result": "RED", + "observed": [ + "three ordinary NodesStore.Create calls with omitted metadata failed SQLSTATE 23502 against the live NOT NULL metadata column", + "the stale dangling-edge fixture was rejected by knowledge_edges_target_id_fkey with SQLSTATE 23503", + "the stale edge type references was rejected by the current enum", + "deferred sql.DB close ran before row cleanup and produced database-is-closed cleanup errors" + ] + }, + { + "slice": "GRAPH-UPDATE-METADATA", + "result": "RED", + "command": "go test ./internal/graph -run TestPathC_T015_UpdateOmittedMetadataDefaultsEmptyObject -count=1 -v", + "exit_code": 1, + "failure": "NodesStore.Update wrote SQL NULL metadata and failed SQLSTATE 23502" + }, + { + "slice": "T022-CURRENT-ITEMS-SHAPE", + "result": "RED", + "command": "go test ./internal/mcp -run TestHybridTG3_ConfidenceMin_FloorEnforced_T022 -count=1 -v", + "exit_code": 1, + "failure": "json cannot unmarshal the live top-level array into map[string]interface{} before the confidence assertion" + }, + { + "slice": "LOOM-PORTABILITY", + "result": "RED_BY_SKIP", + "baseline": { + "passed": 32, + "failed": 0, + "skipped": 7 + }, + "failure": "Windows tests depended on cat, sh, echo, or POSIX-only commands" + }, + { + "slice": "LOOM-OUTPUT-CAP-WRITER-CONTRACT", + "result": "RED", + "command": "go test ./internal/handlers/loom -run TestCliWorker_ProductionReadinessOutputLimitUnalignedWrite -count=1 -v", + "exit_code": 1, + "failure": "loom: cli worker: run engram-loom-cli-helper.exe: short write", + "root_cause": "limitedWriter sliced p at the remaining cap and then returned len(p), which was the retained prefix rather than the original input length" + } + ] +} diff --git a/.agent/reports/evidence/production-ready/observability/sol-synthesis-20260713-r1/summary.json b/.agent/reports/evidence/production-ready/observability/sol-synthesis-20260713-r1/summary.json new file mode 100644 index 00000000..4a8a8da9 --- /dev/null +++ b/.agent/reports/evidence/production-ready/observability/sol-synthesis-20260713-r1/summary.json @@ -0,0 +1,30 @@ +{ + "schema_version": 1, + "gate": "observability-otlp", + "started_at_utc": "2026-07-13T03:43:20.5143330+00:00", + "completed_at_utc": "2026-07-13T03:43:29.5579328+00:00", + "command": "go test ./internal/module/obs -count=1 -json", + "exit_code": 0, + "required_tests": [ + "TestInitNoEndpointIsNoop", + "TestInitForService_ExportsDaemonResourceIdentity", + "TestOTLPExportsStableMetricsAndKeepsHeaderOutOfPayload", + "TestOTLPTLSWithExplicitTrustRoot", + "TestCollectorAuthFailureIsBoundedAndSecretFree", + "TestCollectorBackpressureHonorsDeadline", + "TestTransientCollectorFailureRetriesWithinCallerDeadline", + "TestExporterOutageAndTLSMismatchAreBounded", + "TestShutdownFlushesPendingMetric", + "TestEndpointCredentialsAreRejectedWithoutEcho", + "TestConcurrentInitRecordShutdown", + "TestRuntimeOwnershipIsIdempotentAndReinitializable", + "TestRepeatedLifecycleWhileRecording" + ], + "missing_tests": [], + "failed_tests": [], + "process_residue_checked": true, + "process_residue": [], + "container_residue_checked": true, + "container_residue": [], + "verdict": "PASS" +} diff --git a/.agent/reports/evidence/production-ready/ops-recovery/OPS-RECOVERY-DATA-R1.red.json b/.agent/reports/evidence/production-ready/ops-recovery/OPS-RECOVERY-DATA-R1.red.json new file mode 100644 index 00000000..852c1fba --- /dev/null +++ b/.agent/reports/evidence/production-ready/ops-recovery/OPS-RECOVERY-DATA-R1.red.json @@ -0,0 +1,8 @@ +{ + "task_id": "OPS-RECOVERY-DATA-R1", + "observed_at": "2026-07-12T22:01:50.0009515Z", + "test_file": "tests/critical/recovery/postgres_backup_restore_test.go", + "test_name": "TestOperatorCanRestorePostgresBackup_RecoversDurableEngramDataAndRejectsUnsafeRestores", + "failure_reason": "The critical user-flow test failed because the recovery harness did not yet exist.", + "runner_stdout_excerpt": "operator recovery flow failed: exit status 64; verify-postgres-backup-restore.ps1 is not recognized as a script file; --- FAIL" +} diff --git a/.agent/reports/evidence/production-ready/ops-recovery/OPS-RECOVERY-DATA-R1.tdd.json b/.agent/reports/evidence/production-ready/ops-recovery/OPS-RECOVERY-DATA-R1.tdd.json new file mode 100644 index 00000000..9d7b627f --- /dev/null +++ b/.agent/reports/evidence/production-ready/ops-recovery/OPS-RECOVERY-DATA-R1.tdd.json @@ -0,0 +1,42 @@ +{ + "task_id": "OPS-RECOVERY-DATA-R1", + "stack": "GO_AND_POWERSHELL", + "red": { + "observed_at": "2026-07-12T22:01:50.0009515Z", + "test_file": "tests/critical/recovery/postgres_backup_restore_test.go", + "test_name": "TestOperatorCanRestorePostgresBackup_RecoversDurableEngramDataAndRejectsUnsafeRestores", + "failure_reason": "Recovery harness absent", + "runner_stdout_excerpt": "verify-postgres-backup-restore.ps1 is not recognized as a script file; FAIL" + }, + "green": { + "observed_at": "2026-07-12T22:15:28.6678909Z", + "passed_tests": 1, + "failed_tests": 0, + "skipped_tests": 0, + "regressed_tests": 0, + "runner_stdout_excerpt": "PASS; ok github.com/thebtf/engram/tests/critical/recovery 65.258s" + }, + "refactor": { + "applied": false, + "reason": "The GREEN implementation is already the minimum single-orchestrator shape; no concrete duplication justifies another abstraction." + }, + "prove_it": { + "substituted_files": [ + "scripts/recovery/verify-postgres-backup-restore.ps1" + ], + "substituted_function": "Restore-Database", + "failed_tests": 1, + "runner_stdout_excerpt": "non-empty target was not rejected; FAIL; package exit 1", + "reverted_at": "2026-07-12T22:18:47.2876176Z", + "post_revert_green": "PASS; 1 passed, 0 failed, 0 skipped; 56.305s" + }, + "coverage": { + "status": "NOT_APPLICABLE", + "reason": "The protected implementation is a PowerShell/Docker integration harness; Go statement coverage has no production statements in this test-only package. Behavioral and anti-stub proof are the load-bearing gates." + }, + "current_sources": [ + "https://www.postgresql.org/docs/17/app-pgdump.html", + "https://www.postgresql.org/docs/17/app-pgrestore.html", + "https://www.postgresql.org/docs/17/app-pg-dumpall.html" + ] +} diff --git a/.agent/reports/evidence/production-ready/ops-recovery/behavior-signal.md b/.agent/reports/evidence/production-ready/ops-recovery/behavior-signal.md new file mode 100644 index 00000000..42b6be4b --- /dev/null +++ b/.agent/reports/evidence/production-ready/ops-recovery/behavior-signal.md @@ -0,0 +1,67 @@ +# Behavioral Signal Declarations — OPS-RECOVERY-DATA-R2 + +Phase: 0 (Behavior-Confirming Tester) +Task: OPS-RECOVERY-DATA-R2 +Anchor: `.agent/plans/2026-07-10-engram-production-ready-master-plan.md:155,500,540` +Generated: 2026-07-13 + +## User Behaviors in Scope + +- UB-1: An operator can restore a supported Engram backup into a clean PostgreSQL 17 instance and users can still recall the same memories, rules, credentials, issues, documents, and indexed-code records. +- UB-2: An operator receives a failing result before unsafe or incomplete recovery can be mistaken for success, and a retry after cleanup succeeds without residue. +- UB-3: An operator can repeat the complete role-globals plus database restore without partial global state, while recovery credentials remain absent from command lines, process inventory, Docker metadata, logs, and committed evidence. + +## Test Declarations + +### TEST-001 + +Test ID: `tests/critical/recovery/postgres_backup_restore_test.go:TestOperatorCanRestorePostgresBackup_RecoversDurableEngramDataAndRejectsUnsafeRestores` +User behavior: UB-1 and UB-2 +Declaration type: A (Full Signal) +Signal name: user-task-completion-rate +Measurement window: one complete release-candidate recovery run +Target delta: 100% of required restored entity and negative-safety assertions pass +Measurement method: the critical test drives isolated PostgreSQL 17 source and target containers, restores real archives, queries restored application state, decrypts the restored credential with the original key, and verifies each unsafe-input scenario returns non-zero without a success marker or residual Docker resources +Evidence source: master-plan RECOVERY-DATA row and M7 backup/restore customer-readback gate +Critical suite: YES — `// @critical` annotation and `critical` build tag are present +Rename required: NO +AP violations: none + +### TEST-002 + +Test ID: `tests/critical/recovery/postgres_backup_restore_test.go:TestOperatorRecoveryMissingDockerPreservesActionableDependencyError` +User behavior: UB-2 +Declaration type: A (Full Signal) +Signal name: actionable-failure-rate +Measurement window: one missing-Docker preflight +Target delta: 100% of missing-runner attempts preserve the required-dependency error through cleanup +Measurement method: invoke the real recovery script with a deliberately absent Docker command and assert the operator-facing dependency message remains present +Evidence source: OPS-RECOVERY-DATA-R1 checker finding F3 +Critical suite: YES — `// @critical` annotation and `critical` build tag are present +Rename required: NO +AP violations: none + +## Critical Suite Gap Analysis + +- PostgreSQL logical recovery: COVERED by TEST-001; happy path, hostile globals rollback, complete retry, secret-negative sampling, and cleanup are part of the same real-container user flow. +- Missing dependency reporting: COVERED by TEST-002; cleanup cannot replace the primary preflight failure. + +## Phase 0 Exit Status + +Tests in scope: 2 +User-facing tests: 2 +- With full signal (A): 2 +- CODE-CONTRACT-ONLY (B): 0 +- PROXY (C): 0 +- Undeclared: 0 +Non-user-facing tests: 0 +Critical-suite gaps: 0 +Rename-required flags: 0 +AP violations detected: none + +Behavioral verification tally: +- BEHAVIOR_VERIFIED: 2 features +- CODE_PATH_COVERED: 0 features +- BEHAVIOR_UNCONFIRMED: 0 features + +Exit: PASS diff --git a/.agent/reports/evidence/production-ready/ops-recovery/freeze-summary.json b/.agent/reports/evidence/production-ready/ops-recovery/freeze-summary.json new file mode 100644 index 00000000..92706557 --- /dev/null +++ b/.agent/reports/evidence/production-ready/ops-recovery/freeze-summary.json @@ -0,0 +1,121 @@ +{ + "schema_version": 2, + "slice": "OPS-RECOVERY-DATA-R2", + "role": "maker", + "observed_at": "2026-07-12T23:03:22.9912983Z", + "base": "f121f903d7005b9150b9b6dfb918d5d0ccc9ca9e", + "code_commit": "f8e2921b6caa0e932b0b3bd71e0cc07b4d26eb94", + "baseline_release": { + "ref": "v6.42.0", + "commit": "668eead36e3e75e1923cdd08acbc538ccbe42025" + }, + "postgres": { + "major": 17, + "image": "engram:r2-accepted-65837cc7-postgres", + "image_id": "sha256:78780f7a04ce28fcdd33ff9fcd3b4de400bc510e39a06ff3223a164dbdb4eee7" + }, + "behavioral_result": "BEHAVIOR_VERIFIED_PENDING_INDEPENDENT_CHECKER", + "supported_globals_boundary": "roles_and_role_memberships_only; tablespaces rejected", + "scenarios": { + "v6_42_to_candidate_migrations": "PASS", + "custom_pg_dump_and_single_transaction_restore": "PASS", + "role_globals_atomic_transaction": "PASS", + "role_globals_mid_script_failure_leaves_no_partial_role": "PASS", + "whole_globals_and_database_retry_idempotent": "PASS", + "memory_customer_recall": "PASS", + "behavioral_rule_readback": "PASS", + "credential_decrypt": "PASS", + "issue_readback": "PASS", + "document_content_readback": "PASS", + "code_index_search": "PASS", + "corrupt_archive_rejected": "PASS", + "wrong_vault_key_rejected": "PASS", + "interrupted_restore_atomic_and_retryable": "PASS", + "nonempty_target_rejected": "PASS", + "missing_docker_dependency_error_preserved": "PASS", + "secret_values_absent_from_process_argv_docker_inspect_and_logs": "PASS", + "success_and_failure_cleanup": "PASS" + }, + "runtime_replays": [ + { + "command": "pwsh -NoLogo -NoProfile -File scripts/recovery/verify-postgres-backup-restore.ps1", + "candidate": "f8e2921b6caa0e932b0b3bd71e0cc07b4d26eb94", + "status": "PASS", + "elapsed": "78.3s", + "security_samples": [ + "fixture-seed", + "fixture-assert", + "fixture-assert", + "fixture-assert", + "fixture-assert", + "final" + ] + }, + { + "command": "go test -v -tags=critical ./tests/critical/recovery -count=1", + "passed": 2, + "failed": 0, + "skipped": 0, + "elapsed": "96.7s" + } + ], + "gates": [ + { + "command": "PowerShell parser; focused missing-Docker critical regression; fixture compile", + "status": "PASS" + }, + { + "command": "Docker recovery-prefix residue inventory", + "status": "PASS", + "containers": 0, + "volumes": 0, + "networks": 0, + "temporary_directories": 0 + }, + { + "command": "PowerShell parser; go build ./...; go vet ./...", + "status": "PASS" + }, + { + "command": "GOFLAGS=-tags=critical govulncheck ./tests/critical/recovery ./tests/fixtures/recovery/fixture", + "status": "PASS", + "reachable_vulnerabilities": 0 + }, + { + "command": "gitleaks detect --no-git --source --redact", + "status": "PASS", + "findings": 0 + }, + { + "command": "go test -tags=critical ./tests/critical/... -count=1 -timeout 60m", + "status": "INHERITED_RED", + "recovery_package": "PASS", + "unrelated_failures": [ + "TestCritical_AuthTwoTier/gRPC_accepts_operator_key", + "TestCritical_AuthTwoTier/gRPC_accepts_dashboard-issued_keycard" + ], + "base_reproduction": "go test -tags=critical ./tests/critical -run TestCritical_AuthTwoTier -count=1 at f121f903 reproduced the same project identity metadata invalid failures" + } + ], + "current_sources": [ + "https://www.postgresql.org/docs/17/app-pgdump.html", + "https://www.postgresql.org/docs/17/app-pgrestore.html", + "https://www.postgresql.org/docs/17/app-pg-dumpall.html", + "https://www.postgresql.org/docs/17/app-psql.html" + ], + "toolchain": { + "go": "go1.25.12 windows/amd64", + "powershell": "7.6.1", + "docker_server": "29.1.3", + "gitleaks": "8.30.0", + "govulncheck": "v1.2.0", + "govulndb_updated": "2026-07-08T17:05:00Z" + }, + "security": { + "classification": "S3", + "maker_verdict": "PASS_PENDING_INDEPENDENT_CHECKER", + "secret_channel": "ACL or mode restricted ephemeral files, Docker POSTGRES_PASSWORD_FILE, pgpass content over stdin", + "residual_risk": "independent checker must repeat process and Docker metadata sampling" + }, + "finish_state": "review-needed" +} diff --git a/.agent/reports/evidence/production-ready/release-gates-foundation/critical-suite-runner/sol-synthesis-20260713-observability-r2/commands.json b/.agent/reports/evidence/production-ready/release-gates-foundation/critical-suite-runner/sol-synthesis-20260713-observability-r2/commands.json new file mode 100644 index 00000000..8f07a6c3 --- /dev/null +++ b/.agent/reports/evidence/production-ready/release-gates-foundation/critical-suite-runner/sol-synthesis-20260713-observability-r2/commands.json @@ -0,0 +1,45 @@ +[ + { + "name": "critical-go-test", + "executable": "go", + "arguments": [ + "test", + "-tags=critical", + "-json", + "./tests/critical/...", + "-count=1" + ], + "command": "go test -tags=critical -json ./tests/critical/... -count=1", + "working_directory": ".", + "started_at": "2026-07-13T06:31:26.4494093+00:00", + "finished_at": "2026-07-13T06:35:38.2649340+00:00", + "duration_seconds": 251.816, + "exit_code": 0, + "timed_out": false, + "stdout": ".agent/reports/evidence/production-ready/release-gates-foundation/critical-suite-runner/sol-synthesis-20260713-observability-r2/go-test.stdout.jsonl", + "stderr": ".agent/reports/evidence/production-ready/release-gates-foundation/critical-suite-runner/sol-synthesis-20260713-observability-r2/go-test.stderr.log" + }, + { + "name": "critical-json-parser", + "executable": "pwsh", + "arguments": [ + "-NoProfile", + "-File", + "scripts/production-gates/assert-go-test-json.ps1", + "-InputPath", + ".agent/reports/evidence/production-ready/release-gates-foundation/critical-suite-runner/sol-synthesis-20260713-observability-r2/go-test.stdout.jsonl", + "-SummaryPath", + ".agent/reports/evidence/production-ready/release-gates-foundation/critical-suite-runner/sol-synthesis-20260713-observability-r2/go-test-summary.json", + "-FailOnUnexpectedSkip" + ], + "command": "pwsh -NoProfile -File scripts/production-gates/assert-go-test-json.ps1 -InputPath .agent/reports/evidence/production-ready/release-gates-foundation/critical-suite-runner/sol-synthesis-20260713-observability-r2/go-test.stdout.jsonl -SummaryPath .agent/reports/evidence/production-ready/release-gates-foundation/critical-suite-runner/sol-synthesis-20260713-observability-r2/go-test-summary.json -FailOnUnexpectedSkip", + "working_directory": ".", + "started_at": "2026-07-13T06:35:38.2926852+00:00", + "finished_at": "2026-07-13T06:35:38.9170430+00:00", + "duration_seconds": 0.624, + "exit_code": 0, + "timed_out": false, + "stdout": ".agent/reports/evidence/production-ready/release-gates-foundation/critical-suite-runner/sol-synthesis-20260713-observability-r2/json-parser.stdout.log", + "stderr": ".agent/reports/evidence/production-ready/release-gates-foundation/critical-suite-runner/sol-synthesis-20260713-observability-r2/json-parser.stderr.log" + } +] diff --git a/.agent/reports/evidence/production-ready/release-gates-foundation/critical-suite-runner/sol-synthesis-20260713-observability-r2/go-test-summary.json b/.agent/reports/evidence/production-ready/release-gates-foundation/critical-suite-runner/sol-synthesis-20260713-observability-r2/go-test-summary.json new file mode 100644 index 00000000..29ad4cc1 --- /dev/null +++ b/.agent/reports/evidence/production-ready/release-gates-foundation/critical-suite-runner/sol-synthesis-20260713-observability-r2/go-test-summary.json @@ -0,0 +1,1670 @@ +{ + "schema_version": 1, + "verdict": "PASS", + "input_path": ".agent/reports/evidence/production-ready/release-gates-foundation/critical-suite-runner/sol-synthesis-20260713-observability-r2/go-test.stdout.jsonl", + "fail_on_unexpected_skip": true, + "allowed_skip_identities": [], + "counts": { + "packages": 3, + "tests": 203, + "passed": 203, + "failed": 0, + "skipped": 0, + "no_tests": 0, + "zero_tests": 0, + "incomplete": 0, + "unexpected_skips": 0, + "malformed_lines": 0 + }, + "packages": [ + { + "package": "github.com/thebtf/engram/tests/critical", + "outcome": "pass", + "elapsed_seconds": 4.753, + "last_output": "ok \tgithub.com/thebtf/engram/tests/critical\t4.753s", + "tests_observed": 8 + }, + { + "package": "github.com/thebtf/engram/tests/critical/recovery", + "outcome": "pass", + "elapsed_seconds": 118.176, + "last_output": "ok \tgithub.com/thebtf/engram/tests/critical/recovery\t118.176s", + "tests_observed": 5 + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "outcome": "pass", + "elapsed_seconds": 249.431, + "last_output": "ok \tgithub.com/thebtf/engram/tests/critical/runtime\t249.430s", + "tests_observed": 190 + } + ], + "tests": [ + { + "package": "github.com/thebtf/engram/tests/critical", + "test": "TestCritical_AuthTwoTier", + "outcome": "pass", + "elapsed_seconds": 0.01, + "last_output": "--- PASS: TestCritical_AuthTwoTier (0.01s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical", + "test": "TestCritical_AuthTwoTier/anti-stub:_stubbed_validator_flips_success_assertions", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCritical_AuthTwoTier/anti-stub:_stubbed_validator_flips_success_assertions (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical", + "test": "TestCritical_AuthTwoTier/gRPC_accepts_dashboard-issued_keycard", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCritical_AuthTwoTier/gRPC_accepts_dashboard-issued_keycard (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical", + "test": "TestCritical_AuthTwoTier/gRPC_accepts_operator_key", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCritical_AuthTwoTier/gRPC_accepts_operator_key (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical", + "test": "TestCritical_AuthTwoTier/gRPC_rejects_garbage_bearer", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCritical_AuthTwoTier/gRPC_rejects_garbage_bearer (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical", + "test": "TestCritical_AuthTwoTier/gRPC_rejects_missing_bearer", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCritical_AuthTwoTier/gRPC_rejects_missing_bearer (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical", + "test": "TestCritical_AuthTwoTier/HTTP_bearer_arm:_master_+_keycard_accepted,_garbage_rejected", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCritical_AuthTwoTier/HTTP_bearer_arm:_master_+_keycard_accepted,_garbage_rejected (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical", + "test": "TestSessionStartAndDocumentQueries_DoNotExposeSiblingProjectsOrPaths", + "outcome": "pass", + "elapsed_seconds": 4.62, + "last_output": "--- PASS: TestSessionStartAndDocumentQueries_DoNotExposeSiblingProjectsOrPaths (4.62s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/recovery", + "test": "TestOperatorCanRestorePostgresBackup_RecoversDurableEngramDataAndRejectsUnsafeRestores", + "outcome": "pass", + "elapsed_seconds": 91.16, + "last_output": "--- PASS: TestOperatorCanRestorePostgresBackup_RecoversDurableEngramDataAndRejectsUnsafeRestores (91.16s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/recovery", + "test": "TestOperatorRecoveryMissingDockerPreservesActionableDependencyError", + "outcome": "pass", + "elapsed_seconds": 0.65, + "last_output": "--- PASS: TestOperatorRecoveryMissingDockerPreservesActionableDependencyError (0.65s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/recovery", + "test": "TestOperatorRecoveryScavengesKilledRunWithoutTouchingLiveOwner", + "outcome": "pass", + "elapsed_seconds": 15.57, + "last_output": "--- PASS: TestOperatorRecoveryScavengesKilledRunWithoutTouchingLiveOwner (15.57s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/recovery", + "test": "TestPreV5UpgradeBehavior", + "outcome": "pass", + "elapsed_seconds": 10.47, + "last_output": "--- PASS: TestPreV5UpgradeBehavior (10.47s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/recovery", + "test": "TestPreV5UpgradeFixtureProvenance", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestPreV5UpgradeFixtureProvenance (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard", + "outcome": "pass", + "elapsed_seconds": 46.81, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard (46.81s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/canonical_release_version_and_hostile_Git_refs", + "outcome": "pass", + "elapsed_seconds": 7.66, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/canonical_release_version_and_hostile_Git_refs (7.66s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/canonical_release_version_and_hostile_Git_refs/accept_v0.0.0", + "outcome": "pass", + "elapsed_seconds": 0.65, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/canonical_release_version_and_hostile_Git_refs/accept_v0.0.0 (0.65s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/canonical_release_version_and_hostile_Git_refs/accept_v1.2.3", + "outcome": "pass", + "elapsed_seconds": 0.58, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/canonical_release_version_and_hostile_Git_refs/accept_v1.2.3 (0.58s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/canonical_release_version_and_hostile_Git_refs/accept_v1.2.3-alpha-1.2", + "outcome": "pass", + "elapsed_seconds": 0.57, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/canonical_release_version_and_hostile_Git_refs/accept_v1.2.3-alpha-1.2 (0.57s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/canonical_release_version_and_hostile_Git_refs/accept_v6.43.0-rc.1", + "outcome": "pass", + "elapsed_seconds": 0.64, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/canonical_release_version_and_hostile_Git_refs/accept_v6.43.0-rc.1 (0.64s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/canonical_release_version_and_hostile_Git_refs/reject_7630312e322e33", + "outcome": "pass", + "elapsed_seconds": 0.65, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/canonical_release_version_and_hostile_Git_refs/reject_7630312e322e33 (0.65s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/canonical_release_version_and_hostile_Git_refs/reject_763124287072696e7466247b4946537d494e4a454354454429", + "outcome": "pass", + "elapsed_seconds": 0.64, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/canonical_release_version_and_hostile_Git_refs/reject_763124287072696e7466247b4946537d494e4a454354454429 (0.64s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/canonical_release_version_and_hostile_Git_refs/reject_76312e30322e33", + "outcome": "pass", + "elapsed_seconds": 0.56, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/canonical_release_version_and_hostile_Git_refs/reject_76312e30322e33 (0.56s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/canonical_release_version_and_hostile_Git_refs/reject_76312e32", + "outcome": "pass", + "elapsed_seconds": 0.47, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/canonical_release_version_and_hostile_Git_refs/reject_76312e32 (0.47s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/canonical_release_version_and_hostile_Git_refs/reject_76312e322e3033", + "outcome": "pass", + "elapsed_seconds": 0.54, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/canonical_release_version_and_hostile_Git_refs/reject_76312e322e3033 (0.54s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/canonical_release_version_and_hostile_Git_refs/reject_76312e322e3320", + "outcome": "pass", + "elapsed_seconds": 0.51, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/canonical_release_version_and_hostile_Git_refs/reject_76312e322e3320 (0.51s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/canonical_release_version_and_hostile_Git_refs/reject_76312e322e332b6275696c64", + "outcome": "pass", + "elapsed_seconds": 0.67, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/canonical_release_version_and_hostile_Git_refs/reject_76312e322e332b6275696c64 (0.67s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/canonical_release_version_and_hostile_Git_refs/reject_76312e322e332d3031", + "outcome": "pass", + "elapsed_seconds": 0.69, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/canonical_release_version_and_hostile_Git_refs/reject_76312e322e332d3031 (0.69s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/canonical_release_version_and_hostile_Git_refs/reject_76312e322e333b6563686f2d494e4a4543544544", + "outcome": "pass", + "elapsed_seconds": 0.5, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/canonical_release_version_and_hostile_Git_refs/reject_76312e322e333b6563686f2d494e4a4543544544 (0.50s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/movement_before_and_after_old_guard", + "outcome": "pass", + "elapsed_seconds": 1.69, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/movement_before_and_after_old_guard (1.69s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/Nuxt_UI_credential-form_advisory_remains_unreachable", + "outcome": "pass", + "elapsed_seconds": 0.04, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/Nuxt_UI_credential-form_advisory_remains_unreachable (0.04s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/operator_compose_build_receives_exact_source_version", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/operator_compose_build_receives_exact_source_version (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/operator_native_optional_tree_is_verified", + "outcome": "pass", + "elapsed_seconds": 0.13, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/operator_native_optional_tree_is_verified (0.13s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/registry_compare-before-write_matrix", + "outcome": "pass", + "elapsed_seconds": 2.56, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/registry_compare-before-write_matrix (2.56s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/registry_compare-before-write_matrix/all_destinations_absent", + "outcome": "pass", + "elapsed_seconds": 0.63, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/registry_compare-before-write_matrix/all_destinations_absent (0.63s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/registry_compare-before-write_matrix/existing_registry_mismatch", + "outcome": "pass", + "elapsed_seconds": 0.66, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/registry_compare-before-write_matrix/existing_registry_mismatch (0.66s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/registry_compare-before-write_matrix/idempotent_exact_protected_tag", + "outcome": "pass", + "elapsed_seconds": 0.61, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/registry_compare-before-write_matrix/idempotent_exact_protected_tag (0.61s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/registry_compare-before-write_matrix/same_release_different_image", + "outcome": "pass", + "elapsed_seconds": 0.65, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/registry_compare-before-write_matrix/same_release_different_image (0.65s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/repository_controlled_single_writer", + "outcome": "pass", + "elapsed_seconds": 0.06, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/repository_controlled_single_writer (0.06s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/same-run_immutable_artifact_bridge_matrix", + "outcome": "pass", + "elapsed_seconds": 12.06, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/same-run_immutable_artifact_bridge_matrix (12.06s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/same-run_immutable_artifact_bridge_matrix/metadata_artifact_digest_mismatch", + "outcome": "pass", + "elapsed_seconds": 0.52, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/same-run_immutable_artifact_bridge_matrix/metadata_artifact_digest_mismatch (0.52s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/same-run_immutable_artifact_bridge_matrix/metadata_artifact_expired", + "outcome": "pass", + "elapsed_seconds": 0.53, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/same-run_immutable_artifact_bridge_matrix/metadata_artifact_expired (0.53s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/same-run_immutable_artifact_bridge_matrix/metadata_artifact_from_another_workflow_run", + "outcome": "pass", + "elapsed_seconds": 0.55, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/same-run_immutable_artifact_bridge_matrix/metadata_artifact_from_another_workflow_run (0.55s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/same-run_immutable_artifact_bridge_matrix/metadata_artifact_id_mismatch", + "outcome": "pass", + "elapsed_seconds": 0.52, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/same-run_immutable_artifact_bridge_matrix/metadata_artifact_id_mismatch (0.52s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/same-run_immutable_artifact_bridge_matrix/metadata_duplicate_expected_name", + "outcome": "pass", + "elapsed_seconds": 0.5, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/same-run_immutable_artifact_bridge_matrix/metadata_duplicate_expected_name (0.50s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/same-run_immutable_artifact_bridge_matrix/metadata_extra_artifact", + "outcome": "pass", + "elapsed_seconds": 0.52, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/same-run_immutable_artifact_bridge_matrix/metadata_extra_artifact (0.52s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/same-run_immutable_artifact_bridge_matrix/metadata_missing_artifact", + "outcome": "pass", + "elapsed_seconds": 0.5, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/same-run_immutable_artifact_bridge_matrix/metadata_missing_artifact (0.50s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/same-run_immutable_artifact_bridge_matrix/metadata_one_exact_same-run_immutable_artifact", + "outcome": "pass", + "elapsed_seconds": 0.45, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/same-run_immutable_artifact_bridge_matrix/metadata_one_exact_same-run_immutable_artifact (0.45s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/same-run_immutable_artifact_bridge_matrix/payload_archive_checksum_mismatch", + "outcome": "pass", + "elapsed_seconds": 0.79, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/same-run_immutable_artifact_bridge_matrix/payload_archive_checksum_mismatch (0.79s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/same-run_immutable_artifact_bridge_matrix/payload_exact_regular-file_envelope", + "outcome": "pass", + "elapsed_seconds": 0.83, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/same-run_immutable_artifact_bridge_matrix/payload_exact_regular-file_envelope (0.83s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/same-run_immutable_artifact_bridge_matrix/payload_extra_file", + "outcome": "pass", + "elapsed_seconds": 0.72, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/same-run_immutable_artifact_bridge_matrix/payload_extra_file (0.72s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/same-run_immutable_artifact_bridge_matrix/payload_immutable_commit_identity", + "outcome": "pass", + "elapsed_seconds": 1.22, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/same-run_immutable_artifact_bridge_matrix/payload_immutable_commit_identity (1.22s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/same-run_immutable_artifact_bridge_matrix/payload_link_inside_outer_image_archive", + "outcome": "pass", + "elapsed_seconds": 0.93, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/same-run_immutable_artifact_bridge_matrix/payload_link_inside_outer_image_archive (0.93s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/same-run_immutable_artifact_bridge_matrix/payload_manifest_commit_mismatch", + "outcome": "pass", + "elapsed_seconds": 0.87, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/same-run_immutable_artifact_bridge_matrix/payload_manifest_commit_mismatch (0.87s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/same-run_immutable_artifact_bridge_matrix/payload_path_traversal_in_bundle", + "outcome": "pass", + "elapsed_seconds": 0.79, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/same-run_immutable_artifact_bridge_matrix/payload_path_traversal_in_bundle (0.79s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/same-run_immutable_artifact_bridge_matrix/payload_path_traversal_inside_image_archive", + "outcome": "pass", + "elapsed_seconds": 0.86, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/same-run_immutable_artifact_bridge_matrix/payload_path_traversal_inside_image_archive (0.86s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/same-run_immutable_artifact_bridge_matrix/payload_symlink_entry", + "outcome": "pass", + "elapsed_seconds": 0.96, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/same-run_immutable_artifact_bridge_matrix/payload_symlink_entry (0.96s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/tag_ruleset_positive_and_negative_matrix", + "outcome": "pass", + "elapsed_seconds": 6.1, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/tag_ruleset_positive_and_negative_matrix (6.10s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/tag_ruleset_positive_and_negative_matrix/bypass", + "outcome": "pass", + "elapsed_seconds": 0.66, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/tag_ruleset_positive_and_negative_matrix/bypass (0.66s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/tag_ruleset_positive_and_negative_matrix/disabled", + "outcome": "pass", + "elapsed_seconds": 0.52, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/tag_ruleset_positive_and_negative_matrix/disabled (0.52s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/tag_ruleset_positive_and_negative_matrix/duplicate", + "outcome": "pass", + "elapsed_seconds": 0.57, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/tag_ruleset_positive_and_negative_matrix/duplicate (0.57s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/tag_ruleset_positive_and_negative_matrix/exact_active_immutable_namespace", + "outcome": "pass", + "elapsed_seconds": 0.58, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/tag_ruleset_positive_and_negative_matrix/exact_active_immutable_namespace (0.58s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/tag_ruleset_positive_and_negative_matrix/exclusion", + "outcome": "pass", + "elapsed_seconds": 0.78, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/tag_ruleset_positive_and_negative_matrix/exclusion (0.78s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/tag_ruleset_positive_and_negative_matrix/missing", + "outcome": "pass", + "elapsed_seconds": 0.57, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/tag_ruleset_positive_and_negative_matrix/missing (0.57s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/tag_ruleset_positive_and_negative_matrix/missing_deletion", + "outcome": "pass", + "elapsed_seconds": 0.67, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/tag_ruleset_positive_and_negative_matrix/missing_deletion (0.67s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/tag_ruleset_positive_and_negative_matrix/missing_non_fast_forward", + "outcome": "pass", + "elapsed_seconds": 0.59, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/tag_ruleset_positive_and_negative_matrix/missing_non_fast_forward (0.59s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/tag_ruleset_positive_and_negative_matrix/wrong_include", + "outcome": "pass", + "elapsed_seconds": 0.66, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/tag_ruleset_positive_and_negative_matrix/wrong_include (0.66s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/tag_ruleset_positive_and_negative_matrix/wrong_target", + "outcome": "pass", + "elapsed_seconds": 0.5, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/tag_ruleset_positive_and_negative_matrix/wrong_target (0.50s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix", + "outcome": "pass", + "elapsed_seconds": 15.25, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix (15.25s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/additional_non-authority_status_check_is_allowed", + "outcome": "pass", + "elapsed_seconds": 0.61, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/additional_non-authority_status_check_is_allowed (0.61s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/authority_guard_duplicate_context", + "outcome": "pass", + "elapsed_seconds": 0.59, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/authority_guard_duplicate_context (0.59s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/authority_guard_missing_integration_id", + "outcome": "pass", + "elapsed_seconds": 0.75, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/authority_guard_missing_integration_id (0.75s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/authority_guard_string_integration_id", + "outcome": "pass", + "elapsed_seconds": 0.6, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/authority_guard_string_integration_id (0.60s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/authority_guard_wrong_integration_id", + "outcome": "pass", + "elapsed_seconds": 0.64, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/authority_guard_wrong_integration_id (0.64s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/event_action_is_not_completed", + "outcome": "pass", + "elapsed_seconds": 0.55, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/event_action_is_not_completed (0.55s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/event_api_sha_mismatch", + "outcome": "pass", + "elapsed_seconds": 0.49, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/event_api_sha_mismatch (0.49s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/exact_protected_release_provenance", + "outcome": "pass", + "elapsed_seconds": 0.68, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/exact_protected_release_provenance (0.68s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/fork_head_repository", + "outcome": "pass", + "elapsed_seconds": 0.6, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/fork_head_repository (0.60s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/hostile_shell-like_tag", + "outcome": "pass", + "elapsed_seconds": 0.51, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/hostile_shell-like_tag (0.51s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/inactive_trusted_workflow", + "outcome": "pass", + "elapsed_seconds": 0.49, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/inactive_trusted_workflow (0.49s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/manual_dispatch_spoof", + "outcome": "pass", + "elapsed_seconds": 0.52, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/manual_dispatch_spoof (0.52s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/missing_immutable_tag_ruleset", + "outcome": "pass", + "elapsed_seconds": 0.5, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/missing_immutable_tag_ruleset (0.50s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/missing_protected_main_ruleset", + "outcome": "pass", + "elapsed_seconds": 0.55, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/missing_protected_main_ruleset (0.55s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/noncanonical_tag", + "outcome": "pass", + "elapsed_seconds": 0.55, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/noncanonical_tag (0.55s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/recovery_bypass_always", + "outcome": "pass", + "elapsed_seconds": 0.57, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/recovery_bypass_always (0.57s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/recovery_bypass_duplicated", + "outcome": "pass", + "elapsed_seconds": 0.57, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/recovery_bypass_duplicated (0.57s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/recovery_bypass_missing", + "outcome": "pass", + "elapsed_seconds": 0.56, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/recovery_bypass_missing (0.56s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/run_failed", + "outcome": "pass", + "elapsed_seconds": 0.52, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/run_failed (0.52s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/run_id_event_api_mismatch", + "outcome": "pass", + "elapsed_seconds": 0.59, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/run_id_event_api_mismatch (0.59s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/tag_commit_outside_protected_main", + "outcome": "pass", + "elapsed_seconds": 0.52, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/tag_commit_outside_protected_main (0.52s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/tag_peel_mismatch", + "outcome": "pass", + "elapsed_seconds": 0.54, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/tag_peel_mismatch (0.54s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/trusted_output_rejects_symlink_or_reparse_escape", + "outcome": "pass", + "elapsed_seconds": 1.18, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/trusted_output_rejects_symlink_or_reparse_escape (1.18s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/trusted_workflow_id_spoof", + "outcome": "pass", + "elapsed_seconds": 0.5, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/trusted_workflow_id_spoof (0.50s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/workflow_id_event_api_mismatch", + "outcome": "pass", + "elapsed_seconds": 0.59, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/workflow_id_event_api_mismatch (0.59s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/workflow_path_spoof", + "outcome": "pass", + "elapsed_seconds": 0.48, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/workflow_path_spoof (0.48s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/workflow_run_publisher_selector_matrix", + "outcome": "pass", + "elapsed_seconds": 0.49, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/workflow_run_publisher_selector_matrix (0.49s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/workflow_run_publisher_selector_matrix/cancelled_tag_push_skips", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/workflow_run_publisher_selector_matrix/cancelled_tag_push_skips (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/workflow_run_publisher_selector_matrix/failed_tag_push_skips", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/workflow_run_publisher_selector_matrix/failed_tag_push_skips (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/workflow_run_publisher_selector_matrix/hostile_pull_request_lookalike_skips", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/workflow_run_publisher_selector_matrix/hostile_pull_request_lookalike_skips (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/workflow_run_publisher_selector_matrix/hostile_tag-shaped_push_still_fails_closed_in_preflight", + "outcome": "pass", + "elapsed_seconds": 0.49, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/workflow_run_publisher_selector_matrix/hostile_tag-shaped_push_still_fails_closed_in_preflight (0.49s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/workflow_run_publisher_selector_matrix/successful_main_push_skips", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/workflow_run_publisher_selector_matrix/successful_main_push_skips (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/workflow_run_publisher_selector_matrix/successful_pull_request_skips", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/workflow_run_publisher_selector_matrix/successful_pull_request_skips (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestDockerReleaseRefFreshnessGuard/workflow_run_publisher_selector_matrix/successful_tag-shaped_push_enters", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestDockerReleaseRefFreshnessGuard/workflow_run_publisher_selector_matrix/successful_tag-shaped_push_enters (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestOperatorConsoleRuntimeTargetContract", + "outcome": "pass", + "elapsed_seconds": 63.9, + "last_output": "--- PASS: TestOperatorConsoleRuntimeTargetContract (63.90s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestOperatorConsoleRuntimeTargetContract/backend_error-200_never_becomes_healthy", + "outcome": "pass", + "elapsed_seconds": 5.19, + "last_output": "--- PASS: TestOperatorConsoleRuntimeTargetContract/backend_error-200_never_becomes_healthy (5.19s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestOperatorConsoleRuntimeTargetContract/backend_malformed_never_becomes_healthy", + "outcome": "pass", + "elapsed_seconds": 4.96, + "last_output": "--- PASS: TestOperatorConsoleRuntimeTargetContract/backend_malformed_never_becomes_healthy (4.96s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestOperatorConsoleRuntimeTargetContract/backend_root-only_never_becomes_healthy", + "outcome": "pass", + "elapsed_seconds": 5.23, + "last_output": "--- PASS: TestOperatorConsoleRuntimeTargetContract/backend_root-only_never_becomes_healthy (5.23s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestOperatorConsoleRuntimeTargetContract/backend_timeout_never_becomes_healthy", + "outcome": "pass", + "elapsed_seconds": 4.95, + "last_output": "--- PASS: TestOperatorConsoleRuntimeTargetContract/backend_timeout_never_becomes_healthy (4.95s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestPostgresImageContract", + "outcome": "pass", + "elapsed_seconds": 52.17, + "last_output": "--- PASS: TestPostgresImageContract (52.17s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestPostgresImageContract/tmpfs-only_data_is_not_durable", + "outcome": "pass", + "elapsed_seconds": 15.7, + "last_output": "--- PASS: TestPostgresImageContract/tmpfs-only_data_is_not_durable (15.70s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestPostgresImageContract/wrong_locale_never_becomes_ready", + "outcome": "pass", + "elapsed_seconds": 1.09, + "last_output": "--- PASS: TestPostgresImageContract/wrong_locale_never_becomes_ready (1.09s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract", + "outcome": "pass", + "elapsed_seconds": 85.87, + "last_output": "--- PASS: TestServerImageContract (85.87s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/absent-volume_fails_closed", + "outcome": "pass", + "elapsed_seconds": 4.25, + "last_output": "--- PASS: TestServerImageContract/absent-volume_fails_closed (4.25s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/empty-home_fails_closed", + "outcome": "pass", + "elapsed_seconds": 3.9, + "last_output": "--- PASS: TestServerImageContract/empty-home_fails_closed (3.90s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard", + "outcome": "pass", + "elapsed_seconds": 42.9, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard (42.90s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/canonical_release_version_and_hostile_Git_refs", + "outcome": "pass", + "elapsed_seconds": 6.32, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/canonical_release_version_and_hostile_Git_refs (6.32s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/canonical_release_version_and_hostile_Git_refs/accept_v0.0.0", + "outcome": "pass", + "elapsed_seconds": 0.51, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/canonical_release_version_and_hostile_Git_refs/accept_v0.0.0 (0.51s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/canonical_release_version_and_hostile_Git_refs/accept_v1.2.3", + "outcome": "pass", + "elapsed_seconds": 0.43, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/canonical_release_version_and_hostile_Git_refs/accept_v1.2.3 (0.43s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/canonical_release_version_and_hostile_Git_refs/accept_v1.2.3-alpha-1.2", + "outcome": "pass", + "elapsed_seconds": 0.44, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/canonical_release_version_and_hostile_Git_refs/accept_v1.2.3-alpha-1.2 (0.44s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/canonical_release_version_and_hostile_Git_refs/accept_v6.43.0-rc.1", + "outcome": "pass", + "elapsed_seconds": 0.44, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/canonical_release_version_and_hostile_Git_refs/accept_v6.43.0-rc.1 (0.44s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/canonical_release_version_and_hostile_Git_refs/reject_7630312e322e33", + "outcome": "pass", + "elapsed_seconds": 0.45, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/canonical_release_version_and_hostile_Git_refs/reject_7630312e322e33 (0.45s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/canonical_release_version_and_hostile_Git_refs/reject_763124287072696e7466247b4946537d494e4a454354454429", + "outcome": "pass", + "elapsed_seconds": 0.48, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/canonical_release_version_and_hostile_Git_refs/reject_763124287072696e7466247b4946537d494e4a454354454429 (0.48s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/canonical_release_version_and_hostile_Git_refs/reject_76312e30322e33", + "outcome": "pass", + "elapsed_seconds": 0.5, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/canonical_release_version_and_hostile_Git_refs/reject_76312e30322e33 (0.50s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/canonical_release_version_and_hostile_Git_refs/reject_76312e32", + "outcome": "pass", + "elapsed_seconds": 0.49, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/canonical_release_version_and_hostile_Git_refs/reject_76312e32 (0.49s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/canonical_release_version_and_hostile_Git_refs/reject_76312e322e3033", + "outcome": "pass", + "elapsed_seconds": 0.59, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/canonical_release_version_and_hostile_Git_refs/reject_76312e322e3033 (0.59s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/canonical_release_version_and_hostile_Git_refs/reject_76312e322e3320", + "outcome": "pass", + "elapsed_seconds": 0.55, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/canonical_release_version_and_hostile_Git_refs/reject_76312e322e3320 (0.55s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/canonical_release_version_and_hostile_Git_refs/reject_76312e322e332b6275696c64", + "outcome": "pass", + "elapsed_seconds": 0.48, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/canonical_release_version_and_hostile_Git_refs/reject_76312e322e332b6275696c64 (0.48s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/canonical_release_version_and_hostile_Git_refs/reject_76312e322e332d3031", + "outcome": "pass", + "elapsed_seconds": 0.52, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/canonical_release_version_and_hostile_Git_refs/reject_76312e322e332d3031 (0.52s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/canonical_release_version_and_hostile_Git_refs/reject_76312e322e333b6563686f2d494e4a4543544544", + "outcome": "pass", + "elapsed_seconds": 0.44, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/canonical_release_version_and_hostile_Git_refs/reject_76312e322e333b6563686f2d494e4a4543544544 (0.44s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/movement_before_and_after_old_guard", + "outcome": "pass", + "elapsed_seconds": 1.4, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/movement_before_and_after_old_guard (1.40s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/Nuxt_UI_credential-form_advisory_remains_unreachable", + "outcome": "pass", + "elapsed_seconds": 0.04, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/Nuxt_UI_credential-form_advisory_remains_unreachable (0.04s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/operator_compose_build_receives_exact_source_version", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/operator_compose_build_receives_exact_source_version (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/operator_native_optional_tree_is_verified", + "outcome": "pass", + "elapsed_seconds": 0.09, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/operator_native_optional_tree_is_verified (0.09s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/registry_compare-before-write_matrix", + "outcome": "pass", + "elapsed_seconds": 2.16, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/registry_compare-before-write_matrix (2.16s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/registry_compare-before-write_matrix/all_destinations_absent", + "outcome": "pass", + "elapsed_seconds": 0.58, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/registry_compare-before-write_matrix/all_destinations_absent (0.58s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/registry_compare-before-write_matrix/existing_registry_mismatch", + "outcome": "pass", + "elapsed_seconds": 0.5, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/registry_compare-before-write_matrix/existing_registry_mismatch (0.50s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/registry_compare-before-write_matrix/idempotent_exact_protected_tag", + "outcome": "pass", + "elapsed_seconds": 0.53, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/registry_compare-before-write_matrix/idempotent_exact_protected_tag (0.53s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/registry_compare-before-write_matrix/same_release_different_image", + "outcome": "pass", + "elapsed_seconds": 0.54, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/registry_compare-before-write_matrix/same_release_different_image (0.54s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/repository_controlled_single_writer", + "outcome": "pass", + "elapsed_seconds": 0.06, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/repository_controlled_single_writer (0.06s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/same-run_immutable_artifact_bridge_matrix", + "outcome": "pass", + "elapsed_seconds": 10.99, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/same-run_immutable_artifact_bridge_matrix (10.99s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/same-run_immutable_artifact_bridge_matrix/metadata_artifact_digest_mismatch", + "outcome": "pass", + "elapsed_seconds": 0.47, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/same-run_immutable_artifact_bridge_matrix/metadata_artifact_digest_mismatch (0.47s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/same-run_immutable_artifact_bridge_matrix/metadata_artifact_expired", + "outcome": "pass", + "elapsed_seconds": 0.46, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/same-run_immutable_artifact_bridge_matrix/metadata_artifact_expired (0.46s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/same-run_immutable_artifact_bridge_matrix/metadata_artifact_from_another_workflow_run", + "outcome": "pass", + "elapsed_seconds": 0.51, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/same-run_immutable_artifact_bridge_matrix/metadata_artifact_from_another_workflow_run (0.51s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/same-run_immutable_artifact_bridge_matrix/metadata_artifact_id_mismatch", + "outcome": "pass", + "elapsed_seconds": 0.47, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/same-run_immutable_artifact_bridge_matrix/metadata_artifact_id_mismatch (0.47s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/same-run_immutable_artifact_bridge_matrix/metadata_duplicate_expected_name", + "outcome": "pass", + "elapsed_seconds": 0.58, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/same-run_immutable_artifact_bridge_matrix/metadata_duplicate_expected_name (0.58s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/same-run_immutable_artifact_bridge_matrix/metadata_extra_artifact", + "outcome": "pass", + "elapsed_seconds": 0.52, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/same-run_immutable_artifact_bridge_matrix/metadata_extra_artifact (0.52s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/same-run_immutable_artifact_bridge_matrix/metadata_missing_artifact", + "outcome": "pass", + "elapsed_seconds": 0.48, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/same-run_immutable_artifact_bridge_matrix/metadata_missing_artifact (0.48s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/same-run_immutable_artifact_bridge_matrix/metadata_one_exact_same-run_immutable_artifact", + "outcome": "pass", + "elapsed_seconds": 0.47, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/same-run_immutable_artifact_bridge_matrix/metadata_one_exact_same-run_immutable_artifact (0.47s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/same-run_immutable_artifact_bridge_matrix/payload_archive_checksum_mismatch", + "outcome": "pass", + "elapsed_seconds": 0.77, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/same-run_immutable_artifact_bridge_matrix/payload_archive_checksum_mismatch (0.77s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/same-run_immutable_artifact_bridge_matrix/payload_exact_regular-file_envelope", + "outcome": "pass", + "elapsed_seconds": 0.76, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/same-run_immutable_artifact_bridge_matrix/payload_exact_regular-file_envelope (0.76s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/same-run_immutable_artifact_bridge_matrix/payload_extra_file", + "outcome": "pass", + "elapsed_seconds": 0.78, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/same-run_immutable_artifact_bridge_matrix/payload_extra_file (0.78s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/same-run_immutable_artifact_bridge_matrix/payload_immutable_commit_identity", + "outcome": "pass", + "elapsed_seconds": 0.82, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/same-run_immutable_artifact_bridge_matrix/payload_immutable_commit_identity (0.82s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/same-run_immutable_artifact_bridge_matrix/payload_link_inside_outer_image_archive", + "outcome": "pass", + "elapsed_seconds": 0.93, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/same-run_immutable_artifact_bridge_matrix/payload_link_inside_outer_image_archive (0.93s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/same-run_immutable_artifact_bridge_matrix/payload_manifest_commit_mismatch", + "outcome": "pass", + "elapsed_seconds": 0.73, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/same-run_immutable_artifact_bridge_matrix/payload_manifest_commit_mismatch (0.73s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/same-run_immutable_artifact_bridge_matrix/payload_path_traversal_in_bundle", + "outcome": "pass", + "elapsed_seconds": 0.74, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/same-run_immutable_artifact_bridge_matrix/payload_path_traversal_in_bundle (0.74s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/same-run_immutable_artifact_bridge_matrix/payload_path_traversal_inside_image_archive", + "outcome": "pass", + "elapsed_seconds": 0.75, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/same-run_immutable_artifact_bridge_matrix/payload_path_traversal_inside_image_archive (0.75s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/same-run_immutable_artifact_bridge_matrix/payload_symlink_entry", + "outcome": "pass", + "elapsed_seconds": 0.73, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/same-run_immutable_artifact_bridge_matrix/payload_symlink_entry (0.73s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/tag_ruleset_positive_and_negative_matrix", + "outcome": "pass", + "elapsed_seconds": 5.53, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/tag_ruleset_positive_and_negative_matrix (5.53s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/tag_ruleset_positive_and_negative_matrix/bypass", + "outcome": "pass", + "elapsed_seconds": 0.54, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/tag_ruleset_positive_and_negative_matrix/bypass (0.54s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/tag_ruleset_positive_and_negative_matrix/disabled", + "outcome": "pass", + "elapsed_seconds": 0.6, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/tag_ruleset_positive_and_negative_matrix/disabled (0.60s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/tag_ruleset_positive_and_negative_matrix/duplicate", + "outcome": "pass", + "elapsed_seconds": 0.55, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/tag_ruleset_positive_and_negative_matrix/duplicate (0.55s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/tag_ruleset_positive_and_negative_matrix/exact_active_immutable_namespace", + "outcome": "pass", + "elapsed_seconds": 0.46, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/tag_ruleset_positive_and_negative_matrix/exact_active_immutable_namespace (0.46s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/tag_ruleset_positive_and_negative_matrix/exclusion", + "outcome": "pass", + "elapsed_seconds": 0.59, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/tag_ruleset_positive_and_negative_matrix/exclusion (0.59s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/tag_ruleset_positive_and_negative_matrix/missing", + "outcome": "pass", + "elapsed_seconds": 0.57, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/tag_ruleset_positive_and_negative_matrix/missing (0.57s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/tag_ruleset_positive_and_negative_matrix/missing_deletion", + "outcome": "pass", + "elapsed_seconds": 0.56, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/tag_ruleset_positive_and_negative_matrix/missing_deletion (0.56s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/tag_ruleset_positive_and_negative_matrix/missing_non_fast_forward", + "outcome": "pass", + "elapsed_seconds": 0.53, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/tag_ruleset_positive_and_negative_matrix/missing_non_fast_forward (0.53s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/tag_ruleset_positive_and_negative_matrix/wrong_include", + "outcome": "pass", + "elapsed_seconds": 0.61, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/tag_ruleset_positive_and_negative_matrix/wrong_include (0.61s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/tag_ruleset_positive_and_negative_matrix/wrong_target", + "outcome": "pass", + "elapsed_seconds": 0.52, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/tag_ruleset_positive_and_negative_matrix/wrong_target (0.52s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix", + "outcome": "pass", + "elapsed_seconds": 15.09, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix (15.09s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/additional_non-authority_status_check_is_allowed", + "outcome": "pass", + "elapsed_seconds": 0.57, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/additional_non-authority_status_check_is_allowed (0.57s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/authority_guard_duplicate_context", + "outcome": "pass", + "elapsed_seconds": 0.59, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/authority_guard_duplicate_context (0.59s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/authority_guard_missing_integration_id", + "outcome": "pass", + "elapsed_seconds": 0.54, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/authority_guard_missing_integration_id (0.54s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/authority_guard_string_integration_id", + "outcome": "pass", + "elapsed_seconds": 0.59, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/authority_guard_string_integration_id (0.59s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/authority_guard_wrong_integration_id", + "outcome": "pass", + "elapsed_seconds": 0.55, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/authority_guard_wrong_integration_id (0.55s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/event_action_is_not_completed", + "outcome": "pass", + "elapsed_seconds": 0.6, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/event_action_is_not_completed (0.60s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/event_api_sha_mismatch", + "outcome": "pass", + "elapsed_seconds": 0.47, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/event_api_sha_mismatch (0.47s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/exact_protected_release_provenance", + "outcome": "pass", + "elapsed_seconds": 0.57, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/exact_protected_release_provenance (0.57s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/fork_head_repository", + "outcome": "pass", + "elapsed_seconds": 0.49, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/fork_head_repository (0.49s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/hostile_shell-like_tag", + "outcome": "pass", + "elapsed_seconds": 0.46, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/hostile_shell-like_tag (0.46s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/inactive_trusted_workflow", + "outcome": "pass", + "elapsed_seconds": 0.49, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/inactive_trusted_workflow (0.49s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/manual_dispatch_spoof", + "outcome": "pass", + "elapsed_seconds": 0.55, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/manual_dispatch_spoof (0.55s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/missing_immutable_tag_ruleset", + "outcome": "pass", + "elapsed_seconds": 0.61, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/missing_immutable_tag_ruleset (0.61s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/missing_protected_main_ruleset", + "outcome": "pass", + "elapsed_seconds": 0.65, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/missing_protected_main_ruleset (0.65s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/noncanonical_tag", + "outcome": "pass", + "elapsed_seconds": 0.51, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/noncanonical_tag (0.51s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/recovery_bypass_always", + "outcome": "pass", + "elapsed_seconds": 0.64, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/recovery_bypass_always (0.64s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/recovery_bypass_duplicated", + "outcome": "pass", + "elapsed_seconds": 0.73, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/recovery_bypass_duplicated (0.73s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/recovery_bypass_missing", + "outcome": "pass", + "elapsed_seconds": 0.66, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/recovery_bypass_missing (0.66s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/run_failed", + "outcome": "pass", + "elapsed_seconds": 0.54, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/run_failed (0.54s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/run_id_event_api_mismatch", + "outcome": "pass", + "elapsed_seconds": 0.48, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/run_id_event_api_mismatch (0.48s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/tag_commit_outside_protected_main", + "outcome": "pass", + "elapsed_seconds": 0.54, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/tag_commit_outside_protected_main (0.54s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/tag_peel_mismatch", + "outcome": "pass", + "elapsed_seconds": 0.51, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/tag_peel_mismatch (0.51s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/trusted_output_rejects_symlink_or_reparse_escape", + "outcome": "pass", + "elapsed_seconds": 1.29, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/trusted_output_rejects_symlink_or_reparse_escape (1.29s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/trusted_workflow_id_spoof", + "outcome": "pass", + "elapsed_seconds": 0.5, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/trusted_workflow_id_spoof (0.50s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/workflow_id_event_api_mismatch", + "outcome": "pass", + "elapsed_seconds": 0.5, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/workflow_id_event_api_mismatch (0.50s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/workflow_path_spoof", + "outcome": "pass", + "elapsed_seconds": 0.46, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/workflow_run_provenance_and_protected-main_authority_matrix/workflow_path_spoof (0.46s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/workflow_run_publisher_selector_matrix", + "outcome": "pass", + "elapsed_seconds": 0.5, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/workflow_run_publisher_selector_matrix (0.50s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/workflow_run_publisher_selector_matrix/cancelled_tag_push_skips", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/workflow_run_publisher_selector_matrix/cancelled_tag_push_skips (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/workflow_run_publisher_selector_matrix/failed_tag_push_skips", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/workflow_run_publisher_selector_matrix/failed_tag_push_skips (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/workflow_run_publisher_selector_matrix/hostile_pull_request_lookalike_skips", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/workflow_run_publisher_selector_matrix/hostile_pull_request_lookalike_skips (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/workflow_run_publisher_selector_matrix/hostile_tag-shaped_push_still_fails_closed_in_preflight", + "outcome": "pass", + "elapsed_seconds": 0.5, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/workflow_run_publisher_selector_matrix/hostile_tag-shaped_push_still_fails_closed_in_preflight (0.50s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/workflow_run_publisher_selector_matrix/successful_main_push_skips", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/workflow_run_publisher_selector_matrix/successful_main_push_skips (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/workflow_run_publisher_selector_matrix/successful_pull_request_skips", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/workflow_run_publisher_selector_matrix/successful_pull_request_skips (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/release_ref_freshness_guard/workflow_run_publisher_selector_matrix/successful_tag-shaped_push_enters", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestServerImageContract/release_ref_freshness_guard/workflow_run_publisher_selector_matrix/successful_tag-shaped_push_enters (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical/runtime", + "test": "TestServerImageContract/root-owned-volume_fails_closed", + "outcome": "pass", + "elapsed_seconds": 4.9, + "last_output": "--- PASS: TestServerImageContract/root-owned-volume_fails_closed (4.90s)", + "skip_allowed": false + } + ], + "unexpected_skips": [], + "errors": [] +} diff --git a/.agent/reports/evidence/production-ready/release-gates-foundation/critical-suite-runner/sol-synthesis-20260713-observability-r2/summary.json b/.agent/reports/evidence/production-ready/release-gates-foundation/critical-suite-runner/sol-synthesis-20260713-observability-r2/summary.json new file mode 100644 index 00000000..e1e56b5b --- /dev/null +++ b/.agent/reports/evidence/production-ready/release-gates-foundation/critical-suite-runner/sol-synthesis-20260713-observability-r2/summary.json @@ -0,0 +1,38 @@ +{ + "schema_version": 1, + "gate": "critical-suite", + "run_id": "sol-synthesis-20260713-observability-r2", + "started_at": "2026-07-13T06:31:26.3194907+00:00", + "finished_at": "2026-07-13T06:35:38.9613817+00:00", + "duration_seconds": 252.642, + "verdict": "PASS", + "config": { + "path": ".agent/critical-suite.config.yaml", + "sha256": "3F1DF7569119B95A05FD9D61FC0479A79150747B38EFB5A10C45AF511E18268A", + "command": "go test -tags=critical -json ./tests/critical/... -count=1" + }, + "run_pattern": "", + "allowed_skip_identities": null, + "matched_test_files": 6, + "matched_go_files": 6, + "go_test_exit": 0, + "json_parser_exit": 0, + "json_summary": ".agent/reports/evidence/production-ready/release-gates-foundation/critical-suite-runner/sol-synthesis-20260713-observability-r2/go-test-summary.json", + "counts": { + "packages": 3, + "tests": 203, + "passed": 203, + "failed": 0, + "skipped": 0, + "no_tests": 0, + "zero_tests": 0, + "incomplete": 0, + "unexpected_skips": 0, + "malformed_lines": 0 + }, + "child_commands": 2, + "nonzero_child_commands": 0, + "commands": ".agent/reports/evidence/production-ready/release-gates-foundation/critical-suite-runner/sol-synthesis-20260713-observability-r2/commands.json", + "errors": [], + "artifact_directory": ".agent/reports/evidence/production-ready/release-gates-foundation/critical-suite-runner/sol-synthesis-20260713-observability-r2" +} diff --git a/.agent/reports/evidence/production-ready/security-project-identity/SECURITY-PROJECT-IDENTITY-R3-maker-report.md b/.agent/reports/evidence/production-ready/security-project-identity/SECURITY-PROJECT-IDENTITY-R3-maker-report.md new file mode 100644 index 00000000..65da64a1 --- /dev/null +++ b/.agent/reports/evidence/production-ready/security-project-identity/SECURITY-PROJECT-IDENTITY-R3-maker-report.md @@ -0,0 +1,113 @@ +# SECURITY-PROJECT-IDENTITY R3 maker report + +Verdict: **READY_FOR_FRESH_CHECKER** after the atomic maker commit is created. + +- Base: `9e2ce4e58a5cded69660ca9ac532d2167f315bb2` +- Checker evidence reviewed: `774047a3dfcd94de78c9e471fdcf05097aeff532` +- Checker is not an ancestor of this maker branch. +- Branch: `work/prc-security-project-identity-r3` +- Product/test ownership: exactly the nine paths named in the R3 brief. +- Additional writes: existing security-project-identity evidence namespaces plus this report. + +## Closed findings + +### SPI-R2-CHK-001 — strict transport-independent selector validation + +`RegisterAndResolve` now applies one store-local outer-selector validator before +metadata validation and before the nil-database seam. It rejects empty values, +more than 256 bytes, edge whitespace, controls, `..`, internal whitespace, and +characters outside `[A-Za-z0-9_.\\/:-]` as `PROJECT_IDENTITY_INVALID`. + +Direct-store tests prove malformed inputs never reach the database branch. +Default gRPC tests prove `a b` and `../x` become `codes.InvalidArgument` with one +`ErrorInfo` carrying `PROJECT_IDENTITY_INVALID`, domain +`engram.project_identity`, and `regenerate_project_identity_v2`; handler calls +remain zero. Colon, backslash, slash, dot, dash, underscore, and legacy alias +internal whitespace remain compatible. + +### SPI-R2-CHK-002 — complete atomic no-replace anchor publication + +Go, Claude hooks, and OpenClaw now use the same publication protocol: + +1. generate and validate the complete JSON payload; +2. create a random same-directory temporary file with mode `0600`; +3. write, sync, and close the temporary file; +4. atomically hard-link it to the final path, which is a no-replace operation; +5. remove the temporary name; +6. on an existing final path, discard the losing temporary file and read the winner. + +No code path opens the final path for writing. A valid existing anchor remains +byte-identical. A malformed existing anchor remains fail-closed and is never +overwritten. Any create/write/sync/close/publish/cleanup error returns without +claiming an identity. Filesystems without hard-link support fail closed rather +than falling back to an overwrite-capable rename. + +## Verification evidence + +| Gate | Result | +| --- | --- | +| RED store/default-gRPC classification | PASS: reproduced wrong unavailable classification | +| RED Go publication race | PASS: reproduced `decode .engram-project-v2.json: EOF` | +| RED Claude child-process race | PASS: failed on stress round 30 | +| RED OpenClaw child-process race | PASS: failed on stress round 6 | +| Focused store/gRPC/proxy GREEN | PASS | +| Go publication ordinary `-count=30` | PASS | +| Go publication `-race -count=30` | PASS | +| Claude true child-process concurrency, 30 rounds | PASS | +| OpenClaw true child-process concurrency, 30 rounds | PASS | +| Linux Go/Claude/OpenClaw mode `0600`, complete JSON, no temp residue | PASS | +| PostgreSQL 17.10 identity race `-count=10` | PASS; residue 0; ephemeral DB dropped | +| `go test ./... -count=1` | PASS | +| `go vet ./...` | PASS | +| Claude complete hooks | PASS 76/76 | +| OpenClaw build/tests/typecheck | PASS 27/27 | +| Prove-It mutations | PASS; zero survivors | +| Exact path parity | PASS; 14 paths; SHA-256 `341175c6056cfc424a252f7c47bc049b14f393bf419bd095df9a79c6ea77fed1` | +| Proto parity | PASS; zero paths | +| Request-path DDL / v5 demolition guards | PASS; zero added product hits | +| Gitleaks staged scan | PASS; 40.60 KB; no leaks | +| `git diff --check` | PASS | + +## Security review + +Classification: **S2 (medium)**. The changed trust boundaries are externally +supplied selectors and workspace-local anchor files shared by concurrent +processes. Relevant risks are malformed/path-like input, partial-file TOCTOU, +silent replacement of persistent identity, unsafe permissions, and cleanup +residue. SQL construction, authorization, credentials, network requests, +cryptographic algorithms, schema, and migrations are unchanged. + +OWASP A03/A04/A05/A08/A09 checks pass for this delta: selectors are rejected at +the final store boundary; publication is complete-before-visible and +no-replace; failures stay explicit and fail closed; random anchors continue to +use `crypto/rand` / `crypto.randomBytes`; no secret enters source or evidence. +The expected availability tradeoff is explicit: a filesystem that cannot make +same-filesystem hard links returns an error instead of weakening no-replace +atomicity. Security verdict: **PASS, no open finding**. + +## Maker changed-code review + +The staged diff was reviewed tests-first and then across correctness, +validation completeness, readability, architecture, security, and performance. +The review enumerated the store/default-gRPC selector path plus all three anchor +read/write paths. It found no blocking defect. Two readability-only fixes were +applied before the final rerun: hard-link no-replace intent is now documented at +each publication call, and child-process assertion failures serialize their +per-process results instead of emitting opaque `[object Object]` messages. + +No new dependency, schema, public API, background retry, silent clamp, filtered +count, raw-vs-normalized branch, or dormant/demolished call path was introduced. +The final full suites passed after these review fixes. This maker review is not +the independent acceptance verdict; a fresh checker and PM post-run review are +still required. + +## V5 demolition classification + +The touched code is live Project Identity v2 input/filesystem infrastructure. +No graph retrieval stage, cross-encoder reranker, composite/internal-search +scoring pass, SDK observation extraction, direct session-memory path, or +server-side HTTP MCP transport was introduced or restored. + +Fresh independent checker and root post-review remain mandatory. This maker did +not integrate, push, tag, release, modify the primary worktree, or alter role +oracles. diff --git a/.agent/reports/evidence/production-ready/security-project-identity/SECURITY-PROJECT-IDENTITY-R4-maker-report.md b/.agent/reports/evidence/production-ready/security-project-identity/SECURITY-PROJECT-IDENTITY-R4-maker-report.md new file mode 100644 index 00000000..315c8bc0 --- /dev/null +++ b/.agent/reports/evidence/production-ready/security-project-identity/SECURITY-PROJECT-IDENTITY-R4-maker-report.md @@ -0,0 +1,102 @@ +# SECURITY-PROJECT-IDENTITY R4 maker report + +Verdict: **READY FOR FRESH CHECKER AFTER AUTHORITY CORRECTION**. + +R4 closes `SPI-R3-CHK-001` with a permanent Go OS-child acceptance rail. The +revision is test/evidence-only: `internal/proxy/identity.go` remains the exact +target blob `9ecbad17612e7dd4e2ce8c8fed10ee4e041e11c1`, its base-to-R4 diff is empty, +and the useful R3 goroutine tests remain intact. + +Successor note: independent checker +`7d9a771f114c482b174fc240106228dbb2b3b25c` passed the product and permanent +test rail, but returned `REVISE` on `SPI-R4-CHK-001` because the prior target +included one undeclared `.agent/testing/**` path. This direct-child successor +removes that redundant path without changing product, test, or spec evidence. + +## Immutable target and scope + +- Required base: `38344455754fe503acbd79d2134141f996adff7f`. +- Prior checker commit `0d84047c...` is evidence only and is not an ancestor of + the R4 maker branch. +- New permanent test: `internal/proxy/identity_process_test.go`. +- Product, auth, database, protobuf, dependency, release, and v5-demolished + paths are unchanged. + +## Permanent process contract + +Each invocation starts 84 real child processes across seven waves: + +- three fresh first-use waves x 12 children; +- two existing-valid waves x 12 children; +- one existing-malformed wave x 12 children; +- one open delayed-partial-writer wave x 12 children. + +Every child is a distinct `os.Executable()` test process. It emits `READY` and +blocks on stdin. Only after all 12 READY records arrive does the parent close a +single in-process release gate; 12 goroutines then write `G` to the child pipes. +There is no sleep-based synchronization in the committed test. A parent monitor +continuously classifies every visible final file as complete or partial. + +The rail proves: + +1. every fresh wave converges on one strict 128-bit anchor; +2. the parent sees at least one complete final file and zero EOF/zero/partial or + unreadable final-file observations; +3. existing valid bytes remain byte-identical across two process waves; +4. existing malformed bytes fail closed and remain byte-identical; +5. an intentionally partial file remains byte-identical while its writer + descriptor is still open; +6. neither `.engram-project-v2.json.tmp-*` nor `.engram-project.tmp-*` residue + remains; +7. every fresh Linux anchor is mode `0600`; +8. repeat and race executions are deterministic. + +## Anti-stub Prove-It + +A temporary, uncommitted mutation recreated the R2 publication window by making +the final name visible after only half the bytes were written. The focused test +failed with **239 partial/unreadable observations** while the preservation +subtests remained green. The inverse patch was applied immediately; the product +blob returned to `9ecbad17...`, product diff became empty, and GREEN passed. + +## Final verification + +| Gate | Result | +| --- | --- | +| Windows Go 1.25.11 race, exact child-process test, `-count=2` | PASS; 168 children, complete observations 21,377 + 19,801, partial 0 | +| Linux Go 1.25.11, exact child-process test, `-count=2` | PASS; 168 children, complete observations 2,092 + 2,367, partial 0, mode 0600 | +| `go test ./internal/proxy -count=1` | PASS | +| `go test ./... -count=1` with integration DSNs unset | PASS | +| `go vet ./...` | PASS | +| selector compatibility and invalid-selector focused tests | PASS (`:`, `\\`, `/`, `.`, `-`, `_` retained; `..` rejected) | +| `git diff --check` | PASS | +| Prove-It mutation | PASS: expected test failure, 239 partial observations, mutation removed | + +Linux used local immutable image +`golang@sha256:b96f24a8d7d010ea0acb9c3ba99064740f02b6b984612b28bd3c9c5ab9453e38`. +The first `bash -lc` invocation reset PATH and could not find Go; the corrected +command used `/usr/local/go/bin/go` in the same image and passed. This was an +invocation discrepancy with no product impact. + +Detailed machine-readable evidence: + +- `.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R4.red.json` +- `.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R4.prove-it.json` +- `.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R4.verification.json` + +## Artifact hashes + +| Artifact | SHA-256 | Git blob | +| --- | --- | --- | +| `internal/proxy/identity_process_test.go` | `cb85e74ca6b4394b6fd0009418ef765b88dbf8eb1e0376f43ae848e7b18714db` | `6e04140eaf4ce6eff91c3a40010e99ff56460773` | +| `SECURITY-PROJECT-IDENTITY-R4.red.json` | `18d0cde079ab3613d58a77e77b8012ba895c94d3e6b6bee87d2d144047d4d8a9` | `becfba41abcb5bdc1137667f641cad61f154c8b1` | +| `SECURITY-PROJECT-IDENTITY-R4.prove-it.json` | `53dd6b5b79ef1899b0ae3fecc9c180739b808e8fdaf14c0fca2b8c8d98097089` | `408ce7f5c14fb5b127e9b2ff24c5170a97f55849` | +| `SECURITY-PROJECT-IDENTITY-R4.verification.json` | `b45038d290ed8d5c8f5e2b6f1c49d9ca7ff68fa24181a3e6b1608bec08342628` | `453970a0c56002bb94160b8eb898db702b56ec91` | + +The exact cumulative base-to-successor scope contains five paths. Its +LF-sorted, LF-terminated path list has SHA-256 +`ff2385aa04e726c653db0c70a525f3e3957bc91e6bda1e6526fdd63afe5b5b7d`. +`internal/proxy/identity.go` is absent from that list. + +No merge, push, tag, release, database mutation, browser action, or worktree +cleanup was performed. diff --git a/.agent/reports/evidence/production-ready/security-project-identity/maker-contract.md b/.agent/reports/evidence/production-ready/security-project-identity/maker-contract.md new file mode 100644 index 00000000..4829b419 --- /dev/null +++ b/.agent/reports/evidence/production-ready/security-project-identity/maker-contract.md @@ -0,0 +1,193 @@ +# SECURITY-PROJECT-IDENTITY Maker Contract + +Observed at: 2026-07-10T14:28:51.0969752Z + +## Exact implementation boundary + +- Base: `dc891b2d72b1fd63b83e4a630a249241fc389151` +- Branch: `work/prc-security-project-identity` +- Worktree: `D:/Dev/engram/.agent/worktrees/prc-security-project-identity` +- Workspace classification: `already-isolated` +- Finish target: `review-needed` +- Product writes are limited to the owner paths named in the maker brief. +- Primary/integration worktrees, role/session/oracle state, release state, and + non-owned product paths are forbidden. + +## Pre-edit scaffold classification + +| Surface | Classification | Live-code evidence and decision | +| --- | --- | --- | +| `internal/proxy/identity.go:ResolveProjectSlug` | `live` | Called by `internal/handlers/engramcore/slugcache.go`, which is used by both `ProxyTools` and `ProxyHandleTool`; existing Go tests execute git, non-git, worktree, and anchor paths. Preserve the legacy selector contract while adding a separate v2 resolver. | +| Legacy `.engram-project` `{name,id}` handling | `live` | Non-git calls read/create it today. Its six-hex path-derived `id` is not a high-entropy anchor and must never be reclassified as one. Preserve it only as a legacy selector/display-name compatibility surface. | +| Versioned high-entropy non-git anchor | `must-build` | No version, cryptographic random anchor, strict validator, or explicit sharing bit exists in Go, Claude, or OpenClaw. Build an additive `.engram-project-v2.json` contract; old binaries ignore it on rollback. | +| `internal/handlers/engramcore/tools.go` request construction | `live` | Both first `tools/list` and first `tools/call` synchronously reach gRPC. Add full v2 metadata to both without depending on a lifecycle hook. | +| `proto/engram/v1/engram.proto` `Initialize*` / `CallTool*` | `live` | These are the current daemon/server wire messages. V2 metadata and canonical resolution fields are absent and therefore `must-build` additions to live messages. Existing tags remain untouched. | +| `internal/grpcserver/server.go` `Initialize` / `CallTool` | `live` | `CallTool` currently injects the raw selector directly into MCP context before any identity registration. `Initialize` ignores identity entirely. Both must synchronously call `RegisterAndResolve` before handler/data access. | +| `internal/db/gorm/project_store.go:UpsertProject` | `live` | Called by the HTTP context path. It creates a canonical row and appends an alias, but has no full-identity contradiction guard. Keep as a compatibility wrapper, not as the v2 convergence primitive. | +| `internal/db/gorm/project_store.go:ResolveProjectID` | `live` | Called by HTTP and issue paths. Its `LIMIT 1` makes duplicate aliases nondeterministic. V2 uses a new fail-closed resolver that counts all canonical candidates; the legacy wrapper remains for non-v2 callers outside this owner slice. | +| `internal/worker/handlers_context.go` async alias upsert | `live` | The handler resolves first, then launches `UpsertProject` in a goroutine after access has begun. Replace this owned path with synchronous resolve-before-access and an identity-only registration mode. | +| `plugin/engram/hooks/lib.js` identity helpers and `RunHook` | `live` | Every Claude hook constructs this context. Add a v2 generator and make `RunHook` complete identity registration before invoking a handler, so even late hooks are idempotent. | +| `plugin/openclaw-engram/src/identity.ts` | `live` | Current IDs include a repo-name prefix and agent-only fallback and therefore diverge from Go/Claude. Preserve the existing `projectId` as a compatibility selector; add the same full v2 metadata and shared vectors. | +| Proposed `project_identities_v2` persistence | `rejected/unowned` | Current schema governance is `gormigrate` in `internal/db/gorm/migrations.go`, which is outside this maker boundary. Request-time DDL or `AutoMigrate` would make readiness and rollback claims false. V2 therefore uses only the existing `projects` rows and their `git_remote`, `relative_path`, and `legacy_ids` relation. | +| Identity-only HTTP registration | `must-build` | No dedicated route exists in the allowed owner set. Add an `identity_only` request mode to the live `/api/context/inject` route and return the resolved canonical selector before retrieval/mutation. | +| `docs/arch/architecture.md` identity/data-flow description | `pre-demolition-stale` | It still describes a GET hook flow and omits current stdio-daemon/gRPC identity convergence. Use only as a documentation correction target, never as implementation evidence. | +| v5 graph/rerank/server-side HTTP MCP remnants | `pre-demolition-stale` | None is on the selected call path. No graph stage, reranker, removed `internal/search` pass, SDK extraction, or HTTP MCP transport will be restored. | +| `ENGRAM_ENFORCE_SOURCE_PROJECT` authorization checks | `live` | The flag is read in Go and defaults true. It remains an authorization/data-scope guard independent of identity convergence; a selector or resolved canonical ID never creates an authenticated principal or private-access grant. | + +No selected identity scaffold is dormant behind an unset feature flag. + +## Consumer map + +| Consumer | Input dependency | Output dependency | +| --- | --- | --- | +| stdio daemon | `muxcore.ProjectContext` plus local git/non-git metadata | Additive protobuf `ProjectIdentityV2`; resolved canonical is server-owned | +| Claude hooks | hook `cwd` plus v2 anchor file for non-git workspaces | Synchronous identity-only HTTP response updates `context.Project` before the hook handler | +| OpenClaw | `workspaceDir` when available; agent ID remains an agent identity, not a project proof | Existing `projectId` compatibility selector plus optional v2 metadata | +| gRPC server | selector plus optional v2 message | Canonical selector or stable gRPC status details before MCP handler access | +| HTTP context API | selector plus optional v2 JSON object | Canonical selector or stable JSON error before retrieval/mutation | +| PostgreSQL | existing `projects` namespace and metadata/alias relation | Transactionally consistent identity-to-canonical mapping; no request-path DDL | + +## Versioned input contract + +`ProjectIdentityV2` is version `2` and has exactly one source form: + +- Git: non-empty normalized `git_remote` and normalized repository-relative + POSIX `relative_path`; `non_git_anchor` absent and `anchor_shared` absent. +- Non-git: `non_git_anchor` is exactly 32 lowercase hexadecimal characters + generated from 16 bytes of `crypto/rand` / `crypto.randomBytes`; git fields + are absent; `anchor_shared` has explicit presence and is `false` unless a + human intentionally opts into sharing. + +Both forms carry the existing client selector as the outer request `project`, +an optional legacy path alias, and a display name. Empty selectors, unknown +versions, mixed source forms, malformed paths/remotes, weak anchors, and absent +non-git sharing presence are invalid before database mutation. + +Anchor convergence is explicit: + +- identical non-git anchors with `anchor_shared=true` may converge; +- copied anchors with `anchor_shared=false` remain distinct by selector; +- an unshared binding is never silently promoted to shared; +- agent IDs are not accepted as high-entropy project anchors. + +## RegisterAndResolve semantics + +1. Validate the complete request before opening a write transaction. +2. Take transaction-scoped advisory locks for the normalized full identity and + every supplied selector; do not create or migrate schema on the request path. +3. Git identities resolve by the existing `git_remote` + `relative_path` + relation. Non-git identities use a deterministic canonical ID derived from + `(v2, anchor, anchor_shared, selector-when-unshared)` and persist as ordinary + `projects` rows with nil git fields; the raw anchor is not stored. +4. A shared non-git anchor may return an existing explicitly shared binding. +5. A single existing legacy namespace remains canonical when it has not already + been bound to a contradictory full identity. +6. A contradictory full identity receives a separate deterministic v2 + canonical namespace and never merges with the existing binding. +7. A legacy-only request resolves only when zero-or-one canonical candidate + exists. Zero creates the legacy namespace for old-client compatibility; more + than one fails before tenant data mutation. +8. Registration and alias/binding writes commit atomically. Repeated and late + calls are idempotent; concurrent calls converge through database constraints + and transaction locks. + +## Stable error contract + +| Code | Transport | Meaning | Upgrade action | +| --- | --- | --- | --- | +| `PROJECT_IDENTITY_INVALID` | HTTP 400 / gRPC `InvalidArgument` | V2 metadata is malformed or unsupported | `regenerate_project_identity_v2` | +| `PROJECT_IDENTITY_AMBIGUOUS` | HTTP 409 / gRPC `FailedPrecondition` | A legacy-only selector maps to multiple canonical identities | `send_project_identity_v2` | +| `PROJECT_IDENTITY_UNAVAILABLE` | HTTP 503 / gRPC `Unavailable` | Resolver database is unavailable before access | `retry_project_identity_registration` | + +HTTP errors use `{error:{code,message,upgrade_action}}`. gRPC errors use +`google.rpc.ErrorInfo` with the same reason and `upgrade_action` metadata. +Messages are diagnostic; consumers branch on code/reason and action. + +## Authorization invariant and threat model + +Security classification: **S3 (High)** because this change selects tenant data +and can affect private-memory isolation. + +- Spoofing: project metadata never authenticates a principal; existing HTTP and + gRPC bearer validation remains authoritative. +- Tampering: strict source-form/path/anchor validation and transactional binding + prevent malformed or partial convergence. +- Repudiation: stable error codes/actions and persisted binding timestamps make + conflict outcomes observable without logging secrets. +- Information disclosure: the resolver returns only a canonical selector; it + does not enumerate conflicting private projects. +- Denial of service: bounded metadata sizes and indexed/locked keys prevent + unbounded input or process-local race loops. +- Elevation of privilege: selecting, guessing, or resolving a project never + grants private access. Authorization and principal visibility filters run + independently after identity resolution. + +## Compatibility and versioning decision + +- Protobuf classification: `ADDITIVE` and binary wire-safe. Existing field + numbers are unchanged; new fields/messages receive new tags only. +- New client -> old server: old protobuf runtimes ignore unknown fields; the + existing selector remains populated. +- Old client -> new server: absent-v2 resolution remains compatible only while + the selector is unambiguous; ambiguity intentionally fails closed with an + upgrade action. +- New client -> new server: full identity is registered synchronously before + first handler/data access. +- Database: no schema expansion and no request-path DDL. Existing `projects` + rows provide the binding relation; restart reuses their metadata/aliases and + rollback sees ordinary compatible project rows plus ignored protobuf fields. +- Anchor file: `.engram-project-v2.json` is additive; old clients continue using + `.engram-project` and ignore the v2 file. + +Primary-source lookup on 2026-07-10: + +- `https://protobuf.dev/programming-guides/proto3/` returned HTTP 200 and states + that adding fields is binary wire-safe, old binaries ignore new fields, new + binaries parse old messages, and unknown fields are preserved in binary form. +- `https://protobuf.dev/best-practices/dos-donts/` returned HTTP 200 and states + that tag numbers must never be reused and deleted tags should be reserved. +- `https://grpc.io/docs/languages/go/generated-code/` returned HTTP 200 and + documents the `protoc` plus `protoc-gen-go-grpc` generated client/server + interface contract. +- A guessed gRPC versioning guide URL returned HTTP 404. No compatibility claim + is grounded on that missing page; mixed-version behavior will be proven with + this repository's `protoc 34.0`, `protoc-gen-go v1.36.11`, + `protoc-gen-go-grpc v1.6.1`, generated bindings, and executable tests. + +## Verification contract + +- One shared JSON vector corpus is consumed by Go, Claude Node, and OpenClaw + TypeScript tests. +- RED precedes production edits and is recorded under + `.agent/specs/security-project-identity/evidence/`. +- GREEN covers collision/concurrency, contradictory identities, explicit + anchor sharing, first CallTool-before-hook, late/repeated hook registration, + old/new mixed versions, restart, rollback, and fresh migrated DB behavior. +- Prove-It substitutes resolver/generator bodies with sentinels and must produce + failures before restoration. +- Final gates include Go unit/integration/race/repeat, Node tests, TypeScript + build/tests, protobuf regeneration parity, coverage, residue, secret scan, + exact owned-path diff, and a clean atomic commit. + +## Maker self-review corrections + +The post-GREEN behavioral-edge pass found and fixed issues that the first +structural implementation did not prove: + +- old HTTP metadata initially resolved `legacy_project` first and could make it + canonical on a fresh database; the outer `project` is now always canonical and + `legacy_project` is only a conflict-checked alias; +- selector/metadata whitespace and control characters were initially normalized + or accepted; they now fail invalid before database access; +- a soft-deleted deterministic binding could initially receive aliases; active + row predicates now make that collision fail closed without mutation; +- raw PostgreSQL diagnostics initially reached HTTP/gRPC errors; transports now + serialize stable public messages only; +- JavaScript anchor readers initially ignored unknown fields; Go, Claude, and + OpenClaw now enforce the same exact three-field versioned file; +- Claude initially treated every non-HTTP exception as offline; only explicit + network/timeout failures retain offline fallback, while malformed + reached-server responses skip the handler. + +Each correction was preceded by a focused failing regression and is recorded in +the RED/GREEN/Prove-It evidence files. diff --git a/.agent/reports/evidence/production-ready/security-project-identity/openclaw-consumer-map.md b/.agent/reports/evidence/production-ready/security-project-identity/openclaw-consumer-map.md new file mode 100644 index 00000000..3a5bedc5 --- /dev/null +++ b/.agent/reports/evidence/production-ready/security-project-identity/openclaw-consumer-map.md @@ -0,0 +1,109 @@ +# OpenClaw Project Identity v2 propagation gap + +Status update: root authorized the bounded ownership amendment after this map +was produced. The client barrier and all consumers listed below are now wired; +the table remains the pre-change evidence and review checklist. Post-change +residue proof is `22 resolveIdentity call sites == 22 awaited +registerAndResolveProject call sites`, with transport tests covering ordering, +canonical substitution, in-flight/completed dedupe, stable error short-circuit, +config override, session-start, and invalid-bearer negative behavior. + +Observed on base `dc891b2d72b1fd63b83e4a630a249241fc389151` plus the maker's +owned `identity.ts` metadata implementation. This is a read-only consumer map; +no path below was edited outside the accepted ownership slice. + +## Exact gap + +`resolveIdentity()` now returns `projectIdentityV2`, but every live consumer +extracts only `identity.projectId`. `EngramRestClient` has no identity-only +registration method, no canonical-project cache, and no in-flight registration +dedupe. Therefore OpenClaw's first HTTP data access can precede +`RegisterAndResolve` even though the same invariant is already enforced for the +stdio daemon/gRPC path and Claude hooks. + +The earliest normal OpenClaw access is `hooks/session-start.ts`: it resolves the +identity and immediately schedules `client.initSession(...)` without awaiting a +registration. `hooks/before-agent-start.ts` later calls `getContextInject`, but +that request currently sends only `{agent_id,cwd}` and also performs retrieval; +it is not a registration barrier. + +## Client endpoint and request-shape map + +| Client method | Endpoint | Current project/identity shape | Data class | +| --- | --- | --- | --- | +| `getContextInject` | `POST /api/context/inject` | `{agent_id,cwd?}`; no `project`, no v2 metadata | project context read | +| `searchContext` | `POST /api/context/search` | `{project,query,...}`; selector only | project context read | +| `searchDecisions` | `POST /api/decisions/search` | `{project,query,limit?}`; selector only | project decision read | +| `trackSearchMiss` | `POST /api/analytics/search-misses` | `{project,query}`; selector only | project telemetry write | +| `ingestEvent` | `POST /api/events/ingest` | `{session_id,project,tool_*}`; selector only | project event write | +| `backfillSession` | `POST /api/backfill/session` | `{session_id,project,content}`; selector only | project memory write | +| `initSession` | `POST /api/sessions/init` | `{claudeSessionId,project,prompt?}`; selector only | project session write | +| `bulkImport` | `POST /api/observations/bulk-import` | `project` copied from first observation; selector only | project memory write | +| `getFileContext` | `GET /api/context/by-file` | `project` query parameter; selector only | project context read | +| `getTimeline` | `POST /api/context/search` | `{project,mode,...}`; selector only | project context read | +| `storeCredential` | `POST /api/vault/credentials` | `{...,scope,project}`; selector only | private credential write | +| issue methods | `/api/issues...` | optional project/source-project selectors; no v2 | cross-project private read/write | + +`getCredential`, observation-by-ID mutation helpers, session-outcome helpers, +health, and self-check do not accept a project selector. They still rely on +bearer/principal authorization; project identity must not be presented as an +authorization substitute. + +## Every live `resolveIdentity` consumer + +| Consumer | First HTTP operation after identity resolution | Ordering defect | +| --- | --- | --- | +| `src/hooks/session-start.ts:38` | `initSession` (`POST /api/sessions/init`) | fire-and-forget write is scheduled immediately | +| `src/hooks/before-agent-start.ts:47` | `getContextInject` (`POST /api/context/inject`) | retrieval request has only agent ID/cwd | +| `src/hooks/before-prompt-build.ts:60` | `searchContext` | read before registration | +| `src/hooks/before-tool-call.ts:77` | `getFileContext` | read before registration; 500 ms path | +| `src/hooks/after-tool-call.ts:74` | `ingestEvent`, then possible `searchDecisions` | fire-and-forget write before registration | +| `src/hooks/before-compaction.ts:40` | `backfillSession` | fire-and-forget write before registration | +| `src/hooks/session-end.ts:74` | `backfillSession` or `setSessionOutcome` | write before registration | +| `src/commands/remember.ts:38` | `bulkImport` | write before registration | +| `src/index.ts:195` | CLI `searchContext` | read before registration | +| `src/index.ts:218` | CLI `bulkImport` | write before registration | +| `src/services/file-watcher.ts:40` | later `bulkImport` in flush | constructor keeps selector only; metadata is discarded | +| `src/tools/engram-decisions.ts:43` | `searchDecisions` | read before registration | +| `src/tools/engram-find-by-file.ts:49` | `getFileContext` | read before registration | +| `src/tools/engram-issues.ts:190` | create/list/get/update issue by action | private read/write before registration | +| `src/tools/engram-presets.ts:47` | `searchContext` | read before registration | +| `src/tools/engram-remember.ts:77` | `bulkImport` | write before registration | +| `src/tools/engram-search.ts:47` | `searchContext` | read before registration | +| `src/tools/engram-timeline.ts:55` | `getTimeline` | read before registration | +| `src/tools/engram-vault.ts:61` | `storeCredential` or `getCredential` | private access before registration; get has no selector | +| `src/tools/memory-get.ts:58` | optional local-file `bulkImport` | write before registration | +| `src/tools/memory-get.ts:134` | remote `searchContext` | read before registration | +| `src/tools/memory-migrate.ts:169` | batched `bulkImport` | write before registration | + +## Bounded successor/amendment shape + +The smallest end-to-end amendment is: + +1. `src/client.ts`: add an awaited `registerAndResolveProject(identity, + selector)` barrier that sends + `{project,project_identity,identity_only:true}` to + `POST /api/context/inject`, returns `canonical_project`, and deduplicates + concurrent registration with an in-flight promise keyed by full identity. + Stable HTTP error code/action must propagate; no downstream request is sent + after registration failure. +2. Change `getContextInject` to accept the resolved canonical project and send + it explicitly; it remains a retrieval call, not the registration primitive. +3. At every consumer above, await the barrier immediately after + `resolveIdentity()` and before the first client call. Replace every + fire-and-forget first access with `await barrier; void dataCall(...)`. +4. `file-watcher.ts`: retain the full identity in the service and await the + barrier in `start()` before installing/flush-enabling the watcher. +5. Configured `config.project` is the outer compatibility selector. When a + workspace v2 identity exists it is sent with that selector; when workspace + metadata is unavailable, send legacy-only and fail closed if ambiguous. +6. Tests: a fake fetch sequence must prove registration is request 1 and data + access request 2; canonical substitution; concurrent dedupe; late-hook + idempotence; first session-start access; registration-error short circuit; + config-project override; missing-workspace legacy behavior; and that selector + knowledge without a bearer does not authorize private access. + +Likely amended owned paths: `src/client.ts`, the 20 consumer files above, +`test/project-identity-transport.test.mjs`, and any existing hook/client tests +whose request fixtures require the additive registration call. No server schema, +migration, auth, or unrelated OpenClaw behavior needs expansion. diff --git a/.agent/reports/evidence/production-ready/security-project-identity/security-review.md b/.agent/reports/evidence/production-ready/security-project-identity/security-review.md new file mode 100644 index 00000000..bdd156a7 --- /dev/null +++ b/.agent/reports/evidence/production-ready/security-project-identity/security-review.md @@ -0,0 +1,74 @@ +# SECURITY-PROJECT-IDENTITY Security Review + +Classification: **S3 / High**. Project identity selects a tenant namespace and +therefore sits on the path to private data, even though it is deliberately not +an authentication credential. + +## Security invariants + +- HTTP bearer/session middleware and the gRPC auth interceptor execute + independently of project resolution. A known selector, git remote/path, or + non-git anchor never creates a principal or grants private visibility. +- Full metadata is validated before database access. Unknown versions, mixed + source forms, raw-vs-normalized selectors, control characters, traversal, + overlong fields, weak anchors, and absent sharing presence fail with + `PROJECT_IDENTITY_INVALID`. +- Registration takes deterministic transaction-scoped PostgreSQL advisory + locks. Repeated/concurrent calls converge; legacy-only ambiguity counts every + candidate and fails closed rather than selecting `LIMIT 1`. +- The binding key is a 128-bit SHA-256 prefix. Raw non-git anchors are never + written to PostgreSQL, logs, errors, or response payloads. +- Soft-deleted deterministic bindings cannot receive aliases or be silently + revived. Registration returns the stable unavailable contract instead. +- Database diagnostics are not serialized. HTTP and gRPC expose only stable + public messages plus code/reason and `upgrade_action`. +- Every OpenClaw project consumer awaits registration before its first data + operation: 20 files, 22 resolve calls, 22 awaited barriers. Registration + failure permits zero downstream project requests. +- Claude continues its historical offline fallback only for positively + classified transport failures. HTTP failures, malformed reached-server + responses, and other errors are hard barriers and skip the hook handler. + +## STRIDE assessment + +| Threat | Control and executable evidence | +| --- | --- | +| Spoofing | Identity is namespace metadata only. gRPC auth-interceptor and invalid-bearer OpenClaw tests prove selector knowledge does not bypass bearer validation. | +| Tampering | Strict cross-language validation, exact three-field anchor documents, cryptographic generation, transaction locks, and soft-delete collision tests. | +| Repudiation | Stable machine-readable codes/actions make conflict outcomes auditable without logging raw anchors or database internals. | +| Information disclosure | Resolver returns only the canonical selector; ambiguity does not enumerate candidates; DB details and secrets are absent from added lines and transport errors. | +| Denial of service | Metadata is bounded, registration is timeout-controlled, lock keys are bounded/deterministic, and duplicate locks are removed. | +| Elevation of privilege | Principal authorization remains a separate middleware/interceptor and visibility-filter concern after identity resolution. | + +## Compatibility and rollback + +- Protobuf changes are additive; existing tags are unchanged. Regeneration is + byte-reproducible with the recorded toolchain. +- Old clients retain their outer `project` selector. The separate + `legacy_project` field remains an alias and cannot replace the outer canonical + selector on a fresh database. +- New clients to an old server retain the outer selector when additive metadata + or `canonical_project` is unknown. Old clients to a new server fail closed + only when a legacy selector is genuinely ambiguous. +- No migration or request-time DDL was introduced. Rollback binaries see + ordinary `projects` rows and aliases. A rollback also rolls back the new + ambiguity enforcement; operational compatibility is proven, but the security + improvement itself naturally requires the new server binary. + +## Residual risks and deliberate fail-closed behavior + +1. A process crash during first anchor-file write can leave a malformed partial + file. All clients then fail closed until the operator repairs/removes that + file; they never regenerate over an existing malformed identity. +2. A soft-deleted deterministic binding collision returns 503 and requires an + explicit operator lifecycle decision. Silent resurrection was rejected. +3. Identity remains global namespace routing in the existing `projects` table; + confidentiality still depends on the existing bearer/principal visibility + system, as designed and tested. +4. Fresh-database testing surfaced two existing non-fatal migration warnings: + historical migration 040 references the v5-demolished + `observation_vectors`, and migration 109 skips optional vectorscale in a + pgvector-only image. Neither warning changes identity correctness or schema. + +Verdict: **maker security gate PASS; independent checker required before +integration**. diff --git a/.agent/reports/evidence/production-ready/security-project-identity/verification-manifest.md b/.agent/reports/evidence/production-ready/security-project-identity/verification-manifest.md new file mode 100644 index 00000000..0f0d5334 --- /dev/null +++ b/.agent/reports/evidence/production-ready/security-project-identity/verification-manifest.md @@ -0,0 +1,59 @@ +# SECURITY-PROJECT-IDENTITY Verification Manifest + +- Base: `dc891b2d72b1fd63b83e4a630a249241fc389151` +- Branch: `work/prc-security-project-identity` +- Worktree: `D:/Dev/engram/.agent/worktrees/prc-security-project-identity` +- Finish target: `review-needed` +- Candidate commit: intentionally recorded in the maker handoff because a + commit cannot contain its own hash. + +## Delivered contract + +- Shared Project Identity v2 metadata and vectors for Go, Claude, and OpenClaw. +- Strict high-entropy non-git anchor with explicit opt-in sharing. +- Additive gRPC fields and synchronous canonical resolution before handler + dispatch on both Initialize and CallTool. +- Synchronous HTTP identity-only registration before retrieval/mutation. +- PostgreSQL convergence using only the existing `projects` table, advisory + transaction locks, strict ambiguity counting, and no raw-anchor persistence. +- Claude and every OpenClaw consumer enforce a registration barrier before data + access; OpenClaw deduplicates concurrent and late successful registration. +- Stable HTTP/gRPC error code and upgrade-action contracts with sanitized public + diagnostics. +- Architecture documentation corrected for current stdio daemon + gRPC and + HTTP/OpenClaw flows; no v5-demolished path was restored. + +## Auditable artifacts + +- `maker-contract.md` — boundary, classification, API/versioning decision. +- `openclaw-consumer-map.md` — complete pre-change consumer inventory and + post-change 22/22 closure. +- `security-review.md` — S3/STRIDE review and residual risks. +- `.agent/specs/security-project-identity/evidence/project-identity-v2-vectors.json` + — repository-wide cross-language vectors. +- `.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY.red.json` + — initial and edge RED evidence. +- `.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY.green.json` + — final executable gates and toolchain. +- `.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY.prove-it.json` + — mutation failures and restored GREEN. + +## Final gate summary + +| Gate | Result | +| --- | --- | +| `go test ./... -count=1` | PASS | +| `go vet ./...` | PASS | +| targeted `go test -race` | PASS | +| targeted `-count=10` | PASS, residue 0 | +| fresh PostgreSQL 17 migration + DB/HTTP tests | PASS, table present, residue 0, database dropped | +| OpenClaw build/test | PASS 23/23 | +| Claude hook suite | PASS 72/72 | +| protobuf regeneration parity | PASS, byte-identical | +| consumer barrier map | PASS, 20 files / 22 calls / 22 awaits | +| sentinel/schema/raw-anchor/secret/demolition scans | PASS, zero matches | +| `git diff --check` | PASS | + +Status: **READY_FOR_CHECK** after the atomic candidate commit is created. No +push, merge, release, primary-worktree write, role/oracle write, or checker +launch is part of this maker handoff. diff --git a/.agent/reports/evidence/production-ready/t007-compat/T007-COMPAT-DEMOLITION-CLASSIFICATION.red.json b/.agent/reports/evidence/production-ready/t007-compat/T007-COMPAT-DEMOLITION-CLASSIFICATION.red.json new file mode 100644 index 00000000..51d7b79a --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/T007-COMPAT-DEMOLITION-CLASSIFICATION.red.json @@ -0,0 +1,37 @@ +{ + "schema_version": 1, + "task_id": "T007-COMPAT-DEMOLITION-CLASSIFICATION", + "observed_at": "2026-07-11T00:32:41.9518209Z", + "base_sha": "af1ed63536829916e0477be719a30a57a8d9227a", + "test_file": "internal/mcp/store_memory_compat_t007_test.go", + "test_name": "TestEC_F1_TagDerivedBackfill_T007", + "classification": "CURRENT_CONTRACT_TEST_CORRECTION", + "database": { + "identity": "engram_prc_t007_test_red_a4f9c3.public", + "postgres_version": "17.10", + "fresh_database": true, + "sessions_before_drop": 0, + "remaining_database_count": 0 + }, + "environment": { + "ENGRAM_VNEXT_F_ENABLED": "" + }, + "runner": { + "command": "go test -v -p 1 -parallel 1 -count=1 -run '^TestEC_F1_TagDerivedBackfill_T007$' ./internal/mcp", + "exit_code": 1, + "skipped_tests": 0 + }, + "failure_reason": "The SQL assertions proved privacy_scope='global', but the MemoryStore.List assertion searched the flag-off model projection for PrivacyScope='global'; memoryRowToModel intentionally omits that field when ENGRAM_VNEXT_F_ENABLED is not true.", + "runner_stdout_excerpt": [ + "=== RUN TestEC_F1_TagDerivedBackfill_T007", + "Error Trace: store_memory_compat_t007_test.go:157", + "Error: Should be true", + "Messages: global-scoped row must be returned by MemoryStore.List within its own project", + "--- FAIL: TestEC_F1_TagDerivedBackfill_T007 (4.32s)", + "FAIL github.com/thebtf/engram/internal/mcp" + ], + "invalid_preflight_attempt": { + "counted_as_red": false, + "reason": "A malformed PowerShell-interpolated DSN caused a DATABASE_DSN-not-reachable skip; the disposable database was removed with zero sessions and zero residue before this valid RED run." + } +} diff --git a/.agent/reports/evidence/production-ready/t007-compat/T007-COMPAT-DEMOLITION-CLASSIFICATION.tdd.json b/.agent/reports/evidence/production-ready/t007-compat/T007-COMPAT-DEMOLITION-CLASSIFICATION.tdd.json new file mode 100644 index 00000000..170368e3 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/T007-COMPAT-DEMOLITION-CLASSIFICATION.tdd.json @@ -0,0 +1,56 @@ +{ + "schema_version": 1, + "task_id": "T007-COMPAT-DEMOLITION-CLASSIFICATION", + "test_file": "internal/mcp/store_memory_compat_t007_test.go", + "test_name": "TestEC_F1_TagDerivedBackfill_T007", + "red": { + "observed_at": "2026-07-11T00:32:41.9518209Z", + "evidence": "T007-COMPAT-DEMOLITION-CLASSIFICATION.red.json", + "exit_code": 1, + "failed_tests": 1, + "skipped_tests": 0, + "database": "engram_prc_t007_test_red_a4f9c3.public", + "sessions_before_drop": 0, + "remaining_database_count": 0, + "failure_reason": "The old assertion required PrivacyScope on the flag-off model projection." + }, + "green": { + "focused_repeat3": { + "evidence": "t007-maker-focused-repeat3/summary.json", + "verdict": "PASS", + "requested_repeats": 3, + "passed_repeats": 3, + "failed_repeats": 0, + "nonzero_child_commands": 0 + }, + "post_prove_it": { + "evidence": "t007-maker-post-prove-green/summary.json", + "verdict": "PASS", + "passed_repeats": 1, + "failed_repeats": 0 + }, + "race": { + "evidence": "t007-maker-focused-race/summary.json", + "verdict": "PASS", + "race": true, + "passed_repeats": 1, + "failed_repeats": 0 + } + }, + "refactor": { + "applied": false, + "reason": "The accepted correction is already the minimal test-contract change; production code is forbidden and no structural refactor is warranted." + }, + "prove_it": { + "method": "Temporarily restore the old PrivacyScope-based assertion while retaining explicit flag-off execution", + "evidence": "t007-maker-prove-it-old-assertion/summary.json", + "failed_tests": 1, + "skipped_tests": 0, + "cleanup_verdict": "PASS", + "terminated_sessions": 0, + "remaining_database_count": 0, + "intended_file_sha256_before_mutation": "B223366204385AFC4D4F6A4899777C2D6530A5B6420D6869683B6CBF65F4EC21", + "restored_file_sha256": "B223366204385AFC4D4F6A4899777C2D6530A5B6420D6869683B6CBF65F4EC21", + "post_restore_green": true + } +} diff --git a/.agent/reports/evidence/production-ready/t007-compat/classification.json b/.agent/reports/evidence/production-ready/t007-compat/classification.json new file mode 100644 index 00000000..cb448d48 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/classification.json @@ -0,0 +1,25 @@ +{ + "schema_version": 1, + "slice": "T007-COMPAT-DEMOLITION-CLASSIFICATION", + "classified_at": "2026-07-11T00:41:04.2538562Z", + "base_sha": "af1ed63536829916e0477be719a30a57a8d9227a", + "classification": "CURRENT_CONTRACT_TEST_CORRECTION", + "production_change_authorized": false, + "production_change_required": false, + "test_change_authorized": true, + "evidence": { + "test": "internal/mcp/store_memory_compat_t007_test.go: TestEC_F1_TagDerivedBackfill_T007", + "store_path": "internal/db/gorm/memory_store.go: MemoryStore.List -> ListWithFilters -> memoryRowToModel", + "flag_contract": "memoryRowToModel copies PrivacyScope only when ENGRAM_VNEXT_F_ENABLED=true; flag-off intentionally leaves the model field empty for v6.4 response byte identity", + "database_contract": "The test already proves privacy_scope='global' by raw SQL before checking MemoryStore.List visibility", + "invalid_assertion": "The old List assertion searched the flag-off models.Memory projection for PrivacyScope='global', a field intentionally hidden in that mode", + "accepted_correction": "Identify the SQL-proven global fixture in the List result by its exact durable database ID and require its exact content" + }, + "demolition_guard": { + "graph_stage_restored": false, + "cross_encoder_rerank_restored": false, + "internal_search_scoring_restored": false, + "sdk_observation_extraction_restored": false, + "server_http_mcp_transport_restored": false + } +} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/commands.json b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/commands.json new file mode 100644 index 00000000..5056f587 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/commands.json @@ -0,0 +1,445 @@ +[ + { + "name": "go-version", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "version" + ], + "environment_keys": [], + "command": "C:\\Program Files\\Go\\bin\\go.exe version", + "started_at": "2026-07-11T00:39:06.9078354+00:00", + "finished_at": "2026-07-11T00:39:07.1880079+00:00", + "duration_seconds": 0.28, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\go-version.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\go-version.stderr.log" + }, + { + "name": "postgres-container-identity", + "executable": "docker", + "arguments": [ + "inspect", + "--format", + "{{.Name}}|{{.Config.Image}}|{{.Image}}|{{.State.Running}}", + "engram-prc-postgres" + ], + "environment_keys": [], + "command": "docker inspect --format {{.Name}}|{{.Config.Image}}|{{.Image}}|{{.State.Running}} engram-prc-postgres", + "started_at": "2026-07-11T00:39:07.2452855+00:00", + "finished_at": "2026-07-11T00:39:07.6123117+00:00", + "duration_seconds": 0.367, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\postgres-container-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\postgres-container-identity.stderr.log" + }, + { + "name": "postgres-server-identity", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT json_build_object('server_version', current_setting('server_version'), 'server_version_num', current_setting('server_version_num'), 'version', version(), 'max_connections', current_setting('max_connections'), 'superuser_reserved_connections', current_setting('superuser_reserved_connections'), 'reserved_connections', COALESCE(NULLIF(current_setting('reserved_connections', true), ''), '0'), 'current_connections', (SELECT count(*)::text FROM pg_stat_activity), 'database', current_database(), 'schema', current_schema(), 'user', current_user)::text;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT json_build_object('server_version', current_setting('server_version'), 'server_version_num', current_setting('server_version_num'), 'version', version(), 'max_connections', current_setting('max_connections'), 'superuser_reserved_connections', current_setting('superuser_reserved_connections'), 'reserved_connections', COALESCE(NULLIF(current_setting('reserved_connections', true), ''), '0'), 'current_connections', (SELECT count(*)::text FROM pg_stat_activity), 'database', current_database(), 'schema', current_schema(), 'user', current_user)::text;", + "started_at": "2026-07-11T00:39:07.6219628+00:00", + "finished_at": "2026-07-11T00:39:08.3225717+00:00", + "duration_seconds": 0.701, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\postgres-server-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\postgres-server-identity.stderr.log" + }, + { + "name": "repeat-1-create-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "CREATE DATABASE \"engram_prc_rg_test_6479cc98e3e51502_r1\" OWNER \"engram\";" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c CREATE DATABASE \"engram_prc_rg_test_6479cc98e3e51502_r1\" OWNER \"engram\";", + "started_at": "2026-07-11T00:39:08.3647615+00:00", + "finished_at": "2026-07-11T00:39:08.8670959+00:00", + "duration_seconds": 0.502, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\create-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\create-database.stderr.log" + }, + { + "name": "repeat-1-create-pgvector", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_6479cc98e3e51502_r1", + "-At", + "-F", + "|", + "-c", + "CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_6479cc98e3e51502_r1 -At -F | -c CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;", + "started_at": "2026-07-11T00:39:08.8694833+00:00", + "finished_at": "2026-07-11T00:39:09.7675787+00:00", + "duration_seconds": 0.898, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\create-pgvector.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\create-pgvector.stderr.log" + }, + { + "name": "repeat-1-database-identity", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_6479cc98e3e51502_r1", + "-At", + "-F", + "|", + "-c", + "SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_6479cc98e3e51502_r1 -At -F | -c SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;", + "started_at": "2026-07-11T00:39:09.7700802+00:00", + "finished_at": "2026-07-11T00:39:10.1437424+00:00", + "duration_seconds": 0.374, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\database-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\database-identity.stderr.log" + }, + { + "name": "repeat-1-pg-stat-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_6479cc98e3e51502_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_6479cc98e3e51502_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:39:10.1480754+00:00", + "finished_at": "2026-07-11T00:39:10.5181087+00:00", + "duration_seconds": 0.37, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\pg-stat-activity-before.stderr.log" + }, + { + "name": "repeat-1-server-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T00:39:10.5204859+00:00", + "finished_at": "2026-07-11T00:39:11.0525399+00:00", + "duration_seconds": 0.532, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\server-connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\server-connection-count-before.stderr.log" + }, + { + "name": "repeat-1-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_6479cc98e3e51502_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_6479cc98e3e51502_r1';", + "started_at": "2026-07-11T00:39:11.0612914+00:00", + "finished_at": "2026-07-11T00:39:11.4314042+00:00", + "duration_seconds": 0.37, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\connection-count-before.stderr.log" + }, + { + "name": "repeat-1-go-test", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "test", + "-json", + "-p", + "1", + "-parallel", + "1", + "-count=1", + "-timeout", + "30m", + "-covermode=atomic", + "-coverprofile=.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\coverage.out", + "-race", + "-run", + "^TestEC_F1_TagDerivedBackfill_T007$", + "./internal/mcp" + ], + "environment_keys": [ + "DATABASE_DSN", + "DATABASE_MAX_CONNS", + "ENGRAM_RELEASE_GATE_REPEAT", + "ENGRAM_RELEASE_GATE_RUN_ID", + "ENGRAM_TEST_DSN", + "TEST_DATABASE_DSN" + ], + "command": "C:\\Program Files\\Go\\bin\\go.exe test -json -p 1 -parallel 1 -count=1 -timeout 30m -covermode=atomic -coverprofile=.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\coverage.out -race -run ^TestEC_F1_TagDerivedBackfill_T007$ ./internal/mcp", + "started_at": "2026-07-11T00:39:11.4380035+00:00", + "finished_at": "2026-07-11T00:39:32.2030959+00:00", + "duration_seconds": 20.765, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\go-test.stdout.jsonl", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\go-test.stderr.log" + }, + { + "name": "repeat-1-assert-go-test-json", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-current-contract\\scripts\\production-gates\\assert-go-test-json.ps1", + "-InputPath", + ".agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\go-test.stdout.jsonl", + "-SummaryPath", + ".agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\go-test-summary.json", + "-FailOnUnexpectedSkip" + ], + "environment_keys": [], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-current-contract\\scripts\\production-gates\\assert-go-test-json.ps1 -InputPath .agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\go-test.stdout.jsonl -SummaryPath .agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\go-test-summary.json -FailOnUnexpectedSkip", + "started_at": "2026-07-11T00:39:32.2080750+00:00", + "finished_at": "2026-07-11T00:39:32.9871334+00:00", + "duration_seconds": 0.779, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\assert-go-test-json.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\assert-go-test-json.stderr.log" + }, + { + "name": "repeat-1-targeted-coverage-report", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "tool", + "cover", + "-func=.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\coverage.out" + ], + "environment_keys": [], + "command": "C:\\Program Files\\Go\\bin\\go.exe tool cover -func=.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\coverage.out", + "started_at": "2026-07-11T00:39:32.9930427+00:00", + "finished_at": "2026-07-11T00:39:33.4734343+00:00", + "duration_seconds": 0.48, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\targeted-coverage.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\targeted-coverage.stderr.log" + }, + { + "name": "repeat-1-pg-stat-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_6479cc98e3e51502_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_6479cc98e3e51502_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:39:33.4743447+00:00", + "finished_at": "2026-07-11T00:39:33.9388390+00:00", + "duration_seconds": 0.464, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\pg-stat-activity-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\pg-stat-activity-after.stderr.log" + }, + { + "name": "repeat-1-server-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T00:39:33.9413516+00:00", + "finished_at": "2026-07-11T00:39:34.3475495+00:00", + "duration_seconds": 0.406, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\server-connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\server-connection-count-after.stderr.log" + }, + { + "name": "repeat-1-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_6479cc98e3e51502_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_6479cc98e3e51502_r1';", + "started_at": "2026-07-11T00:39:34.3496279+00:00", + "finished_at": "2026-07-11T00:39:34.7295858+00:00", + "duration_seconds": 0.38, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\connection-count-after.stderr.log" + }, + { + "name": "repeat-1-cleanup", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-current-contract\\scripts\\production-gates\\cleanup-db-sessions.ps1", + "-DatabaseName", + "engram_prc_rg_test_6479cc98e3e51502_r1", + "-SchemaName", + "public", + "-ArtifactRoot", + ".agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01", + "-RunId", + "t007-maker-focused-race-repeat-1", + "-PostgresContainer", + "engram-prc-postgres" + ], + "environment_keys": [ + "ENGRAM_TEST_ADMIN_DSN" + ], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-current-contract\\scripts\\production-gates\\cleanup-db-sessions.ps1 -DatabaseName engram_prc_rg_test_6479cc98e3e51502_r1 -SchemaName public -ArtifactRoot .agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01 -RunId t007-maker-focused-race-repeat-1 -PostgresContainer engram-prc-postgres", + "started_at": "2026-07-11T00:39:34.7335757+00:00", + "finished_at": "2026-07-11T00:39:37.9290019+00:00", + "duration_seconds": 3.195, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\cleanup-process.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\cleanup-process.stderr.log" + } +] diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/environment.json b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/environment.json new file mode 100644 index 00000000..70d203b0 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/environment.json @@ -0,0 +1,52 @@ +{ + "schema_version": 1, + "run_id": "t007-maker-focused-race", + "timestamp": "2026-07-11T00:39:06.8894571+00:00", + "go_version": "go version go1.25.11 windows/amd64", + "postgres": { + "declared_image": "pgvector/pgvector:pg17", + "container": { + "name": "/engram-prc-postgres", + "configured_image": "pgvector/pgvector:pg17", + "image_id": "sha256:feb68f4f15446397d8cac7f4fe48fe4586de83160d1fc48b46283312d1a33966", + "running": true + }, + "server": { + "server_version": "17.10 (Debian 17.10-1.pgdg12+1)", + "server_version_num": "170010", + "version": "PostgreSQL 17.10 (Debian 17.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit", + "max_connections": "100", + "superuser_reserved_connections": "3", + "reserved_connections": "0", + "current_connections": "6", + "database": "postgres", + "schema": "public", + "user": "engram" + }, + "admin_dsn": "postgres://engram:REDACTED@127.0.0.1:55432/postgres?sslmode=disable" + }, + "packages": [ + "./internal/mcp" + ], + "run_pattern": "^TestEC_F1_TagDerivedBackfill_T007$", + "repeat": 1, + "fail_on_unexpected_skip": true, + "allowed_skip_identities": [], + "coverage_policy": "Targeted", + "connection_budget": 20, + "race": true, + "require_session_start_execution": false, + "required_session_start_test_count": 12, + "sequential_execution": { + "go_package_parallelism": 1, + "go_test_parallelism": 1, + "database_max_connections": 20 + }, + "govulncheck_policy": { + "authoritative": [ + "source scan with tests", + "unstripped binary scan" + ], + "non_authoritative": "stripped binary scan (module-level fallback when symbols are absent)" + } +} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/go-version.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/go-version.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/go-version.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/go-version.stdout.log new file mode 100644 index 00000000..a857be3f --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/go-version.stdout.log @@ -0,0 +1 @@ +go version go1.25.11 windows/amd64 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/postgres-container-identity.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/postgres-container-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/postgres-container-identity.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/postgres-container-identity.stdout.log new file mode 100644 index 00000000..c110d492 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/postgres-container-identity.stdout.log @@ -0,0 +1 @@ +/engram-prc-postgres|pgvector/pgvector:pg17|sha256:feb68f4f15446397d8cac7f4fe48fe4586de83160d1fc48b46283312d1a33966|true diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/postgres-server-identity.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/postgres-server-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/postgres-server-identity.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/postgres-server-identity.stdout.log new file mode 100644 index 00000000..2e33d56e --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/postgres-server-identity.stdout.log @@ -0,0 +1 @@ +{"server_version" : "17.10 (Debian 17.10-1.pgdg12+1)", "server_version_num" : "170010", "version" : "PostgreSQL 17.10 (Debian 17.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit", "max_connections" : "100", "superuser_reserved_connections" : "3", "reserved_connections" : "0", "current_connections" : "6", "database" : "postgres", "schema" : "public", "user" : "engram"} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/assert-go-test-json.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/assert-go-test-json.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/assert-go-test-json.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/assert-go-test-json.stdout.log new file mode 100644 index 00000000..b849d9b7 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/assert-go-test-json.stdout.log @@ -0,0 +1,2 @@ +go test JSON verdict=PASS packages=1 tests=1 passed=1 failed=0 skipped=0 unexpected_skips=0 malformed=0 +summary=D:\Dev\engram\.w\t007-current-contract\.agent\reports\evidence\production-ready\t007-compat\t007-maker-focused-race\repeat-01\go-test-summary.json diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/cleanup-process.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/cleanup-process.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/cleanup-process.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/cleanup-process.stdout.log new file mode 100644 index 00000000..81375697 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/cleanup-process.stdout.log @@ -0,0 +1,2 @@ +cleanup verdict=PASS database=engram_prc_rg_test_6479cc98e3e51502_r1 schema=public terminated_sessions=0 remaining_database_count=0 +summary=D:\Dev\engram\.w\t007-current-contract\.agent\reports\evidence\production-ready\t007-compat\t007-maker-focused-race\repeat-01\cleanup\cleanup.json diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/cleanup/cleanup.json b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/cleanup/cleanup.json new file mode 100644 index 00000000..2c75808d --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/cleanup/cleanup.json @@ -0,0 +1,170 @@ +{ + "schema_version": 1, + "run_id": "t007-maker-focused-race-repeat-1", + "timestamp": "2026-07-11T00:39:37.8471375+00:00", + "verdict": "PASS", + "database": "engram_prc_rg_test_6479cc98e3e51502_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_6479cc98e3e51502_r1.public", + "admin_dsn": "postgres://engram:REDACTED@127.0.0.1:55432/postgres?sslmode=disable", + "postgres_container": "engram-prc-postgres", + "cleanup_status": "PASS", + "cleanup_attempted": true, + "database_existed_before": true, + "absence_verified": true, + "terminated_sessions": 0, + "remaining_database_count": 0, + "commands": [ + { + "name": "database-exists-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_6479cc98e3e51502_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_6479cc98e3e51502_r1';", + "started_at": "2026-07-11T00:39:35.4245639+00:00", + "finished_at": "2026-07-11T00:39:35.8502989+00:00", + "duration_seconds": 0.426, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\cleanup\\database-exists-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\cleanup\\database-exists-before.stderr.log" + }, + { + "name": "pg-stat-activity-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_6479cc98e3e51502_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_6479cc98e3e51502_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:39:35.9276597+00:00", + "finished_at": "2026-07-11T00:39:36.3308674+00:00", + "duration_seconds": 0.403, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\cleanup\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\cleanup\\pg-stat-activity-before.stderr.log" + }, + { + "name": "terminate-database-sessions", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_6479cc98e3e51502_r1' AND pid <> pg_backend_pid() ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_6479cc98e3e51502_r1' AND pid <> pg_backend_pid() ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:39:36.3381967+00:00", + "finished_at": "2026-07-11T00:39:36.7279069+00:00", + "duration_seconds": 0.39, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\cleanup\\terminate-sessions.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\cleanup\\terminate-sessions.stderr.log" + }, + { + "name": "drop-fresh-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "DROP DATABASE IF EXISTS \"engram_prc_rg_test_6479cc98e3e51502_r1\" WITH (FORCE);" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c DROP DATABASE IF EXISTS \"engram_prc_rg_test_6479cc98e3e51502_r1\" WITH (FORCE);", + "started_at": "2026-07-11T00:39:36.7375401+00:00", + "finished_at": "2026-07-11T00:39:37.4711696+00:00", + "duration_seconds": 0.734, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\cleanup\\drop-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\cleanup\\drop-database.stderr.log" + }, + { + "name": "verify-database-absent", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_6479cc98e3e51502_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_6479cc98e3e51502_r1';", + "started_at": "2026-07-11T00:39:37.4748763+00:00", + "finished_at": "2026-07-11T00:39:37.8398452+00:00", + "duration_seconds": 0.365, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\cleanup\\verify-database-absent.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\cleanup\\verify-database-absent.stderr.log" + } + ], + "errors": [] +} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/cleanup/database-exists-before.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/cleanup/database-exists-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/cleanup/database-exists-before.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/cleanup/database-exists-before.stdout.log new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/cleanup/database-exists-before.stdout.log @@ -0,0 +1 @@ +1 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/cleanup/drop-database.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/cleanup/drop-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/cleanup/drop-database.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/cleanup/drop-database.stdout.log new file mode 100644 index 00000000..ca12dce0 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/cleanup/drop-database.stdout.log @@ -0,0 +1 @@ +DROP DATABASE diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/cleanup/pg-stat-activity-before.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/cleanup/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/cleanup/pg-stat-activity-before.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/cleanup/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/cleanup/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/cleanup/terminate-sessions.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/cleanup/terminate-sessions.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/cleanup/terminate-sessions.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/cleanup/terminate-sessions.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/cleanup/terminate-sessions.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/cleanup/verify-database-absent.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/cleanup/verify-database-absent.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/cleanup/verify-database-absent.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/cleanup/verify-database-absent.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/cleanup/verify-database-absent.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/connection-count-after.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/connection-count-after.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/connection-count-after.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/connection-count-after.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/connection-count-before.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/connection-count-before.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/connection-count-before.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/connection-count-before.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/coverage.out b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/coverage.out new file mode 100644 index 00000000..52335d8a --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/coverage.out @@ -0,0 +1,3472 @@ +mode: atomic +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33.53,34.30 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:34.30,36.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.2,37.25 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.25,39.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:40.2,40.12 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44.28,46.2 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52.83,53.12 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:53.12,54.16 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:54.16,55.32 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:55.32,61.5 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:63.3,65.33 3 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:65.33,71.4 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77.54,78.14 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:78.14,80.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:81.2,82.16 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:82.16,85.3 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:86.2,87.13 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92.91,93.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:93.23,95.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:96.2,97.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:97.15,99.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:100.2,105.65 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:105.65,113.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117.95,118.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:118.23,120.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:121.2,122.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:122.15,124.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:125.2,129.65 5 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:129.65,138.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142.87,143.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:143.23,145.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:146.2,147.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:150.2,153.65 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:153.65,161.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166.96,167.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:167.23,169.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:170.2,171.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:171.15,173.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:174.2,177.63 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:177.63,185.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189.97,190.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:190.23,192.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:193.2,194.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:194.15,196.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:197.2,200.68 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:200.68,208.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:30.62,31.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:31.20,33.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:34.2,35.49 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:35.49,37.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:38.2,38.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:38.14,40.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:41.2,41.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:46.52,47.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:47.14,49.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:50.2,50.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:51.14,52.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:53.19,54.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:55.15,56.45 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:57.12,58.31 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:59.10,60.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:67.43,68.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:68.14,70.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:71.2,71.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:72.15,73.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:74.19,75.38 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:75.38,77.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:78.3,78.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:78.40,80.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:81.3,81.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:82.14,83.56 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:83.56,85.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:86.3,86.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:86.54,88.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:89.3,89.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:90.10,91.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:97.49,98.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:98.14,100.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:101.2,101.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:102.15,103.18 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:104.19,105.38 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:105.38,107.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:108.3,108.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:108.40,110.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:111.3,111.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:112.14,113.56 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:113.56,115.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:116.3,116.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:116.54,118.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:119.3,119.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:120.10,121.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:127.55,128.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:128.14,130.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:131.2,131.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:132.15,133.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:134.19,135.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:135.40,137.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:138.3,138.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:139.14,140.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:140.54,142.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:143.3,143.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:144.10,145.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:151.46,152.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:152.14,154.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:155.2,155.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:156.12,157.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:158.14,159.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:159.54,161.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:162.3,162.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:163.15,164.16 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:165.19,166.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:166.40,168.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:169.3,169.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:170.10,171.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:177.40,178.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:178.14,180.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:181.2,181.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:182.13,184.26 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:184.26,185.36 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:185.36,187.5 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:189.3,189.16 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:190.16,191.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:192.14,193.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:193.14,195.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:196.3,196.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:197.10,198.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:204.38,205.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:205.14,207.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:208.2,209.9 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:209.9,211.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:212.2,213.27 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:213.27,214.42 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:214.42,216.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:218.2,218.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:222.32,223.39 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:223.39,225.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:226.2,226.30 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:226.30,228.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:229.2,229.30 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:229.30,231.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:232.2,232.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:236.35,237.28 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:237.28,239.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.2,240.28 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.28,242.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:243.2,243.15 1 0 +github.com/thebtf/engram/internal/mcp/context.go:17.55,19.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:22.78,24.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:29.78,31.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:35.53,38.2 2 0 +github.com/thebtf/engram/internal/mcp/context.go:41.80,43.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:48.80,50.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:54.53,57.2 2 0 +github.com/thebtf/engram/internal/mcp/context.go:61.51,62.43 1 0 +github.com/thebtf/engram/internal/mcp/context.go:62.43,64.3 1 0 +github.com/thebtf/engram/internal/mcp/context.go:65.2,65.16 1 0 +github.com/thebtf/engram/internal/mcp/health.go:22.32,26.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:29.37,33.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:36.35,40.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:42.44,45.25 3 0 +github.com/thebtf/engram/internal/mcp/health.go:45.25,47.50 1 0 +github.com/thebtf/engram/internal/mcp/health.go:47.50,50.4 2 0 +github.com/thebtf/engram/internal/mcp/health.go:55.74,60.16 5 0 +github.com/thebtf/engram/internal/mcp/health.go:60.16,62.3 1 0 +github.com/thebtf/engram/internal/mcp/health.go:63.2,71.4 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28.42,29.65 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:29.65,32.3 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.2,33.40 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.40,35.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:36.2,36.14 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39.120,40.69 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:40.69,42.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:43.2,44.19 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:44.19,46.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:47.2,48.17 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:48.17,50.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:51.2,52.59 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:52.59,54.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:55.2,56.20 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:56.20,58.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:59.2,60.17 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:60.17,62.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:63.2,64.21 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:64.21,66.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:67.2,68.22 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:68.22,70.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:71.2,72.23 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:76.2,98.19 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:98.19,100.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:101.2,101.66 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104.52,106.29 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:106.29,108.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:109.2,110.46 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113.113,123.27 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:123.27,125.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:130.2,130.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:127.44,138.2 1 1 +github.com/thebtf/engram/internal/mcp/server.go:141.64,143.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:146.78,148.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:151.53,153.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:156.55,158.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:161.58,163.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:166.62,168.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:171.50,173.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:176.78,178.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:181.74,183.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:186.71,189.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:191.85,193.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:195.61,197.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:199.49,201.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:204.54,206.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:211.53,213.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:216.53,218.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:222.61,224.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:228.59,230.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:234.51,236.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:240.52,242.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:246.55,248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:252.82,254.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:260.70,262.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:269.68,271.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:274.87,277.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:282.60,284.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:290.45,292.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:297.77,299.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:303.37,313.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:313.38,315.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:316.2,317.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:317.9,319.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:320.2,321.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:321.9,323.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:324.2,325.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:325.9,327.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:328.2,328.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:332.35,334.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:383.49,387.12 3 0 +github.com/thebtf/engram/internal/mcp/server.go:387.12,388.22 1 0 +github.com/thebtf/engram/internal/mcp/server.go:388.22,389.11 1 0 +github.com/thebtf/engram/internal/mcp/server.go:390.22,392.11 2 0 +github.com/thebtf/engram/internal/mcp/server.go:393.12,393.12 0 0 +github.com/thebtf/engram/internal/mcp/server.go:396.4,397.18 2 0 +github.com/thebtf/engram/internal/mcp/server.go:397.18,398.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:401.4,402.61 2 0 +github.com/thebtf/engram/internal/mcp/server.go:402.61,404.13 2 0 +github.com/thebtf/engram/internal/mcp/server.go:407.4,407.55 1 0 +github.com/thebtf/engram/internal/mcp/server.go:407.55,409.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:411.3,411.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:414.2,414.9 1 0 +github.com/thebtf/engram/internal/mcp/server.go:415.20,416.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:417.25,418.17 1 0 +github.com/thebtf/engram/internal/mcp/server.go:418.17,420.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:421.3,421.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:427.77,428.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:428.19,431.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:433.2,433.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:434.20,435.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:436.20,437.32 1 0 +github.com/thebtf/engram/internal/mcp/server.go:438.20,439.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:443.24,444.93 1 0 +github.com/thebtf/engram/internal/mcp/server.go:445.34,446.101 1 0 +github.com/thebtf/engram/internal/mcp/server.go:447.22,448.91 1 0 +github.com/thebtf/engram/internal/mcp/server.go:449.29,450.120 1 0 +github.com/thebtf/engram/internal/mcp/server.go:451.10,456.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:461.51,462.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:463.50,464.70 1 0 +github.com/thebtf/engram/internal/mcp/server.go:465.46,466.79 1 0 +github.com/thebtf/engram/internal/mcp/server.go:467.10,468.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:473.59,485.63 2 0 +github.com/thebtf/engram/internal/mcp/server.go:485.63,487.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:489.2,493.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:496.45,503.33 3 0 +github.com/thebtf/engram/internal/mcp/server.go:503.33,505.57 2 0 +github.com/thebtf/engram/internal/mcp/server.go:505.57,506.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:506.76,507.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.4,509.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.18,511.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:511.10,513.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:514.4,518.11 5 0 +github.com/thebtf/engram/internal/mcp/server.go:522.2,522.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:660.29,683.21 2 0 +github.com/thebtf/engram/internal/mcp/server.go:683.21,689.3 5 0 +github.com/thebtf/engram/internal/mcp/server.go:690.2,699.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:712.30,765.49 3 0 +github.com/thebtf/engram/internal/mcp/server.go:765.49,789.3 5 0 +github.com/thebtf/engram/internal/mcp/server.go:790.2,799.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:805.40,936.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:942.58,1048.35 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1048.35,1077.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.2,1080.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.33,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.2,1093.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.26,1123.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1124.2,1124.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1124.80,1126.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1127.2,1127.55 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1127.55,1129.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1130.2,1130.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1130.38,1132.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1134.2,1134.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1134.25,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1138.2,1138.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1138.33,1140.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1141.2,1141.69 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1141.69,1143.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1144.2,1144.75 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1144.75,1146.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1148.2,1148.27 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1148.27,1165.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.2,1168.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.76,1191.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1195.2,1195.48 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1195.48,1197.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.2,1201.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.47,1203.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.2,1205.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.38,1207.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1212.2,1212.21 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1212.21,1214.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1228.2,1228.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1228.51,1230.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1233.2,1233.56 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1233.56,1235.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1238.2,1238.71 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1238.71,1298.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1302.2,1302.104 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1302.104,1321.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1324.2,1324.72 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1324.72,1333.154 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1333.154,1334.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1334.26,1336.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1337.7,1337.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1338.35,1340.26 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1340.26,1342.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1343.7,1343.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1371.2,1371.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1371.26,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1393.2,1393.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1393.28,1443.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.2,1446.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.28,1478.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.2,1481.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.37,1561.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1564.2,1568.23 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1568.23,1570.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1572.2,1588.57 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1588.57,1591.29 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1591.29,1593.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1594.3,1594.27 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1594.27,1595.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1595.29,1597.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1601.2,1607.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1612.79,1614.60 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1614.60,1620.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1622.2,1623.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1623.16,1631.3 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1633.2,1641.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1644.69,1645.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1645.34,1647.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1648.2,1649.22 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1649.22,1651.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1652.2,1652.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1656.99,1658.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1659.16,1660.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1661.15,1662.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1663.18,1664.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1665.15,1666.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1667.18,1668.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1669.14,1670.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1671.15,1672.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1676.2,1676.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1677.35,1678.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1679.26,1680.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1681.20,1682.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1683.20,1684.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1685.16,1686.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1687.29,1688.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1689.33,1690.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1691.25,1692.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1693.23,1694.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1696.26,1697.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1698.24,1699.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1700.22,1701.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1702.25,1703.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1704.27,1705.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1706.25,1707.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1709.30,1710.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1711.28,1712.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1713.17,1714.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1715.20,1716.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1717.20,1718.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1719.20,1720.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1722.20,1723.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1724.18,1725.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1726.20,1727.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1728.18,1729.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1730.21,1731.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1732.21,1733.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1734.26,1735.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1736.25,1737.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1738.26,1739.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1740.24,1741.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1742.26,1743.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1744.27,1745.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1746.22,1747.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1748.19,1749.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1750.15,1751.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1752.16,1753.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1755.21,1756.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1757.19,1758.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1759.20,1760.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1761.22,1762.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1763.22,1764.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1765.23,1766.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1767.20,1768.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1769.32,1770.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1771.19,1772.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1773.19,1774.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1775.33,1776.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1777.35,1778.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1779.24,1780.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1781.32,1782.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1783.28,1784.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1785.21,1786.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1787.34,1788.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1789.25,1790.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1791.29,1792.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1793.26,1794.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1795.27,1796.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1798.25,1799.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1800.23,1801.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1802.27,1803.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1804.26,1805.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1806.29,1807.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1809.29,1810.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1811.27,1812.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1813.30,1814.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1815.38,1816.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1817.36,1818.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1820.24,1821.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1822.27,1823.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1824.22,1825.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1826.32,1827.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1828.32,1829.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1830.31,1831.48 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1832.35,1833.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1834.36,1835.53 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1836.36,1837.53 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1838.38,1839.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1840.34,1841.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1843.22,1844.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1845.21,1846.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1847.24,1848.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1850.25,1851.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1852.25,1853.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1859.2,1859.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1860.22,1863.131 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1866.51,1867.123 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1868.10,1869.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1874.47,1876.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1876.16,1879.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1880.2,1880.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1884.72,1890.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1896.105,1898.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1898.16,1900.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1902.2,1903.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1903.17,1905.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1907.2,1908.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1908.17,1910.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1912.2,1918.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1918.16,1920.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1921.2,1921.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1927.76,1933.15 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1933.15,1936.17 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1936.17,1938.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1939.3,1939.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1943.2,1950.36 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1950.36,1952.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1952.8,1955.29 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1955.29,1958.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1959.3,1962.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.2,1966.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.20,1977.20 6 0 +github.com/thebtf/engram/internal/mcp/server.go:1977.20,1979.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.3,1980.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.20,1982.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.3,1985.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.37,1987.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1987.30,1988.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1988.16,1990.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1990.11,1992.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1994.4,1995.56 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1995.56,1997.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1998.4,2003.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.2,2008.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.29,2009.63 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2009.63,2011.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2011.9,2013.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.2,2021.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.29,2029.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2029.38,2031.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2031.9,2033.31 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2033.31,2035.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2035.30,2037.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2039.4,2042.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2046.2,2047.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2047.16,2049.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2050.2,2050.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2055.57,2056.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2056.33,2058.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2059.2,2060.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2060.16,2062.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2063.2,2064.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2064.16,2066.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2067.2,2067.23 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2071.79,2105.15 6 0 +github.com/thebtf/engram/internal/mcp/server.go:2105.15,2107.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2107.17,2111.4 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2111.9,2112.17 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2112.17,2114.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2115.4,2117.26 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2117.26,2119.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2119.10,2121.29 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2121.29,2123.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2125.4,2129.25 5 0 +github.com/thebtf/engram/internal/mcp/server.go:2130.19,2130.19 0 0 +github.com/thebtf/engram/internal/mcp/server.go:2132.20,2134.106 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2135.12,2137.103 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2140.8,2143.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2144.2,2150.49 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2150.49,2152.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2152.8,2154.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2155.2,2168.27 4 0 +github.com/thebtf/engram/internal/mcp/server.go:2168.27,2170.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2170.17,2173.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2173.9,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2177.2,2182.40 4 0 +github.com/thebtf/engram/internal/mcp/server.go:2182.40,2183.21 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2184.20,2185.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2186.19,2187.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.2,2191.24 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.24,2193.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.8,2193.30 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.30,2195.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.2,2198.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.28,2200.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.2,2203.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.29,2205.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2207.2,2208.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2208.16,2210.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2211.2,2211.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2216.103,2218.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2218.16,2220.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2222.2,2223.15 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2223.15,2225.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2227.2,2239.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2239.16,2241.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2242.2,2242.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2246.93,2248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2251.91,2253.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:18.28,29.20 4 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:29.20,33.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:35.2,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:68.36,69.49 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:69.49,74.3 4 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:75.2,75.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:80.26,82.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:84.89,86.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:89.2,90.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:90.18,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:94.2,94.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:95.15,96.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:97.26,98.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:99.25,100.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:101.23,105.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:105.22,107.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:108.3,108.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:109.10,110.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:120.92,126.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:126.26,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:130.2,131.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:131.19,133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:134.2,135.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:135.19,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.2,138.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.24,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.2,142.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.25,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:146.2,147.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:151.2,151.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27.40,30.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32.30,46.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48.99,49.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:49.34,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.2,52.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.69,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:56.2,57.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:60.2,61.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:61.21,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:64.2,67.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:67.26,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:70.2,71.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:71.25,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:75.2,77.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:77.44,79.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.2,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.33,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:83.2,83.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86.52,87.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:87.16,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.2,90.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.15,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:93.2,93.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96.73,97.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:97.21,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:100.2,101.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:101.29,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:111.2,111.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114.34,116.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:31.98,32.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:32.52,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.2,35.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.26,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:39.2,40.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:40.49,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.2,43.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.21,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.2,46.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.21,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.2,49.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.18,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.2,52.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.18,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.2,56.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.38,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:60.2,61.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:61.16,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:68.2,70.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:70.26,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:79.2,81.36 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:81.36,84.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:86.2,89.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:89.28,90.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:90.39,91.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:93.3,97.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:100.2,104.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:107.60,113.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:115.101,116.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:116.38,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:120.2,122.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:122.21,123.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:123.26,125.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.3,126.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.23,128.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:129.8,130.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:130.26,132.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.3,133.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.68,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:137.2,140.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:141.17,142.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:143.67,143.67 0 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:144.10,145.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:148.2,162.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:162.16,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.2,165.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.2,174.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.30,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.2,177.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.31,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:181.2,182.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:182.36,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:198.2,199.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:199.19,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:202.2,203.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:203.18,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:206.2,207.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:207.21,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:210.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:211.25,213.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:214.2,225.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:225.21,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.25,230.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.2,231.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.18,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:235.2,244.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:244.21,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.2,247.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.25,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.2,250.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.18,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.2,253.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:256.2,256.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:259.50,261.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:261.22,263.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:264.2,264.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:270.90,272.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:272.42,276.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:277.2,281.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:281.27,282.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:282.45,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:286.2,286.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25.28,88.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95.95,96.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:96.22,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:99.2,100.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:100.32,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:104.2,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:109.2,114.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:114.35,121.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.2,123.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.25,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:127.2,134.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:138.2,146.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154.94,155.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:155.22,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:158.2,159.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:159.32,161.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:163.2,164.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:164.16,166.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:168.2,172.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:172.35,179.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.2,181.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.25,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:185.2,192.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:192.16,194.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:196.2,203.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211.97,212.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:212.22,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:215.2,216.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:216.32,218.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:220.2,221.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:221.16,223.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:225.2,229.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:229.35,236.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.2,238.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.25,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:242.2,249.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:249.16,251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:253.2,260.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31.80,32.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:32.14,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:35.2,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51.136,53.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:53.51,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:56.2,56.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59.94,60.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:60.21,62.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:63.2,63.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68.30,162.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165.98,166.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:166.49,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:169.2,170.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:170.16,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:173.2,174.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:174.19,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:177.2,179.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:179.17,181.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:188.2,189.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:189.31,190.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:190.15,191.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:193.3,193.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:196.2,201.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:201.16,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:204.2,204.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208.96,209.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:209.49,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:212.2,213.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:213.16,215.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:216.2,217.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:217.13,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.2,225.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.22,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:229.2,230.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:230.16,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:233.2,233.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239.100,240.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:240.22,242.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:243.2,244.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:244.16,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:247.2,248.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:248.13,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:255.2,256.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:256.12,263.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:263.30,264.77 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:264.77,269.5 4 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:271.3,272.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:272.21,274.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:275.3,275.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.2,279.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.29,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:284.2,285.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:285.16,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.2,288.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.22,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.2,291.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.55,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.2,294.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.74,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:297.2,298.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:298.16,300.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:306.2,307.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:307.41,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:310.2,324.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:324.16,325.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:325.50,327.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:328.3,328.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.2,330.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.38,332.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:334.2,341.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:341.16,343.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:344.2,344.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348.99,349.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:349.49,351.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:352.2,353.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:353.16,355.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:356.2,357.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:357.13,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:360.2,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.2,365.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.22,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.2,368.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.74,370.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:371.2,372.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:372.16,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.2,375.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.85,377.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:379.2,380.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:380.16,381.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:381.50,383.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:384.3,384.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.2,386.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.20,388.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:390.2,395.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:395.16,397.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:398.2,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402.102,403.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:403.49,405.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:406.2,407.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:407.16,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:410.2,411.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:411.13,413.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:414.2,415.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:415.16,417.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.2,418.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.22,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.2,421.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.74,423.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:424.2,425.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:425.16,427.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.2,428.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.88,430.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:432.2,433.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:433.16,434.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:434.50,436.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:437.3,437.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.2,439.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.20,441.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:443.2,448.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:448.16,450.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:451.2,451.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34.30,36.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42.61,44.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48.32,75.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79.32,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100.98,101.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:101.25,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.2,104.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.29,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:108.2,113.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:113.17,114.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:114.55,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.2,118.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.24,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.2,121.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.23,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.2,124.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.23,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:134.2,135.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:135.21,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:142.2,147.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:154.2,165.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:165.25,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:177.2,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:186.2,186.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194.98,195.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:195.25,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.2,198.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.29,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:202.2,205.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:205.17,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:208.2,209.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:209.21,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:213.2,214.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:214.16,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:217.2,218.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:218.16,220.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:226.2,231.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:231.11,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:21.52,22.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:22.24,25.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:25.28,27.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:29.2,29.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:35.72,37.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:37.15,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:45.2,45.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:49.99,51.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:51.16,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:55.2,56.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:56.16,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:60.2,72.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.2,75.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.24,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.2,78.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.24,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:81.2,81.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:82.27,82.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:84.10,85.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.2,87.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.30,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.2,90.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.26,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:104.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:116.2,123.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:126.2,126.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:130.97,132.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:132.16,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:136.2,137.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:141.2,147.23 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:147.23,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.2,150.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.26,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:154.2,155.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:155.16,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:160.16,161.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:161.47,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:164.3,164.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.2,167.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.97,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:174.2,175.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:175.16,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:179.2,185.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:185.16,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:188.2,188.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:192.99,194.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:194.16,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:198.2,199.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:199.16,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:203.2,207.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:207.26,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:211.2,212.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:212.16,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:216.2,223.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:223.26,229.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:229.28,231.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:232.3,232.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:243.100,245.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:245.16,247.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:249.2,250.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:250.16,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:254.2,262.23 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:262.23,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.2,265.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.24,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:268.2,268.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:269.27,269.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:271.10,272.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.2,274.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.30,276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.2,277.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.26,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.2,281.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.71,282.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:282.47,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:285.3,285.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:288.2,293.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:293.16,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:296.2,296.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:302.92,309.19 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:309.19,310.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:310.53,313.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:316.2,317.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:317.51,318.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:318.66,320.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:323.2,331.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:331.16,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:334.2,334.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:338.46,342.32 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:342.32,343.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:343.20,346.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:348.2,350.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:350.26,352.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:352.27,353.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:353.13,355.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:356.4,356.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:358.3,358.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:360.2,360.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:16.45,18.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:20.35,36.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:38.84,39.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:39.40,41.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.2,42.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.50,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:45.2,45.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:48.101,50.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:50.16,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:53.2,54.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:57.2,58.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:58.19,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:61.2,62.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:62.21,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:65.2,66.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:66.16,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:69.2,69.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:72.102,74.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:77.2,82.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10.100,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:22.16,23.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:24.14,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:26.14,27.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:28.17,29.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:30.17,31.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:32.21,33.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:34.19,35.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:36.17,37.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:38.16,39.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:40.16,41.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:42.21,43.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:44.10,45.167 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:15.77,16.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:16.33,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:20.2,21.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:21.27,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:25.2,26.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:26.28,29.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:29.17,31.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:34.2,41.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:41.32,46.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:46.20,48.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:49.3,49.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:61.97,62.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:62.28,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:71.2,75.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:75.29,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:79.2,80.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:80.16,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.2,84.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.20,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:88.2,97.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:97.25,103.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:103.20,105.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.3,106.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.19,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:109.3,109.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:112.2,113.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:113.16,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:117.2,117.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:121.95,122.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:122.28,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:131.2,137.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:137.50,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:141.2,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.2,145.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.16,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.2,149.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.21,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:153.2,154.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:154.16,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.2,157.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.20,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:161.2,161.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:165.98,166.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:166.28,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:170.2,171.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:171.16,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:175.2,181.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:181.50,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.2,185.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.96,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:189.2,189.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:197.98,198.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:198.28,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:207.2,217.74 6 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:217.74,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:222.2,223.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:223.16,225.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:227.2,229.156 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:235.98,237.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:237.16,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:241.2,247.24 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:247.24,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:252.2,253.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:253.29,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:256.2,256.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15.93,16.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:16.37,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:20.2,21.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:21.16,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:25.2,32.16 7 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:32.16,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.2,35.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.19,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.2,38.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.19,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:42.2,43.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:43.16,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:47.2,54.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61.91,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:62.37,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:71.2,73.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:73.16,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.2,76.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.19,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:80.2,81.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:81.43,83.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:83.19,85.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:86.3,86.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:87.8,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.2,90.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.16,91.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:91.45,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:94.3,94.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:97.2,110.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:110.16,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:113.2,113.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117.93,119.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122.91,123.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:123.37,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:132.2,133.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:133.19,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:136.2,141.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:141.16,143.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:145.2,155.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:155.25,165.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:167.2,168.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:168.16,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:171.2,171.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175.94,176.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:176.37,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:180.2,181.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:181.16,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:185.2,187.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:187.16,189.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.2,190.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.19,192.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:193.2,196.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:200.2,208.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:208.25,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:218.2,225.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232.94,233.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:233.37,235.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:242.2,243.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:243.21,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:246.2,248.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:248.19,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:252.2,253.46 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:253.46,255.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:255.13,257.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.2,259.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.44,261.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:261.13,263.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:266.2,267.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:267.16,269.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:271.2,278.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:278.16,280.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:281.2,281.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19.69,21.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23.38,38.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40.51,63.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65.53,80.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82.46,85.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:85.32,87.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:88.2,88.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91.105,93.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:93.16,95.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:96.2,97.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:100.2,100.70 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103.107,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:108.2,109.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:109.16,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:112.2,112.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115.101,117.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:117.16,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:120.2,121.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:121.17,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:124.2,139.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142.109,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:147.2,154.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157.100,159.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:159.28,161.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:161.18,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:164.3,164.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:166.2,167.72 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:167.72,169.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.2,170.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.53,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:173.2,174.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:174.26,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:177.2,177.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180.73,182.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:182.16,184.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:185.2,185.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12.104,14.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:14.16,16.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:18.2,19.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:19.18,21.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:23.2,23.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:24.14,25.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:26.18,27.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:28.17,29.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:30.10,31.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36.101,37.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:37.27,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:46.2,47.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:47.21,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:50.2,51.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:51.19,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:54.2,54.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:55.52,55.52 0 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:56.10,57.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:59.2,61.93 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:61.93,64.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:66.2,70.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:27.31,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:98.97,100.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:100.26,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.2,103.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.28,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:112.2,115.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:115.15,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.2,118.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.17,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:122.2,123.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:127.2,140.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:140.29,151.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:151.31,154.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:155.3,155.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:158.2,162.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:167.100,169.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:169.26,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.2,172.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.28,174.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.2,175.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.26,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:179.2,180.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:184.2,185.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:185.22,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:189.2,190.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:190.20,191.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:191.54,199.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.3,200.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.61,202.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:203.3,203.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:206.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:215.95,217.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:217.32,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.2,220.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.28,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:224.2,225.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:229.2,230.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:230.22,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.2,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.25,246.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:248.2,252.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:258.104,260.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:260.26,262.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:267.2,271.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:271.20,275.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:275.8,279.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:280.2,280.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:284.60,285.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:285.30,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.2,288.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.42,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:291.2,291.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:64.89,65.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:65.25,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:69.2,70.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:70.49,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:74.2,74.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:75.18,76.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:77.21,78.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:79.19,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:81.18,82.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:83.19,84.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:85.18,86.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:87.18,91.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:91.23,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:94.3,94.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:95.10,96.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:100.81,103.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:103.19,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:106.2,107.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:107.19,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.2,112.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.46,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.2,115.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.46,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.2,122.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.66,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.25,128.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:128.22,130.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:131.8,132.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:132.26,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.2,138.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.25,139.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:139.22,141.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:142.8,143.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:143.26,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.2,148.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.22,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.2,151.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.38,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.2,154.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.19,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:159.2,161.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:161.25,164.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.2,165.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.25,168.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:169.2,171.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:171.23,174.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.2,175.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.23,178.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:180.2,193.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:193.16,195.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:198.2,199.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:199.29,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.2,202.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.29,204.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:205.2,213.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:216.121,217.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:217.28,218.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:218.26,220.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:221.3,222.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:222.17,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:223.49,225.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:226.4,226.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:228.3,228.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.2,230.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.26,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:233.2,234.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:234.16,235.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:235.48,237.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:238.3,238.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:240.2,240.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:243.101,248.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:248.36,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:250.8,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.2,253.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.16,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.2,256.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.32,257.128 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:257.128,262.72 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:262.72,264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:267.2,267.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:276.81,277.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:277.25,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.2,280.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.22,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.2,283.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.39,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.2,286.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.25,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.2,289.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.21,291.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:292.2,293.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:293.14,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:296.2,305.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:305.16,307.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:308.2,314.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:317.84,318.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:318.19,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:321.2,323.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:323.63,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:326.2,329.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:332.82,333.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:333.38,335.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:336.2,337.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:338.18,339.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:340.18,341.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.2,345.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.59,347.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:349.2,351.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:351.21,353.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:353.8,356.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.2,357.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:366.2,367.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:367.41,369.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:371.2,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:397.115,398.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:398.15,400.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:403.2,404.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:404.26,405.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:405.28,407.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.3,408.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.28,410.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.2,412.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.23,415.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:420.2,426.12 4 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:426.12,427.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:427.27,429.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:429.18,431.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.4,433.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.33,435.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:440.2,441.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:441.26,442.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:442.28,443.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:443.49,445.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.3,448.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.28,449.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:449.49,451.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:454.2,454.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:457.82,458.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:458.21,460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:461.2,462.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:462.16,464.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.2,465.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.36,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:468.2,469.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:469.16,471.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:472.2,477.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:480.82,481.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:481.40,483.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:484.2,485.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:485.19,487.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:488.2,489.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:489.16,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:492.2,499.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:502.82,503.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:503.21,505.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:506.2,507.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:507.16,509.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:510.2,514.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23.179,24.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:24.22,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:28.2,32.22 4 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:32.22,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:35.2,36.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:36.22,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:40.2,41.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:41.26,43.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.2,44.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.26,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.2,47.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.30,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.2,50.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.30,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:54.2,55.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:55.16,57.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.2,58.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.13,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:61.2,62.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:62.16,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.2,65.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.13,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:69.2,70.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:70.16,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.2,73.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.15,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:77.2,77.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80.172,81.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:81.28,82.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:82.23,84.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.3,85.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.18,87.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:88.3,89.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:89.17,90.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:90.49,92.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:93.4,93.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:95.3,95.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.2,98.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.24,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.2,101.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.19,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:104.2,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:105.16,106.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:106.48,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:109.3,109.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:111.2,111.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114.119,116.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:116.22,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:119.2,120.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:120.22,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:124.2,126.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:126.26,127.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:127.36,129.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:130.3,130.105 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:131.8,132.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:132.32,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:135.3,135.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.2,137.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.2,141.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.32,143.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:143.27,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:146.3,147.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:147.27,149.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.3,150.106 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.106,151.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.3,153.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.27,154.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:154.114,155.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.9,157.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.104,158.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.3,160.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.27,161.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:161.114,162.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.9,164.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.104,165.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:167.3,167.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:169.2,169.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25.90,26.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:26.26,28.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:30.2,31.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:31.49,33.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:35.2,35.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:36.16,37.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:38.10,39.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43.84,44.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:44.21,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.2,47.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.25,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.2,50.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.21,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.2,53.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.21,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:57.2,58.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:59.18,60.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:61.15,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:63.24,64.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:65.10,66.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:69.2,70.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:70.22,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:73.2,74.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:74.29,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.2,78.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.14,85.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:87.2,89.37 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:89.37,92.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:92.21,94.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:97.2,100.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:100.31,102.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:102.38,104.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:104.37,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:109.3,122.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:122.26,124.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.3,125.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.19,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:131.3,133.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:133.39,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:135.9,137.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.3,138.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.17,140.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.3,142.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.34,144.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:145.3,145.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:148.2,155.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20.99,22.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:22.16,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:26.2,31.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:31.44,32.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:32.33,33.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:33.43,38.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.2,43.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.49,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.2,46.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.48,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:50.2,52.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:52.27,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:55.8,60.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:60.24,62.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.3,64.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.57,66.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:68.3,68.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.2,71.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.16,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:75.2,76.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:76.23,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:80.2,80.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:19.40,89.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:109.71,111.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:111.9,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:115.2,116.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:116.38,117.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:118.13,119.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:119.41,121.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:122.17,123.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:123.43,125.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:126.11,127.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:127.40,129.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.2,133.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.22,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:139.2,139.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:143.90,144.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:144.25,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:148.2,149.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:149.16,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:153.2,157.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:157.61,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:161.2,161.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:162.16,163.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:164.14,165.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:166.13,167.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:168.16,169.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:170.17,171.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:172.16,173.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:174.15,175.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:176.10,177.120 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:189.85,191.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:191.39,192.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:192.44,194.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.2,196.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.15,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.2,199.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.15,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:202.2,202.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:205.91,207.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:207.17,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:211.2,215.25 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:215.25,217.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:218.2,224.25 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:224.25,226.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.2,227.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.25,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:231.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:247.2,247.139 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:250.89,252.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:252.19,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:255.2,256.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:256.25,258.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:259.2,264.52 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:264.52,266.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:266.14,268.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:271.2,277.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:277.25,280.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:282.2,283.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:283.16,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.2,287.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.22,288.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:288.20,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:291.3,291.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:294.2,297.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:297.31,300.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:300.29,302.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:303.3,305.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:308.2,308.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:311.88,313.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:313.13,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:317.2,318.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:318.16,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:322.2,328.22 6 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:328.22,331.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.2,333.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.23,335.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:335.30,338.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:341.2,341.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:344.91,346.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:346.13,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:350.2,353.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:353.18,354.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:354.27,356.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.3,357.73 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.73,359.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.2,362.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.19,370.17 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:370.17,372.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:375.2,376.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:376.26,378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:379.2,379.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:382.92,384.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:384.13,386.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:388.2,389.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:389.16,391.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:393.2,401.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:401.16,403.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:405.2,405.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:408.91,410.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:410.13,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:414.2,418.95 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:418.95,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:422.2,422.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:425.90,427.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:427.13,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:431.2,433.167 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:433.167,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.2,437.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.89,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:441.2,441.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22.93,24.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:24.49,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:28.2,28.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:29.14,30.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:31.17,32.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:33.16,34.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:35.24,36.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:37.27,38.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:39.22,40.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:41.23,42.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:43.10,44.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48.79,49.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:49.13,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:57.2,58.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:58.32,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:61.2,84.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87.101,88.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:88.13,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.2,91.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.38,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.2,98.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.53,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:102.2,104.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:104.17,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.2,107.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.29,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:110.2,115.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118.100,119.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:119.13,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.2,122.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.38,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.2,129.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.53,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:133.2,135.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:135.17,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.2,138.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.29,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:141.2,146.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149.123,150.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:150.13,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.2,153.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.18,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.2,156.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.38,158.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:159.2,161.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:161.17,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:164.2,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172.113,173.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:173.13,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.2,176.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.50,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:179.2,181.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:181.17,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:184.2,188.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191.57,195.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197.102,198.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:198.13,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.2,201.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.20,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:204.2,205.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:205.16,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:209.2,210.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:210.32,212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:214.2,217.56 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:217.56,223.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:225.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233.41,235.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:235.16,237.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:238.2,238.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:35.27,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:42.41,43.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:44.48,45.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:46.10,47.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:54.57,55.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:56.17,57.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:58.16,59.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:60.10,61.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:82.58,83.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:84.28,85.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:86.26,87.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:88.10,89.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:93.114,95.68 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:95.68,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:99.2,101.42 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:101.42,102.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:102.71,105.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:107.2,117.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:117.23,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:121.2,124.22 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:124.22,125.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:125.31,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:128.3,128.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.8,129.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.37,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:132.2,132.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:135.74,136.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:136.30,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.2,139.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.34,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.2,142.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.31,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.2,145.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.22,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:161.169,162.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:162.17,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:165.2,166.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:166.51,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:169.2,169.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:172.92,174.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:174.42,177.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:177.63,179.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:179.9,181.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:183.2,183.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:186.65,190.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:192.115,194.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:194.26,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.8,196.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.31,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:199.2,199.117 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:202.122,206.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:206.31,207.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:207.45,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:211.2,211.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:214.72,216.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:218.117,219.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:222.2,223.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:223.20,225.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:225.17,227.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.3,228.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.27,229.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:229.50,231.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:231.30,232.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:236.3,236.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:239.2,241.60 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:241.60,243.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:243.61,245.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.3,246.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.24,247.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:249.3,250.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:250.17,252.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.3,253.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.22,254.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.3,256.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.29,257.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:257.50,259.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:259.30,260.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:264.3,265.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:265.32,266.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:269.2,269.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:272.51,273.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:273.16,275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:276.2,277.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:277.18,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.2,280.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.19,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:283.2,283.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:286.97,288.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:288.30,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.2,291.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.49,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:294.2,294.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:297.108,299.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:301.108,303.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:305.102,307.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:319.55,320.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:320.31,322.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.2,323.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.26,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:326.2,326.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:329.71,330.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:343.26,344.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:345.10,346.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:354.95,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:366.2,397.39 14 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:397.39,399.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:399.27,401.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:402.8,404.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:405.2,407.46 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:407.46,410.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.2,411.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.44,413.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:413.12,415.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.2,417.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.26,419.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.2,420.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.84,422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.2,427.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.65,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:431.2,433.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:433.20,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:436.2,437.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:437.20,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.2,440.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.56,442.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.2,443.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.56,448.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.2,450.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.45,453.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.2,459.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.31,461.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:461.22,462.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:462.62,465.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:466.4,466.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:468.3,468.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:471.2,472.115 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:472.115,474.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.2,491.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.19,493.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:493.23,495.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:496.3,508.21 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:508.21,510.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:511.3,511.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.2,522.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.43,535.34 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:535.34,556.30 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:556.30,558.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.4,559.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.44,561.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.4,562.106 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.106,564.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.4,575.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.74,577.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:578.4,579.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:579.18,581.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:583.4,584.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:584.28,586.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.4,588.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.31,599.57 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:599.57,601.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:601.17,604.7 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:606.5,607.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:607.21,609.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.5,615.138 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.138,617.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:617.27,619.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:620.6,620.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:622.5,623.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:623.26,625.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:626.5,626.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:630.4,631.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:631.20,633.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.4,634.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.22,637.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:637.26,639.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:640.5,640.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:645.4,660.77 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:660.77,662.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:663.4,664.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:664.25,666.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:667.4,667.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.2,673.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.26,675.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:677.2,678.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:678.25,680.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.2,681.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.97,683.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:690.2,691.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:691.21,693.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:693.33,695.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.3,696.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.33,698.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.3,699.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.49,704.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.3,721.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.54,722.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:722.84,724.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.2,728.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.99,730.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:732.2,733.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:733.22,735.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:736.109,737.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:738.100,739.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:740.114,741.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:742.107,743.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:744.11,745.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:748.2,749.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:749.43,751.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:753.2,755.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:755.34,756.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:756.48,757.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:757.19,760.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.2,764.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.31,767.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.2,768.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.35,771.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.2,772.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.76,776.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:778.2,780.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:780.16,782.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:782.20,785.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.2,788.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.25,798.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:798.18,800.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.9,800.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.30,807.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.3,808.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.36,810.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:811.3,812.50 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:812.50,815.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:816.3,822.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:822.17,824.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:826.3,836.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:836.17,838.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:839.3,839.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:842.2,843.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:843.30,844.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:844.52,846.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:846.9,848.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:851.2,869.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:869.21,871.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:871.43,873.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.3,874.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.29,876.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.3,886.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.76,888.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.2,890.105 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.105,892.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:893.2,894.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:894.16,896.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:901.2,904.40 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:904.40,905.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:905.15,906.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:909.3,910.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:910.63,912.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:912.9,914.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.3,916.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.43,918.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:919.3,920.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:920.20,922.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.3,925.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.23,928.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:929.3,931.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:931.33,934.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:934.39,936.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:939.2,948.42 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:948.42,950.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:950.21,952.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:952.9,955.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.2,959.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.53,960.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:960.54,961.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:961.33,963.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:964.9,972.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.3,973.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.60,974.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:974.40,976.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.3,978.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.61,979.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:979.41,981.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.3,983.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.28,985.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:986.3,987.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.2,989.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.51,991.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:995.2,997.53 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:997.53,999.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:999.8,1001.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.2,1002.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.22,1004.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1008.2,1014.76 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1014.76,1016.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.2,1021.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.57,1026.13 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1026.13,1029.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1029.21,1032.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.4,1033.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.49,1035.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1036.4,1043.89 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1043.89,1046.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1048.4,1048.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1052.2,1063.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1063.21,1065.40 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1065.40,1067.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.3,1068.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.38,1070.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1072.2,1074.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1074.18,1081.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.2,1082.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.28,1084.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.2,1085.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.16,1087.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.2,1088.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.30,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.2,1091.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.30,1093.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.2,1098.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.76,1100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1101.2,1102.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1102.16,1104.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1105.2,1105.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111.94,1113.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1113.15,1115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1117.2,1118.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1118.16,1120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1122.2,1123.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1123.13,1125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1126.2,1131.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1131.16,1133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.2,1134.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.19,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.2,1146.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.39,1148.55 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1148.55,1150.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.2,1152.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.39,1154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1157.2,1158.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1158.21,1163.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1163.21,1165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1166.3,1167.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1167.21,1169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.3,1170.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.52,1172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.3,1173.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.52,1178.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.3,1179.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.41,1182.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1183.3,1183.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.2,1188.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.46,1190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.2,1191.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.27,1193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1195.2,1196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1196.16,1198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1201.2,1210.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1210.16,1212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1213.2,1213.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218.59,1220.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1220.38,1222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1225.2,1226.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1226.29,1227.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1227.22,1229.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.2,1232.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.18,1234.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1237.2,1244.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1244.29,1245.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1245.67,1247.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.2,1249.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.16,1251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1254.2,1254.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258.55,1260.47 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1260.47,1262.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1263.2,1264.58 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1264.58,1266.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1267.2,1267.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270.252,1271.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1271.108,1273.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.2,1274.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.55,1276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1277.2,1277.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280.184,1282.69 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1282.69,1284.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1284.32,1285.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1285.58,1287.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.3,1290.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.18,1292.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.2,1294.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.19,1297.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1297.32,1298.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1298.39,1300.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.3,1303.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.19,1305.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.2,1307.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.21,1309.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1309.32,1310.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1310.49,1312.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.3,1315.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.18,1317.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.2,1319.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.28,1321.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1321.17,1323.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.3,1324.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.27,1326.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.2,1328.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.76,1330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1331.2,1331.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342.96,1343.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1343.26,1345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1347.2,1348.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1348.16,1350.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1352.2,1363.23 9 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1363.23,1364.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1364.58,1365.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1365.31,1367.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1367.10,1369.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.2,1373.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.17,1375.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.2,1376.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.16,1378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.2,1379.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.16,1381.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.2,1382.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.18,1384.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.2,1385.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.19,1387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.2,1388.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.19,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1396.2,1399.18 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1399.18,1400.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1400.61,1401.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1402.50,1403.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1404.12,1405.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1409.2,1410.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1410.42,1414.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1415.2,1420.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1420.16,1422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1429.2,1444.43 6 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1444.43,1446.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1449.2,1451.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1451.27,1453.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.2,1458.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.46,1460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.2,1461.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.63,1463.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1465.2,1466.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1466.15,1472.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1472.29,1479.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1479.18,1481.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.4,1482.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.23,1483.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.4,1485.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.30,1486.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1486.24,1488.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1488.32,1489.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1493.4,1494.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1494.30,1495.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1498.8,1504.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1504.29,1506.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1506.18,1508.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.4,1509.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.23,1510.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.4,1512.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.30,1513.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1513.24,1515.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1515.32,1516.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1520.4,1521.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1521.30,1522.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.2,1526.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.26,1528.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1528.17,1530.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.2,1535.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.74,1536.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1536.13,1537.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1537.33,1542.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1542.26,1544.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1544.39,1546.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1548.5,1548.82 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.2,1565.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.38,1569.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1569.27,1571.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.3,1572.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.27,1574.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1576.3,1581.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1581.32,1586.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1588.3,1592.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1592.18,1594.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1595.3,1596.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1596.17,1598.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1599.3,1599.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1602.2,1602.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1603.15,1618.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1618.32,1620.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1620.33,1621.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1621.40,1623.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1626.4,1638.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1640.3,1641.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1641.17,1643.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1644.3,1644.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1646.18,1648.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1648.17,1650.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1651.3,1651.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1653.10,1654.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1654.25,1656.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1657.3,1659.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1659.32,1661.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1661.33,1662.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1662.40,1664.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1667.4,1669.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1669.26,1671.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1672.4,1673.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1673.25,1675.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1676.4,1676.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1678.3,1678.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690.51,1695.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700.73,1702.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1702.16,1704.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1705.2,1706.48 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1706.48,1710.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1711.2,1713.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1713.16,1715.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1716.2,1716.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727.117,1731.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1731.21,1733.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1734.2,1735.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1735.16,1737.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1738.2,1739.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1739.27,1741.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1742.2,1742.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1764.19,1775.30 7 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1775.30,1777.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1777.37,1779.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.3,1781.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.20,1783.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.2,1797.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.39,1799.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1801.2,1811.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1811.25,1813.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1815.2,1816.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1816.29,1818.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.2,1824.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.27,1826.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1831.2,1833.22 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1833.22,1835.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1837.2,1846.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1846.16,1848.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1853.2,1855.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1855.27,1857.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1859.2,1876.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1876.33,1878.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1880.2,1881.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1881.28,1885.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1885.20,1888.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1888.33,1889.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1889.40,1891.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.4,1894.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.20,1895.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.3,1900.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.22,1902.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1902.33,1903.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1903.50,1905.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.4,1908.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.19,1909.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.3,1918.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.56,1919.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.3,1927.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.64,1928.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1932.3,1935.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1935.32,1936.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1936.39,1938.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1942.3,1956.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1956.14,1957.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1957.37,1959.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1961.3,1962.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1962.26,1963.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.2,1975.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.59,1986.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1986.17,1988.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1990.3,1991.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1991.34,1993.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1995.3,1996.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1996.29,1998.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1998.21,2001.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2001.34,2002.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2002.41,2004.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.5,2007.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.21,2008.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.4,2011.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.23,2013.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2013.34,2014.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2014.51,2016.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.5,2019.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.20,2020.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.4,2023.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.57,2024.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.4,2027.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.65,2028.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2030.4,2031.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2031.33,2032.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2032.40,2034.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2037.4,2051.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2051.15,2052.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2052.38,2054.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2056.4,2057.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2057.27,2058.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2065.2,2066.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2066.28,2068.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.2,2072.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.71,2080.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2080.30,2081.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2081.41,2087.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.3,2089.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.13,2090.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2090.31,2095.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2095.25,2097.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2097.38,2099.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2101.5,2101.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.2,2112.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.38,2115.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2115.27,2117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2121.3,2138.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2138.30,2140.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2140.11,2141.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2143.4,2160.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2160.15,2161.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2161.39,2163.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2165.4,2165.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2167.3,2173.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2173.24,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2176.3,2176.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2179.2,2179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2180.15,2182.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2182.24,2184.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2185.3,2185.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2187.18,2199.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2199.30,2201.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2201.11,2202.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2204.4,2208.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2208.15,2209.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2209.39,2211.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2213.4,2213.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2215.3,2216.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2216.24,2218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2219.3,2219.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2220.10,2221.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2221.22,2223.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2224.3,2226.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2226.27,2228.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2228.20,2230.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2231.4,2233.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2233.26,2235.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2236.4,2237.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2237.23,2239.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.4,2240.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.46,2244.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2245.4,2245.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2247.3,2247.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252.94,2254.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2254.16,2256.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2258.2,2260.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2260.18,2261.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2261.59,2262.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2262.36,2264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2264.10,2266.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.2,2270.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.13,2272.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.2,2273.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.50,2275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2277.2,2277.98 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281.98,2282.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2282.26,2284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2286.2,2287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2287.16,2289.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2291.2,2292.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2292.13,2294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2297.2,2298.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2298.19,2299.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2299.51,2301.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2302.3,2302.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.2,2304.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.42,2306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.2,2308.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.54,2309.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2309.48,2311.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2312.3,2312.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2316.2,2318.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17.82,19.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21.149,22.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:22.55,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.2,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.36,27.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:28.2,34.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:34.16,36.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.2,37.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.42,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:40.2,40.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43.105,44.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:44.48,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:47.2,48.54 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51.129,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:56.2,57.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:57.53,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:60.2,61.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:61.25,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:64.2,65.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:65.16,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:68.2,68.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26.97,27.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:27.18,29.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:30.2,30.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33.37,35.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37.81,38.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:38.44,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.2,41.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.38,43.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:44.2,44.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47.88,48.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:48.32,50.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:51.2,52.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:52.20,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:55.2,55.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58.40,72.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74.106,75.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:75.34,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:78.2,79.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:79.16,81.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:83.2,84.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:88.2,89.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:89.13,91.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:93.2,94.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:94.63,96.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.2,98.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.72,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:102.2,106.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109.117,110.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:110.32,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.2,113.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.34,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:117.2,118.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:118.16,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.2,121.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.19,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:125.2,126.69 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:126.69,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:130.2,136.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18.33,20.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22.27,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39.93,40.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:40.30,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.2,43.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.28,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:46.2,47.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:47.16,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:51.2,52.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:52.17,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:55.2,56.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:56.19,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.2,59.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.19,61.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:62.2,63.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:63.16,65.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:67.2,74.9 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:74.9,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:77.2,78.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:78.15,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:81.2,85.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:85.16,87.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.2,88.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.17,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:92.2,101.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104.48,105.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:108.2,109.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:109.29,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.2,112.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.31,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:115.2,115.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118.75,120.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:120.27,121.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:121.32,123.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:123.17,124.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:126.4,126.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:129.2,134.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:134.33,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.2,137.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.40,138.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:138.39,140.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:141.3,141.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.2,143.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.34,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:146.2,147.35 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:147.35,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:150.2,150.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153.77,154.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:154.20,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:157.2,159.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:159.31,160.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:160.33,162.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.3,163.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.30,165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:167.2,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23.91,25.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27.38,50.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52.104,53.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:53.38,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:56.2,57.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:61.2,62.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:62.26,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:65.2,66.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:66.30,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.2,69.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.72,71.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:73.2,74.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:77.2,78.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:78.16,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:81.2,82.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:82.16,84.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:85.2,86.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:90.2,105.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.2,109.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.19,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.2,118.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.25,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.2,121.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.30,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.2,124.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.31,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:131.2,131.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134.91,136.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:136.9,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:139.2,140.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:140.15,141.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:141.19,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:144.3,144.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:146.2,146.94 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149.59,150.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:150.16,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:153.2,154.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:154.61,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:157.2,157.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160.56,161.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:161.75,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:164.2,164.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167.67,169.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:170.17,171.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:172.67,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:174.10,175.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179.60,180.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:183.2,184.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:184.25,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:187.2,187.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190.57,191.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:192.15,193.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:193.81,195.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:196.3,196.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:197.19,199.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:199.17,201.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.3,202.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.55,204.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:205.3,205.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:206.14,207.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:208.11,209.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:210.10,211.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215.59,216.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:216.16,218.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:219.2,219.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:220.12,221.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:222.14,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:224.10,225.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:28.90,30.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:30.16,32.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:34.2,36.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:37.16,38.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:40.16,42.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:44.20,46.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:48.17,50.142 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:52.17,56.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:56.50,62.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:62.63,64.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.4,66.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.45,68.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:72.4,74.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:74.25,76.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:77.4,77.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:80.3,80.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:82.18,84.141 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:86.18,88.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:88.18,90.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:91.3,91.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:93.17,96.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:96.50,99.59 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:99.59,101.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:102.4,104.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:104.25,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:107.4,107.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:110.3,110.98 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:112.10,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:125.86,126.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:129.2,130.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:130.9,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.2,133.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.22,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:137.2,139.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:139.31,141.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:141.10,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:144.3,145.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:145.22,147.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:148.3,149.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:149.26,151.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.3,152.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.68,154.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:155.3,156.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:156.37,158.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:159.3,160.107 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:162.2,162.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:165.249,166.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:166.24,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.2,169.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.38,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:173.2,174.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:174.31,175.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:175.32,177.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:180.2,181.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:181.34,182.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:182.29,183.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:185.3,197.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:197.17,199.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.3,200.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.20,201.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.3,203.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.37,205.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:205.33,206.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.4,208.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.19,209.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:209.43,210.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:212.5,212.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:214.4,215.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:215.30,216.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:220.2,220.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:223.113,229.2 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:231.101,233.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:247.92,251.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:251.16,253.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.8,253.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:259.2,272.51 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:272.51,274.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:274.38,275.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:276.50,277.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:278.12,279.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:287.2,292.26 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:292.26,294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.2,297.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.19,301.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:303.2,311.42 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:311.42,315.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:316.2,341.64 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:341.64,342.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:342.86,344.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.3,345.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.56,347.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:348.3,360.19 6 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:360.19,364.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:365.3,365.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:369.2,370.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:370.15,372.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:372.27,374.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.3,375.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.27,377.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:380.2,381.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:381.15,387.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:387.28,395.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:395.18,397.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.4,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.23,399.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.4,401.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.30,402.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:402.66,403.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:405.5,406.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:406.12,407.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.5,409.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.28,413.6 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:414.5,415.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:415.30,416.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:419.4,420.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:420.30,421.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:424.8,432.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:432.28,438.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:438.18,440.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.4,441.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.23,442.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.4,444.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.30,445.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:445.40,447.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:447.31,448.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:452.4,455.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:455.30,456.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:461.2,465.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:465.17,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:469.2,470.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:470.16,472.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:473.2,473.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20.79,21.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:21.43,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.2,24.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.29,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:27.2,27.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30.40,63.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65.68,71.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:71.25,74.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:75.2,75.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78.62,83.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:83.19,87.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:88.2,88.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91.101,92.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:92.22,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:95.2,96.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:96.18,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:103.2,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:107.2,107.119 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110.99,111.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:111.22,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:114.2,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:115.18,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:118.2,119.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:119.16,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.2,122.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.51,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:129.2,131.15 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:131.15,132.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:132.69,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:135.3,135.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:137.2,137.130 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140.102,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.2,145.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.64,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:148.2,148.113 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151.109,153.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:157.16,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:160.2,161.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:161.16,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:164.2,164.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167.107,169.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:169.16,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:172.2,173.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:173.16,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.2,176.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.107,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:179.2,179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:180.41,181.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:182.41,183.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:184.10,185.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189.111,191.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:191.16,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:194.2,195.57 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:195.57,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:198.2,199.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:199.23,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.2,206.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.17,208.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:209.2,209.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212.63,215.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217.69,219.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:222.2,222.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225.60,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:230.2,230.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233.137,234.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:234.49,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:241.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:246.2,247.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:247.16,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.2,250.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.22,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:253.2,253.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256.142,258.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:258.16,260.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:261.2,262.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:262.16,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.2,265.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.47,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:268.2,269.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:269.16,270.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:270.50,272.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:273.3,273.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:275.2,275.173 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278.157,280.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:280.16,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.2,283.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.47,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:286.2,287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:287.16,288.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:288.50,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:291.3,291.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:293.2,293.169 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296.104,297.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:297.22,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:300.2,301.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:301.61,303.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:303.20,304.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.2,307.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.19,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:310.2,317.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320.119,322.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:322.39,323.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:323.81,325.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:327.2,327.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330.71,332.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:332.16,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:335.2,335.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17.61,105.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:105.23,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:123.2,123.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126.104,127.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:127.61,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.2,130.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.38,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:133.2,134.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:137.2,138.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:138.16,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:141.2,147.107 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:147.107,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:150.2,151.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:151.16,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:154.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:170.19,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:173.2,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176.103,177.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:177.61,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.2,180.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.38,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:187.2,191.106 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:191.106,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:194.2,195.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:195.16,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:198.2,200.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:200.31,207.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:207.36,218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:219.3,220.35 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:222.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233.107,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.2,237.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.38,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:240.2,241.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:241.16,243.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:244.2,248.110 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:248.110,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:251.2,252.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:252.16,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:255.2,256.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:256.33,266.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:267.2,275.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278.108,279.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:279.61,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.2,282.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.37,284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:285.2,286.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:286.16,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:289.2,290.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:290.19,292.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.2,293.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.104,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:296.2,297.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:297.16,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:300.2,307.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:307.16,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:310.2,311.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:311.43,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:319.2,332.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:332.22,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:335.2,335.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338.108,339.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:339.62,341.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.2,342.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.38,344.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:345.2,346.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:346.9,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:349.2,350.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:350.16,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:353.2,357.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:360.2,370.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373.109,374.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:374.62,376.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.2,377.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.38,379.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:380.2,381.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:381.9,383.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:384.2,385.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:385.16,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:388.2,390.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:390.32,392.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:393.2,394.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:394.16,396.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:397.2,403.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406.106,407.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:407.62,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.2,410.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.38,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:413.2,414.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:414.9,416.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:417.2,418.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:418.16,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:421.2,423.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:423.16,424.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:424.41,434.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:435.3,435.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:437.2,445.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483.65,484.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:484.42,485.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:485.39,487.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.2,489.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.85,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:492.2,492.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495.102,496.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:496.38,498.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.2,499.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.58,501.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:502.2,502.90 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505.60,508.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510.66,512.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:512.26,514.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:515.2,515.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518.69,521.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:521.33,523.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:523.21,524.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.3,526.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.34,527.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:529.3,530.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:532.2,532.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535.63,537.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:537.19,539.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:540.2,541.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:541.42,543.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.2,544.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.57,546.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.2,547.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.54,549.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:550.2,550.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553.70,557.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559.66,561.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:561.9,563.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:564.2,566.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:566.17,568.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:569.2,569.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:570.103,572.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:573.34,574.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:575.10,576.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580.56,581.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:581.37,583.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.2,584.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.26,586.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:586.37,587.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:589.3,589.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:591.2,591.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594.90,602.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604.68,605.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:605.71,607.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:607.17,609.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:610.3,610.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:612.2,613.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:613.16,615.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:616.2,617.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:617.41,619.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:620.2,620.78 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623.65,625.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:625.16,627.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.2,628.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.17,630.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:631.2,631.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634.51,635.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:635.16,637.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:638.2,638.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641.56,642.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:642.28,644.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:645.2,646.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649.92,651.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:651.29,653.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:654.2,654.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657.86,659.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:659.29,661.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:662.2,662.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665.94,667.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:667.29,669.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:670.2,670.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673.98,675.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:675.29,677.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:678.2,678.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:17.93,18.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:18.104,20.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:22.2,23.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:23.16,25.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:27.2,28.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:28.19,30.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:32.2,35.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:35.33,36.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:36.47,39.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:42.2,44.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:44.20,47.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:48.2,49.68 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:49.68,50.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:50.48,52.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.3,53.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.32,55.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:55.23,56.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:56.63,58.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:59.5,59.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:61.4,61.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:64.2,71.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:71.17,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.8,73.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.29,75.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:75.36,77.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:78.3,83.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.2,86.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.35,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:90.2,97.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:101.2,110.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:110.28,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:113.2,124.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:133.93,134.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:134.35,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:138.2,139.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:139.16,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:143.2,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.2,147.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.17,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:151.2,152.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:152.33,153.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:153.47,156.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:160.16,162.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:164.2,176.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:176.26,178.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:178.23,180.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:181.3,192.5 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:195.2,196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:199.2,199.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:22.104,24.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:24.16,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:28.2,29.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:29.18,31.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:33.2,33.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:34.13,35.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:36.13,37.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:38.14,39.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:40.16,41.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:42.10,43.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:51.67,53.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:57.68,58.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:58.33,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:61.2,61.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:67.42,69.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:74.61,76.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:76.26,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:79.2,79.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:85.90,86.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:86.49,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:90.2,91.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:91.15,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:94.2,95.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:95.17,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:100.2,103.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:103.16,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:107.2,113.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:113.12,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:115.18,117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:118.3,119.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:119.20,121.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:122.3,124.48 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:125.8,127.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:129.2,130.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:130.16,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:134.2,139.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:145.90,147.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:151.2,152.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:152.16,154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:157.16,158.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:158.47,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:161.3,161.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:164.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:170.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:173.8,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:176.2,176.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:181.92,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:187.2,188.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:188.16,190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:192.2,200.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:200.25,207.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:207.28,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:210.3,210.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:212.2,212.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:216.93,217.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:217.52,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:221.2,222.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:222.15,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:226.2,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.2,231.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.47,232.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:232.47,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:235.3,235.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:238.2,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:35.127,36.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:36.23,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:39.2,40.40 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:40.40,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.2,43.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.37,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.2,46.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.37,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:49.2,49.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:52.23,80.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:82.26,140.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:142.92,143.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:143.25,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:147.2,148.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:148.49,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:152.2,152.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:153.17,154.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:154.24,156.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:157.3,158.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:158.17,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:161.3,165.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:166.17,167.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:167.22,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.3,170.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.22,172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:173.3,174.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:174.17,176.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:177.3,181.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:182.16,189.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:189.23,191.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.3,192.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.24,194.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.3,195.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.39,197.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:198.3,207.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:207.17,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.3,210.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.69,212.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:213.3,213.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:214.10,215.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:219.92,220.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:220.25,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:224.2,225.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:225.49,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:229.2,229.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:230.17,232.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:232.24,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:235.3,236.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:236.17,238.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.3,239.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.59,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.3,242.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.81,244.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:245.3,250.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:251.17,253.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:253.22,255.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:256.3,257.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:257.17,259.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.3,260.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.79,262.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:263.3,268.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:269.10,270.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:274.91,276.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:276.16,278.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.2,279.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.67,280.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:280.76,282.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:285.2,286.52 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:286.52,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:289.2,289.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:292.74,294.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:294.16,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.2,297.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.62,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:300.2,300.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:303.109,304.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:304.56,306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.2,307.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.25,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.2,310.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.81,312.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.2,313.102 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.102,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.2,316.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.108,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.2,319.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.99,321.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.2,322.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.99,324.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.2,325.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.60,327.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.2,328.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.34,330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.2,331.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.114,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.2,334.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.66,336.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.2,337.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.40,339.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.2,340.132 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.132,342.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.2,343.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.35,345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:346.2,346.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:349.92,350.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:350.103,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:354.2,355.52 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:355.52,357.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.2,358.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.32,360.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:361.2,361.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:364.108,365.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:365.19,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:368.2,369.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:369.53,371.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.2,372.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.19,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.2,375.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.39,376.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:376.34,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:380.2,380.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:383.66,385.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:385.53,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.2,388.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.19,390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:391.2,391.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:16.2,18.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:19.16,20.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:21.14,22.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:23.15,24.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:25.16,26.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:27.10,28.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21.75,23.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25.41,28.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30.31,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39.38,46.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48.50,56.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58.43,70.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72.80,73.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:73.36,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.2,76.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.48,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:79.2,79.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82.97,84.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:87.2,88.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:88.16,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:91.2,92.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:92.16,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:95.2,96.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:96.16,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:99.2,99.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102.104,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:111.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:115.2,116.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:116.16,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:119.2,119.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122.96,124.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:127.2,128.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:128.19,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:131.2,132.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:132.18,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:135.2,141.79 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:141.79,143.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:143.17,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:146.3,146.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:148.2,148.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151.77,153.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:156.2,157.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:157.19,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:160.2,160.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:22.15,23.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:24.13,25.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:26.14,27.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:28.16,29.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:30.16,31.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:32.10,33.102 1 0 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/create-database.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/create-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/create-database.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/create-database.stdout.log new file mode 100644 index 00000000..4b15bd57 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/create-database.stdout.log @@ -0,0 +1 @@ +CREATE DATABASE diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/create-pgvector.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/create-pgvector.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/create-pgvector.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/create-pgvector.stdout.log new file mode 100644 index 00000000..d26bad14 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/create-pgvector.stdout.log @@ -0,0 +1 @@ +CREATE EXTENSION diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/database-identity.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/database-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/database-identity.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/database-identity.stdout.log new file mode 100644 index 00000000..b67f0082 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/database-identity.stdout.log @@ -0,0 +1 @@ +{"database" : "engram_prc_rg_test_6479cc98e3e51502_r1", "schema" : "public", "server_version" : "17.10 (Debian 17.10-1.pgdg12+1)", "user" : "engram"} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/go-test-summary.json b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/go-test-summary.json new file mode 100644 index 00000000..b03050ae --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/go-test-summary.json @@ -0,0 +1,40 @@ +{ + "schema_version": 1, + "verdict": "PASS", + "input_path": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\go-test.stdout.jsonl", + "fail_on_unexpected_skip": true, + "allowed_skip_identities": [], + "counts": { + "packages": 1, + "tests": 1, + "passed": 1, + "failed": 0, + "skipped": 0, + "no_tests": 0, + "zero_tests": 0, + "incomplete": 0, + "unexpected_skips": 0, + "malformed_lines": 0 + }, + "packages": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "outcome": "pass", + "elapsed_seconds": 4.83, + "last_output": "ok \tgithub.com/thebtf/engram/internal/mcp\t4.821s\tcoverage: 0.1% of statements", + "tests_observed": 1 + } + ], + "tests": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEC_F1_TagDerivedBackfill_T007", + "outcome": "pass", + "elapsed_seconds": 3.64, + "last_output": "--- PASS: TestEC_F1_TagDerivedBackfill_T007 (3.64s)", + "skip_allowed": false + } + ], + "unexpected_skips": [], + "errors": [] +} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/go-test.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/go-test.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/go-test.stdout.jsonl b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/go-test.stdout.jsonl new file mode 100644 index 00000000..1b215e1c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/go-test.stdout.jsonl @@ -0,0 +1,16 @@ +{"Time":"2026-07-11T03:39:27.2480324+03:00","Action":"start","Package":"github.com/thebtf/engram/internal/mcp"} +{"Time":"2026-07-11T03:39:27.3663192+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007"} +{"Time":"2026-07-11T03:39:27.3663192+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"=== RUN TestEC_F1_TagDerivedBackfill_T007\n"} +{"Time":"2026-07-11T03:39:28.1896664+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"warn\",\"error\":\"ERROR: relation \\\"observation_vectors\\\" does not exist (SQLSTATE 42P01)\",\"time\":\"2026-07-11T03:39:28+03:00\",\"message\":\"migration 040: orphan vector cleanup failed (non-fatal)\"}\n"} +{"Time":"2026-07-11T03:39:28.1896664+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"garbage_deleted\":0,\"orphan_vectors_deleted\":0,\"time\":\"2026-07-11T03:39:28+03:00\",\"message\":\"migration 040: garbage cleanup complete\"}\n"} +{"Time":"2026-07-11T03:39:28.1976652+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"orphan_vectors_deleted\":0,\"time\":\"2026-07-11T03:39:28+03:00\",\"message\":\"migration 041: orphan vector purge complete\"}\n"} +{"Time":"2026-07-11T03:39:28.2051681+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"patterns_deleted\":0,\"time\":\"2026-07-11T03:39:28+03:00\",\"message\":\"migration 042: low-quality pattern purge complete\"}\n"} +{"Time":"2026-07-11T03:39:28.2391952+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"total_deleted\":0,\"time\":\"2026-07-11T03:39:28+03:00\",\"message\":\"migration 043: radical observation cleanup complete\"}\n"} +{"Time":"2026-07-11T03:39:29.4033859+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"warn\",\"error\":\"ERROR: extension \\\"vectorscale\\\" is not available (SQLSTATE 0A000)\",\"time\":\"2026-07-11T03:39:29+03:00\",\"message\":\"migration 109: vectorscale extension not available, skipping DiskANN index\"}\n"} +{"Time":"2026-07-11T03:39:30.6200023+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:39:30+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:39:31.002621+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"--- PASS: TestEC_F1_TagDerivedBackfill_T007 (3.64s)\n"} +{"Time":"2026-07-11T03:39:31.002621+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Elapsed":3.64} +{"Time":"2026-07-11T03:39:31.0031219+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"PASS\n"} +{"Time":"2026-07-11T03:39:31.0211212+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"coverage: 0.1% of statements\n"} +{"Time":"2026-07-11T03:39:32.0782786+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"ok \tgithub.com/thebtf/engram/internal/mcp\t4.821s\tcoverage: 0.1% of statements\n"} +{"Time":"2026-07-11T03:39:32.0782786+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Elapsed":4.83} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/pg-stat-activity-after.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/pg-stat-activity-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/pg-stat-activity-after.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/pg-stat-activity-after.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/pg-stat-activity-after.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/pg-stat-activity-before.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/pg-stat-activity-before.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/repeat-summary.json b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/repeat-summary.json new file mode 100644 index 00000000..5d5c0844 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/repeat-summary.json @@ -0,0 +1,33 @@ +{ + "repeat": 1, + "verdict": "PASS", + "database": "engram_prc_rg_test_6479cc98e3e51502_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_6479cc98e3e51502_r1.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": true, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 0, + "json_parser_exit": 0, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\cleanup\\cleanup.json", + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01" +} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/server-connection-count-after.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/server-connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/server-connection-count-after.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/server-connection-count-after.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/server-connection-count-after.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/server-connection-count-before.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/server-connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/server-connection-count-before.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/server-connection-count-before.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/server-connection-count-before.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/targeted-coverage.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/targeted-coverage.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/targeted-coverage.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/targeted-coverage.stdout.log new file mode 100644 index 00000000..c958686c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/repeat-01/targeted-coverage.stdout.log @@ -0,0 +1,352 @@ +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33: effectiveAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44: isAuditEnabled 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52: runAuditAsync 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77: marshalState 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92: logAuditCreate 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117: logAuditEdit 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142: logAuditDelete 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166: logAuditGeneric 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189: logAuditSupersede 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:30: parseArgs 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:46: coerceString 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:67: coerceInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:97: coerceInt64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:127: coerceFloat64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:151: coerceBool 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:177: coerceStringSlice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:204: coerceInt64Slice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:222: clampToInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:236: clampInt64ToInt 0.0% +github.com/thebtf/engram/internal/mcp/context.go:17: extractProjectFromHeader 0.0% +github.com/thebtf/engram/internal/mcp/context.go:22: contextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:29: ContextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:35: projectFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:41: contextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:48: ContextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:54: sessionFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:61: actorFromContext 0.0% +github.com/thebtf/engram/internal/mcp/health.go:22: NewMCPHealth 0.0% +github.com/thebtf/engram/internal/mcp/health.go:29: RecordRequest 0.0% +github.com/thebtf/engram/internal/mcp/health.go:36: RecordError 0.0% +github.com/thebtf/engram/internal/mcp/health.go:42: rotateWindowIfNeeded 0.0% +github.com/thebtf/engram/internal/mcp/health.go:55: HandleHealth 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28: ruleGovernanceCaptureEnabled 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39: captureActiveRuleIntent 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104: ruleIntentFingerprint 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113: marshalRuleCandidateIntentResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:127: NewServer 100.0% +github.com/thebtf/engram/internal/mcp/server.go:141: SetBackfillStatusFunc 0.0% +github.com/thebtf/engram/internal/mcp/server.go:146: SetVersionedDocumentStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:151: SetIssueStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:156: SetMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:161: SetMetaMemoryIndex 0.0% +github.com/thebtf/engram/internal/mcp/server.go:166: SetHintQueue 0.0% +github.com/thebtf/engram/internal/mcp/server.go:171: SetStateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:176: SetDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/server.go:181: SetBehavioralRulesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:186: SetRuleGovernanceStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:191: SetRuleInjectionTelemetryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:195: SetPromotionStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:199: SetGraphStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:204: SetNodesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:211: SetAuditStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:216: SetPurgeStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:222: SetCandidateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:228: SetSnapshotStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:234: SetBulkFacade 0.0% +github.com/thebtf/engram/internal/mcp/server.go:240: setTestAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/server.go:246: setTestMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/server.go:252: setTestMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/server.go:260: SetWriteLintOrchestrator 0.0% +github.com/thebtf/engram/internal/mcp/server.go:269: SetRedactionRules 0.0% +github.com/thebtf/engram/internal/mcp/server.go:274: SetEmbeddingStores 0.0% +github.com/thebtf/engram/internal/mcp/server.go:282: SetRerankClient 0.0% +github.com/thebtf/engram/internal/mcp/server.go:290: SetStatsDB 0.0% +github.com/thebtf/engram/internal/mcp/server.go:297: HandleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:303: ListTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:332: Version 0.0% +github.com/thebtf/engram/internal/mcp/server.go:383: Run 0.0% +github.com/thebtf/engram/internal/mcp/server.go:427: handleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:461: handleNotification 0.0% +github.com/thebtf/engram/internal/mcp/server.go:473: handleInitialize 0.0% +github.com/thebtf/engram/internal/mcp/server.go:496: buildInstructions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:660: storeMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:712: recallMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:805: primaryTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:942: handleToolsList 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1612: handleToolsCall 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1644: sanitizeToolCallArgs 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1656: callTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1874: sendResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1884: sendError 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1896: handleFindSimilarObservations 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1927: handleGetMemoryStats 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2055: handleBackfillStatus 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2071: handleCheckSystemHealth 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2216: handleAnalyzeSearchPatterns 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2246: handleSearchSessions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2251: handleListSessions 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:18: buildAdminTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:68: adminActionsForEnv 33.3% +github.com/thebtf/engram/internal/mcp/tools_admin.go:80: vnextEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:84: handleAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:120: handlePurgeProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27: ambientHintsEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32: ambientHintsTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48: handleGetAmbientHints 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86: normalizeAmbientHintsToolLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96: ambientHintItems 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114: errMissingSessionID 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:31: handleGetMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:107: memoryBriefUsesPrincipalScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:115: handlePrincipalMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:259: truncateBriefContent 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:270: filterInjectionByScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25: bulkOpsTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95: handleBulkPromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154: handleBulkDelete 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211: handleBulkSupersede 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31: candidateItemFromDomain 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51: newCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59: requireCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68: candidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165: handleListCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208: handleGetCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239: handlePromoteCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348: handleRejectCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402: handleSupersedeCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34: codeIntelEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42: SetCodeChunkStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48: codebaseSearchTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79: codebaseStatusTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100: handleCodebaseSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194: handleCodebaseStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:21: getVault 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:35: credentialStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:49: handleStoreCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:130: handleGetCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:192: handleListCredentials 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:243: handleDeleteCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:302: handleVaultStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:338: expandTagHierarchy 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:16: directivesCaptureEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:20: rememberDirectiveTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:38: currentDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:48: handleRememberDirective 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:72: parseRememberDirectiveArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10: handleDocsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:15: handleListCollections 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:61: handleListDocuments 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:121: handleGetDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:165: handleRemoveDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:197: handleIngestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:235: handleSearchCollection 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15: handleDocCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61: handleDocRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117: handleDocUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122: handleDocList 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175: handleDocHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232: handleDocComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19: SetExperienceProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23: experienceHistoryTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40: experienceHistoryReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65: experienceHistoryDetailSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82: experienceHistoryTriggerEnum 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91: handleExperienceHistoryRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103: handleExperienceHistoryDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115: parseExperienceHistoryReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142: parseExperienceHistoryDetailArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157: experienceHistoryTriggersFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180: marshalExperienceHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12: handleFeedbackConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36: handleSetSessionOutcome 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:27: governanceTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:98: handleListSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:167: handleRollbackSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:215: handlePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:258: handleRedactionRulesStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:284: resolveGovernanceActor 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:64: handleGraph 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:100: graphAddEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:216: mcpGraphEndpointExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:243: mcpGraphEdgeAlreadyExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:276: graphAddNode 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:317: graphRemoveEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:332: graphGetEdges 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:397: filterEdgesByNodeType 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:457: graphTraverse 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:480: graphFindPath 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:502: graphSynonyms 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23: graphCreateEdgeWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80: graphEndpointExistsWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114: graphDuplicateEdgeExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25: handleIngest 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43: ingestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20: handleImportInstincts 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:19: issuesToolSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:109: validateIssueActionParams 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:143: handleIssues 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:189: resolveSourceProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:205: handleIssueCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:250: handleIssueList 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:311: handleIssueGet 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:344: handleIssueUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:382: handleIssueComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:408: handleIssueReopen 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:425: handleIssueClose 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22: handleLifecycle 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48: lifecycleInfo 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87: lifecyclePromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118: lifecycleDemote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149: lifecycleSetConfidence 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172: lifecycleSetDefeasibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191: lifecycleSleepStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197: lifecycleDecayPreview 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233: marshalJSON 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:35: vnextFEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:42: isValidPrivacyScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:54: derivePrivacyScopeFromLegacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:82: deriveLegacyScopeFromPrivacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:93: applyPrincipalMemoryMetadata 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:135: addPrincipalMemoryFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:161: newScopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:172: writeLintVisibilityCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:186: writeLintVisibilityOptions 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:192: scopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:202: filterVisibleWriteGateCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:214: domainManageAllowed 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:218: List 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:272: writeLintVisibilityFetchLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:286: Get 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:297: Create 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:301: Update 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:305: MarkSuperseded 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:319: effectiveMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:329: isValidStoreObservationType 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:354: handleStoreMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111: handleEditMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218: computeTTLDays 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258: truncateTitle 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270: keepRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280: keepRecallMemoryFilters 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342: handleRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690: staleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700: marshalWithStaleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727: Rank 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1751: handleRecallMemoryHybrid 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252: handleRateMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281: handleSuppressMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17: SetDomainRegistryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21: checkDomainWriteMCP 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43: addDomainWriteDecisionFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51: marshalStoreMemoryAugmented 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26: newMemoryStoreSignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33: s6OutcomeEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37: effectiveMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47: currentMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58: rateMemorySignificanceTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74: handleRateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109: RateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18: s2MetaMemoryEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22: knowAboutTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39: handleKnowAbout 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104: parseKnowAboutLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118: summarizeMetaIndexTags 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153: summarizeMetaIndexDateRange 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23: SetPrincipalMemoryQueryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27: principalMemoryQueryTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52: handleQueryPrincipalMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134: principalMemoryQueryCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149: parsePrincipalMemoryQueryLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160: principalMemoryQueryText 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167: parsePrincipalMemoryQueryVisibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179: parsePrincipalMemoryQueryOffset 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190: parsePrincipalMemoryQueryInt 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215: parsePrincipalMemoryQueryBool 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:28: handleRecall 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:125: parseRecallIncludedPrincipals 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:165: appendRecallIncludedPrincipalMemories 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:223: recallIncludeTargetMatchesCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:231: recallPrincipalQueryItemToMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:247: handleRecallSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20: currentReviewLoopCandidateLister 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30: reviewLoopCandidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65: reviewLoopReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78: reviewPacketIDSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91: handleReviewMetricsRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110: handleReviewQueueRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140: handleReviewPacketDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151: handleReviewPacketPreviewAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167: handleReviewPacketApplyAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189: parseReviewLoopReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212: reviewLoopMCPPacketTypeSupported 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217: reviewLoopActionFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225: reviewLoopReasonFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233: loadReviewPacketCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256: applyReviewPacketPreserve 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278: applyReviewPacketSuppress 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296: reviewLoopMemoryFromCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320: filterRiskyMCPReviewCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330: marshalReviewLoop 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17: ruleGovernanceReadTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126: handleRuleGovernanceHealth 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176: handleRuleGovernanceQueue 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233: handleRuleGovernanceSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278: handleRuleGovernanceUsefulness 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338: handleRuleGovernanceTransition 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373: handleRuleGovernancePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406: handleRuleGovernanceRollback 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483: requireRuleGovernanceReadAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495: requireRuleGovernanceProjectOrAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505: ruleGovernanceCallerIsAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510: requireRuleGovernanceAdminAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518: redactRuleGovernanceEvidenceHandles 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535: redactRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553: ruleGovernanceEvidenceHandleHasSensitiveText 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559: isCanonicalRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580: isSafeRuleGovernanceEvidenceID 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594: parseRuleGovernanceTransitionRequest 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604: parseRuleGovernanceSince 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623: boundedRuleGovernanceLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634: formatRuleGovernanceTime 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641: formatRuleGovernanceTimePtr 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649: stringRuleCandidateStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657: stringRuleVersionStateCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665: stringRuleArbiterRunStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673: stringRuleInjectionEventTypeCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:17: handleStoreRule 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:133: handleListRules 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:22: handleSettingsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:51: SetSettingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:57: settingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:67: isSecretSettingKey 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:74: requireAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:85: handleSetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:145: handleGetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:181: handleListSettings 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:216: handleDeleteSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:35: resumeScopesFromFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:52: stateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:82: setStateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:142: handleGetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:219: handleSetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:274: decodeSessionStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:292: validateSessionStateBudget 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:303: validateNativeResumePacket 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:349: decodeProjectStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:364: requireStateObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:383: requireNestedObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10: handleStoreConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21: SetTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25: temporalTruthEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30: temporalTruthTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39: temporalTruthRefreshTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48: temporalTruthRefreshSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58: temporalTruthSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72: currentTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82: handleTemporalTruth 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102: handleTemporalTruthRefresh 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122: parseTemporalTruthArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151: parseTemporalTruthRefreshProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10: handleVaultConsolidated 0.0% +total: (statements) 0.1% diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/summary.json b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/summary.json new file mode 100644 index 00000000..1cd51f32 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-race/summary.json @@ -0,0 +1,64 @@ +{ + "schema_version": 1, + "gate": "release-gates-foundation", + "run_id": "t007-maker-focused-race", + "started_at": "2026-07-11T00:39:06.8894571+00:00", + "finished_at": "2026-07-11T00:39:37.9559789+00:00", + "duration_seconds": 31.067, + "verdict": "PASS", + "counts": { + "requested_repeats": 1, + "completed_repeats": 1, + "passed_repeats": 1, + "failed_repeats": 0, + "child_commands": 16, + "nonzero_child_commands": 0 + }, + "packages": [ + "./internal/mcp" + ], + "run_pattern": "^TestEC_F1_TagDerivedBackfill_T007$", + "coverage_policy": "Targeted", + "connection_budget": 20, + "race": true, + "database_dsn": "REDACTED_DATABASE_DSN", + "environment": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\environment.json", + "commands": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\commands.json", + "repeats": [ + { + "repeat": 1, + "verdict": "PASS", + "database": "engram_prc_rg_test_6479cc98e3e51502_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_6479cc98e3e51502_r1.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": true, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 0, + "json_parser_exit": 0, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01\\cleanup\\cleanup.json", + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race\\repeat-01" + } + ], + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-race" +} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/commands.json b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/commands.json new file mode 100644 index 00000000..77f2daff --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/commands.json @@ -0,0 +1,1198 @@ +[ + { + "name": "go-version", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "version" + ], + "environment_keys": [], + "command": "C:\\Program Files\\Go\\bin\\go.exe version", + "started_at": "2026-07-11T00:34:31.6116730+00:00", + "finished_at": "2026-07-11T00:34:31.8215794+00:00", + "duration_seconds": 0.21, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\go-version.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\go-version.stderr.log" + }, + { + "name": "postgres-container-identity", + "executable": "docker", + "arguments": [ + "inspect", + "--format", + "{{.Name}}|{{.Config.Image}}|{{.Image}}|{{.State.Running}}", + "engram-prc-postgres" + ], + "environment_keys": [], + "command": "docker inspect --format {{.Name}}|{{.Config.Image}}|{{.Image}}|{{.State.Running}} engram-prc-postgres", + "started_at": "2026-07-11T00:34:31.8841079+00:00", + "finished_at": "2026-07-11T00:34:32.1761141+00:00", + "duration_seconds": 0.292, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\postgres-container-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\postgres-container-identity.stderr.log" + }, + { + "name": "postgres-server-identity", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT json_build_object('server_version', current_setting('server_version'), 'server_version_num', current_setting('server_version_num'), 'version', version(), 'max_connections', current_setting('max_connections'), 'superuser_reserved_connections', current_setting('superuser_reserved_connections'), 'reserved_connections', COALESCE(NULLIF(current_setting('reserved_connections', true), ''), '0'), 'current_connections', (SELECT count(*)::text FROM pg_stat_activity), 'database', current_database(), 'schema', current_schema(), 'user', current_user)::text;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT json_build_object('server_version', current_setting('server_version'), 'server_version_num', current_setting('server_version_num'), 'version', version(), 'max_connections', current_setting('max_connections'), 'superuser_reserved_connections', current_setting('superuser_reserved_connections'), 'reserved_connections', COALESCE(NULLIF(current_setting('reserved_connections', true), ''), '0'), 'current_connections', (SELECT count(*)::text FROM pg_stat_activity), 'database', current_database(), 'schema', current_schema(), 'user', current_user)::text;", + "started_at": "2026-07-11T00:34:32.1868774+00:00", + "finished_at": "2026-07-11T00:34:32.6684632+00:00", + "duration_seconds": 0.482, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\postgres-server-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\postgres-server-identity.stderr.log" + }, + { + "name": "repeat-1-create-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "CREATE DATABASE \"engram_prc_rg_test_8b1d3112a7a95fbb_r1\" OWNER \"engram\";" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c CREATE DATABASE \"engram_prc_rg_test_8b1d3112a7a95fbb_r1\" OWNER \"engram\";", + "started_at": "2026-07-11T00:34:32.7065117+00:00", + "finished_at": "2026-07-11T00:34:33.3009986+00:00", + "duration_seconds": 0.594, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\create-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\create-database.stderr.log" + }, + { + "name": "repeat-1-create-pgvector", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_8b1d3112a7a95fbb_r1", + "-At", + "-F", + "|", + "-c", + "CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_8b1d3112a7a95fbb_r1 -At -F | -c CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;", + "started_at": "2026-07-11T00:34:33.3060313+00:00", + "finished_at": "2026-07-11T00:34:33.7384899+00:00", + "duration_seconds": 0.432, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\create-pgvector.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\create-pgvector.stderr.log" + }, + { + "name": "repeat-1-database-identity", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_8b1d3112a7a95fbb_r1", + "-At", + "-F", + "|", + "-c", + "SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_8b1d3112a7a95fbb_r1 -At -F | -c SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;", + "started_at": "2026-07-11T00:34:33.7417020+00:00", + "finished_at": "2026-07-11T00:34:34.1514076+00:00", + "duration_seconds": 0.41, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\database-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\database-identity.stderr.log" + }, + { + "name": "repeat-1-pg-stat-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:34:34.1572280+00:00", + "finished_at": "2026-07-11T00:34:34.6252083+00:00", + "duration_seconds": 0.468, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\pg-stat-activity-before.stderr.log" + }, + { + "name": "repeat-1-server-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T00:34:34.6278663+00:00", + "finished_at": "2026-07-11T00:34:35.4932089+00:00", + "duration_seconds": 0.865, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\server-connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\server-connection-count-before.stderr.log" + }, + { + "name": "repeat-1-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r1';", + "started_at": "2026-07-11T00:34:35.5034367+00:00", + "finished_at": "2026-07-11T00:34:35.9626158+00:00", + "duration_seconds": 0.459, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\connection-count-before.stderr.log" + }, + { + "name": "repeat-1-go-test", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "test", + "-json", + "-p", + "1", + "-parallel", + "1", + "-count=1", + "-timeout", + "30m", + "-covermode=atomic", + "-coverprofile=.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\coverage.out", + "-run", + "^TestEC_F1_TagDerivedBackfill_T007$", + "./internal/mcp" + ], + "environment_keys": [ + "DATABASE_DSN", + "DATABASE_MAX_CONNS", + "ENGRAM_RELEASE_GATE_REPEAT", + "ENGRAM_RELEASE_GATE_RUN_ID", + "ENGRAM_TEST_DSN", + "TEST_DATABASE_DSN" + ], + "command": "C:\\Program Files\\Go\\bin\\go.exe test -json -p 1 -parallel 1 -count=1 -timeout 30m -covermode=atomic -coverprofile=.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\coverage.out -run ^TestEC_F1_TagDerivedBackfill_T007$ ./internal/mcp", + "started_at": "2026-07-11T00:34:35.9700434+00:00", + "finished_at": "2026-07-11T00:34:44.2078723+00:00", + "duration_seconds": 8.238, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\go-test.stdout.jsonl", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\go-test.stderr.log" + }, + { + "name": "repeat-1-assert-go-test-json", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-current-contract\\scripts\\production-gates\\assert-go-test-json.ps1", + "-InputPath", + ".agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\go-test.stdout.jsonl", + "-SummaryPath", + ".agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\go-test-summary.json", + "-FailOnUnexpectedSkip" + ], + "environment_keys": [], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-current-contract\\scripts\\production-gates\\assert-go-test-json.ps1 -InputPath .agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\go-test.stdout.jsonl -SummaryPath .agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\go-test-summary.json -FailOnUnexpectedSkip", + "started_at": "2026-07-11T00:34:44.2124184+00:00", + "finished_at": "2026-07-11T00:34:45.0018863+00:00", + "duration_seconds": 0.789, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\assert-go-test-json.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\assert-go-test-json.stderr.log" + }, + { + "name": "repeat-1-targeted-coverage-report", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "tool", + "cover", + "-func=.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\coverage.out" + ], + "environment_keys": [], + "command": "C:\\Program Files\\Go\\bin\\go.exe tool cover -func=.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\coverage.out", + "started_at": "2026-07-11T00:34:45.0071918+00:00", + "finished_at": "2026-07-11T00:34:45.5867022+00:00", + "duration_seconds": 0.58, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\targeted-coverage.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\targeted-coverage.stderr.log" + }, + { + "name": "repeat-1-pg-stat-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:34:45.5880323+00:00", + "finished_at": "2026-07-11T00:34:46.1217622+00:00", + "duration_seconds": 0.534, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\pg-stat-activity-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\pg-stat-activity-after.stderr.log" + }, + { + "name": "repeat-1-server-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T00:34:46.1242051+00:00", + "finished_at": "2026-07-11T00:34:46.5074688+00:00", + "duration_seconds": 0.383, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\server-connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\server-connection-count-after.stderr.log" + }, + { + "name": "repeat-1-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r1';", + "started_at": "2026-07-11T00:34:46.5099325+00:00", + "finished_at": "2026-07-11T00:34:46.8773903+00:00", + "duration_seconds": 0.367, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\connection-count-after.stderr.log" + }, + { + "name": "repeat-1-cleanup", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-current-contract\\scripts\\production-gates\\cleanup-db-sessions.ps1", + "-DatabaseName", + "engram_prc_rg_test_8b1d3112a7a95fbb_r1", + "-SchemaName", + "public", + "-ArtifactRoot", + ".agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01", + "-RunId", + "t007-maker-focused-repeat3-repeat-1", + "-PostgresContainer", + "engram-prc-postgres" + ], + "environment_keys": [ + "ENGRAM_TEST_ADMIN_DSN" + ], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-current-contract\\scripts\\production-gates\\cleanup-db-sessions.ps1 -DatabaseName engram_prc_rg_test_8b1d3112a7a95fbb_r1 -SchemaName public -ArtifactRoot .agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01 -RunId t007-maker-focused-repeat3-repeat-1 -PostgresContainer engram-prc-postgres", + "started_at": "2026-07-11T00:34:46.8807207+00:00", + "finished_at": "2026-07-11T00:34:49.8810060+00:00", + "duration_seconds": 3.0, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\cleanup-process.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\cleanup-process.stderr.log" + }, + { + "name": "repeat-2-create-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "CREATE DATABASE \"engram_prc_rg_test_8b1d3112a7a95fbb_r2\" OWNER \"engram\";" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c CREATE DATABASE \"engram_prc_rg_test_8b1d3112a7a95fbb_r2\" OWNER \"engram\";", + "started_at": "2026-07-11T00:34:49.9103369+00:00", + "finished_at": "2026-07-11T00:34:50.4859490+00:00", + "duration_seconds": 0.576, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\create-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\create-database.stderr.log" + }, + { + "name": "repeat-2-create-pgvector", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_8b1d3112a7a95fbb_r2", + "-At", + "-F", + "|", + "-c", + "CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_8b1d3112a7a95fbb_r2 -At -F | -c CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;", + "started_at": "2026-07-11T00:34:50.5194524+00:00", + "finished_at": "2026-07-11T00:34:50.9694310+00:00", + "duration_seconds": 0.45, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\create-pgvector.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\create-pgvector.stderr.log" + }, + { + "name": "repeat-2-database-identity", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_8b1d3112a7a95fbb_r2", + "-At", + "-F", + "|", + "-c", + "SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_8b1d3112a7a95fbb_r2 -At -F | -c SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;", + "started_at": "2026-07-11T00:34:50.9714001+00:00", + "finished_at": "2026-07-11T00:34:51.4932802+00:00", + "duration_seconds": 0.522, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\database-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\database-identity.stderr.log" + }, + { + "name": "repeat-2-pg-stat-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r2' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r2' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:34:51.4951826+00:00", + "finished_at": "2026-07-11T00:34:52.2986830+00:00", + "duration_seconds": 0.804, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\pg-stat-activity-before.stderr.log" + }, + { + "name": "repeat-2-server-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T00:34:52.3008218+00:00", + "finished_at": "2026-07-11T00:34:52.9493046+00:00", + "duration_seconds": 0.648, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\server-connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\server-connection-count-before.stderr.log" + }, + { + "name": "repeat-2-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r2';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r2';", + "started_at": "2026-07-11T00:34:52.9517656+00:00", + "finished_at": "2026-07-11T00:34:53.3993127+00:00", + "duration_seconds": 0.448, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\connection-count-before.stderr.log" + }, + { + "name": "repeat-2-go-test", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "test", + "-json", + "-p", + "1", + "-parallel", + "1", + "-count=1", + "-timeout", + "30m", + "-covermode=atomic", + "-coverprofile=.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\coverage.out", + "-run", + "^TestEC_F1_TagDerivedBackfill_T007$", + "./internal/mcp" + ], + "environment_keys": [ + "DATABASE_DSN", + "DATABASE_MAX_CONNS", + "ENGRAM_RELEASE_GATE_REPEAT", + "ENGRAM_RELEASE_GATE_RUN_ID", + "ENGRAM_TEST_DSN", + "TEST_DATABASE_DSN" + ], + "command": "C:\\Program Files\\Go\\bin\\go.exe test -json -p 1 -parallel 1 -count=1 -timeout 30m -covermode=atomic -coverprofile=.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\coverage.out -run ^TestEC_F1_TagDerivedBackfill_T007$ ./internal/mcp", + "started_at": "2026-07-11T00:34:53.4018979+00:00", + "finished_at": "2026-07-11T00:34:59.7879846+00:00", + "duration_seconds": 6.386, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\go-test.stdout.jsonl", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\go-test.stderr.log" + }, + { + "name": "repeat-2-assert-go-test-json", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-current-contract\\scripts\\production-gates\\assert-go-test-json.ps1", + "-InputPath", + ".agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\go-test.stdout.jsonl", + "-SummaryPath", + ".agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\go-test-summary.json", + "-FailOnUnexpectedSkip" + ], + "environment_keys": [], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-current-contract\\scripts\\production-gates\\assert-go-test-json.ps1 -InputPath .agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\go-test.stdout.jsonl -SummaryPath .agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\go-test-summary.json -FailOnUnexpectedSkip", + "started_at": "2026-07-11T00:34:59.7902538+00:00", + "finished_at": "2026-07-11T00:35:00.5420016+00:00", + "duration_seconds": 0.752, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\assert-go-test-json.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\assert-go-test-json.stderr.log" + }, + { + "name": "repeat-2-targeted-coverage-report", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "tool", + "cover", + "-func=.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\coverage.out" + ], + "environment_keys": [], + "command": "C:\\Program Files\\Go\\bin\\go.exe tool cover -func=.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\coverage.out", + "started_at": "2026-07-11T00:35:00.5440256+00:00", + "finished_at": "2026-07-11T00:35:01.0430676+00:00", + "duration_seconds": 0.499, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\targeted-coverage.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\targeted-coverage.stderr.log" + }, + { + "name": "repeat-2-pg-stat-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r2' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r2' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:35:01.0438723+00:00", + "finished_at": "2026-07-11T00:35:01.5350674+00:00", + "duration_seconds": 0.491, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\pg-stat-activity-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\pg-stat-activity-after.stderr.log" + }, + { + "name": "repeat-2-server-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T00:35:01.5367865+00:00", + "finished_at": "2026-07-11T00:35:01.9041666+00:00", + "duration_seconds": 0.367, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\server-connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\server-connection-count-after.stderr.log" + }, + { + "name": "repeat-2-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r2';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r2';", + "started_at": "2026-07-11T00:35:01.9059622+00:00", + "finished_at": "2026-07-11T00:35:02.2710592+00:00", + "duration_seconds": 0.365, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\connection-count-after.stderr.log" + }, + { + "name": "repeat-2-cleanup", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-current-contract\\scripts\\production-gates\\cleanup-db-sessions.ps1", + "-DatabaseName", + "engram_prc_rg_test_8b1d3112a7a95fbb_r2", + "-SchemaName", + "public", + "-ArtifactRoot", + ".agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02", + "-RunId", + "t007-maker-focused-repeat3-repeat-2", + "-PostgresContainer", + "engram-prc-postgres" + ], + "environment_keys": [ + "ENGRAM_TEST_ADMIN_DSN" + ], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-current-contract\\scripts\\production-gates\\cleanup-db-sessions.ps1 -DatabaseName engram_prc_rg_test_8b1d3112a7a95fbb_r2 -SchemaName public -ArtifactRoot .agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02 -RunId t007-maker-focused-repeat3-repeat-2 -PostgresContainer engram-prc-postgres", + "started_at": "2026-07-11T00:35:02.2729931+00:00", + "finished_at": "2026-07-11T00:35:05.6065210+00:00", + "duration_seconds": 3.334, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\cleanup-process.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\cleanup-process.stderr.log" + }, + { + "name": "repeat-3-create-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "CREATE DATABASE \"engram_prc_rg_test_8b1d3112a7a95fbb_r3\" OWNER \"engram\";" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c CREATE DATABASE \"engram_prc_rg_test_8b1d3112a7a95fbb_r3\" OWNER \"engram\";", + "started_at": "2026-07-11T00:35:05.6130440+00:00", + "finished_at": "2026-07-11T00:35:06.0640407+00:00", + "duration_seconds": 0.451, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\create-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\create-database.stderr.log" + }, + { + "name": "repeat-3-create-pgvector", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_8b1d3112a7a95fbb_r3", + "-At", + "-F", + "|", + "-c", + "CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_8b1d3112a7a95fbb_r3 -At -F | -c CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;", + "started_at": "2026-07-11T00:35:06.0660313+00:00", + "finished_at": "2026-07-11T00:35:06.4624704+00:00", + "duration_seconds": 0.396, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\create-pgvector.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\create-pgvector.stderr.log" + }, + { + "name": "repeat-3-database-identity", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_8b1d3112a7a95fbb_r3", + "-At", + "-F", + "|", + "-c", + "SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_8b1d3112a7a95fbb_r3 -At -F | -c SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;", + "started_at": "2026-07-11T00:35:06.4644094+00:00", + "finished_at": "2026-07-11T00:35:06.8483007+00:00", + "duration_seconds": 0.384, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\database-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\database-identity.stderr.log" + }, + { + "name": "repeat-3-pg-stat-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r3' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r3' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:35:06.8501781+00:00", + "finished_at": "2026-07-11T00:35:07.4392768+00:00", + "duration_seconds": 0.589, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\pg-stat-activity-before.stderr.log" + }, + { + "name": "repeat-3-server-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T00:35:07.4409242+00:00", + "finished_at": "2026-07-11T00:35:07.9908512+00:00", + "duration_seconds": 0.55, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\server-connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\server-connection-count-before.stderr.log" + }, + { + "name": "repeat-3-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r3';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r3';", + "started_at": "2026-07-11T00:35:07.9929403+00:00", + "finished_at": "2026-07-11T00:35:08.4371656+00:00", + "duration_seconds": 0.444, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\connection-count-before.stderr.log" + }, + { + "name": "repeat-3-go-test", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "test", + "-json", + "-p", + "1", + "-parallel", + "1", + "-count=1", + "-timeout", + "30m", + "-covermode=atomic", + "-coverprofile=.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\coverage.out", + "-run", + "^TestEC_F1_TagDerivedBackfill_T007$", + "./internal/mcp" + ], + "environment_keys": [ + "DATABASE_DSN", + "DATABASE_MAX_CONNS", + "ENGRAM_RELEASE_GATE_REPEAT", + "ENGRAM_RELEASE_GATE_RUN_ID", + "ENGRAM_TEST_DSN", + "TEST_DATABASE_DSN" + ], + "command": "C:\\Program Files\\Go\\bin\\go.exe test -json -p 1 -parallel 1 -count=1 -timeout 30m -covermode=atomic -coverprofile=.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\coverage.out -run ^TestEC_F1_TagDerivedBackfill_T007$ ./internal/mcp", + "started_at": "2026-07-11T00:35:08.4392820+00:00", + "finished_at": "2026-07-11T00:35:15.1623672+00:00", + "duration_seconds": 6.723, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\go-test.stdout.jsonl", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\go-test.stderr.log" + }, + { + "name": "repeat-3-assert-go-test-json", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-current-contract\\scripts\\production-gates\\assert-go-test-json.ps1", + "-InputPath", + ".agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\go-test.stdout.jsonl", + "-SummaryPath", + ".agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\go-test-summary.json", + "-FailOnUnexpectedSkip" + ], + "environment_keys": [], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-current-contract\\scripts\\production-gates\\assert-go-test-json.ps1 -InputPath .agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\go-test.stdout.jsonl -SummaryPath .agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\go-test-summary.json -FailOnUnexpectedSkip", + "started_at": "2026-07-11T00:35:15.1648710+00:00", + "finished_at": "2026-07-11T00:35:16.1227720+00:00", + "duration_seconds": 0.958, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\assert-go-test-json.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\assert-go-test-json.stderr.log" + }, + { + "name": "repeat-3-targeted-coverage-report", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "tool", + "cover", + "-func=.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\coverage.out" + ], + "environment_keys": [], + "command": "C:\\Program Files\\Go\\bin\\go.exe tool cover -func=.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\coverage.out", + "started_at": "2026-07-11T00:35:16.1246680+00:00", + "finished_at": "2026-07-11T00:35:16.6557539+00:00", + "duration_seconds": 0.531, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\targeted-coverage.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\targeted-coverage.stderr.log" + }, + { + "name": "repeat-3-pg-stat-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r3' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r3' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:35:16.6563431+00:00", + "finished_at": "2026-07-11T00:35:17.0736205+00:00", + "duration_seconds": 0.417, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\pg-stat-activity-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\pg-stat-activity-after.stderr.log" + }, + { + "name": "repeat-3-server-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T00:35:17.0758066+00:00", + "finished_at": "2026-07-11T00:35:17.4748962+00:00", + "duration_seconds": 0.399, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\server-connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\server-connection-count-after.stderr.log" + }, + { + "name": "repeat-3-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r3';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r3';", + "started_at": "2026-07-11T00:35:17.4766420+00:00", + "finished_at": "2026-07-11T00:35:17.8973661+00:00", + "duration_seconds": 0.421, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\connection-count-after.stderr.log" + }, + { + "name": "repeat-3-cleanup", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-current-contract\\scripts\\production-gates\\cleanup-db-sessions.ps1", + "-DatabaseName", + "engram_prc_rg_test_8b1d3112a7a95fbb_r3", + "-SchemaName", + "public", + "-ArtifactRoot", + ".agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03", + "-RunId", + "t007-maker-focused-repeat3-repeat-3", + "-PostgresContainer", + "engram-prc-postgres" + ], + "environment_keys": [ + "ENGRAM_TEST_ADMIN_DSN" + ], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-current-contract\\scripts\\production-gates\\cleanup-db-sessions.ps1 -DatabaseName engram_prc_rg_test_8b1d3112a7a95fbb_r3 -SchemaName public -ArtifactRoot .agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03 -RunId t007-maker-focused-repeat3-repeat-3 -PostgresContainer engram-prc-postgres", + "started_at": "2026-07-11T00:35:17.8992641+00:00", + "finished_at": "2026-07-11T00:35:21.4111369+00:00", + "duration_seconds": 3.512, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\cleanup-process.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\cleanup-process.stderr.log" + } +] diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/environment.json b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/environment.json new file mode 100644 index 00000000..0638aee1 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/environment.json @@ -0,0 +1,52 @@ +{ + "schema_version": 1, + "run_id": "t007-maker-focused-repeat3", + "timestamp": "2026-07-11T00:34:31.5901586+00:00", + "go_version": "go version go1.25.11 windows/amd64", + "postgres": { + "declared_image": "pgvector/pgvector:pg17", + "container": { + "name": "/engram-prc-postgres", + "configured_image": "pgvector/pgvector:pg17", + "image_id": "sha256:feb68f4f15446397d8cac7f4fe48fe4586de83160d1fc48b46283312d1a33966", + "running": true + }, + "server": { + "server_version": "17.10 (Debian 17.10-1.pgdg12+1)", + "server_version_num": "170010", + "version": "PostgreSQL 17.10 (Debian 17.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit", + "max_connections": "100", + "superuser_reserved_connections": "3", + "reserved_connections": "0", + "current_connections": "6", + "database": "postgres", + "schema": "public", + "user": "engram" + }, + "admin_dsn": "postgres://engram:REDACTED@127.0.0.1:55432/postgres?sslmode=disable" + }, + "packages": [ + "./internal/mcp" + ], + "run_pattern": "^TestEC_F1_TagDerivedBackfill_T007$", + "repeat": 3, + "fail_on_unexpected_skip": true, + "allowed_skip_identities": [], + "coverage_policy": "Targeted", + "connection_budget": 20, + "race": false, + "require_session_start_execution": false, + "required_session_start_test_count": 12, + "sequential_execution": { + "go_package_parallelism": 1, + "go_test_parallelism": 1, + "database_max_connections": 20 + }, + "govulncheck_policy": { + "authoritative": [ + "source scan with tests", + "unstripped binary scan" + ], + "non_authoritative": "stripped binary scan (module-level fallback when symbols are absent)" + } +} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/go-version.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/go-version.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/go-version.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/go-version.stdout.log new file mode 100644 index 00000000..a857be3f --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/go-version.stdout.log @@ -0,0 +1 @@ +go version go1.25.11 windows/amd64 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/postgres-container-identity.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/postgres-container-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/postgres-container-identity.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/postgres-container-identity.stdout.log new file mode 100644 index 00000000..c110d492 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/postgres-container-identity.stdout.log @@ -0,0 +1 @@ +/engram-prc-postgres|pgvector/pgvector:pg17|sha256:feb68f4f15446397d8cac7f4fe48fe4586de83160d1fc48b46283312d1a33966|true diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/postgres-server-identity.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/postgres-server-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/postgres-server-identity.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/postgres-server-identity.stdout.log new file mode 100644 index 00000000..2e33d56e --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/postgres-server-identity.stdout.log @@ -0,0 +1 @@ +{"server_version" : "17.10 (Debian 17.10-1.pgdg12+1)", "server_version_num" : "170010", "version" : "PostgreSQL 17.10 (Debian 17.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit", "max_connections" : "100", "superuser_reserved_connections" : "3", "reserved_connections" : "0", "current_connections" : "6", "database" : "postgres", "schema" : "public", "user" : "engram"} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/assert-go-test-json.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/assert-go-test-json.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/assert-go-test-json.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/assert-go-test-json.stdout.log new file mode 100644 index 00000000..c33f51d8 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/assert-go-test-json.stdout.log @@ -0,0 +1,2 @@ +go test JSON verdict=PASS packages=1 tests=1 passed=1 failed=0 skipped=0 unexpected_skips=0 malformed=0 +summary=D:\Dev\engram\.w\t007-current-contract\.agent\reports\evidence\production-ready\t007-compat\t007-maker-focused-repeat3\repeat-01\go-test-summary.json diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/cleanup-process.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/cleanup-process.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/cleanup-process.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/cleanup-process.stdout.log new file mode 100644 index 00000000..23acaa6d --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/cleanup-process.stdout.log @@ -0,0 +1,2 @@ +cleanup verdict=PASS database=engram_prc_rg_test_8b1d3112a7a95fbb_r1 schema=public terminated_sessions=0 remaining_database_count=0 +summary=D:\Dev\engram\.w\t007-current-contract\.agent\reports\evidence\production-ready\t007-compat\t007-maker-focused-repeat3\repeat-01\cleanup\cleanup.json diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/cleanup/cleanup.json b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/cleanup/cleanup.json new file mode 100644 index 00000000..ec89c84c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/cleanup/cleanup.json @@ -0,0 +1,170 @@ +{ + "schema_version": 1, + "run_id": "t007-maker-focused-repeat3-repeat-1", + "timestamp": "2026-07-11T00:34:49.7815467+00:00", + "verdict": "PASS", + "database": "engram_prc_rg_test_8b1d3112a7a95fbb_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_8b1d3112a7a95fbb_r1.public", + "admin_dsn": "postgres://engram:REDACTED@127.0.0.1:55432/postgres?sslmode=disable", + "postgres_container": "engram-prc-postgres", + "cleanup_status": "PASS", + "cleanup_attempted": true, + "database_existed_before": true, + "absence_verified": true, + "terminated_sessions": 0, + "remaining_database_count": 0, + "commands": [ + { + "name": "database-exists-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r1';", + "started_at": "2026-07-11T00:34:47.4837683+00:00", + "finished_at": "2026-07-11T00:34:47.9008788+00:00", + "duration_seconds": 0.417, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\cleanup\\database-exists-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\cleanup\\database-exists-before.stderr.log" + }, + { + "name": "pg-stat-activity-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:34:47.9752325+00:00", + "finished_at": "2026-07-11T00:34:48.4765183+00:00", + "duration_seconds": 0.501, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\cleanup\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\cleanup\\pg-stat-activity-before.stderr.log" + }, + { + "name": "terminate-database-sessions", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r1' AND pid <> pg_backend_pid() ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r1' AND pid <> pg_backend_pid() ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:34:48.4818993+00:00", + "finished_at": "2026-07-11T00:34:48.8963674+00:00", + "duration_seconds": 0.414, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\cleanup\\terminate-sessions.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\cleanup\\terminate-sessions.stderr.log" + }, + { + "name": "drop-fresh-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "DROP DATABASE IF EXISTS \"engram_prc_rg_test_8b1d3112a7a95fbb_r1\" WITH (FORCE);" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c DROP DATABASE IF EXISTS \"engram_prc_rg_test_8b1d3112a7a95fbb_r1\" WITH (FORCE);", + "started_at": "2026-07-11T00:34:48.9068282+00:00", + "finished_at": "2026-07-11T00:34:49.3574663+00:00", + "duration_seconds": 0.451, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\cleanup\\drop-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\cleanup\\drop-database.stderr.log" + }, + { + "name": "verify-database-absent", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r1';", + "started_at": "2026-07-11T00:34:49.3621333+00:00", + "finished_at": "2026-07-11T00:34:49.7720157+00:00", + "duration_seconds": 0.41, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\cleanup\\verify-database-absent.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\cleanup\\verify-database-absent.stderr.log" + } + ], + "errors": [] +} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/cleanup/database-exists-before.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/cleanup/database-exists-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/cleanup/database-exists-before.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/cleanup/database-exists-before.stdout.log new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/cleanup/database-exists-before.stdout.log @@ -0,0 +1 @@ +1 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/cleanup/drop-database.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/cleanup/drop-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/cleanup/drop-database.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/cleanup/drop-database.stdout.log new file mode 100644 index 00000000..ca12dce0 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/cleanup/drop-database.stdout.log @@ -0,0 +1 @@ +DROP DATABASE diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/cleanup/pg-stat-activity-before.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/cleanup/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/cleanup/pg-stat-activity-before.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/cleanup/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/cleanup/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/cleanup/terminate-sessions.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/cleanup/terminate-sessions.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/cleanup/terminate-sessions.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/cleanup/terminate-sessions.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/cleanup/terminate-sessions.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/cleanup/verify-database-absent.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/cleanup/verify-database-absent.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/cleanup/verify-database-absent.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/cleanup/verify-database-absent.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/cleanup/verify-database-absent.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/connection-count-after.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/connection-count-after.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/connection-count-after.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/connection-count-after.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/connection-count-before.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/connection-count-before.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/connection-count-before.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/connection-count-before.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/coverage.out b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/coverage.out new file mode 100644 index 00000000..52335d8a --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/coverage.out @@ -0,0 +1,3472 @@ +mode: atomic +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33.53,34.30 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:34.30,36.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.2,37.25 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.25,39.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:40.2,40.12 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44.28,46.2 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52.83,53.12 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:53.12,54.16 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:54.16,55.32 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:55.32,61.5 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:63.3,65.33 3 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:65.33,71.4 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77.54,78.14 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:78.14,80.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:81.2,82.16 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:82.16,85.3 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:86.2,87.13 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92.91,93.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:93.23,95.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:96.2,97.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:97.15,99.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:100.2,105.65 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:105.65,113.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117.95,118.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:118.23,120.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:121.2,122.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:122.15,124.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:125.2,129.65 5 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:129.65,138.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142.87,143.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:143.23,145.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:146.2,147.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:150.2,153.65 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:153.65,161.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166.96,167.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:167.23,169.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:170.2,171.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:171.15,173.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:174.2,177.63 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:177.63,185.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189.97,190.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:190.23,192.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:193.2,194.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:194.15,196.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:197.2,200.68 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:200.68,208.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:30.62,31.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:31.20,33.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:34.2,35.49 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:35.49,37.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:38.2,38.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:38.14,40.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:41.2,41.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:46.52,47.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:47.14,49.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:50.2,50.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:51.14,52.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:53.19,54.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:55.15,56.45 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:57.12,58.31 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:59.10,60.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:67.43,68.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:68.14,70.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:71.2,71.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:72.15,73.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:74.19,75.38 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:75.38,77.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:78.3,78.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:78.40,80.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:81.3,81.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:82.14,83.56 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:83.56,85.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:86.3,86.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:86.54,88.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:89.3,89.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:90.10,91.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:97.49,98.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:98.14,100.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:101.2,101.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:102.15,103.18 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:104.19,105.38 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:105.38,107.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:108.3,108.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:108.40,110.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:111.3,111.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:112.14,113.56 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:113.56,115.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:116.3,116.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:116.54,118.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:119.3,119.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:120.10,121.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:127.55,128.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:128.14,130.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:131.2,131.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:132.15,133.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:134.19,135.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:135.40,137.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:138.3,138.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:139.14,140.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:140.54,142.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:143.3,143.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:144.10,145.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:151.46,152.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:152.14,154.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:155.2,155.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:156.12,157.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:158.14,159.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:159.54,161.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:162.3,162.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:163.15,164.16 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:165.19,166.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:166.40,168.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:169.3,169.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:170.10,171.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:177.40,178.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:178.14,180.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:181.2,181.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:182.13,184.26 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:184.26,185.36 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:185.36,187.5 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:189.3,189.16 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:190.16,191.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:192.14,193.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:193.14,195.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:196.3,196.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:197.10,198.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:204.38,205.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:205.14,207.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:208.2,209.9 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:209.9,211.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:212.2,213.27 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:213.27,214.42 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:214.42,216.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:218.2,218.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:222.32,223.39 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:223.39,225.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:226.2,226.30 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:226.30,228.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:229.2,229.30 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:229.30,231.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:232.2,232.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:236.35,237.28 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:237.28,239.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.2,240.28 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.28,242.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:243.2,243.15 1 0 +github.com/thebtf/engram/internal/mcp/context.go:17.55,19.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:22.78,24.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:29.78,31.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:35.53,38.2 2 0 +github.com/thebtf/engram/internal/mcp/context.go:41.80,43.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:48.80,50.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:54.53,57.2 2 0 +github.com/thebtf/engram/internal/mcp/context.go:61.51,62.43 1 0 +github.com/thebtf/engram/internal/mcp/context.go:62.43,64.3 1 0 +github.com/thebtf/engram/internal/mcp/context.go:65.2,65.16 1 0 +github.com/thebtf/engram/internal/mcp/health.go:22.32,26.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:29.37,33.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:36.35,40.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:42.44,45.25 3 0 +github.com/thebtf/engram/internal/mcp/health.go:45.25,47.50 1 0 +github.com/thebtf/engram/internal/mcp/health.go:47.50,50.4 2 0 +github.com/thebtf/engram/internal/mcp/health.go:55.74,60.16 5 0 +github.com/thebtf/engram/internal/mcp/health.go:60.16,62.3 1 0 +github.com/thebtf/engram/internal/mcp/health.go:63.2,71.4 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28.42,29.65 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:29.65,32.3 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.2,33.40 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.40,35.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:36.2,36.14 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39.120,40.69 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:40.69,42.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:43.2,44.19 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:44.19,46.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:47.2,48.17 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:48.17,50.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:51.2,52.59 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:52.59,54.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:55.2,56.20 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:56.20,58.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:59.2,60.17 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:60.17,62.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:63.2,64.21 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:64.21,66.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:67.2,68.22 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:68.22,70.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:71.2,72.23 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:76.2,98.19 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:98.19,100.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:101.2,101.66 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104.52,106.29 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:106.29,108.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:109.2,110.46 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113.113,123.27 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:123.27,125.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:130.2,130.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:127.44,138.2 1 1 +github.com/thebtf/engram/internal/mcp/server.go:141.64,143.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:146.78,148.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:151.53,153.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:156.55,158.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:161.58,163.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:166.62,168.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:171.50,173.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:176.78,178.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:181.74,183.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:186.71,189.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:191.85,193.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:195.61,197.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:199.49,201.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:204.54,206.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:211.53,213.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:216.53,218.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:222.61,224.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:228.59,230.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:234.51,236.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:240.52,242.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:246.55,248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:252.82,254.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:260.70,262.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:269.68,271.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:274.87,277.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:282.60,284.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:290.45,292.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:297.77,299.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:303.37,313.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:313.38,315.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:316.2,317.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:317.9,319.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:320.2,321.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:321.9,323.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:324.2,325.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:325.9,327.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:328.2,328.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:332.35,334.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:383.49,387.12 3 0 +github.com/thebtf/engram/internal/mcp/server.go:387.12,388.22 1 0 +github.com/thebtf/engram/internal/mcp/server.go:388.22,389.11 1 0 +github.com/thebtf/engram/internal/mcp/server.go:390.22,392.11 2 0 +github.com/thebtf/engram/internal/mcp/server.go:393.12,393.12 0 0 +github.com/thebtf/engram/internal/mcp/server.go:396.4,397.18 2 0 +github.com/thebtf/engram/internal/mcp/server.go:397.18,398.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:401.4,402.61 2 0 +github.com/thebtf/engram/internal/mcp/server.go:402.61,404.13 2 0 +github.com/thebtf/engram/internal/mcp/server.go:407.4,407.55 1 0 +github.com/thebtf/engram/internal/mcp/server.go:407.55,409.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:411.3,411.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:414.2,414.9 1 0 +github.com/thebtf/engram/internal/mcp/server.go:415.20,416.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:417.25,418.17 1 0 +github.com/thebtf/engram/internal/mcp/server.go:418.17,420.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:421.3,421.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:427.77,428.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:428.19,431.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:433.2,433.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:434.20,435.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:436.20,437.32 1 0 +github.com/thebtf/engram/internal/mcp/server.go:438.20,439.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:443.24,444.93 1 0 +github.com/thebtf/engram/internal/mcp/server.go:445.34,446.101 1 0 +github.com/thebtf/engram/internal/mcp/server.go:447.22,448.91 1 0 +github.com/thebtf/engram/internal/mcp/server.go:449.29,450.120 1 0 +github.com/thebtf/engram/internal/mcp/server.go:451.10,456.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:461.51,462.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:463.50,464.70 1 0 +github.com/thebtf/engram/internal/mcp/server.go:465.46,466.79 1 0 +github.com/thebtf/engram/internal/mcp/server.go:467.10,468.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:473.59,485.63 2 0 +github.com/thebtf/engram/internal/mcp/server.go:485.63,487.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:489.2,493.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:496.45,503.33 3 0 +github.com/thebtf/engram/internal/mcp/server.go:503.33,505.57 2 0 +github.com/thebtf/engram/internal/mcp/server.go:505.57,506.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:506.76,507.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.4,509.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.18,511.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:511.10,513.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:514.4,518.11 5 0 +github.com/thebtf/engram/internal/mcp/server.go:522.2,522.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:660.29,683.21 2 0 +github.com/thebtf/engram/internal/mcp/server.go:683.21,689.3 5 0 +github.com/thebtf/engram/internal/mcp/server.go:690.2,699.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:712.30,765.49 3 0 +github.com/thebtf/engram/internal/mcp/server.go:765.49,789.3 5 0 +github.com/thebtf/engram/internal/mcp/server.go:790.2,799.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:805.40,936.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:942.58,1048.35 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1048.35,1077.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.2,1080.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.33,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.2,1093.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.26,1123.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1124.2,1124.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1124.80,1126.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1127.2,1127.55 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1127.55,1129.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1130.2,1130.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1130.38,1132.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1134.2,1134.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1134.25,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1138.2,1138.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1138.33,1140.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1141.2,1141.69 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1141.69,1143.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1144.2,1144.75 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1144.75,1146.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1148.2,1148.27 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1148.27,1165.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.2,1168.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.76,1191.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1195.2,1195.48 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1195.48,1197.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.2,1201.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.47,1203.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.2,1205.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.38,1207.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1212.2,1212.21 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1212.21,1214.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1228.2,1228.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1228.51,1230.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1233.2,1233.56 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1233.56,1235.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1238.2,1238.71 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1238.71,1298.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1302.2,1302.104 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1302.104,1321.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1324.2,1324.72 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1324.72,1333.154 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1333.154,1334.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1334.26,1336.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1337.7,1337.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1338.35,1340.26 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1340.26,1342.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1343.7,1343.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1371.2,1371.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1371.26,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1393.2,1393.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1393.28,1443.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.2,1446.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.28,1478.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.2,1481.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.37,1561.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1564.2,1568.23 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1568.23,1570.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1572.2,1588.57 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1588.57,1591.29 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1591.29,1593.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1594.3,1594.27 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1594.27,1595.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1595.29,1597.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1601.2,1607.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1612.79,1614.60 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1614.60,1620.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1622.2,1623.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1623.16,1631.3 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1633.2,1641.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1644.69,1645.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1645.34,1647.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1648.2,1649.22 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1649.22,1651.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1652.2,1652.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1656.99,1658.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1659.16,1660.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1661.15,1662.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1663.18,1664.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1665.15,1666.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1667.18,1668.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1669.14,1670.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1671.15,1672.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1676.2,1676.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1677.35,1678.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1679.26,1680.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1681.20,1682.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1683.20,1684.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1685.16,1686.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1687.29,1688.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1689.33,1690.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1691.25,1692.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1693.23,1694.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1696.26,1697.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1698.24,1699.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1700.22,1701.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1702.25,1703.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1704.27,1705.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1706.25,1707.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1709.30,1710.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1711.28,1712.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1713.17,1714.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1715.20,1716.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1717.20,1718.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1719.20,1720.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1722.20,1723.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1724.18,1725.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1726.20,1727.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1728.18,1729.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1730.21,1731.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1732.21,1733.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1734.26,1735.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1736.25,1737.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1738.26,1739.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1740.24,1741.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1742.26,1743.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1744.27,1745.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1746.22,1747.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1748.19,1749.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1750.15,1751.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1752.16,1753.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1755.21,1756.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1757.19,1758.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1759.20,1760.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1761.22,1762.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1763.22,1764.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1765.23,1766.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1767.20,1768.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1769.32,1770.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1771.19,1772.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1773.19,1774.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1775.33,1776.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1777.35,1778.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1779.24,1780.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1781.32,1782.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1783.28,1784.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1785.21,1786.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1787.34,1788.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1789.25,1790.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1791.29,1792.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1793.26,1794.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1795.27,1796.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1798.25,1799.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1800.23,1801.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1802.27,1803.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1804.26,1805.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1806.29,1807.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1809.29,1810.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1811.27,1812.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1813.30,1814.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1815.38,1816.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1817.36,1818.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1820.24,1821.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1822.27,1823.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1824.22,1825.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1826.32,1827.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1828.32,1829.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1830.31,1831.48 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1832.35,1833.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1834.36,1835.53 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1836.36,1837.53 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1838.38,1839.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1840.34,1841.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1843.22,1844.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1845.21,1846.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1847.24,1848.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1850.25,1851.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1852.25,1853.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1859.2,1859.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1860.22,1863.131 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1866.51,1867.123 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1868.10,1869.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1874.47,1876.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1876.16,1879.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1880.2,1880.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1884.72,1890.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1896.105,1898.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1898.16,1900.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1902.2,1903.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1903.17,1905.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1907.2,1908.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1908.17,1910.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1912.2,1918.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1918.16,1920.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1921.2,1921.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1927.76,1933.15 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1933.15,1936.17 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1936.17,1938.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1939.3,1939.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1943.2,1950.36 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1950.36,1952.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1952.8,1955.29 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1955.29,1958.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1959.3,1962.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.2,1966.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.20,1977.20 6 0 +github.com/thebtf/engram/internal/mcp/server.go:1977.20,1979.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.3,1980.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.20,1982.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.3,1985.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.37,1987.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1987.30,1988.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1988.16,1990.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1990.11,1992.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1994.4,1995.56 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1995.56,1997.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1998.4,2003.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.2,2008.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.29,2009.63 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2009.63,2011.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2011.9,2013.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.2,2021.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.29,2029.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2029.38,2031.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2031.9,2033.31 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2033.31,2035.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2035.30,2037.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2039.4,2042.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2046.2,2047.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2047.16,2049.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2050.2,2050.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2055.57,2056.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2056.33,2058.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2059.2,2060.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2060.16,2062.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2063.2,2064.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2064.16,2066.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2067.2,2067.23 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2071.79,2105.15 6 0 +github.com/thebtf/engram/internal/mcp/server.go:2105.15,2107.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2107.17,2111.4 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2111.9,2112.17 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2112.17,2114.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2115.4,2117.26 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2117.26,2119.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2119.10,2121.29 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2121.29,2123.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2125.4,2129.25 5 0 +github.com/thebtf/engram/internal/mcp/server.go:2130.19,2130.19 0 0 +github.com/thebtf/engram/internal/mcp/server.go:2132.20,2134.106 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2135.12,2137.103 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2140.8,2143.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2144.2,2150.49 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2150.49,2152.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2152.8,2154.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2155.2,2168.27 4 0 +github.com/thebtf/engram/internal/mcp/server.go:2168.27,2170.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2170.17,2173.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2173.9,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2177.2,2182.40 4 0 +github.com/thebtf/engram/internal/mcp/server.go:2182.40,2183.21 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2184.20,2185.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2186.19,2187.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.2,2191.24 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.24,2193.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.8,2193.30 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.30,2195.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.2,2198.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.28,2200.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.2,2203.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.29,2205.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2207.2,2208.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2208.16,2210.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2211.2,2211.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2216.103,2218.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2218.16,2220.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2222.2,2223.15 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2223.15,2225.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2227.2,2239.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2239.16,2241.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2242.2,2242.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2246.93,2248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2251.91,2253.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:18.28,29.20 4 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:29.20,33.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:35.2,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:68.36,69.49 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:69.49,74.3 4 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:75.2,75.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:80.26,82.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:84.89,86.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:89.2,90.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:90.18,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:94.2,94.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:95.15,96.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:97.26,98.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:99.25,100.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:101.23,105.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:105.22,107.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:108.3,108.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:109.10,110.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:120.92,126.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:126.26,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:130.2,131.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:131.19,133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:134.2,135.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:135.19,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.2,138.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.24,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.2,142.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.25,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:146.2,147.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:151.2,151.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27.40,30.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32.30,46.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48.99,49.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:49.34,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.2,52.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.69,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:56.2,57.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:60.2,61.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:61.21,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:64.2,67.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:67.26,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:70.2,71.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:71.25,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:75.2,77.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:77.44,79.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.2,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.33,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:83.2,83.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86.52,87.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:87.16,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.2,90.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.15,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:93.2,93.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96.73,97.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:97.21,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:100.2,101.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:101.29,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:111.2,111.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114.34,116.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:31.98,32.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:32.52,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.2,35.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.26,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:39.2,40.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:40.49,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.2,43.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.21,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.2,46.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.21,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.2,49.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.18,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.2,52.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.18,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.2,56.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.38,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:60.2,61.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:61.16,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:68.2,70.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:70.26,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:79.2,81.36 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:81.36,84.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:86.2,89.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:89.28,90.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:90.39,91.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:93.3,97.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:100.2,104.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:107.60,113.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:115.101,116.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:116.38,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:120.2,122.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:122.21,123.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:123.26,125.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.3,126.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.23,128.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:129.8,130.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:130.26,132.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.3,133.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.68,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:137.2,140.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:141.17,142.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:143.67,143.67 0 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:144.10,145.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:148.2,162.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:162.16,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.2,165.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.2,174.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.30,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.2,177.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.31,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:181.2,182.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:182.36,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:198.2,199.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:199.19,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:202.2,203.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:203.18,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:206.2,207.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:207.21,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:210.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:211.25,213.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:214.2,225.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:225.21,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.25,230.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.2,231.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.18,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:235.2,244.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:244.21,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.2,247.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.25,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.2,250.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.18,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.2,253.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:256.2,256.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:259.50,261.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:261.22,263.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:264.2,264.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:270.90,272.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:272.42,276.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:277.2,281.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:281.27,282.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:282.45,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:286.2,286.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25.28,88.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95.95,96.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:96.22,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:99.2,100.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:100.32,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:104.2,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:109.2,114.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:114.35,121.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.2,123.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.25,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:127.2,134.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:138.2,146.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154.94,155.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:155.22,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:158.2,159.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:159.32,161.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:163.2,164.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:164.16,166.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:168.2,172.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:172.35,179.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.2,181.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.25,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:185.2,192.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:192.16,194.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:196.2,203.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211.97,212.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:212.22,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:215.2,216.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:216.32,218.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:220.2,221.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:221.16,223.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:225.2,229.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:229.35,236.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.2,238.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.25,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:242.2,249.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:249.16,251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:253.2,260.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31.80,32.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:32.14,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:35.2,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51.136,53.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:53.51,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:56.2,56.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59.94,60.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:60.21,62.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:63.2,63.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68.30,162.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165.98,166.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:166.49,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:169.2,170.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:170.16,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:173.2,174.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:174.19,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:177.2,179.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:179.17,181.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:188.2,189.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:189.31,190.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:190.15,191.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:193.3,193.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:196.2,201.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:201.16,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:204.2,204.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208.96,209.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:209.49,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:212.2,213.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:213.16,215.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:216.2,217.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:217.13,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.2,225.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.22,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:229.2,230.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:230.16,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:233.2,233.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239.100,240.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:240.22,242.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:243.2,244.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:244.16,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:247.2,248.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:248.13,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:255.2,256.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:256.12,263.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:263.30,264.77 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:264.77,269.5 4 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:271.3,272.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:272.21,274.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:275.3,275.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.2,279.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.29,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:284.2,285.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:285.16,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.2,288.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.22,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.2,291.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.55,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.2,294.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.74,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:297.2,298.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:298.16,300.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:306.2,307.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:307.41,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:310.2,324.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:324.16,325.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:325.50,327.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:328.3,328.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.2,330.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.38,332.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:334.2,341.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:341.16,343.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:344.2,344.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348.99,349.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:349.49,351.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:352.2,353.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:353.16,355.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:356.2,357.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:357.13,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:360.2,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.2,365.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.22,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.2,368.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.74,370.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:371.2,372.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:372.16,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.2,375.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.85,377.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:379.2,380.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:380.16,381.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:381.50,383.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:384.3,384.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.2,386.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.20,388.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:390.2,395.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:395.16,397.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:398.2,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402.102,403.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:403.49,405.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:406.2,407.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:407.16,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:410.2,411.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:411.13,413.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:414.2,415.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:415.16,417.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.2,418.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.22,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.2,421.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.74,423.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:424.2,425.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:425.16,427.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.2,428.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.88,430.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:432.2,433.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:433.16,434.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:434.50,436.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:437.3,437.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.2,439.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.20,441.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:443.2,448.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:448.16,450.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:451.2,451.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34.30,36.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42.61,44.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48.32,75.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79.32,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100.98,101.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:101.25,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.2,104.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.29,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:108.2,113.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:113.17,114.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:114.55,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.2,118.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.24,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.2,121.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.23,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.2,124.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.23,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:134.2,135.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:135.21,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:142.2,147.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:154.2,165.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:165.25,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:177.2,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:186.2,186.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194.98,195.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:195.25,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.2,198.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.29,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:202.2,205.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:205.17,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:208.2,209.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:209.21,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:213.2,214.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:214.16,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:217.2,218.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:218.16,220.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:226.2,231.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:231.11,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:21.52,22.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:22.24,25.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:25.28,27.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:29.2,29.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:35.72,37.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:37.15,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:45.2,45.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:49.99,51.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:51.16,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:55.2,56.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:56.16,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:60.2,72.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.2,75.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.24,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.2,78.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.24,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:81.2,81.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:82.27,82.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:84.10,85.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.2,87.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.30,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.2,90.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.26,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:104.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:116.2,123.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:126.2,126.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:130.97,132.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:132.16,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:136.2,137.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:141.2,147.23 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:147.23,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.2,150.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.26,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:154.2,155.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:155.16,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:160.16,161.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:161.47,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:164.3,164.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.2,167.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.97,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:174.2,175.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:175.16,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:179.2,185.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:185.16,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:188.2,188.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:192.99,194.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:194.16,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:198.2,199.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:199.16,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:203.2,207.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:207.26,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:211.2,212.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:212.16,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:216.2,223.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:223.26,229.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:229.28,231.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:232.3,232.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:243.100,245.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:245.16,247.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:249.2,250.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:250.16,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:254.2,262.23 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:262.23,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.2,265.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.24,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:268.2,268.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:269.27,269.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:271.10,272.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.2,274.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.30,276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.2,277.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.26,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.2,281.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.71,282.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:282.47,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:285.3,285.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:288.2,293.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:293.16,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:296.2,296.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:302.92,309.19 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:309.19,310.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:310.53,313.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:316.2,317.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:317.51,318.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:318.66,320.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:323.2,331.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:331.16,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:334.2,334.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:338.46,342.32 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:342.32,343.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:343.20,346.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:348.2,350.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:350.26,352.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:352.27,353.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:353.13,355.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:356.4,356.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:358.3,358.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:360.2,360.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:16.45,18.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:20.35,36.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:38.84,39.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:39.40,41.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.2,42.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.50,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:45.2,45.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:48.101,50.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:50.16,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:53.2,54.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:57.2,58.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:58.19,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:61.2,62.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:62.21,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:65.2,66.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:66.16,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:69.2,69.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:72.102,74.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:77.2,82.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10.100,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:22.16,23.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:24.14,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:26.14,27.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:28.17,29.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:30.17,31.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:32.21,33.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:34.19,35.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:36.17,37.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:38.16,39.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:40.16,41.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:42.21,43.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:44.10,45.167 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:15.77,16.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:16.33,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:20.2,21.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:21.27,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:25.2,26.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:26.28,29.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:29.17,31.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:34.2,41.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:41.32,46.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:46.20,48.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:49.3,49.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:61.97,62.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:62.28,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:71.2,75.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:75.29,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:79.2,80.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:80.16,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.2,84.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.20,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:88.2,97.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:97.25,103.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:103.20,105.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.3,106.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.19,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:109.3,109.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:112.2,113.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:113.16,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:117.2,117.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:121.95,122.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:122.28,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:131.2,137.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:137.50,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:141.2,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.2,145.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.16,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.2,149.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.21,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:153.2,154.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:154.16,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.2,157.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.20,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:161.2,161.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:165.98,166.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:166.28,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:170.2,171.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:171.16,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:175.2,181.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:181.50,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.2,185.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.96,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:189.2,189.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:197.98,198.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:198.28,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:207.2,217.74 6 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:217.74,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:222.2,223.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:223.16,225.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:227.2,229.156 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:235.98,237.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:237.16,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:241.2,247.24 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:247.24,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:252.2,253.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:253.29,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:256.2,256.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15.93,16.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:16.37,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:20.2,21.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:21.16,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:25.2,32.16 7 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:32.16,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.2,35.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.19,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.2,38.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.19,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:42.2,43.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:43.16,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:47.2,54.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61.91,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:62.37,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:71.2,73.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:73.16,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.2,76.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.19,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:80.2,81.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:81.43,83.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:83.19,85.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:86.3,86.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:87.8,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.2,90.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.16,91.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:91.45,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:94.3,94.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:97.2,110.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:110.16,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:113.2,113.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117.93,119.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122.91,123.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:123.37,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:132.2,133.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:133.19,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:136.2,141.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:141.16,143.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:145.2,155.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:155.25,165.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:167.2,168.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:168.16,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:171.2,171.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175.94,176.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:176.37,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:180.2,181.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:181.16,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:185.2,187.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:187.16,189.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.2,190.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.19,192.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:193.2,196.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:200.2,208.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:208.25,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:218.2,225.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232.94,233.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:233.37,235.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:242.2,243.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:243.21,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:246.2,248.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:248.19,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:252.2,253.46 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:253.46,255.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:255.13,257.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.2,259.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.44,261.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:261.13,263.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:266.2,267.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:267.16,269.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:271.2,278.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:278.16,280.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:281.2,281.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19.69,21.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23.38,38.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40.51,63.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65.53,80.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82.46,85.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:85.32,87.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:88.2,88.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91.105,93.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:93.16,95.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:96.2,97.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:100.2,100.70 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103.107,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:108.2,109.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:109.16,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:112.2,112.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115.101,117.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:117.16,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:120.2,121.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:121.17,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:124.2,139.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142.109,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:147.2,154.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157.100,159.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:159.28,161.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:161.18,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:164.3,164.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:166.2,167.72 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:167.72,169.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.2,170.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.53,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:173.2,174.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:174.26,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:177.2,177.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180.73,182.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:182.16,184.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:185.2,185.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12.104,14.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:14.16,16.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:18.2,19.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:19.18,21.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:23.2,23.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:24.14,25.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:26.18,27.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:28.17,29.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:30.10,31.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36.101,37.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:37.27,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:46.2,47.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:47.21,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:50.2,51.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:51.19,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:54.2,54.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:55.52,55.52 0 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:56.10,57.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:59.2,61.93 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:61.93,64.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:66.2,70.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:27.31,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:98.97,100.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:100.26,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.2,103.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.28,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:112.2,115.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:115.15,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.2,118.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.17,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:122.2,123.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:127.2,140.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:140.29,151.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:151.31,154.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:155.3,155.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:158.2,162.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:167.100,169.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:169.26,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.2,172.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.28,174.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.2,175.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.26,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:179.2,180.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:184.2,185.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:185.22,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:189.2,190.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:190.20,191.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:191.54,199.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.3,200.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.61,202.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:203.3,203.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:206.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:215.95,217.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:217.32,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.2,220.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.28,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:224.2,225.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:229.2,230.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:230.22,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.2,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.25,246.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:248.2,252.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:258.104,260.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:260.26,262.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:267.2,271.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:271.20,275.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:275.8,279.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:280.2,280.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:284.60,285.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:285.30,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.2,288.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.42,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:291.2,291.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:64.89,65.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:65.25,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:69.2,70.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:70.49,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:74.2,74.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:75.18,76.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:77.21,78.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:79.19,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:81.18,82.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:83.19,84.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:85.18,86.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:87.18,91.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:91.23,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:94.3,94.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:95.10,96.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:100.81,103.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:103.19,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:106.2,107.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:107.19,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.2,112.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.46,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.2,115.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.46,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.2,122.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.66,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.25,128.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:128.22,130.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:131.8,132.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:132.26,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.2,138.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.25,139.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:139.22,141.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:142.8,143.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:143.26,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.2,148.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.22,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.2,151.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.38,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.2,154.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.19,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:159.2,161.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:161.25,164.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.2,165.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.25,168.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:169.2,171.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:171.23,174.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.2,175.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.23,178.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:180.2,193.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:193.16,195.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:198.2,199.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:199.29,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.2,202.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.29,204.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:205.2,213.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:216.121,217.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:217.28,218.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:218.26,220.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:221.3,222.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:222.17,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:223.49,225.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:226.4,226.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:228.3,228.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.2,230.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.26,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:233.2,234.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:234.16,235.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:235.48,237.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:238.3,238.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:240.2,240.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:243.101,248.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:248.36,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:250.8,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.2,253.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.16,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.2,256.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.32,257.128 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:257.128,262.72 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:262.72,264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:267.2,267.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:276.81,277.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:277.25,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.2,280.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.22,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.2,283.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.39,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.2,286.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.25,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.2,289.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.21,291.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:292.2,293.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:293.14,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:296.2,305.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:305.16,307.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:308.2,314.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:317.84,318.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:318.19,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:321.2,323.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:323.63,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:326.2,329.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:332.82,333.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:333.38,335.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:336.2,337.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:338.18,339.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:340.18,341.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.2,345.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.59,347.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:349.2,351.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:351.21,353.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:353.8,356.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.2,357.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:366.2,367.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:367.41,369.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:371.2,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:397.115,398.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:398.15,400.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:403.2,404.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:404.26,405.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:405.28,407.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.3,408.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.28,410.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.2,412.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.23,415.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:420.2,426.12 4 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:426.12,427.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:427.27,429.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:429.18,431.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.4,433.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.33,435.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:440.2,441.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:441.26,442.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:442.28,443.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:443.49,445.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.3,448.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.28,449.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:449.49,451.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:454.2,454.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:457.82,458.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:458.21,460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:461.2,462.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:462.16,464.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.2,465.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.36,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:468.2,469.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:469.16,471.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:472.2,477.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:480.82,481.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:481.40,483.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:484.2,485.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:485.19,487.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:488.2,489.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:489.16,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:492.2,499.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:502.82,503.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:503.21,505.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:506.2,507.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:507.16,509.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:510.2,514.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23.179,24.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:24.22,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:28.2,32.22 4 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:32.22,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:35.2,36.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:36.22,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:40.2,41.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:41.26,43.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.2,44.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.26,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.2,47.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.30,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.2,50.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.30,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:54.2,55.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:55.16,57.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.2,58.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.13,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:61.2,62.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:62.16,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.2,65.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.13,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:69.2,70.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:70.16,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.2,73.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.15,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:77.2,77.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80.172,81.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:81.28,82.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:82.23,84.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.3,85.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.18,87.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:88.3,89.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:89.17,90.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:90.49,92.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:93.4,93.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:95.3,95.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.2,98.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.24,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.2,101.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.19,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:104.2,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:105.16,106.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:106.48,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:109.3,109.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:111.2,111.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114.119,116.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:116.22,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:119.2,120.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:120.22,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:124.2,126.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:126.26,127.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:127.36,129.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:130.3,130.105 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:131.8,132.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:132.32,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:135.3,135.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.2,137.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.2,141.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.32,143.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:143.27,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:146.3,147.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:147.27,149.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.3,150.106 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.106,151.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.3,153.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.27,154.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:154.114,155.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.9,157.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.104,158.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.3,160.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.27,161.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:161.114,162.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.9,164.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.104,165.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:167.3,167.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:169.2,169.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25.90,26.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:26.26,28.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:30.2,31.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:31.49,33.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:35.2,35.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:36.16,37.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:38.10,39.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43.84,44.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:44.21,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.2,47.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.25,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.2,50.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.21,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.2,53.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.21,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:57.2,58.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:59.18,60.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:61.15,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:63.24,64.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:65.10,66.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:69.2,70.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:70.22,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:73.2,74.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:74.29,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.2,78.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.14,85.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:87.2,89.37 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:89.37,92.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:92.21,94.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:97.2,100.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:100.31,102.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:102.38,104.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:104.37,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:109.3,122.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:122.26,124.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.3,125.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.19,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:131.3,133.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:133.39,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:135.9,137.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.3,138.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.17,140.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.3,142.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.34,144.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:145.3,145.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:148.2,155.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20.99,22.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:22.16,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:26.2,31.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:31.44,32.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:32.33,33.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:33.43,38.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.2,43.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.49,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.2,46.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.48,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:50.2,52.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:52.27,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:55.8,60.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:60.24,62.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.3,64.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.57,66.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:68.3,68.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.2,71.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.16,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:75.2,76.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:76.23,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:80.2,80.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:19.40,89.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:109.71,111.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:111.9,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:115.2,116.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:116.38,117.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:118.13,119.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:119.41,121.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:122.17,123.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:123.43,125.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:126.11,127.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:127.40,129.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.2,133.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.22,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:139.2,139.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:143.90,144.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:144.25,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:148.2,149.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:149.16,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:153.2,157.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:157.61,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:161.2,161.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:162.16,163.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:164.14,165.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:166.13,167.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:168.16,169.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:170.17,171.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:172.16,173.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:174.15,175.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:176.10,177.120 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:189.85,191.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:191.39,192.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:192.44,194.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.2,196.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.15,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.2,199.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.15,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:202.2,202.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:205.91,207.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:207.17,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:211.2,215.25 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:215.25,217.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:218.2,224.25 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:224.25,226.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.2,227.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.25,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:231.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:247.2,247.139 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:250.89,252.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:252.19,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:255.2,256.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:256.25,258.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:259.2,264.52 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:264.52,266.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:266.14,268.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:271.2,277.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:277.25,280.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:282.2,283.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:283.16,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.2,287.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.22,288.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:288.20,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:291.3,291.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:294.2,297.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:297.31,300.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:300.29,302.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:303.3,305.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:308.2,308.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:311.88,313.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:313.13,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:317.2,318.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:318.16,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:322.2,328.22 6 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:328.22,331.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.2,333.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.23,335.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:335.30,338.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:341.2,341.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:344.91,346.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:346.13,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:350.2,353.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:353.18,354.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:354.27,356.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.3,357.73 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.73,359.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.2,362.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.19,370.17 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:370.17,372.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:375.2,376.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:376.26,378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:379.2,379.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:382.92,384.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:384.13,386.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:388.2,389.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:389.16,391.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:393.2,401.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:401.16,403.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:405.2,405.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:408.91,410.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:410.13,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:414.2,418.95 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:418.95,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:422.2,422.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:425.90,427.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:427.13,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:431.2,433.167 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:433.167,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.2,437.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.89,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:441.2,441.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22.93,24.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:24.49,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:28.2,28.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:29.14,30.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:31.17,32.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:33.16,34.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:35.24,36.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:37.27,38.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:39.22,40.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:41.23,42.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:43.10,44.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48.79,49.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:49.13,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:57.2,58.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:58.32,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:61.2,84.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87.101,88.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:88.13,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.2,91.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.38,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.2,98.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.53,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:102.2,104.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:104.17,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.2,107.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.29,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:110.2,115.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118.100,119.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:119.13,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.2,122.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.38,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.2,129.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.53,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:133.2,135.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:135.17,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.2,138.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.29,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:141.2,146.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149.123,150.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:150.13,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.2,153.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.18,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.2,156.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.38,158.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:159.2,161.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:161.17,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:164.2,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172.113,173.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:173.13,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.2,176.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.50,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:179.2,181.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:181.17,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:184.2,188.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191.57,195.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197.102,198.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:198.13,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.2,201.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.20,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:204.2,205.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:205.16,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:209.2,210.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:210.32,212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:214.2,217.56 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:217.56,223.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:225.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233.41,235.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:235.16,237.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:238.2,238.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:35.27,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:42.41,43.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:44.48,45.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:46.10,47.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:54.57,55.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:56.17,57.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:58.16,59.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:60.10,61.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:82.58,83.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:84.28,85.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:86.26,87.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:88.10,89.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:93.114,95.68 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:95.68,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:99.2,101.42 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:101.42,102.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:102.71,105.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:107.2,117.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:117.23,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:121.2,124.22 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:124.22,125.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:125.31,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:128.3,128.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.8,129.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.37,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:132.2,132.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:135.74,136.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:136.30,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.2,139.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.34,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.2,142.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.31,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.2,145.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.22,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:161.169,162.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:162.17,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:165.2,166.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:166.51,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:169.2,169.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:172.92,174.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:174.42,177.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:177.63,179.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:179.9,181.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:183.2,183.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:186.65,190.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:192.115,194.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:194.26,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.8,196.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.31,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:199.2,199.117 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:202.122,206.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:206.31,207.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:207.45,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:211.2,211.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:214.72,216.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:218.117,219.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:222.2,223.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:223.20,225.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:225.17,227.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.3,228.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.27,229.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:229.50,231.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:231.30,232.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:236.3,236.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:239.2,241.60 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:241.60,243.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:243.61,245.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.3,246.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.24,247.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:249.3,250.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:250.17,252.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.3,253.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.22,254.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.3,256.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.29,257.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:257.50,259.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:259.30,260.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:264.3,265.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:265.32,266.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:269.2,269.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:272.51,273.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:273.16,275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:276.2,277.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:277.18,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.2,280.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.19,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:283.2,283.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:286.97,288.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:288.30,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.2,291.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.49,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:294.2,294.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:297.108,299.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:301.108,303.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:305.102,307.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:319.55,320.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:320.31,322.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.2,323.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.26,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:326.2,326.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:329.71,330.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:343.26,344.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:345.10,346.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:354.95,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:366.2,397.39 14 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:397.39,399.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:399.27,401.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:402.8,404.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:405.2,407.46 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:407.46,410.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.2,411.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.44,413.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:413.12,415.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.2,417.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.26,419.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.2,420.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.84,422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.2,427.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.65,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:431.2,433.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:433.20,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:436.2,437.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:437.20,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.2,440.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.56,442.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.2,443.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.56,448.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.2,450.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.45,453.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.2,459.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.31,461.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:461.22,462.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:462.62,465.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:466.4,466.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:468.3,468.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:471.2,472.115 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:472.115,474.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.2,491.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.19,493.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:493.23,495.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:496.3,508.21 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:508.21,510.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:511.3,511.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.2,522.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.43,535.34 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:535.34,556.30 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:556.30,558.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.4,559.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.44,561.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.4,562.106 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.106,564.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.4,575.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.74,577.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:578.4,579.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:579.18,581.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:583.4,584.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:584.28,586.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.4,588.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.31,599.57 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:599.57,601.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:601.17,604.7 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:606.5,607.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:607.21,609.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.5,615.138 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.138,617.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:617.27,619.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:620.6,620.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:622.5,623.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:623.26,625.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:626.5,626.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:630.4,631.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:631.20,633.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.4,634.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.22,637.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:637.26,639.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:640.5,640.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:645.4,660.77 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:660.77,662.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:663.4,664.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:664.25,666.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:667.4,667.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.2,673.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.26,675.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:677.2,678.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:678.25,680.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.2,681.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.97,683.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:690.2,691.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:691.21,693.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:693.33,695.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.3,696.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.33,698.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.3,699.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.49,704.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.3,721.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.54,722.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:722.84,724.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.2,728.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.99,730.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:732.2,733.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:733.22,735.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:736.109,737.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:738.100,739.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:740.114,741.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:742.107,743.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:744.11,745.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:748.2,749.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:749.43,751.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:753.2,755.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:755.34,756.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:756.48,757.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:757.19,760.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.2,764.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.31,767.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.2,768.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.35,771.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.2,772.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.76,776.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:778.2,780.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:780.16,782.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:782.20,785.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.2,788.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.25,798.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:798.18,800.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.9,800.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.30,807.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.3,808.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.36,810.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:811.3,812.50 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:812.50,815.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:816.3,822.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:822.17,824.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:826.3,836.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:836.17,838.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:839.3,839.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:842.2,843.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:843.30,844.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:844.52,846.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:846.9,848.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:851.2,869.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:869.21,871.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:871.43,873.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.3,874.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.29,876.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.3,886.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.76,888.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.2,890.105 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.105,892.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:893.2,894.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:894.16,896.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:901.2,904.40 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:904.40,905.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:905.15,906.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:909.3,910.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:910.63,912.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:912.9,914.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.3,916.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.43,918.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:919.3,920.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:920.20,922.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.3,925.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.23,928.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:929.3,931.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:931.33,934.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:934.39,936.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:939.2,948.42 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:948.42,950.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:950.21,952.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:952.9,955.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.2,959.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.53,960.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:960.54,961.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:961.33,963.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:964.9,972.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.3,973.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.60,974.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:974.40,976.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.3,978.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.61,979.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:979.41,981.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.3,983.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.28,985.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:986.3,987.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.2,989.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.51,991.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:995.2,997.53 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:997.53,999.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:999.8,1001.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.2,1002.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.22,1004.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1008.2,1014.76 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1014.76,1016.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.2,1021.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.57,1026.13 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1026.13,1029.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1029.21,1032.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.4,1033.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.49,1035.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1036.4,1043.89 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1043.89,1046.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1048.4,1048.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1052.2,1063.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1063.21,1065.40 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1065.40,1067.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.3,1068.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.38,1070.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1072.2,1074.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1074.18,1081.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.2,1082.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.28,1084.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.2,1085.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.16,1087.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.2,1088.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.30,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.2,1091.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.30,1093.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.2,1098.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.76,1100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1101.2,1102.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1102.16,1104.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1105.2,1105.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111.94,1113.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1113.15,1115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1117.2,1118.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1118.16,1120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1122.2,1123.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1123.13,1125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1126.2,1131.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1131.16,1133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.2,1134.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.19,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.2,1146.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.39,1148.55 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1148.55,1150.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.2,1152.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.39,1154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1157.2,1158.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1158.21,1163.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1163.21,1165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1166.3,1167.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1167.21,1169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.3,1170.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.52,1172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.3,1173.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.52,1178.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.3,1179.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.41,1182.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1183.3,1183.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.2,1188.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.46,1190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.2,1191.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.27,1193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1195.2,1196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1196.16,1198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1201.2,1210.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1210.16,1212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1213.2,1213.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218.59,1220.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1220.38,1222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1225.2,1226.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1226.29,1227.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1227.22,1229.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.2,1232.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.18,1234.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1237.2,1244.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1244.29,1245.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1245.67,1247.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.2,1249.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.16,1251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1254.2,1254.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258.55,1260.47 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1260.47,1262.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1263.2,1264.58 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1264.58,1266.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1267.2,1267.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270.252,1271.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1271.108,1273.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.2,1274.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.55,1276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1277.2,1277.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280.184,1282.69 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1282.69,1284.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1284.32,1285.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1285.58,1287.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.3,1290.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.18,1292.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.2,1294.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.19,1297.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1297.32,1298.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1298.39,1300.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.3,1303.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.19,1305.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.2,1307.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.21,1309.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1309.32,1310.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1310.49,1312.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.3,1315.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.18,1317.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.2,1319.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.28,1321.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1321.17,1323.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.3,1324.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.27,1326.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.2,1328.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.76,1330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1331.2,1331.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342.96,1343.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1343.26,1345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1347.2,1348.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1348.16,1350.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1352.2,1363.23 9 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1363.23,1364.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1364.58,1365.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1365.31,1367.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1367.10,1369.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.2,1373.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.17,1375.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.2,1376.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.16,1378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.2,1379.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.16,1381.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.2,1382.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.18,1384.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.2,1385.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.19,1387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.2,1388.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.19,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1396.2,1399.18 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1399.18,1400.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1400.61,1401.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1402.50,1403.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1404.12,1405.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1409.2,1410.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1410.42,1414.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1415.2,1420.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1420.16,1422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1429.2,1444.43 6 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1444.43,1446.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1449.2,1451.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1451.27,1453.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.2,1458.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.46,1460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.2,1461.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.63,1463.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1465.2,1466.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1466.15,1472.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1472.29,1479.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1479.18,1481.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.4,1482.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.23,1483.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.4,1485.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.30,1486.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1486.24,1488.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1488.32,1489.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1493.4,1494.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1494.30,1495.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1498.8,1504.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1504.29,1506.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1506.18,1508.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.4,1509.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.23,1510.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.4,1512.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.30,1513.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1513.24,1515.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1515.32,1516.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1520.4,1521.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1521.30,1522.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.2,1526.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.26,1528.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1528.17,1530.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.2,1535.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.74,1536.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1536.13,1537.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1537.33,1542.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1542.26,1544.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1544.39,1546.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1548.5,1548.82 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.2,1565.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.38,1569.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1569.27,1571.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.3,1572.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.27,1574.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1576.3,1581.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1581.32,1586.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1588.3,1592.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1592.18,1594.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1595.3,1596.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1596.17,1598.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1599.3,1599.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1602.2,1602.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1603.15,1618.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1618.32,1620.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1620.33,1621.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1621.40,1623.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1626.4,1638.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1640.3,1641.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1641.17,1643.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1644.3,1644.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1646.18,1648.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1648.17,1650.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1651.3,1651.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1653.10,1654.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1654.25,1656.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1657.3,1659.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1659.32,1661.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1661.33,1662.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1662.40,1664.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1667.4,1669.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1669.26,1671.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1672.4,1673.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1673.25,1675.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1676.4,1676.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1678.3,1678.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690.51,1695.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700.73,1702.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1702.16,1704.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1705.2,1706.48 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1706.48,1710.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1711.2,1713.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1713.16,1715.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1716.2,1716.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727.117,1731.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1731.21,1733.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1734.2,1735.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1735.16,1737.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1738.2,1739.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1739.27,1741.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1742.2,1742.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1764.19,1775.30 7 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1775.30,1777.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1777.37,1779.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.3,1781.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.20,1783.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.2,1797.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.39,1799.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1801.2,1811.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1811.25,1813.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1815.2,1816.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1816.29,1818.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.2,1824.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.27,1826.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1831.2,1833.22 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1833.22,1835.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1837.2,1846.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1846.16,1848.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1853.2,1855.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1855.27,1857.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1859.2,1876.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1876.33,1878.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1880.2,1881.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1881.28,1885.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1885.20,1888.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1888.33,1889.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1889.40,1891.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.4,1894.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.20,1895.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.3,1900.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.22,1902.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1902.33,1903.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1903.50,1905.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.4,1908.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.19,1909.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.3,1918.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.56,1919.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.3,1927.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.64,1928.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1932.3,1935.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1935.32,1936.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1936.39,1938.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1942.3,1956.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1956.14,1957.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1957.37,1959.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1961.3,1962.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1962.26,1963.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.2,1975.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.59,1986.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1986.17,1988.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1990.3,1991.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1991.34,1993.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1995.3,1996.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1996.29,1998.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1998.21,2001.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2001.34,2002.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2002.41,2004.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.5,2007.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.21,2008.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.4,2011.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.23,2013.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2013.34,2014.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2014.51,2016.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.5,2019.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.20,2020.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.4,2023.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.57,2024.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.4,2027.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.65,2028.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2030.4,2031.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2031.33,2032.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2032.40,2034.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2037.4,2051.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2051.15,2052.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2052.38,2054.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2056.4,2057.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2057.27,2058.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2065.2,2066.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2066.28,2068.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.2,2072.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.71,2080.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2080.30,2081.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2081.41,2087.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.3,2089.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.13,2090.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2090.31,2095.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2095.25,2097.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2097.38,2099.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2101.5,2101.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.2,2112.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.38,2115.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2115.27,2117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2121.3,2138.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2138.30,2140.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2140.11,2141.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2143.4,2160.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2160.15,2161.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2161.39,2163.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2165.4,2165.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2167.3,2173.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2173.24,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2176.3,2176.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2179.2,2179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2180.15,2182.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2182.24,2184.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2185.3,2185.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2187.18,2199.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2199.30,2201.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2201.11,2202.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2204.4,2208.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2208.15,2209.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2209.39,2211.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2213.4,2213.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2215.3,2216.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2216.24,2218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2219.3,2219.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2220.10,2221.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2221.22,2223.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2224.3,2226.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2226.27,2228.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2228.20,2230.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2231.4,2233.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2233.26,2235.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2236.4,2237.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2237.23,2239.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.4,2240.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.46,2244.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2245.4,2245.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2247.3,2247.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252.94,2254.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2254.16,2256.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2258.2,2260.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2260.18,2261.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2261.59,2262.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2262.36,2264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2264.10,2266.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.2,2270.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.13,2272.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.2,2273.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.50,2275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2277.2,2277.98 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281.98,2282.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2282.26,2284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2286.2,2287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2287.16,2289.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2291.2,2292.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2292.13,2294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2297.2,2298.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2298.19,2299.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2299.51,2301.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2302.3,2302.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.2,2304.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.42,2306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.2,2308.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.54,2309.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2309.48,2311.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2312.3,2312.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2316.2,2318.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17.82,19.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21.149,22.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:22.55,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.2,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.36,27.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:28.2,34.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:34.16,36.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.2,37.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.42,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:40.2,40.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43.105,44.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:44.48,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:47.2,48.54 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51.129,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:56.2,57.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:57.53,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:60.2,61.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:61.25,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:64.2,65.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:65.16,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:68.2,68.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26.97,27.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:27.18,29.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:30.2,30.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33.37,35.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37.81,38.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:38.44,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.2,41.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.38,43.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:44.2,44.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47.88,48.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:48.32,50.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:51.2,52.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:52.20,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:55.2,55.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58.40,72.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74.106,75.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:75.34,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:78.2,79.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:79.16,81.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:83.2,84.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:88.2,89.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:89.13,91.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:93.2,94.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:94.63,96.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.2,98.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.72,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:102.2,106.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109.117,110.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:110.32,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.2,113.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.34,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:117.2,118.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:118.16,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.2,121.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.19,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:125.2,126.69 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:126.69,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:130.2,136.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18.33,20.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22.27,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39.93,40.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:40.30,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.2,43.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.28,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:46.2,47.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:47.16,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:51.2,52.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:52.17,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:55.2,56.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:56.19,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.2,59.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.19,61.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:62.2,63.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:63.16,65.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:67.2,74.9 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:74.9,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:77.2,78.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:78.15,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:81.2,85.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:85.16,87.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.2,88.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.17,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:92.2,101.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104.48,105.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:108.2,109.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:109.29,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.2,112.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.31,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:115.2,115.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118.75,120.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:120.27,121.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:121.32,123.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:123.17,124.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:126.4,126.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:129.2,134.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:134.33,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.2,137.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.40,138.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:138.39,140.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:141.3,141.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.2,143.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.34,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:146.2,147.35 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:147.35,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:150.2,150.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153.77,154.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:154.20,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:157.2,159.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:159.31,160.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:160.33,162.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.3,163.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.30,165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:167.2,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23.91,25.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27.38,50.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52.104,53.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:53.38,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:56.2,57.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:61.2,62.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:62.26,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:65.2,66.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:66.30,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.2,69.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.72,71.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:73.2,74.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:77.2,78.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:78.16,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:81.2,82.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:82.16,84.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:85.2,86.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:90.2,105.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.2,109.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.19,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.2,118.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.25,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.2,121.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.30,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.2,124.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.31,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:131.2,131.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134.91,136.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:136.9,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:139.2,140.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:140.15,141.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:141.19,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:144.3,144.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:146.2,146.94 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149.59,150.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:150.16,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:153.2,154.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:154.61,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:157.2,157.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160.56,161.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:161.75,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:164.2,164.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167.67,169.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:170.17,171.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:172.67,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:174.10,175.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179.60,180.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:183.2,184.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:184.25,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:187.2,187.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190.57,191.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:192.15,193.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:193.81,195.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:196.3,196.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:197.19,199.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:199.17,201.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.3,202.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.55,204.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:205.3,205.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:206.14,207.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:208.11,209.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:210.10,211.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215.59,216.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:216.16,218.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:219.2,219.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:220.12,221.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:222.14,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:224.10,225.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:28.90,30.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:30.16,32.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:34.2,36.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:37.16,38.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:40.16,42.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:44.20,46.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:48.17,50.142 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:52.17,56.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:56.50,62.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:62.63,64.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.4,66.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.45,68.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:72.4,74.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:74.25,76.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:77.4,77.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:80.3,80.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:82.18,84.141 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:86.18,88.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:88.18,90.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:91.3,91.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:93.17,96.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:96.50,99.59 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:99.59,101.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:102.4,104.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:104.25,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:107.4,107.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:110.3,110.98 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:112.10,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:125.86,126.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:129.2,130.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:130.9,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.2,133.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.22,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:137.2,139.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:139.31,141.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:141.10,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:144.3,145.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:145.22,147.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:148.3,149.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:149.26,151.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.3,152.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.68,154.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:155.3,156.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:156.37,158.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:159.3,160.107 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:162.2,162.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:165.249,166.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:166.24,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.2,169.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.38,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:173.2,174.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:174.31,175.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:175.32,177.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:180.2,181.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:181.34,182.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:182.29,183.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:185.3,197.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:197.17,199.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.3,200.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.20,201.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.3,203.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.37,205.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:205.33,206.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.4,208.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.19,209.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:209.43,210.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:212.5,212.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:214.4,215.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:215.30,216.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:220.2,220.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:223.113,229.2 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:231.101,233.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:247.92,251.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:251.16,253.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.8,253.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:259.2,272.51 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:272.51,274.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:274.38,275.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:276.50,277.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:278.12,279.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:287.2,292.26 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:292.26,294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.2,297.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.19,301.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:303.2,311.42 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:311.42,315.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:316.2,341.64 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:341.64,342.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:342.86,344.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.3,345.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.56,347.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:348.3,360.19 6 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:360.19,364.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:365.3,365.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:369.2,370.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:370.15,372.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:372.27,374.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.3,375.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.27,377.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:380.2,381.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:381.15,387.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:387.28,395.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:395.18,397.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.4,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.23,399.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.4,401.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.30,402.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:402.66,403.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:405.5,406.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:406.12,407.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.5,409.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.28,413.6 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:414.5,415.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:415.30,416.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:419.4,420.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:420.30,421.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:424.8,432.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:432.28,438.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:438.18,440.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.4,441.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.23,442.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.4,444.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.30,445.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:445.40,447.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:447.31,448.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:452.4,455.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:455.30,456.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:461.2,465.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:465.17,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:469.2,470.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:470.16,472.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:473.2,473.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20.79,21.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:21.43,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.2,24.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.29,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:27.2,27.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30.40,63.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65.68,71.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:71.25,74.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:75.2,75.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78.62,83.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:83.19,87.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:88.2,88.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91.101,92.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:92.22,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:95.2,96.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:96.18,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:103.2,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:107.2,107.119 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110.99,111.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:111.22,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:114.2,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:115.18,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:118.2,119.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:119.16,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.2,122.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.51,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:129.2,131.15 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:131.15,132.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:132.69,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:135.3,135.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:137.2,137.130 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140.102,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.2,145.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.64,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:148.2,148.113 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151.109,153.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:157.16,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:160.2,161.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:161.16,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:164.2,164.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167.107,169.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:169.16,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:172.2,173.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:173.16,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.2,176.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.107,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:179.2,179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:180.41,181.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:182.41,183.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:184.10,185.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189.111,191.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:191.16,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:194.2,195.57 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:195.57,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:198.2,199.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:199.23,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.2,206.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.17,208.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:209.2,209.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212.63,215.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217.69,219.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:222.2,222.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225.60,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:230.2,230.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233.137,234.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:234.49,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:241.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:246.2,247.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:247.16,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.2,250.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.22,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:253.2,253.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256.142,258.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:258.16,260.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:261.2,262.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:262.16,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.2,265.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.47,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:268.2,269.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:269.16,270.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:270.50,272.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:273.3,273.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:275.2,275.173 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278.157,280.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:280.16,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.2,283.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.47,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:286.2,287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:287.16,288.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:288.50,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:291.3,291.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:293.2,293.169 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296.104,297.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:297.22,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:300.2,301.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:301.61,303.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:303.20,304.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.2,307.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.19,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:310.2,317.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320.119,322.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:322.39,323.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:323.81,325.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:327.2,327.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330.71,332.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:332.16,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:335.2,335.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17.61,105.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:105.23,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:123.2,123.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126.104,127.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:127.61,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.2,130.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.38,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:133.2,134.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:137.2,138.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:138.16,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:141.2,147.107 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:147.107,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:150.2,151.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:151.16,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:154.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:170.19,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:173.2,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176.103,177.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:177.61,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.2,180.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.38,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:187.2,191.106 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:191.106,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:194.2,195.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:195.16,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:198.2,200.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:200.31,207.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:207.36,218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:219.3,220.35 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:222.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233.107,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.2,237.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.38,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:240.2,241.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:241.16,243.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:244.2,248.110 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:248.110,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:251.2,252.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:252.16,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:255.2,256.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:256.33,266.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:267.2,275.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278.108,279.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:279.61,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.2,282.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.37,284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:285.2,286.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:286.16,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:289.2,290.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:290.19,292.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.2,293.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.104,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:296.2,297.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:297.16,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:300.2,307.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:307.16,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:310.2,311.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:311.43,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:319.2,332.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:332.22,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:335.2,335.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338.108,339.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:339.62,341.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.2,342.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.38,344.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:345.2,346.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:346.9,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:349.2,350.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:350.16,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:353.2,357.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:360.2,370.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373.109,374.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:374.62,376.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.2,377.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.38,379.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:380.2,381.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:381.9,383.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:384.2,385.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:385.16,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:388.2,390.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:390.32,392.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:393.2,394.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:394.16,396.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:397.2,403.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406.106,407.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:407.62,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.2,410.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.38,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:413.2,414.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:414.9,416.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:417.2,418.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:418.16,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:421.2,423.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:423.16,424.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:424.41,434.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:435.3,435.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:437.2,445.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483.65,484.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:484.42,485.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:485.39,487.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.2,489.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.85,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:492.2,492.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495.102,496.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:496.38,498.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.2,499.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.58,501.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:502.2,502.90 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505.60,508.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510.66,512.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:512.26,514.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:515.2,515.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518.69,521.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:521.33,523.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:523.21,524.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.3,526.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.34,527.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:529.3,530.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:532.2,532.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535.63,537.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:537.19,539.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:540.2,541.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:541.42,543.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.2,544.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.57,546.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.2,547.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.54,549.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:550.2,550.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553.70,557.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559.66,561.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:561.9,563.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:564.2,566.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:566.17,568.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:569.2,569.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:570.103,572.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:573.34,574.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:575.10,576.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580.56,581.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:581.37,583.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.2,584.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.26,586.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:586.37,587.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:589.3,589.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:591.2,591.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594.90,602.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604.68,605.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:605.71,607.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:607.17,609.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:610.3,610.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:612.2,613.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:613.16,615.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:616.2,617.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:617.41,619.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:620.2,620.78 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623.65,625.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:625.16,627.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.2,628.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.17,630.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:631.2,631.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634.51,635.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:635.16,637.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:638.2,638.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641.56,642.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:642.28,644.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:645.2,646.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649.92,651.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:651.29,653.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:654.2,654.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657.86,659.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:659.29,661.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:662.2,662.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665.94,667.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:667.29,669.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:670.2,670.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673.98,675.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:675.29,677.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:678.2,678.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:17.93,18.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:18.104,20.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:22.2,23.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:23.16,25.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:27.2,28.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:28.19,30.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:32.2,35.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:35.33,36.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:36.47,39.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:42.2,44.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:44.20,47.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:48.2,49.68 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:49.68,50.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:50.48,52.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.3,53.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.32,55.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:55.23,56.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:56.63,58.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:59.5,59.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:61.4,61.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:64.2,71.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:71.17,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.8,73.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.29,75.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:75.36,77.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:78.3,83.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.2,86.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.35,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:90.2,97.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:101.2,110.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:110.28,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:113.2,124.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:133.93,134.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:134.35,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:138.2,139.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:139.16,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:143.2,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.2,147.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.17,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:151.2,152.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:152.33,153.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:153.47,156.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:160.16,162.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:164.2,176.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:176.26,178.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:178.23,180.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:181.3,192.5 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:195.2,196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:199.2,199.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:22.104,24.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:24.16,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:28.2,29.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:29.18,31.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:33.2,33.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:34.13,35.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:36.13,37.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:38.14,39.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:40.16,41.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:42.10,43.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:51.67,53.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:57.68,58.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:58.33,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:61.2,61.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:67.42,69.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:74.61,76.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:76.26,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:79.2,79.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:85.90,86.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:86.49,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:90.2,91.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:91.15,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:94.2,95.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:95.17,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:100.2,103.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:103.16,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:107.2,113.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:113.12,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:115.18,117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:118.3,119.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:119.20,121.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:122.3,124.48 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:125.8,127.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:129.2,130.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:130.16,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:134.2,139.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:145.90,147.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:151.2,152.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:152.16,154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:157.16,158.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:158.47,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:161.3,161.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:164.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:170.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:173.8,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:176.2,176.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:181.92,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:187.2,188.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:188.16,190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:192.2,200.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:200.25,207.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:207.28,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:210.3,210.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:212.2,212.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:216.93,217.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:217.52,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:221.2,222.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:222.15,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:226.2,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.2,231.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.47,232.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:232.47,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:235.3,235.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:238.2,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:35.127,36.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:36.23,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:39.2,40.40 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:40.40,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.2,43.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.37,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.2,46.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.37,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:49.2,49.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:52.23,80.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:82.26,140.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:142.92,143.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:143.25,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:147.2,148.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:148.49,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:152.2,152.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:153.17,154.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:154.24,156.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:157.3,158.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:158.17,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:161.3,165.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:166.17,167.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:167.22,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.3,170.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.22,172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:173.3,174.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:174.17,176.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:177.3,181.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:182.16,189.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:189.23,191.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.3,192.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.24,194.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.3,195.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.39,197.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:198.3,207.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:207.17,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.3,210.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.69,212.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:213.3,213.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:214.10,215.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:219.92,220.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:220.25,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:224.2,225.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:225.49,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:229.2,229.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:230.17,232.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:232.24,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:235.3,236.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:236.17,238.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.3,239.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.59,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.3,242.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.81,244.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:245.3,250.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:251.17,253.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:253.22,255.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:256.3,257.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:257.17,259.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.3,260.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.79,262.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:263.3,268.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:269.10,270.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:274.91,276.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:276.16,278.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.2,279.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.67,280.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:280.76,282.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:285.2,286.52 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:286.52,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:289.2,289.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:292.74,294.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:294.16,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.2,297.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.62,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:300.2,300.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:303.109,304.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:304.56,306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.2,307.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.25,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.2,310.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.81,312.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.2,313.102 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.102,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.2,316.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.108,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.2,319.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.99,321.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.2,322.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.99,324.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.2,325.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.60,327.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.2,328.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.34,330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.2,331.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.114,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.2,334.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.66,336.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.2,337.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.40,339.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.2,340.132 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.132,342.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.2,343.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.35,345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:346.2,346.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:349.92,350.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:350.103,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:354.2,355.52 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:355.52,357.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.2,358.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.32,360.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:361.2,361.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:364.108,365.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:365.19,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:368.2,369.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:369.53,371.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.2,372.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.19,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.2,375.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.39,376.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:376.34,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:380.2,380.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:383.66,385.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:385.53,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.2,388.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.19,390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:391.2,391.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:16.2,18.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:19.16,20.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:21.14,22.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:23.15,24.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:25.16,26.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:27.10,28.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21.75,23.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25.41,28.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30.31,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39.38,46.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48.50,56.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58.43,70.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72.80,73.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:73.36,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.2,76.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.48,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:79.2,79.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82.97,84.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:87.2,88.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:88.16,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:91.2,92.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:92.16,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:95.2,96.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:96.16,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:99.2,99.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102.104,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:111.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:115.2,116.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:116.16,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:119.2,119.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122.96,124.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:127.2,128.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:128.19,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:131.2,132.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:132.18,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:135.2,141.79 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:141.79,143.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:143.17,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:146.3,146.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:148.2,148.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151.77,153.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:156.2,157.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:157.19,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:160.2,160.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:22.15,23.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:24.13,25.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:26.14,27.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:28.16,29.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:30.16,31.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:32.10,33.102 1 0 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/create-database.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/create-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/create-database.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/create-database.stdout.log new file mode 100644 index 00000000..4b15bd57 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/create-database.stdout.log @@ -0,0 +1 @@ +CREATE DATABASE diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/create-pgvector.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/create-pgvector.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/create-pgvector.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/create-pgvector.stdout.log new file mode 100644 index 00000000..d26bad14 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/create-pgvector.stdout.log @@ -0,0 +1 @@ +CREATE EXTENSION diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/database-identity.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/database-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/database-identity.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/database-identity.stdout.log new file mode 100644 index 00000000..c96bea30 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/database-identity.stdout.log @@ -0,0 +1 @@ +{"database" : "engram_prc_rg_test_8b1d3112a7a95fbb_r1", "schema" : "public", "server_version" : "17.10 (Debian 17.10-1.pgdg12+1)", "user" : "engram"} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/go-test-summary.json b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/go-test-summary.json new file mode 100644 index 00000000..434e0a2f --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/go-test-summary.json @@ -0,0 +1,40 @@ +{ + "schema_version": 1, + "verdict": "PASS", + "input_path": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\go-test.stdout.jsonl", + "fail_on_unexpected_skip": true, + "allowed_skip_identities": [], + "counts": { + "packages": 1, + "tests": 1, + "passed": 1, + "failed": 0, + "skipped": 0, + "no_tests": 0, + "zero_tests": 0, + "incomplete": 0, + "unexpected_skips": 0, + "malformed_lines": 0 + }, + "packages": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "outcome": "pass", + "elapsed_seconds": 4.13, + "last_output": "ok \tgithub.com/thebtf/engram/internal/mcp\t4.121s\tcoverage: 0.1% of statements", + "tests_observed": 1 + } + ], + "tests": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEC_F1_TagDerivedBackfill_T007", + "outcome": "pass", + "elapsed_seconds": 3.92, + "last_output": "--- PASS: TestEC_F1_TagDerivedBackfill_T007 (3.92s)", + "skip_allowed": false + } + ], + "unexpected_skips": [], + "errors": [] +} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/go-test.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/go-test.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/go-test.stdout.jsonl b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/go-test.stdout.jsonl new file mode 100644 index 00000000..20d15e54 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/go-test.stdout.jsonl @@ -0,0 +1,16 @@ +{"Time":"2026-07-11T03:34:39.9752342+03:00","Action":"start","Package":"github.com/thebtf/engram/internal/mcp"} +{"Time":"2026-07-11T03:34:40.1488604+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007"} +{"Time":"2026-07-11T03:34:40.1488604+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"=== RUN TestEC_F1_TagDerivedBackfill_T007\n"} +{"Time":"2026-07-11T03:34:41.1097025+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"warn\",\"error\":\"ERROR: relation \\\"observation_vectors\\\" does not exist (SQLSTATE 42P01)\",\"time\":\"2026-07-11T03:34:41+03:00\",\"message\":\"migration 040: orphan vector cleanup failed (non-fatal)\"}\n"} +{"Time":"2026-07-11T03:34:41.1097025+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"garbage_deleted\":0,\"orphan_vectors_deleted\":0,\"time\":\"2026-07-11T03:34:41+03:00\",\"message\":\"migration 040: garbage cleanup complete\"}\n"} +{"Time":"2026-07-11T03:34:41.1192027+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"orphan_vectors_deleted\":0,\"time\":\"2026-07-11T03:34:41+03:00\",\"message\":\"migration 041: orphan vector purge complete\"}\n"} +{"Time":"2026-07-11T03:34:41.127704+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"patterns_deleted\":0,\"time\":\"2026-07-11T03:34:41+03:00\",\"message\":\"migration 042: low-quality pattern purge complete\"}\n"} +{"Time":"2026-07-11T03:34:41.1642026+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"total_deleted\":0,\"time\":\"2026-07-11T03:34:41+03:00\",\"message\":\"migration 043: radical observation cleanup complete\"}\n"} +{"Time":"2026-07-11T03:34:42.4406486+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"warn\",\"error\":\"ERROR: extension \\\"vectorscale\\\" is not available (SQLSTATE 0A000)\",\"time\":\"2026-07-11T03:34:42+03:00\",\"message\":\"migration 109: vectorscale extension not available, skipping DiskANN index\"}\n"} +{"Time":"2026-07-11T03:34:43.6914877+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:34:43+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:34:44.0648665+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"--- PASS: TestEC_F1_TagDerivedBackfill_T007 (3.92s)\n"} +{"Time":"2026-07-11T03:34:44.0648665+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Elapsed":3.92} +{"Time":"2026-07-11T03:34:44.0648665+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"PASS\n"} +{"Time":"2026-07-11T03:34:44.0793664+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"coverage: 0.1% of statements\n"} +{"Time":"2026-07-11T03:34:44.1048843+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"ok \tgithub.com/thebtf/engram/internal/mcp\t4.121s\tcoverage: 0.1% of statements\n"} +{"Time":"2026-07-11T03:34:44.1048843+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Elapsed":4.13} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/pg-stat-activity-after.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/pg-stat-activity-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/pg-stat-activity-after.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/pg-stat-activity-after.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/pg-stat-activity-after.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/pg-stat-activity-before.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/pg-stat-activity-before.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/repeat-summary.json b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/repeat-summary.json new file mode 100644 index 00000000..2f5feb26 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/repeat-summary.json @@ -0,0 +1,33 @@ +{ + "repeat": 1, + "verdict": "PASS", + "database": "engram_prc_rg_test_8b1d3112a7a95fbb_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_8b1d3112a7a95fbb_r1.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": false, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 0, + "json_parser_exit": 0, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\cleanup\\cleanup.json", + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01" +} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/server-connection-count-after.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/server-connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/server-connection-count-after.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/server-connection-count-after.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/server-connection-count-after.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/server-connection-count-before.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/server-connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/server-connection-count-before.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/server-connection-count-before.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/server-connection-count-before.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/targeted-coverage.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/targeted-coverage.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/targeted-coverage.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/targeted-coverage.stdout.log new file mode 100644 index 00000000..c958686c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-01/targeted-coverage.stdout.log @@ -0,0 +1,352 @@ +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33: effectiveAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44: isAuditEnabled 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52: runAuditAsync 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77: marshalState 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92: logAuditCreate 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117: logAuditEdit 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142: logAuditDelete 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166: logAuditGeneric 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189: logAuditSupersede 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:30: parseArgs 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:46: coerceString 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:67: coerceInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:97: coerceInt64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:127: coerceFloat64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:151: coerceBool 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:177: coerceStringSlice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:204: coerceInt64Slice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:222: clampToInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:236: clampInt64ToInt 0.0% +github.com/thebtf/engram/internal/mcp/context.go:17: extractProjectFromHeader 0.0% +github.com/thebtf/engram/internal/mcp/context.go:22: contextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:29: ContextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:35: projectFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:41: contextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:48: ContextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:54: sessionFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:61: actorFromContext 0.0% +github.com/thebtf/engram/internal/mcp/health.go:22: NewMCPHealth 0.0% +github.com/thebtf/engram/internal/mcp/health.go:29: RecordRequest 0.0% +github.com/thebtf/engram/internal/mcp/health.go:36: RecordError 0.0% +github.com/thebtf/engram/internal/mcp/health.go:42: rotateWindowIfNeeded 0.0% +github.com/thebtf/engram/internal/mcp/health.go:55: HandleHealth 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28: ruleGovernanceCaptureEnabled 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39: captureActiveRuleIntent 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104: ruleIntentFingerprint 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113: marshalRuleCandidateIntentResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:127: NewServer 100.0% +github.com/thebtf/engram/internal/mcp/server.go:141: SetBackfillStatusFunc 0.0% +github.com/thebtf/engram/internal/mcp/server.go:146: SetVersionedDocumentStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:151: SetIssueStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:156: SetMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:161: SetMetaMemoryIndex 0.0% +github.com/thebtf/engram/internal/mcp/server.go:166: SetHintQueue 0.0% +github.com/thebtf/engram/internal/mcp/server.go:171: SetStateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:176: SetDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/server.go:181: SetBehavioralRulesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:186: SetRuleGovernanceStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:191: SetRuleInjectionTelemetryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:195: SetPromotionStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:199: SetGraphStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:204: SetNodesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:211: SetAuditStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:216: SetPurgeStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:222: SetCandidateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:228: SetSnapshotStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:234: SetBulkFacade 0.0% +github.com/thebtf/engram/internal/mcp/server.go:240: setTestAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/server.go:246: setTestMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/server.go:252: setTestMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/server.go:260: SetWriteLintOrchestrator 0.0% +github.com/thebtf/engram/internal/mcp/server.go:269: SetRedactionRules 0.0% +github.com/thebtf/engram/internal/mcp/server.go:274: SetEmbeddingStores 0.0% +github.com/thebtf/engram/internal/mcp/server.go:282: SetRerankClient 0.0% +github.com/thebtf/engram/internal/mcp/server.go:290: SetStatsDB 0.0% +github.com/thebtf/engram/internal/mcp/server.go:297: HandleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:303: ListTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:332: Version 0.0% +github.com/thebtf/engram/internal/mcp/server.go:383: Run 0.0% +github.com/thebtf/engram/internal/mcp/server.go:427: handleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:461: handleNotification 0.0% +github.com/thebtf/engram/internal/mcp/server.go:473: handleInitialize 0.0% +github.com/thebtf/engram/internal/mcp/server.go:496: buildInstructions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:660: storeMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:712: recallMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:805: primaryTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:942: handleToolsList 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1612: handleToolsCall 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1644: sanitizeToolCallArgs 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1656: callTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1874: sendResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1884: sendError 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1896: handleFindSimilarObservations 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1927: handleGetMemoryStats 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2055: handleBackfillStatus 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2071: handleCheckSystemHealth 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2216: handleAnalyzeSearchPatterns 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2246: handleSearchSessions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2251: handleListSessions 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:18: buildAdminTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:68: adminActionsForEnv 33.3% +github.com/thebtf/engram/internal/mcp/tools_admin.go:80: vnextEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:84: handleAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:120: handlePurgeProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27: ambientHintsEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32: ambientHintsTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48: handleGetAmbientHints 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86: normalizeAmbientHintsToolLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96: ambientHintItems 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114: errMissingSessionID 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:31: handleGetMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:107: memoryBriefUsesPrincipalScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:115: handlePrincipalMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:259: truncateBriefContent 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:270: filterInjectionByScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25: bulkOpsTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95: handleBulkPromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154: handleBulkDelete 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211: handleBulkSupersede 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31: candidateItemFromDomain 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51: newCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59: requireCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68: candidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165: handleListCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208: handleGetCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239: handlePromoteCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348: handleRejectCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402: handleSupersedeCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34: codeIntelEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42: SetCodeChunkStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48: codebaseSearchTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79: codebaseStatusTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100: handleCodebaseSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194: handleCodebaseStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:21: getVault 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:35: credentialStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:49: handleStoreCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:130: handleGetCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:192: handleListCredentials 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:243: handleDeleteCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:302: handleVaultStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:338: expandTagHierarchy 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:16: directivesCaptureEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:20: rememberDirectiveTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:38: currentDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:48: handleRememberDirective 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:72: parseRememberDirectiveArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10: handleDocsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:15: handleListCollections 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:61: handleListDocuments 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:121: handleGetDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:165: handleRemoveDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:197: handleIngestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:235: handleSearchCollection 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15: handleDocCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61: handleDocRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117: handleDocUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122: handleDocList 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175: handleDocHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232: handleDocComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19: SetExperienceProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23: experienceHistoryTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40: experienceHistoryReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65: experienceHistoryDetailSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82: experienceHistoryTriggerEnum 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91: handleExperienceHistoryRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103: handleExperienceHistoryDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115: parseExperienceHistoryReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142: parseExperienceHistoryDetailArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157: experienceHistoryTriggersFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180: marshalExperienceHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12: handleFeedbackConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36: handleSetSessionOutcome 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:27: governanceTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:98: handleListSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:167: handleRollbackSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:215: handlePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:258: handleRedactionRulesStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:284: resolveGovernanceActor 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:64: handleGraph 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:100: graphAddEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:216: mcpGraphEndpointExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:243: mcpGraphEdgeAlreadyExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:276: graphAddNode 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:317: graphRemoveEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:332: graphGetEdges 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:397: filterEdgesByNodeType 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:457: graphTraverse 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:480: graphFindPath 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:502: graphSynonyms 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23: graphCreateEdgeWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80: graphEndpointExistsWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114: graphDuplicateEdgeExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25: handleIngest 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43: ingestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20: handleImportInstincts 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:19: issuesToolSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:109: validateIssueActionParams 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:143: handleIssues 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:189: resolveSourceProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:205: handleIssueCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:250: handleIssueList 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:311: handleIssueGet 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:344: handleIssueUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:382: handleIssueComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:408: handleIssueReopen 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:425: handleIssueClose 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22: handleLifecycle 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48: lifecycleInfo 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87: lifecyclePromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118: lifecycleDemote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149: lifecycleSetConfidence 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172: lifecycleSetDefeasibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191: lifecycleSleepStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197: lifecycleDecayPreview 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233: marshalJSON 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:35: vnextFEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:42: isValidPrivacyScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:54: derivePrivacyScopeFromLegacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:82: deriveLegacyScopeFromPrivacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:93: applyPrincipalMemoryMetadata 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:135: addPrincipalMemoryFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:161: newScopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:172: writeLintVisibilityCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:186: writeLintVisibilityOptions 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:192: scopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:202: filterVisibleWriteGateCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:214: domainManageAllowed 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:218: List 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:272: writeLintVisibilityFetchLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:286: Get 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:297: Create 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:301: Update 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:305: MarkSuperseded 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:319: effectiveMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:329: isValidStoreObservationType 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:354: handleStoreMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111: handleEditMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218: computeTTLDays 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258: truncateTitle 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270: keepRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280: keepRecallMemoryFilters 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342: handleRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690: staleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700: marshalWithStaleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727: Rank 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1751: handleRecallMemoryHybrid 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252: handleRateMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281: handleSuppressMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17: SetDomainRegistryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21: checkDomainWriteMCP 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43: addDomainWriteDecisionFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51: marshalStoreMemoryAugmented 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26: newMemoryStoreSignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33: s6OutcomeEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37: effectiveMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47: currentMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58: rateMemorySignificanceTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74: handleRateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109: RateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18: s2MetaMemoryEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22: knowAboutTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39: handleKnowAbout 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104: parseKnowAboutLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118: summarizeMetaIndexTags 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153: summarizeMetaIndexDateRange 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23: SetPrincipalMemoryQueryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27: principalMemoryQueryTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52: handleQueryPrincipalMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134: principalMemoryQueryCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149: parsePrincipalMemoryQueryLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160: principalMemoryQueryText 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167: parsePrincipalMemoryQueryVisibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179: parsePrincipalMemoryQueryOffset 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190: parsePrincipalMemoryQueryInt 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215: parsePrincipalMemoryQueryBool 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:28: handleRecall 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:125: parseRecallIncludedPrincipals 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:165: appendRecallIncludedPrincipalMemories 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:223: recallIncludeTargetMatchesCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:231: recallPrincipalQueryItemToMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:247: handleRecallSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20: currentReviewLoopCandidateLister 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30: reviewLoopCandidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65: reviewLoopReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78: reviewPacketIDSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91: handleReviewMetricsRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110: handleReviewQueueRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140: handleReviewPacketDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151: handleReviewPacketPreviewAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167: handleReviewPacketApplyAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189: parseReviewLoopReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212: reviewLoopMCPPacketTypeSupported 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217: reviewLoopActionFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225: reviewLoopReasonFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233: loadReviewPacketCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256: applyReviewPacketPreserve 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278: applyReviewPacketSuppress 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296: reviewLoopMemoryFromCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320: filterRiskyMCPReviewCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330: marshalReviewLoop 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17: ruleGovernanceReadTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126: handleRuleGovernanceHealth 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176: handleRuleGovernanceQueue 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233: handleRuleGovernanceSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278: handleRuleGovernanceUsefulness 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338: handleRuleGovernanceTransition 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373: handleRuleGovernancePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406: handleRuleGovernanceRollback 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483: requireRuleGovernanceReadAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495: requireRuleGovernanceProjectOrAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505: ruleGovernanceCallerIsAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510: requireRuleGovernanceAdminAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518: redactRuleGovernanceEvidenceHandles 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535: redactRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553: ruleGovernanceEvidenceHandleHasSensitiveText 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559: isCanonicalRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580: isSafeRuleGovernanceEvidenceID 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594: parseRuleGovernanceTransitionRequest 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604: parseRuleGovernanceSince 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623: boundedRuleGovernanceLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634: formatRuleGovernanceTime 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641: formatRuleGovernanceTimePtr 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649: stringRuleCandidateStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657: stringRuleVersionStateCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665: stringRuleArbiterRunStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673: stringRuleInjectionEventTypeCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:17: handleStoreRule 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:133: handleListRules 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:22: handleSettingsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:51: SetSettingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:57: settingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:67: isSecretSettingKey 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:74: requireAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:85: handleSetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:145: handleGetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:181: handleListSettings 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:216: handleDeleteSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:35: resumeScopesFromFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:52: stateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:82: setStateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:142: handleGetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:219: handleSetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:274: decodeSessionStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:292: validateSessionStateBudget 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:303: validateNativeResumePacket 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:349: decodeProjectStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:364: requireStateObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:383: requireNestedObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10: handleStoreConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21: SetTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25: temporalTruthEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30: temporalTruthTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39: temporalTruthRefreshTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48: temporalTruthRefreshSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58: temporalTruthSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72: currentTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82: handleTemporalTruth 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102: handleTemporalTruthRefresh 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122: parseTemporalTruthArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151: parseTemporalTruthRefreshProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10: handleVaultConsolidated 0.0% +total: (statements) 0.1% diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/assert-go-test-json.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/assert-go-test-json.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/assert-go-test-json.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/assert-go-test-json.stdout.log new file mode 100644 index 00000000..4e182f16 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/assert-go-test-json.stdout.log @@ -0,0 +1,2 @@ +go test JSON verdict=PASS packages=1 tests=1 passed=1 failed=0 skipped=0 unexpected_skips=0 malformed=0 +summary=D:\Dev\engram\.w\t007-current-contract\.agent\reports\evidence\production-ready\t007-compat\t007-maker-focused-repeat3\repeat-02\go-test-summary.json diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/cleanup-process.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/cleanup-process.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/cleanup-process.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/cleanup-process.stdout.log new file mode 100644 index 00000000..7678fce2 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/cleanup-process.stdout.log @@ -0,0 +1,2 @@ +cleanup verdict=PASS database=engram_prc_rg_test_8b1d3112a7a95fbb_r2 schema=public terminated_sessions=0 remaining_database_count=0 +summary=D:\Dev\engram\.w\t007-current-contract\.agent\reports\evidence\production-ready\t007-compat\t007-maker-focused-repeat3\repeat-02\cleanup\cleanup.json diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/cleanup/cleanup.json b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/cleanup/cleanup.json new file mode 100644 index 00000000..b941a7ab --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/cleanup/cleanup.json @@ -0,0 +1,170 @@ +{ + "schema_version": 1, + "run_id": "t007-maker-focused-repeat3-repeat-2", + "timestamp": "2026-07-11T00:35:05.5100813+00:00", + "verdict": "PASS", + "database": "engram_prc_rg_test_8b1d3112a7a95fbb_r2", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_8b1d3112a7a95fbb_r2.public", + "admin_dsn": "postgres://engram:REDACTED@127.0.0.1:55432/postgres?sslmode=disable", + "postgres_container": "engram-prc-postgres", + "cleanup_status": "PASS", + "cleanup_attempted": true, + "database_existed_before": true, + "absence_verified": true, + "terminated_sessions": 0, + "remaining_database_count": 0, + "commands": [ + { + "name": "database-exists-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r2';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r2';", + "started_at": "2026-07-11T00:35:02.8283166+00:00", + "finished_at": "2026-07-11T00:35:03.3465720+00:00", + "duration_seconds": 0.518, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\cleanup\\database-exists-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\cleanup\\database-exists-before.stderr.log" + }, + { + "name": "pg-stat-activity-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r2' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r2' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:35:03.4122443+00:00", + "finished_at": "2026-07-11T00:35:04.0989418+00:00", + "duration_seconds": 0.687, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\cleanup\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\cleanup\\pg-stat-activity-before.stderr.log" + }, + { + "name": "terminate-database-sessions", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r2' AND pid <> pg_backend_pid() ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r2' AND pid <> pg_backend_pid() ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:35:04.1053376+00:00", + "finished_at": "2026-07-11T00:35:04.5786709+00:00", + "duration_seconds": 0.473, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\cleanup\\terminate-sessions.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\cleanup\\terminate-sessions.stderr.log" + }, + { + "name": "drop-fresh-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "DROP DATABASE IF EXISTS \"engram_prc_rg_test_8b1d3112a7a95fbb_r2\" WITH (FORCE);" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c DROP DATABASE IF EXISTS \"engram_prc_rg_test_8b1d3112a7a95fbb_r2\" WITH (FORCE);", + "started_at": "2026-07-11T00:35:04.5879948+00:00", + "finished_at": "2026-07-11T00:35:05.0887240+00:00", + "duration_seconds": 0.501, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\cleanup\\drop-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\cleanup\\drop-database.stderr.log" + }, + { + "name": "verify-database-absent", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r2';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r2';", + "started_at": "2026-07-11T00:35:05.0920964+00:00", + "finished_at": "2026-07-11T00:35:05.5034749+00:00", + "duration_seconds": 0.411, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\cleanup\\verify-database-absent.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\cleanup\\verify-database-absent.stderr.log" + } + ], + "errors": [] +} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/cleanup/database-exists-before.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/cleanup/database-exists-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/cleanup/database-exists-before.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/cleanup/database-exists-before.stdout.log new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/cleanup/database-exists-before.stdout.log @@ -0,0 +1 @@ +1 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/cleanup/drop-database.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/cleanup/drop-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/cleanup/drop-database.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/cleanup/drop-database.stdout.log new file mode 100644 index 00000000..ca12dce0 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/cleanup/drop-database.stdout.log @@ -0,0 +1 @@ +DROP DATABASE diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/cleanup/pg-stat-activity-before.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/cleanup/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/cleanup/pg-stat-activity-before.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/cleanup/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/cleanup/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/cleanup/terminate-sessions.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/cleanup/terminate-sessions.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/cleanup/terminate-sessions.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/cleanup/terminate-sessions.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/cleanup/terminate-sessions.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/cleanup/verify-database-absent.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/cleanup/verify-database-absent.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/cleanup/verify-database-absent.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/cleanup/verify-database-absent.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/cleanup/verify-database-absent.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/connection-count-after.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/connection-count-after.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/connection-count-after.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/connection-count-after.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/connection-count-before.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/connection-count-before.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/connection-count-before.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/connection-count-before.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/coverage.out b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/coverage.out new file mode 100644 index 00000000..52335d8a --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/coverage.out @@ -0,0 +1,3472 @@ +mode: atomic +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33.53,34.30 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:34.30,36.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.2,37.25 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.25,39.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:40.2,40.12 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44.28,46.2 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52.83,53.12 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:53.12,54.16 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:54.16,55.32 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:55.32,61.5 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:63.3,65.33 3 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:65.33,71.4 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77.54,78.14 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:78.14,80.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:81.2,82.16 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:82.16,85.3 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:86.2,87.13 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92.91,93.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:93.23,95.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:96.2,97.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:97.15,99.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:100.2,105.65 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:105.65,113.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117.95,118.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:118.23,120.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:121.2,122.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:122.15,124.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:125.2,129.65 5 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:129.65,138.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142.87,143.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:143.23,145.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:146.2,147.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:150.2,153.65 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:153.65,161.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166.96,167.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:167.23,169.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:170.2,171.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:171.15,173.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:174.2,177.63 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:177.63,185.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189.97,190.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:190.23,192.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:193.2,194.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:194.15,196.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:197.2,200.68 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:200.68,208.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:30.62,31.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:31.20,33.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:34.2,35.49 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:35.49,37.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:38.2,38.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:38.14,40.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:41.2,41.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:46.52,47.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:47.14,49.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:50.2,50.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:51.14,52.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:53.19,54.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:55.15,56.45 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:57.12,58.31 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:59.10,60.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:67.43,68.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:68.14,70.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:71.2,71.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:72.15,73.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:74.19,75.38 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:75.38,77.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:78.3,78.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:78.40,80.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:81.3,81.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:82.14,83.56 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:83.56,85.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:86.3,86.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:86.54,88.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:89.3,89.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:90.10,91.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:97.49,98.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:98.14,100.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:101.2,101.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:102.15,103.18 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:104.19,105.38 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:105.38,107.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:108.3,108.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:108.40,110.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:111.3,111.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:112.14,113.56 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:113.56,115.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:116.3,116.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:116.54,118.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:119.3,119.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:120.10,121.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:127.55,128.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:128.14,130.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:131.2,131.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:132.15,133.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:134.19,135.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:135.40,137.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:138.3,138.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:139.14,140.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:140.54,142.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:143.3,143.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:144.10,145.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:151.46,152.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:152.14,154.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:155.2,155.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:156.12,157.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:158.14,159.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:159.54,161.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:162.3,162.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:163.15,164.16 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:165.19,166.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:166.40,168.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:169.3,169.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:170.10,171.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:177.40,178.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:178.14,180.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:181.2,181.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:182.13,184.26 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:184.26,185.36 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:185.36,187.5 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:189.3,189.16 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:190.16,191.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:192.14,193.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:193.14,195.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:196.3,196.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:197.10,198.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:204.38,205.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:205.14,207.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:208.2,209.9 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:209.9,211.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:212.2,213.27 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:213.27,214.42 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:214.42,216.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:218.2,218.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:222.32,223.39 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:223.39,225.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:226.2,226.30 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:226.30,228.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:229.2,229.30 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:229.30,231.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:232.2,232.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:236.35,237.28 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:237.28,239.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.2,240.28 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.28,242.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:243.2,243.15 1 0 +github.com/thebtf/engram/internal/mcp/context.go:17.55,19.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:22.78,24.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:29.78,31.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:35.53,38.2 2 0 +github.com/thebtf/engram/internal/mcp/context.go:41.80,43.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:48.80,50.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:54.53,57.2 2 0 +github.com/thebtf/engram/internal/mcp/context.go:61.51,62.43 1 0 +github.com/thebtf/engram/internal/mcp/context.go:62.43,64.3 1 0 +github.com/thebtf/engram/internal/mcp/context.go:65.2,65.16 1 0 +github.com/thebtf/engram/internal/mcp/health.go:22.32,26.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:29.37,33.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:36.35,40.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:42.44,45.25 3 0 +github.com/thebtf/engram/internal/mcp/health.go:45.25,47.50 1 0 +github.com/thebtf/engram/internal/mcp/health.go:47.50,50.4 2 0 +github.com/thebtf/engram/internal/mcp/health.go:55.74,60.16 5 0 +github.com/thebtf/engram/internal/mcp/health.go:60.16,62.3 1 0 +github.com/thebtf/engram/internal/mcp/health.go:63.2,71.4 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28.42,29.65 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:29.65,32.3 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.2,33.40 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.40,35.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:36.2,36.14 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39.120,40.69 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:40.69,42.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:43.2,44.19 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:44.19,46.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:47.2,48.17 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:48.17,50.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:51.2,52.59 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:52.59,54.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:55.2,56.20 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:56.20,58.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:59.2,60.17 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:60.17,62.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:63.2,64.21 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:64.21,66.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:67.2,68.22 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:68.22,70.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:71.2,72.23 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:76.2,98.19 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:98.19,100.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:101.2,101.66 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104.52,106.29 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:106.29,108.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:109.2,110.46 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113.113,123.27 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:123.27,125.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:130.2,130.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:127.44,138.2 1 1 +github.com/thebtf/engram/internal/mcp/server.go:141.64,143.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:146.78,148.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:151.53,153.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:156.55,158.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:161.58,163.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:166.62,168.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:171.50,173.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:176.78,178.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:181.74,183.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:186.71,189.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:191.85,193.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:195.61,197.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:199.49,201.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:204.54,206.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:211.53,213.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:216.53,218.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:222.61,224.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:228.59,230.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:234.51,236.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:240.52,242.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:246.55,248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:252.82,254.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:260.70,262.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:269.68,271.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:274.87,277.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:282.60,284.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:290.45,292.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:297.77,299.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:303.37,313.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:313.38,315.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:316.2,317.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:317.9,319.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:320.2,321.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:321.9,323.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:324.2,325.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:325.9,327.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:328.2,328.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:332.35,334.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:383.49,387.12 3 0 +github.com/thebtf/engram/internal/mcp/server.go:387.12,388.22 1 0 +github.com/thebtf/engram/internal/mcp/server.go:388.22,389.11 1 0 +github.com/thebtf/engram/internal/mcp/server.go:390.22,392.11 2 0 +github.com/thebtf/engram/internal/mcp/server.go:393.12,393.12 0 0 +github.com/thebtf/engram/internal/mcp/server.go:396.4,397.18 2 0 +github.com/thebtf/engram/internal/mcp/server.go:397.18,398.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:401.4,402.61 2 0 +github.com/thebtf/engram/internal/mcp/server.go:402.61,404.13 2 0 +github.com/thebtf/engram/internal/mcp/server.go:407.4,407.55 1 0 +github.com/thebtf/engram/internal/mcp/server.go:407.55,409.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:411.3,411.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:414.2,414.9 1 0 +github.com/thebtf/engram/internal/mcp/server.go:415.20,416.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:417.25,418.17 1 0 +github.com/thebtf/engram/internal/mcp/server.go:418.17,420.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:421.3,421.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:427.77,428.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:428.19,431.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:433.2,433.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:434.20,435.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:436.20,437.32 1 0 +github.com/thebtf/engram/internal/mcp/server.go:438.20,439.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:443.24,444.93 1 0 +github.com/thebtf/engram/internal/mcp/server.go:445.34,446.101 1 0 +github.com/thebtf/engram/internal/mcp/server.go:447.22,448.91 1 0 +github.com/thebtf/engram/internal/mcp/server.go:449.29,450.120 1 0 +github.com/thebtf/engram/internal/mcp/server.go:451.10,456.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:461.51,462.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:463.50,464.70 1 0 +github.com/thebtf/engram/internal/mcp/server.go:465.46,466.79 1 0 +github.com/thebtf/engram/internal/mcp/server.go:467.10,468.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:473.59,485.63 2 0 +github.com/thebtf/engram/internal/mcp/server.go:485.63,487.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:489.2,493.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:496.45,503.33 3 0 +github.com/thebtf/engram/internal/mcp/server.go:503.33,505.57 2 0 +github.com/thebtf/engram/internal/mcp/server.go:505.57,506.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:506.76,507.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.4,509.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.18,511.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:511.10,513.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:514.4,518.11 5 0 +github.com/thebtf/engram/internal/mcp/server.go:522.2,522.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:660.29,683.21 2 0 +github.com/thebtf/engram/internal/mcp/server.go:683.21,689.3 5 0 +github.com/thebtf/engram/internal/mcp/server.go:690.2,699.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:712.30,765.49 3 0 +github.com/thebtf/engram/internal/mcp/server.go:765.49,789.3 5 0 +github.com/thebtf/engram/internal/mcp/server.go:790.2,799.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:805.40,936.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:942.58,1048.35 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1048.35,1077.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.2,1080.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.33,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.2,1093.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.26,1123.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1124.2,1124.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1124.80,1126.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1127.2,1127.55 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1127.55,1129.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1130.2,1130.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1130.38,1132.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1134.2,1134.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1134.25,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1138.2,1138.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1138.33,1140.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1141.2,1141.69 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1141.69,1143.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1144.2,1144.75 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1144.75,1146.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1148.2,1148.27 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1148.27,1165.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.2,1168.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.76,1191.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1195.2,1195.48 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1195.48,1197.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.2,1201.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.47,1203.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.2,1205.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.38,1207.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1212.2,1212.21 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1212.21,1214.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1228.2,1228.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1228.51,1230.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1233.2,1233.56 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1233.56,1235.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1238.2,1238.71 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1238.71,1298.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1302.2,1302.104 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1302.104,1321.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1324.2,1324.72 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1324.72,1333.154 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1333.154,1334.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1334.26,1336.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1337.7,1337.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1338.35,1340.26 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1340.26,1342.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1343.7,1343.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1371.2,1371.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1371.26,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1393.2,1393.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1393.28,1443.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.2,1446.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.28,1478.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.2,1481.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.37,1561.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1564.2,1568.23 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1568.23,1570.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1572.2,1588.57 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1588.57,1591.29 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1591.29,1593.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1594.3,1594.27 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1594.27,1595.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1595.29,1597.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1601.2,1607.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1612.79,1614.60 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1614.60,1620.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1622.2,1623.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1623.16,1631.3 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1633.2,1641.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1644.69,1645.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1645.34,1647.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1648.2,1649.22 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1649.22,1651.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1652.2,1652.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1656.99,1658.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1659.16,1660.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1661.15,1662.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1663.18,1664.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1665.15,1666.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1667.18,1668.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1669.14,1670.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1671.15,1672.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1676.2,1676.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1677.35,1678.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1679.26,1680.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1681.20,1682.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1683.20,1684.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1685.16,1686.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1687.29,1688.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1689.33,1690.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1691.25,1692.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1693.23,1694.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1696.26,1697.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1698.24,1699.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1700.22,1701.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1702.25,1703.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1704.27,1705.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1706.25,1707.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1709.30,1710.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1711.28,1712.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1713.17,1714.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1715.20,1716.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1717.20,1718.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1719.20,1720.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1722.20,1723.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1724.18,1725.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1726.20,1727.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1728.18,1729.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1730.21,1731.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1732.21,1733.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1734.26,1735.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1736.25,1737.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1738.26,1739.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1740.24,1741.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1742.26,1743.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1744.27,1745.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1746.22,1747.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1748.19,1749.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1750.15,1751.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1752.16,1753.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1755.21,1756.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1757.19,1758.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1759.20,1760.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1761.22,1762.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1763.22,1764.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1765.23,1766.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1767.20,1768.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1769.32,1770.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1771.19,1772.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1773.19,1774.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1775.33,1776.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1777.35,1778.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1779.24,1780.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1781.32,1782.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1783.28,1784.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1785.21,1786.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1787.34,1788.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1789.25,1790.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1791.29,1792.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1793.26,1794.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1795.27,1796.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1798.25,1799.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1800.23,1801.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1802.27,1803.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1804.26,1805.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1806.29,1807.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1809.29,1810.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1811.27,1812.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1813.30,1814.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1815.38,1816.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1817.36,1818.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1820.24,1821.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1822.27,1823.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1824.22,1825.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1826.32,1827.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1828.32,1829.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1830.31,1831.48 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1832.35,1833.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1834.36,1835.53 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1836.36,1837.53 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1838.38,1839.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1840.34,1841.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1843.22,1844.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1845.21,1846.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1847.24,1848.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1850.25,1851.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1852.25,1853.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1859.2,1859.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1860.22,1863.131 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1866.51,1867.123 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1868.10,1869.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1874.47,1876.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1876.16,1879.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1880.2,1880.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1884.72,1890.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1896.105,1898.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1898.16,1900.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1902.2,1903.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1903.17,1905.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1907.2,1908.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1908.17,1910.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1912.2,1918.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1918.16,1920.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1921.2,1921.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1927.76,1933.15 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1933.15,1936.17 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1936.17,1938.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1939.3,1939.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1943.2,1950.36 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1950.36,1952.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1952.8,1955.29 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1955.29,1958.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1959.3,1962.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.2,1966.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.20,1977.20 6 0 +github.com/thebtf/engram/internal/mcp/server.go:1977.20,1979.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.3,1980.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.20,1982.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.3,1985.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.37,1987.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1987.30,1988.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1988.16,1990.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1990.11,1992.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1994.4,1995.56 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1995.56,1997.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1998.4,2003.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.2,2008.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.29,2009.63 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2009.63,2011.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2011.9,2013.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.2,2021.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.29,2029.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2029.38,2031.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2031.9,2033.31 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2033.31,2035.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2035.30,2037.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2039.4,2042.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2046.2,2047.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2047.16,2049.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2050.2,2050.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2055.57,2056.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2056.33,2058.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2059.2,2060.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2060.16,2062.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2063.2,2064.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2064.16,2066.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2067.2,2067.23 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2071.79,2105.15 6 0 +github.com/thebtf/engram/internal/mcp/server.go:2105.15,2107.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2107.17,2111.4 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2111.9,2112.17 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2112.17,2114.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2115.4,2117.26 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2117.26,2119.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2119.10,2121.29 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2121.29,2123.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2125.4,2129.25 5 0 +github.com/thebtf/engram/internal/mcp/server.go:2130.19,2130.19 0 0 +github.com/thebtf/engram/internal/mcp/server.go:2132.20,2134.106 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2135.12,2137.103 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2140.8,2143.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2144.2,2150.49 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2150.49,2152.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2152.8,2154.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2155.2,2168.27 4 0 +github.com/thebtf/engram/internal/mcp/server.go:2168.27,2170.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2170.17,2173.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2173.9,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2177.2,2182.40 4 0 +github.com/thebtf/engram/internal/mcp/server.go:2182.40,2183.21 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2184.20,2185.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2186.19,2187.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.2,2191.24 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.24,2193.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.8,2193.30 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.30,2195.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.2,2198.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.28,2200.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.2,2203.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.29,2205.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2207.2,2208.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2208.16,2210.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2211.2,2211.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2216.103,2218.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2218.16,2220.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2222.2,2223.15 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2223.15,2225.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2227.2,2239.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2239.16,2241.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2242.2,2242.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2246.93,2248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2251.91,2253.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:18.28,29.20 4 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:29.20,33.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:35.2,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:68.36,69.49 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:69.49,74.3 4 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:75.2,75.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:80.26,82.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:84.89,86.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:89.2,90.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:90.18,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:94.2,94.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:95.15,96.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:97.26,98.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:99.25,100.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:101.23,105.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:105.22,107.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:108.3,108.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:109.10,110.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:120.92,126.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:126.26,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:130.2,131.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:131.19,133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:134.2,135.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:135.19,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.2,138.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.24,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.2,142.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.25,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:146.2,147.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:151.2,151.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27.40,30.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32.30,46.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48.99,49.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:49.34,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.2,52.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.69,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:56.2,57.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:60.2,61.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:61.21,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:64.2,67.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:67.26,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:70.2,71.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:71.25,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:75.2,77.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:77.44,79.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.2,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.33,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:83.2,83.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86.52,87.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:87.16,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.2,90.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.15,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:93.2,93.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96.73,97.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:97.21,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:100.2,101.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:101.29,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:111.2,111.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114.34,116.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:31.98,32.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:32.52,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.2,35.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.26,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:39.2,40.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:40.49,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.2,43.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.21,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.2,46.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.21,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.2,49.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.18,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.2,52.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.18,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.2,56.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.38,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:60.2,61.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:61.16,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:68.2,70.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:70.26,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:79.2,81.36 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:81.36,84.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:86.2,89.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:89.28,90.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:90.39,91.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:93.3,97.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:100.2,104.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:107.60,113.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:115.101,116.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:116.38,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:120.2,122.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:122.21,123.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:123.26,125.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.3,126.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.23,128.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:129.8,130.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:130.26,132.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.3,133.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.68,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:137.2,140.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:141.17,142.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:143.67,143.67 0 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:144.10,145.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:148.2,162.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:162.16,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.2,165.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.2,174.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.30,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.2,177.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.31,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:181.2,182.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:182.36,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:198.2,199.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:199.19,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:202.2,203.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:203.18,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:206.2,207.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:207.21,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:210.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:211.25,213.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:214.2,225.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:225.21,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.25,230.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.2,231.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.18,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:235.2,244.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:244.21,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.2,247.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.25,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.2,250.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.18,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.2,253.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:256.2,256.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:259.50,261.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:261.22,263.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:264.2,264.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:270.90,272.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:272.42,276.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:277.2,281.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:281.27,282.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:282.45,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:286.2,286.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25.28,88.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95.95,96.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:96.22,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:99.2,100.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:100.32,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:104.2,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:109.2,114.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:114.35,121.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.2,123.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.25,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:127.2,134.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:138.2,146.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154.94,155.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:155.22,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:158.2,159.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:159.32,161.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:163.2,164.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:164.16,166.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:168.2,172.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:172.35,179.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.2,181.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.25,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:185.2,192.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:192.16,194.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:196.2,203.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211.97,212.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:212.22,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:215.2,216.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:216.32,218.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:220.2,221.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:221.16,223.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:225.2,229.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:229.35,236.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.2,238.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.25,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:242.2,249.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:249.16,251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:253.2,260.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31.80,32.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:32.14,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:35.2,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51.136,53.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:53.51,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:56.2,56.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59.94,60.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:60.21,62.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:63.2,63.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68.30,162.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165.98,166.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:166.49,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:169.2,170.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:170.16,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:173.2,174.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:174.19,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:177.2,179.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:179.17,181.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:188.2,189.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:189.31,190.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:190.15,191.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:193.3,193.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:196.2,201.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:201.16,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:204.2,204.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208.96,209.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:209.49,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:212.2,213.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:213.16,215.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:216.2,217.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:217.13,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.2,225.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.22,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:229.2,230.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:230.16,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:233.2,233.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239.100,240.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:240.22,242.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:243.2,244.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:244.16,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:247.2,248.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:248.13,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:255.2,256.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:256.12,263.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:263.30,264.77 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:264.77,269.5 4 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:271.3,272.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:272.21,274.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:275.3,275.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.2,279.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.29,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:284.2,285.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:285.16,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.2,288.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.22,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.2,291.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.55,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.2,294.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.74,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:297.2,298.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:298.16,300.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:306.2,307.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:307.41,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:310.2,324.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:324.16,325.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:325.50,327.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:328.3,328.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.2,330.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.38,332.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:334.2,341.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:341.16,343.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:344.2,344.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348.99,349.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:349.49,351.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:352.2,353.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:353.16,355.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:356.2,357.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:357.13,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:360.2,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.2,365.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.22,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.2,368.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.74,370.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:371.2,372.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:372.16,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.2,375.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.85,377.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:379.2,380.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:380.16,381.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:381.50,383.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:384.3,384.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.2,386.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.20,388.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:390.2,395.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:395.16,397.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:398.2,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402.102,403.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:403.49,405.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:406.2,407.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:407.16,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:410.2,411.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:411.13,413.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:414.2,415.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:415.16,417.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.2,418.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.22,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.2,421.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.74,423.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:424.2,425.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:425.16,427.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.2,428.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.88,430.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:432.2,433.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:433.16,434.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:434.50,436.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:437.3,437.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.2,439.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.20,441.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:443.2,448.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:448.16,450.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:451.2,451.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34.30,36.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42.61,44.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48.32,75.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79.32,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100.98,101.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:101.25,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.2,104.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.29,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:108.2,113.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:113.17,114.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:114.55,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.2,118.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.24,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.2,121.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.23,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.2,124.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.23,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:134.2,135.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:135.21,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:142.2,147.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:154.2,165.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:165.25,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:177.2,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:186.2,186.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194.98,195.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:195.25,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.2,198.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.29,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:202.2,205.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:205.17,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:208.2,209.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:209.21,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:213.2,214.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:214.16,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:217.2,218.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:218.16,220.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:226.2,231.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:231.11,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:21.52,22.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:22.24,25.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:25.28,27.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:29.2,29.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:35.72,37.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:37.15,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:45.2,45.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:49.99,51.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:51.16,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:55.2,56.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:56.16,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:60.2,72.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.2,75.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.24,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.2,78.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.24,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:81.2,81.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:82.27,82.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:84.10,85.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.2,87.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.30,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.2,90.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.26,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:104.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:116.2,123.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:126.2,126.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:130.97,132.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:132.16,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:136.2,137.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:141.2,147.23 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:147.23,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.2,150.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.26,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:154.2,155.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:155.16,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:160.16,161.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:161.47,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:164.3,164.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.2,167.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.97,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:174.2,175.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:175.16,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:179.2,185.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:185.16,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:188.2,188.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:192.99,194.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:194.16,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:198.2,199.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:199.16,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:203.2,207.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:207.26,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:211.2,212.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:212.16,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:216.2,223.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:223.26,229.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:229.28,231.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:232.3,232.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:243.100,245.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:245.16,247.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:249.2,250.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:250.16,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:254.2,262.23 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:262.23,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.2,265.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.24,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:268.2,268.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:269.27,269.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:271.10,272.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.2,274.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.30,276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.2,277.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.26,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.2,281.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.71,282.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:282.47,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:285.3,285.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:288.2,293.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:293.16,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:296.2,296.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:302.92,309.19 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:309.19,310.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:310.53,313.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:316.2,317.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:317.51,318.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:318.66,320.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:323.2,331.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:331.16,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:334.2,334.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:338.46,342.32 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:342.32,343.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:343.20,346.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:348.2,350.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:350.26,352.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:352.27,353.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:353.13,355.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:356.4,356.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:358.3,358.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:360.2,360.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:16.45,18.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:20.35,36.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:38.84,39.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:39.40,41.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.2,42.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.50,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:45.2,45.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:48.101,50.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:50.16,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:53.2,54.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:57.2,58.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:58.19,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:61.2,62.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:62.21,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:65.2,66.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:66.16,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:69.2,69.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:72.102,74.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:77.2,82.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10.100,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:22.16,23.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:24.14,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:26.14,27.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:28.17,29.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:30.17,31.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:32.21,33.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:34.19,35.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:36.17,37.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:38.16,39.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:40.16,41.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:42.21,43.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:44.10,45.167 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:15.77,16.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:16.33,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:20.2,21.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:21.27,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:25.2,26.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:26.28,29.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:29.17,31.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:34.2,41.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:41.32,46.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:46.20,48.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:49.3,49.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:61.97,62.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:62.28,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:71.2,75.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:75.29,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:79.2,80.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:80.16,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.2,84.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.20,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:88.2,97.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:97.25,103.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:103.20,105.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.3,106.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.19,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:109.3,109.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:112.2,113.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:113.16,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:117.2,117.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:121.95,122.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:122.28,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:131.2,137.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:137.50,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:141.2,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.2,145.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.16,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.2,149.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.21,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:153.2,154.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:154.16,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.2,157.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.20,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:161.2,161.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:165.98,166.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:166.28,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:170.2,171.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:171.16,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:175.2,181.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:181.50,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.2,185.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.96,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:189.2,189.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:197.98,198.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:198.28,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:207.2,217.74 6 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:217.74,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:222.2,223.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:223.16,225.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:227.2,229.156 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:235.98,237.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:237.16,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:241.2,247.24 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:247.24,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:252.2,253.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:253.29,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:256.2,256.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15.93,16.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:16.37,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:20.2,21.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:21.16,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:25.2,32.16 7 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:32.16,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.2,35.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.19,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.2,38.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.19,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:42.2,43.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:43.16,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:47.2,54.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61.91,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:62.37,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:71.2,73.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:73.16,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.2,76.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.19,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:80.2,81.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:81.43,83.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:83.19,85.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:86.3,86.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:87.8,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.2,90.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.16,91.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:91.45,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:94.3,94.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:97.2,110.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:110.16,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:113.2,113.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117.93,119.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122.91,123.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:123.37,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:132.2,133.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:133.19,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:136.2,141.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:141.16,143.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:145.2,155.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:155.25,165.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:167.2,168.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:168.16,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:171.2,171.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175.94,176.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:176.37,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:180.2,181.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:181.16,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:185.2,187.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:187.16,189.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.2,190.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.19,192.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:193.2,196.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:200.2,208.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:208.25,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:218.2,225.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232.94,233.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:233.37,235.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:242.2,243.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:243.21,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:246.2,248.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:248.19,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:252.2,253.46 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:253.46,255.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:255.13,257.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.2,259.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.44,261.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:261.13,263.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:266.2,267.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:267.16,269.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:271.2,278.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:278.16,280.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:281.2,281.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19.69,21.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23.38,38.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40.51,63.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65.53,80.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82.46,85.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:85.32,87.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:88.2,88.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91.105,93.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:93.16,95.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:96.2,97.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:100.2,100.70 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103.107,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:108.2,109.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:109.16,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:112.2,112.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115.101,117.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:117.16,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:120.2,121.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:121.17,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:124.2,139.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142.109,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:147.2,154.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157.100,159.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:159.28,161.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:161.18,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:164.3,164.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:166.2,167.72 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:167.72,169.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.2,170.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.53,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:173.2,174.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:174.26,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:177.2,177.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180.73,182.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:182.16,184.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:185.2,185.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12.104,14.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:14.16,16.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:18.2,19.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:19.18,21.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:23.2,23.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:24.14,25.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:26.18,27.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:28.17,29.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:30.10,31.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36.101,37.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:37.27,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:46.2,47.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:47.21,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:50.2,51.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:51.19,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:54.2,54.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:55.52,55.52 0 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:56.10,57.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:59.2,61.93 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:61.93,64.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:66.2,70.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:27.31,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:98.97,100.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:100.26,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.2,103.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.28,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:112.2,115.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:115.15,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.2,118.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.17,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:122.2,123.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:127.2,140.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:140.29,151.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:151.31,154.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:155.3,155.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:158.2,162.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:167.100,169.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:169.26,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.2,172.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.28,174.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.2,175.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.26,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:179.2,180.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:184.2,185.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:185.22,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:189.2,190.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:190.20,191.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:191.54,199.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.3,200.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.61,202.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:203.3,203.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:206.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:215.95,217.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:217.32,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.2,220.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.28,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:224.2,225.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:229.2,230.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:230.22,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.2,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.25,246.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:248.2,252.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:258.104,260.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:260.26,262.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:267.2,271.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:271.20,275.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:275.8,279.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:280.2,280.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:284.60,285.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:285.30,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.2,288.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.42,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:291.2,291.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:64.89,65.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:65.25,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:69.2,70.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:70.49,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:74.2,74.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:75.18,76.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:77.21,78.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:79.19,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:81.18,82.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:83.19,84.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:85.18,86.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:87.18,91.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:91.23,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:94.3,94.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:95.10,96.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:100.81,103.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:103.19,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:106.2,107.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:107.19,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.2,112.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.46,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.2,115.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.46,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.2,122.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.66,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.25,128.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:128.22,130.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:131.8,132.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:132.26,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.2,138.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.25,139.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:139.22,141.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:142.8,143.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:143.26,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.2,148.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.22,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.2,151.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.38,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.2,154.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.19,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:159.2,161.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:161.25,164.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.2,165.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.25,168.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:169.2,171.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:171.23,174.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.2,175.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.23,178.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:180.2,193.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:193.16,195.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:198.2,199.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:199.29,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.2,202.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.29,204.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:205.2,213.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:216.121,217.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:217.28,218.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:218.26,220.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:221.3,222.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:222.17,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:223.49,225.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:226.4,226.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:228.3,228.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.2,230.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.26,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:233.2,234.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:234.16,235.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:235.48,237.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:238.3,238.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:240.2,240.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:243.101,248.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:248.36,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:250.8,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.2,253.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.16,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.2,256.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.32,257.128 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:257.128,262.72 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:262.72,264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:267.2,267.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:276.81,277.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:277.25,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.2,280.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.22,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.2,283.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.39,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.2,286.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.25,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.2,289.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.21,291.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:292.2,293.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:293.14,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:296.2,305.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:305.16,307.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:308.2,314.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:317.84,318.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:318.19,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:321.2,323.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:323.63,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:326.2,329.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:332.82,333.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:333.38,335.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:336.2,337.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:338.18,339.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:340.18,341.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.2,345.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.59,347.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:349.2,351.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:351.21,353.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:353.8,356.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.2,357.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:366.2,367.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:367.41,369.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:371.2,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:397.115,398.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:398.15,400.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:403.2,404.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:404.26,405.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:405.28,407.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.3,408.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.28,410.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.2,412.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.23,415.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:420.2,426.12 4 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:426.12,427.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:427.27,429.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:429.18,431.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.4,433.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.33,435.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:440.2,441.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:441.26,442.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:442.28,443.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:443.49,445.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.3,448.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.28,449.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:449.49,451.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:454.2,454.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:457.82,458.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:458.21,460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:461.2,462.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:462.16,464.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.2,465.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.36,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:468.2,469.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:469.16,471.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:472.2,477.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:480.82,481.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:481.40,483.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:484.2,485.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:485.19,487.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:488.2,489.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:489.16,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:492.2,499.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:502.82,503.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:503.21,505.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:506.2,507.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:507.16,509.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:510.2,514.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23.179,24.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:24.22,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:28.2,32.22 4 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:32.22,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:35.2,36.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:36.22,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:40.2,41.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:41.26,43.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.2,44.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.26,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.2,47.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.30,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.2,50.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.30,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:54.2,55.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:55.16,57.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.2,58.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.13,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:61.2,62.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:62.16,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.2,65.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.13,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:69.2,70.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:70.16,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.2,73.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.15,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:77.2,77.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80.172,81.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:81.28,82.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:82.23,84.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.3,85.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.18,87.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:88.3,89.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:89.17,90.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:90.49,92.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:93.4,93.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:95.3,95.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.2,98.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.24,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.2,101.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.19,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:104.2,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:105.16,106.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:106.48,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:109.3,109.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:111.2,111.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114.119,116.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:116.22,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:119.2,120.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:120.22,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:124.2,126.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:126.26,127.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:127.36,129.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:130.3,130.105 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:131.8,132.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:132.32,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:135.3,135.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.2,137.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.2,141.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.32,143.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:143.27,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:146.3,147.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:147.27,149.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.3,150.106 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.106,151.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.3,153.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.27,154.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:154.114,155.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.9,157.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.104,158.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.3,160.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.27,161.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:161.114,162.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.9,164.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.104,165.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:167.3,167.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:169.2,169.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25.90,26.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:26.26,28.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:30.2,31.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:31.49,33.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:35.2,35.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:36.16,37.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:38.10,39.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43.84,44.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:44.21,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.2,47.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.25,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.2,50.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.21,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.2,53.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.21,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:57.2,58.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:59.18,60.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:61.15,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:63.24,64.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:65.10,66.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:69.2,70.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:70.22,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:73.2,74.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:74.29,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.2,78.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.14,85.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:87.2,89.37 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:89.37,92.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:92.21,94.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:97.2,100.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:100.31,102.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:102.38,104.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:104.37,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:109.3,122.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:122.26,124.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.3,125.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.19,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:131.3,133.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:133.39,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:135.9,137.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.3,138.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.17,140.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.3,142.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.34,144.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:145.3,145.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:148.2,155.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20.99,22.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:22.16,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:26.2,31.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:31.44,32.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:32.33,33.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:33.43,38.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.2,43.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.49,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.2,46.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.48,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:50.2,52.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:52.27,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:55.8,60.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:60.24,62.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.3,64.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.57,66.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:68.3,68.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.2,71.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.16,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:75.2,76.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:76.23,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:80.2,80.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:19.40,89.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:109.71,111.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:111.9,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:115.2,116.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:116.38,117.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:118.13,119.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:119.41,121.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:122.17,123.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:123.43,125.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:126.11,127.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:127.40,129.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.2,133.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.22,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:139.2,139.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:143.90,144.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:144.25,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:148.2,149.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:149.16,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:153.2,157.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:157.61,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:161.2,161.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:162.16,163.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:164.14,165.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:166.13,167.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:168.16,169.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:170.17,171.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:172.16,173.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:174.15,175.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:176.10,177.120 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:189.85,191.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:191.39,192.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:192.44,194.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.2,196.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.15,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.2,199.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.15,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:202.2,202.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:205.91,207.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:207.17,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:211.2,215.25 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:215.25,217.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:218.2,224.25 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:224.25,226.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.2,227.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.25,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:231.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:247.2,247.139 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:250.89,252.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:252.19,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:255.2,256.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:256.25,258.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:259.2,264.52 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:264.52,266.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:266.14,268.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:271.2,277.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:277.25,280.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:282.2,283.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:283.16,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.2,287.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.22,288.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:288.20,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:291.3,291.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:294.2,297.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:297.31,300.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:300.29,302.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:303.3,305.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:308.2,308.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:311.88,313.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:313.13,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:317.2,318.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:318.16,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:322.2,328.22 6 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:328.22,331.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.2,333.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.23,335.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:335.30,338.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:341.2,341.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:344.91,346.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:346.13,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:350.2,353.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:353.18,354.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:354.27,356.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.3,357.73 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.73,359.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.2,362.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.19,370.17 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:370.17,372.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:375.2,376.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:376.26,378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:379.2,379.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:382.92,384.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:384.13,386.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:388.2,389.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:389.16,391.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:393.2,401.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:401.16,403.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:405.2,405.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:408.91,410.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:410.13,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:414.2,418.95 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:418.95,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:422.2,422.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:425.90,427.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:427.13,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:431.2,433.167 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:433.167,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.2,437.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.89,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:441.2,441.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22.93,24.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:24.49,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:28.2,28.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:29.14,30.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:31.17,32.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:33.16,34.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:35.24,36.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:37.27,38.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:39.22,40.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:41.23,42.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:43.10,44.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48.79,49.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:49.13,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:57.2,58.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:58.32,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:61.2,84.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87.101,88.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:88.13,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.2,91.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.38,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.2,98.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.53,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:102.2,104.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:104.17,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.2,107.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.29,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:110.2,115.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118.100,119.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:119.13,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.2,122.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.38,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.2,129.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.53,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:133.2,135.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:135.17,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.2,138.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.29,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:141.2,146.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149.123,150.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:150.13,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.2,153.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.18,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.2,156.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.38,158.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:159.2,161.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:161.17,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:164.2,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172.113,173.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:173.13,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.2,176.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.50,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:179.2,181.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:181.17,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:184.2,188.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191.57,195.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197.102,198.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:198.13,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.2,201.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.20,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:204.2,205.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:205.16,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:209.2,210.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:210.32,212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:214.2,217.56 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:217.56,223.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:225.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233.41,235.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:235.16,237.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:238.2,238.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:35.27,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:42.41,43.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:44.48,45.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:46.10,47.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:54.57,55.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:56.17,57.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:58.16,59.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:60.10,61.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:82.58,83.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:84.28,85.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:86.26,87.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:88.10,89.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:93.114,95.68 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:95.68,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:99.2,101.42 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:101.42,102.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:102.71,105.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:107.2,117.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:117.23,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:121.2,124.22 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:124.22,125.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:125.31,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:128.3,128.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.8,129.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.37,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:132.2,132.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:135.74,136.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:136.30,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.2,139.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.34,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.2,142.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.31,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.2,145.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.22,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:161.169,162.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:162.17,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:165.2,166.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:166.51,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:169.2,169.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:172.92,174.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:174.42,177.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:177.63,179.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:179.9,181.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:183.2,183.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:186.65,190.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:192.115,194.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:194.26,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.8,196.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.31,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:199.2,199.117 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:202.122,206.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:206.31,207.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:207.45,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:211.2,211.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:214.72,216.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:218.117,219.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:222.2,223.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:223.20,225.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:225.17,227.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.3,228.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.27,229.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:229.50,231.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:231.30,232.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:236.3,236.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:239.2,241.60 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:241.60,243.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:243.61,245.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.3,246.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.24,247.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:249.3,250.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:250.17,252.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.3,253.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.22,254.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.3,256.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.29,257.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:257.50,259.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:259.30,260.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:264.3,265.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:265.32,266.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:269.2,269.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:272.51,273.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:273.16,275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:276.2,277.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:277.18,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.2,280.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.19,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:283.2,283.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:286.97,288.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:288.30,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.2,291.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.49,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:294.2,294.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:297.108,299.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:301.108,303.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:305.102,307.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:319.55,320.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:320.31,322.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.2,323.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.26,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:326.2,326.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:329.71,330.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:343.26,344.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:345.10,346.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:354.95,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:366.2,397.39 14 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:397.39,399.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:399.27,401.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:402.8,404.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:405.2,407.46 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:407.46,410.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.2,411.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.44,413.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:413.12,415.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.2,417.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.26,419.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.2,420.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.84,422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.2,427.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.65,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:431.2,433.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:433.20,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:436.2,437.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:437.20,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.2,440.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.56,442.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.2,443.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.56,448.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.2,450.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.45,453.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.2,459.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.31,461.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:461.22,462.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:462.62,465.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:466.4,466.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:468.3,468.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:471.2,472.115 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:472.115,474.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.2,491.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.19,493.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:493.23,495.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:496.3,508.21 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:508.21,510.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:511.3,511.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.2,522.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.43,535.34 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:535.34,556.30 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:556.30,558.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.4,559.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.44,561.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.4,562.106 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.106,564.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.4,575.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.74,577.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:578.4,579.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:579.18,581.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:583.4,584.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:584.28,586.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.4,588.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.31,599.57 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:599.57,601.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:601.17,604.7 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:606.5,607.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:607.21,609.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.5,615.138 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.138,617.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:617.27,619.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:620.6,620.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:622.5,623.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:623.26,625.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:626.5,626.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:630.4,631.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:631.20,633.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.4,634.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.22,637.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:637.26,639.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:640.5,640.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:645.4,660.77 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:660.77,662.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:663.4,664.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:664.25,666.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:667.4,667.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.2,673.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.26,675.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:677.2,678.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:678.25,680.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.2,681.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.97,683.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:690.2,691.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:691.21,693.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:693.33,695.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.3,696.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.33,698.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.3,699.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.49,704.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.3,721.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.54,722.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:722.84,724.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.2,728.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.99,730.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:732.2,733.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:733.22,735.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:736.109,737.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:738.100,739.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:740.114,741.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:742.107,743.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:744.11,745.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:748.2,749.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:749.43,751.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:753.2,755.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:755.34,756.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:756.48,757.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:757.19,760.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.2,764.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.31,767.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.2,768.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.35,771.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.2,772.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.76,776.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:778.2,780.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:780.16,782.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:782.20,785.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.2,788.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.25,798.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:798.18,800.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.9,800.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.30,807.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.3,808.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.36,810.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:811.3,812.50 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:812.50,815.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:816.3,822.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:822.17,824.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:826.3,836.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:836.17,838.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:839.3,839.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:842.2,843.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:843.30,844.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:844.52,846.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:846.9,848.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:851.2,869.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:869.21,871.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:871.43,873.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.3,874.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.29,876.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.3,886.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.76,888.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.2,890.105 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.105,892.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:893.2,894.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:894.16,896.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:901.2,904.40 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:904.40,905.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:905.15,906.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:909.3,910.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:910.63,912.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:912.9,914.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.3,916.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.43,918.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:919.3,920.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:920.20,922.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.3,925.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.23,928.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:929.3,931.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:931.33,934.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:934.39,936.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:939.2,948.42 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:948.42,950.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:950.21,952.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:952.9,955.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.2,959.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.53,960.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:960.54,961.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:961.33,963.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:964.9,972.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.3,973.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.60,974.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:974.40,976.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.3,978.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.61,979.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:979.41,981.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.3,983.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.28,985.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:986.3,987.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.2,989.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.51,991.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:995.2,997.53 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:997.53,999.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:999.8,1001.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.2,1002.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.22,1004.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1008.2,1014.76 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1014.76,1016.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.2,1021.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.57,1026.13 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1026.13,1029.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1029.21,1032.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.4,1033.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.49,1035.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1036.4,1043.89 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1043.89,1046.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1048.4,1048.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1052.2,1063.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1063.21,1065.40 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1065.40,1067.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.3,1068.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.38,1070.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1072.2,1074.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1074.18,1081.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.2,1082.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.28,1084.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.2,1085.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.16,1087.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.2,1088.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.30,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.2,1091.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.30,1093.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.2,1098.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.76,1100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1101.2,1102.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1102.16,1104.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1105.2,1105.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111.94,1113.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1113.15,1115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1117.2,1118.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1118.16,1120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1122.2,1123.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1123.13,1125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1126.2,1131.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1131.16,1133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.2,1134.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.19,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.2,1146.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.39,1148.55 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1148.55,1150.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.2,1152.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.39,1154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1157.2,1158.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1158.21,1163.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1163.21,1165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1166.3,1167.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1167.21,1169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.3,1170.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.52,1172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.3,1173.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.52,1178.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.3,1179.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.41,1182.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1183.3,1183.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.2,1188.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.46,1190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.2,1191.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.27,1193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1195.2,1196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1196.16,1198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1201.2,1210.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1210.16,1212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1213.2,1213.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218.59,1220.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1220.38,1222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1225.2,1226.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1226.29,1227.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1227.22,1229.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.2,1232.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.18,1234.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1237.2,1244.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1244.29,1245.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1245.67,1247.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.2,1249.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.16,1251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1254.2,1254.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258.55,1260.47 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1260.47,1262.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1263.2,1264.58 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1264.58,1266.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1267.2,1267.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270.252,1271.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1271.108,1273.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.2,1274.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.55,1276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1277.2,1277.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280.184,1282.69 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1282.69,1284.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1284.32,1285.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1285.58,1287.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.3,1290.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.18,1292.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.2,1294.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.19,1297.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1297.32,1298.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1298.39,1300.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.3,1303.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.19,1305.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.2,1307.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.21,1309.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1309.32,1310.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1310.49,1312.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.3,1315.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.18,1317.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.2,1319.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.28,1321.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1321.17,1323.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.3,1324.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.27,1326.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.2,1328.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.76,1330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1331.2,1331.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342.96,1343.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1343.26,1345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1347.2,1348.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1348.16,1350.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1352.2,1363.23 9 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1363.23,1364.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1364.58,1365.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1365.31,1367.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1367.10,1369.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.2,1373.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.17,1375.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.2,1376.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.16,1378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.2,1379.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.16,1381.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.2,1382.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.18,1384.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.2,1385.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.19,1387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.2,1388.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.19,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1396.2,1399.18 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1399.18,1400.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1400.61,1401.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1402.50,1403.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1404.12,1405.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1409.2,1410.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1410.42,1414.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1415.2,1420.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1420.16,1422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1429.2,1444.43 6 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1444.43,1446.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1449.2,1451.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1451.27,1453.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.2,1458.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.46,1460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.2,1461.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.63,1463.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1465.2,1466.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1466.15,1472.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1472.29,1479.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1479.18,1481.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.4,1482.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.23,1483.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.4,1485.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.30,1486.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1486.24,1488.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1488.32,1489.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1493.4,1494.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1494.30,1495.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1498.8,1504.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1504.29,1506.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1506.18,1508.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.4,1509.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.23,1510.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.4,1512.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.30,1513.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1513.24,1515.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1515.32,1516.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1520.4,1521.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1521.30,1522.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.2,1526.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.26,1528.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1528.17,1530.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.2,1535.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.74,1536.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1536.13,1537.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1537.33,1542.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1542.26,1544.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1544.39,1546.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1548.5,1548.82 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.2,1565.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.38,1569.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1569.27,1571.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.3,1572.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.27,1574.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1576.3,1581.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1581.32,1586.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1588.3,1592.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1592.18,1594.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1595.3,1596.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1596.17,1598.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1599.3,1599.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1602.2,1602.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1603.15,1618.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1618.32,1620.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1620.33,1621.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1621.40,1623.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1626.4,1638.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1640.3,1641.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1641.17,1643.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1644.3,1644.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1646.18,1648.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1648.17,1650.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1651.3,1651.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1653.10,1654.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1654.25,1656.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1657.3,1659.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1659.32,1661.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1661.33,1662.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1662.40,1664.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1667.4,1669.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1669.26,1671.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1672.4,1673.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1673.25,1675.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1676.4,1676.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1678.3,1678.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690.51,1695.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700.73,1702.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1702.16,1704.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1705.2,1706.48 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1706.48,1710.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1711.2,1713.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1713.16,1715.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1716.2,1716.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727.117,1731.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1731.21,1733.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1734.2,1735.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1735.16,1737.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1738.2,1739.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1739.27,1741.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1742.2,1742.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1764.19,1775.30 7 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1775.30,1777.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1777.37,1779.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.3,1781.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.20,1783.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.2,1797.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.39,1799.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1801.2,1811.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1811.25,1813.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1815.2,1816.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1816.29,1818.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.2,1824.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.27,1826.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1831.2,1833.22 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1833.22,1835.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1837.2,1846.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1846.16,1848.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1853.2,1855.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1855.27,1857.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1859.2,1876.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1876.33,1878.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1880.2,1881.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1881.28,1885.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1885.20,1888.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1888.33,1889.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1889.40,1891.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.4,1894.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.20,1895.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.3,1900.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.22,1902.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1902.33,1903.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1903.50,1905.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.4,1908.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.19,1909.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.3,1918.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.56,1919.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.3,1927.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.64,1928.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1932.3,1935.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1935.32,1936.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1936.39,1938.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1942.3,1956.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1956.14,1957.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1957.37,1959.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1961.3,1962.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1962.26,1963.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.2,1975.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.59,1986.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1986.17,1988.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1990.3,1991.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1991.34,1993.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1995.3,1996.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1996.29,1998.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1998.21,2001.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2001.34,2002.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2002.41,2004.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.5,2007.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.21,2008.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.4,2011.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.23,2013.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2013.34,2014.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2014.51,2016.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.5,2019.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.20,2020.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.4,2023.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.57,2024.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.4,2027.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.65,2028.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2030.4,2031.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2031.33,2032.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2032.40,2034.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2037.4,2051.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2051.15,2052.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2052.38,2054.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2056.4,2057.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2057.27,2058.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2065.2,2066.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2066.28,2068.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.2,2072.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.71,2080.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2080.30,2081.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2081.41,2087.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.3,2089.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.13,2090.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2090.31,2095.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2095.25,2097.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2097.38,2099.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2101.5,2101.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.2,2112.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.38,2115.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2115.27,2117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2121.3,2138.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2138.30,2140.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2140.11,2141.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2143.4,2160.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2160.15,2161.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2161.39,2163.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2165.4,2165.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2167.3,2173.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2173.24,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2176.3,2176.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2179.2,2179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2180.15,2182.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2182.24,2184.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2185.3,2185.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2187.18,2199.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2199.30,2201.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2201.11,2202.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2204.4,2208.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2208.15,2209.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2209.39,2211.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2213.4,2213.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2215.3,2216.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2216.24,2218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2219.3,2219.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2220.10,2221.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2221.22,2223.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2224.3,2226.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2226.27,2228.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2228.20,2230.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2231.4,2233.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2233.26,2235.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2236.4,2237.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2237.23,2239.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.4,2240.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.46,2244.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2245.4,2245.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2247.3,2247.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252.94,2254.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2254.16,2256.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2258.2,2260.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2260.18,2261.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2261.59,2262.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2262.36,2264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2264.10,2266.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.2,2270.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.13,2272.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.2,2273.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.50,2275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2277.2,2277.98 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281.98,2282.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2282.26,2284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2286.2,2287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2287.16,2289.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2291.2,2292.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2292.13,2294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2297.2,2298.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2298.19,2299.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2299.51,2301.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2302.3,2302.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.2,2304.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.42,2306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.2,2308.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.54,2309.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2309.48,2311.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2312.3,2312.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2316.2,2318.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17.82,19.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21.149,22.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:22.55,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.2,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.36,27.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:28.2,34.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:34.16,36.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.2,37.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.42,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:40.2,40.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43.105,44.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:44.48,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:47.2,48.54 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51.129,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:56.2,57.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:57.53,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:60.2,61.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:61.25,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:64.2,65.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:65.16,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:68.2,68.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26.97,27.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:27.18,29.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:30.2,30.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33.37,35.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37.81,38.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:38.44,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.2,41.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.38,43.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:44.2,44.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47.88,48.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:48.32,50.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:51.2,52.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:52.20,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:55.2,55.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58.40,72.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74.106,75.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:75.34,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:78.2,79.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:79.16,81.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:83.2,84.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:88.2,89.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:89.13,91.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:93.2,94.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:94.63,96.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.2,98.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.72,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:102.2,106.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109.117,110.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:110.32,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.2,113.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.34,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:117.2,118.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:118.16,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.2,121.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.19,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:125.2,126.69 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:126.69,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:130.2,136.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18.33,20.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22.27,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39.93,40.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:40.30,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.2,43.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.28,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:46.2,47.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:47.16,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:51.2,52.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:52.17,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:55.2,56.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:56.19,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.2,59.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.19,61.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:62.2,63.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:63.16,65.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:67.2,74.9 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:74.9,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:77.2,78.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:78.15,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:81.2,85.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:85.16,87.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.2,88.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.17,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:92.2,101.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104.48,105.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:108.2,109.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:109.29,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.2,112.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.31,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:115.2,115.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118.75,120.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:120.27,121.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:121.32,123.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:123.17,124.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:126.4,126.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:129.2,134.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:134.33,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.2,137.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.40,138.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:138.39,140.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:141.3,141.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.2,143.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.34,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:146.2,147.35 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:147.35,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:150.2,150.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153.77,154.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:154.20,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:157.2,159.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:159.31,160.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:160.33,162.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.3,163.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.30,165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:167.2,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23.91,25.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27.38,50.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52.104,53.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:53.38,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:56.2,57.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:61.2,62.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:62.26,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:65.2,66.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:66.30,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.2,69.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.72,71.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:73.2,74.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:77.2,78.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:78.16,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:81.2,82.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:82.16,84.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:85.2,86.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:90.2,105.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.2,109.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.19,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.2,118.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.25,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.2,121.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.30,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.2,124.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.31,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:131.2,131.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134.91,136.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:136.9,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:139.2,140.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:140.15,141.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:141.19,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:144.3,144.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:146.2,146.94 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149.59,150.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:150.16,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:153.2,154.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:154.61,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:157.2,157.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160.56,161.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:161.75,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:164.2,164.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167.67,169.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:170.17,171.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:172.67,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:174.10,175.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179.60,180.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:183.2,184.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:184.25,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:187.2,187.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190.57,191.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:192.15,193.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:193.81,195.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:196.3,196.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:197.19,199.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:199.17,201.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.3,202.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.55,204.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:205.3,205.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:206.14,207.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:208.11,209.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:210.10,211.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215.59,216.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:216.16,218.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:219.2,219.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:220.12,221.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:222.14,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:224.10,225.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:28.90,30.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:30.16,32.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:34.2,36.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:37.16,38.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:40.16,42.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:44.20,46.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:48.17,50.142 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:52.17,56.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:56.50,62.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:62.63,64.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.4,66.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.45,68.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:72.4,74.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:74.25,76.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:77.4,77.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:80.3,80.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:82.18,84.141 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:86.18,88.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:88.18,90.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:91.3,91.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:93.17,96.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:96.50,99.59 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:99.59,101.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:102.4,104.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:104.25,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:107.4,107.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:110.3,110.98 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:112.10,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:125.86,126.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:129.2,130.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:130.9,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.2,133.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.22,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:137.2,139.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:139.31,141.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:141.10,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:144.3,145.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:145.22,147.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:148.3,149.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:149.26,151.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.3,152.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.68,154.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:155.3,156.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:156.37,158.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:159.3,160.107 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:162.2,162.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:165.249,166.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:166.24,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.2,169.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.38,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:173.2,174.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:174.31,175.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:175.32,177.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:180.2,181.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:181.34,182.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:182.29,183.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:185.3,197.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:197.17,199.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.3,200.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.20,201.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.3,203.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.37,205.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:205.33,206.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.4,208.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.19,209.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:209.43,210.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:212.5,212.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:214.4,215.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:215.30,216.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:220.2,220.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:223.113,229.2 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:231.101,233.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:247.92,251.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:251.16,253.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.8,253.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:259.2,272.51 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:272.51,274.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:274.38,275.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:276.50,277.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:278.12,279.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:287.2,292.26 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:292.26,294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.2,297.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.19,301.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:303.2,311.42 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:311.42,315.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:316.2,341.64 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:341.64,342.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:342.86,344.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.3,345.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.56,347.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:348.3,360.19 6 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:360.19,364.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:365.3,365.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:369.2,370.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:370.15,372.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:372.27,374.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.3,375.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.27,377.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:380.2,381.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:381.15,387.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:387.28,395.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:395.18,397.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.4,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.23,399.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.4,401.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.30,402.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:402.66,403.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:405.5,406.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:406.12,407.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.5,409.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.28,413.6 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:414.5,415.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:415.30,416.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:419.4,420.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:420.30,421.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:424.8,432.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:432.28,438.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:438.18,440.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.4,441.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.23,442.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.4,444.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.30,445.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:445.40,447.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:447.31,448.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:452.4,455.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:455.30,456.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:461.2,465.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:465.17,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:469.2,470.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:470.16,472.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:473.2,473.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20.79,21.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:21.43,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.2,24.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.29,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:27.2,27.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30.40,63.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65.68,71.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:71.25,74.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:75.2,75.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78.62,83.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:83.19,87.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:88.2,88.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91.101,92.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:92.22,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:95.2,96.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:96.18,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:103.2,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:107.2,107.119 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110.99,111.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:111.22,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:114.2,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:115.18,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:118.2,119.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:119.16,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.2,122.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.51,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:129.2,131.15 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:131.15,132.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:132.69,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:135.3,135.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:137.2,137.130 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140.102,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.2,145.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.64,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:148.2,148.113 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151.109,153.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:157.16,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:160.2,161.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:161.16,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:164.2,164.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167.107,169.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:169.16,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:172.2,173.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:173.16,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.2,176.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.107,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:179.2,179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:180.41,181.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:182.41,183.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:184.10,185.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189.111,191.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:191.16,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:194.2,195.57 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:195.57,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:198.2,199.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:199.23,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.2,206.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.17,208.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:209.2,209.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212.63,215.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217.69,219.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:222.2,222.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225.60,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:230.2,230.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233.137,234.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:234.49,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:241.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:246.2,247.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:247.16,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.2,250.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.22,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:253.2,253.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256.142,258.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:258.16,260.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:261.2,262.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:262.16,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.2,265.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.47,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:268.2,269.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:269.16,270.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:270.50,272.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:273.3,273.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:275.2,275.173 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278.157,280.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:280.16,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.2,283.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.47,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:286.2,287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:287.16,288.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:288.50,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:291.3,291.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:293.2,293.169 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296.104,297.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:297.22,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:300.2,301.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:301.61,303.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:303.20,304.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.2,307.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.19,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:310.2,317.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320.119,322.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:322.39,323.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:323.81,325.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:327.2,327.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330.71,332.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:332.16,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:335.2,335.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17.61,105.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:105.23,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:123.2,123.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126.104,127.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:127.61,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.2,130.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.38,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:133.2,134.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:137.2,138.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:138.16,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:141.2,147.107 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:147.107,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:150.2,151.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:151.16,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:154.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:170.19,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:173.2,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176.103,177.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:177.61,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.2,180.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.38,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:187.2,191.106 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:191.106,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:194.2,195.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:195.16,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:198.2,200.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:200.31,207.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:207.36,218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:219.3,220.35 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:222.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233.107,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.2,237.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.38,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:240.2,241.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:241.16,243.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:244.2,248.110 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:248.110,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:251.2,252.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:252.16,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:255.2,256.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:256.33,266.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:267.2,275.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278.108,279.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:279.61,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.2,282.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.37,284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:285.2,286.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:286.16,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:289.2,290.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:290.19,292.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.2,293.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.104,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:296.2,297.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:297.16,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:300.2,307.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:307.16,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:310.2,311.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:311.43,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:319.2,332.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:332.22,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:335.2,335.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338.108,339.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:339.62,341.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.2,342.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.38,344.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:345.2,346.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:346.9,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:349.2,350.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:350.16,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:353.2,357.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:360.2,370.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373.109,374.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:374.62,376.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.2,377.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.38,379.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:380.2,381.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:381.9,383.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:384.2,385.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:385.16,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:388.2,390.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:390.32,392.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:393.2,394.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:394.16,396.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:397.2,403.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406.106,407.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:407.62,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.2,410.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.38,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:413.2,414.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:414.9,416.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:417.2,418.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:418.16,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:421.2,423.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:423.16,424.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:424.41,434.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:435.3,435.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:437.2,445.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483.65,484.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:484.42,485.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:485.39,487.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.2,489.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.85,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:492.2,492.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495.102,496.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:496.38,498.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.2,499.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.58,501.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:502.2,502.90 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505.60,508.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510.66,512.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:512.26,514.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:515.2,515.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518.69,521.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:521.33,523.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:523.21,524.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.3,526.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.34,527.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:529.3,530.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:532.2,532.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535.63,537.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:537.19,539.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:540.2,541.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:541.42,543.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.2,544.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.57,546.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.2,547.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.54,549.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:550.2,550.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553.70,557.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559.66,561.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:561.9,563.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:564.2,566.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:566.17,568.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:569.2,569.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:570.103,572.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:573.34,574.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:575.10,576.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580.56,581.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:581.37,583.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.2,584.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.26,586.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:586.37,587.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:589.3,589.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:591.2,591.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594.90,602.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604.68,605.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:605.71,607.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:607.17,609.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:610.3,610.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:612.2,613.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:613.16,615.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:616.2,617.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:617.41,619.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:620.2,620.78 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623.65,625.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:625.16,627.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.2,628.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.17,630.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:631.2,631.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634.51,635.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:635.16,637.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:638.2,638.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641.56,642.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:642.28,644.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:645.2,646.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649.92,651.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:651.29,653.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:654.2,654.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657.86,659.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:659.29,661.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:662.2,662.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665.94,667.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:667.29,669.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:670.2,670.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673.98,675.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:675.29,677.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:678.2,678.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:17.93,18.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:18.104,20.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:22.2,23.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:23.16,25.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:27.2,28.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:28.19,30.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:32.2,35.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:35.33,36.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:36.47,39.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:42.2,44.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:44.20,47.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:48.2,49.68 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:49.68,50.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:50.48,52.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.3,53.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.32,55.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:55.23,56.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:56.63,58.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:59.5,59.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:61.4,61.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:64.2,71.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:71.17,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.8,73.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.29,75.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:75.36,77.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:78.3,83.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.2,86.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.35,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:90.2,97.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:101.2,110.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:110.28,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:113.2,124.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:133.93,134.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:134.35,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:138.2,139.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:139.16,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:143.2,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.2,147.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.17,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:151.2,152.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:152.33,153.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:153.47,156.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:160.16,162.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:164.2,176.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:176.26,178.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:178.23,180.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:181.3,192.5 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:195.2,196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:199.2,199.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:22.104,24.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:24.16,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:28.2,29.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:29.18,31.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:33.2,33.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:34.13,35.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:36.13,37.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:38.14,39.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:40.16,41.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:42.10,43.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:51.67,53.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:57.68,58.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:58.33,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:61.2,61.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:67.42,69.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:74.61,76.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:76.26,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:79.2,79.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:85.90,86.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:86.49,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:90.2,91.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:91.15,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:94.2,95.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:95.17,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:100.2,103.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:103.16,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:107.2,113.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:113.12,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:115.18,117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:118.3,119.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:119.20,121.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:122.3,124.48 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:125.8,127.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:129.2,130.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:130.16,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:134.2,139.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:145.90,147.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:151.2,152.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:152.16,154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:157.16,158.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:158.47,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:161.3,161.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:164.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:170.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:173.8,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:176.2,176.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:181.92,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:187.2,188.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:188.16,190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:192.2,200.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:200.25,207.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:207.28,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:210.3,210.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:212.2,212.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:216.93,217.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:217.52,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:221.2,222.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:222.15,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:226.2,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.2,231.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.47,232.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:232.47,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:235.3,235.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:238.2,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:35.127,36.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:36.23,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:39.2,40.40 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:40.40,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.2,43.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.37,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.2,46.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.37,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:49.2,49.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:52.23,80.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:82.26,140.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:142.92,143.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:143.25,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:147.2,148.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:148.49,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:152.2,152.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:153.17,154.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:154.24,156.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:157.3,158.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:158.17,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:161.3,165.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:166.17,167.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:167.22,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.3,170.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.22,172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:173.3,174.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:174.17,176.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:177.3,181.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:182.16,189.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:189.23,191.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.3,192.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.24,194.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.3,195.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.39,197.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:198.3,207.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:207.17,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.3,210.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.69,212.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:213.3,213.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:214.10,215.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:219.92,220.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:220.25,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:224.2,225.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:225.49,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:229.2,229.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:230.17,232.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:232.24,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:235.3,236.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:236.17,238.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.3,239.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.59,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.3,242.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.81,244.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:245.3,250.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:251.17,253.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:253.22,255.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:256.3,257.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:257.17,259.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.3,260.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.79,262.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:263.3,268.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:269.10,270.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:274.91,276.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:276.16,278.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.2,279.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.67,280.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:280.76,282.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:285.2,286.52 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:286.52,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:289.2,289.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:292.74,294.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:294.16,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.2,297.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.62,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:300.2,300.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:303.109,304.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:304.56,306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.2,307.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.25,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.2,310.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.81,312.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.2,313.102 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.102,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.2,316.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.108,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.2,319.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.99,321.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.2,322.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.99,324.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.2,325.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.60,327.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.2,328.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.34,330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.2,331.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.114,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.2,334.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.66,336.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.2,337.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.40,339.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.2,340.132 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.132,342.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.2,343.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.35,345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:346.2,346.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:349.92,350.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:350.103,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:354.2,355.52 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:355.52,357.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.2,358.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.32,360.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:361.2,361.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:364.108,365.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:365.19,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:368.2,369.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:369.53,371.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.2,372.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.19,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.2,375.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.39,376.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:376.34,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:380.2,380.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:383.66,385.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:385.53,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.2,388.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.19,390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:391.2,391.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:16.2,18.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:19.16,20.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:21.14,22.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:23.15,24.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:25.16,26.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:27.10,28.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21.75,23.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25.41,28.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30.31,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39.38,46.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48.50,56.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58.43,70.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72.80,73.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:73.36,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.2,76.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.48,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:79.2,79.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82.97,84.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:87.2,88.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:88.16,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:91.2,92.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:92.16,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:95.2,96.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:96.16,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:99.2,99.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102.104,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:111.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:115.2,116.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:116.16,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:119.2,119.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122.96,124.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:127.2,128.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:128.19,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:131.2,132.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:132.18,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:135.2,141.79 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:141.79,143.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:143.17,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:146.3,146.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:148.2,148.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151.77,153.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:156.2,157.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:157.19,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:160.2,160.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:22.15,23.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:24.13,25.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:26.14,27.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:28.16,29.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:30.16,31.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:32.10,33.102 1 0 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/create-database.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/create-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/create-database.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/create-database.stdout.log new file mode 100644 index 00000000..4b15bd57 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/create-database.stdout.log @@ -0,0 +1 @@ +CREATE DATABASE diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/create-pgvector.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/create-pgvector.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/create-pgvector.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/create-pgvector.stdout.log new file mode 100644 index 00000000..d26bad14 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/create-pgvector.stdout.log @@ -0,0 +1 @@ +CREATE EXTENSION diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/database-identity.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/database-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/database-identity.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/database-identity.stdout.log new file mode 100644 index 00000000..550e3d47 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/database-identity.stdout.log @@ -0,0 +1 @@ +{"database" : "engram_prc_rg_test_8b1d3112a7a95fbb_r2", "schema" : "public", "server_version" : "17.10 (Debian 17.10-1.pgdg12+1)", "user" : "engram"} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/go-test-summary.json b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/go-test-summary.json new file mode 100644 index 00000000..6847bb7f --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/go-test-summary.json @@ -0,0 +1,40 @@ +{ + "schema_version": 1, + "verdict": "PASS", + "input_path": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\go-test.stdout.jsonl", + "fail_on_unexpected_skip": true, + "allowed_skip_identities": [], + "counts": { + "packages": 1, + "tests": 1, + "passed": 1, + "failed": 0, + "skipped": 0, + "no_tests": 0, + "zero_tests": 0, + "incomplete": 0, + "unexpected_skips": 0, + "malformed_lines": 0 + }, + "packages": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "outcome": "pass", + "elapsed_seconds": 4.047, + "last_output": "ok \tgithub.com/thebtf/engram/internal/mcp\t4.037s\tcoverage: 0.1% of statements", + "tests_observed": 1 + } + ], + "tests": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEC_F1_TagDerivedBackfill_T007", + "outcome": "pass", + "elapsed_seconds": 3.91, + "last_output": "--- PASS: TestEC_F1_TagDerivedBackfill_T007 (3.91s)", + "skip_allowed": false + } + ], + "unexpected_skips": [], + "errors": [] +} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/go-test.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/go-test.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/go-test.stdout.jsonl b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/go-test.stdout.jsonl new file mode 100644 index 00000000..660530d2 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/go-test.stdout.jsonl @@ -0,0 +1,16 @@ +{"Time":"2026-07-11T03:34:55.6410993+03:00","Action":"start","Package":"github.com/thebtf/engram/internal/mcp"} +{"Time":"2026-07-11T03:34:55.7355979+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007"} +{"Time":"2026-07-11T03:34:55.7355979+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"=== RUN TestEC_F1_TagDerivedBackfill_T007\n"} +{"Time":"2026-07-11T03:34:56.7103102+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"warn\",\"error\":\"ERROR: relation \\\"observation_vectors\\\" does not exist (SQLSTATE 42P01)\",\"time\":\"2026-07-11T03:34:56+03:00\",\"message\":\"migration 040: orphan vector cleanup failed (non-fatal)\"}\n"} +{"Time":"2026-07-11T03:34:56.7108116+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"garbage_deleted\":0,\"orphan_vectors_deleted\":0,\"time\":\"2026-07-11T03:34:56+03:00\",\"message\":\"migration 040: garbage cleanup complete\"}\n"} +{"Time":"2026-07-11T03:34:56.7208111+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"orphan_vectors_deleted\":0,\"time\":\"2026-07-11T03:34:56+03:00\",\"message\":\"migration 041: orphan vector purge complete\"}\n"} +{"Time":"2026-07-11T03:34:56.7303114+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"patterns_deleted\":0,\"time\":\"2026-07-11T03:34:56+03:00\",\"message\":\"migration 042: low-quality pattern purge complete\"}\n"} +{"Time":"2026-07-11T03:34:56.7693125+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"total_deleted\":0,\"time\":\"2026-07-11T03:34:56+03:00\",\"message\":\"migration 043: radical observation cleanup complete\"}\n"} +{"Time":"2026-07-11T03:34:58.0745249+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"warn\",\"error\":\"ERROR: extension \\\"vectorscale\\\" is not available (SQLSTATE 0A000)\",\"time\":\"2026-07-11T03:34:58+03:00\",\"message\":\"migration 109: vectorscale extension not available, skipping DiskANN index\"}\n"} +{"Time":"2026-07-11T03:34:59.2910436+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:34:59+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:34:59.645381+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"--- PASS: TestEC_F1_TagDerivedBackfill_T007 (3.91s)\n"} +{"Time":"2026-07-11T03:34:59.645381+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Elapsed":3.91} +{"Time":"2026-07-11T03:34:59.645381+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"PASS\n"} +{"Time":"2026-07-11T03:34:59.6598814+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"coverage: 0.1% of statements\n"} +{"Time":"2026-07-11T03:34:59.6884082+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"ok \tgithub.com/thebtf/engram/internal/mcp\t4.037s\tcoverage: 0.1% of statements\n"} +{"Time":"2026-07-11T03:34:59.6884082+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Elapsed":4.047} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/pg-stat-activity-after.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/pg-stat-activity-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/pg-stat-activity-after.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/pg-stat-activity-after.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/pg-stat-activity-after.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/pg-stat-activity-before.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/pg-stat-activity-before.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/repeat-summary.json b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/repeat-summary.json new file mode 100644 index 00000000..9c0ad62b --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/repeat-summary.json @@ -0,0 +1,33 @@ +{ + "repeat": 2, + "verdict": "PASS", + "database": "engram_prc_rg_test_8b1d3112a7a95fbb_r2", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_8b1d3112a7a95fbb_r2.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": false, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 0, + "json_parser_exit": 0, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\cleanup\\cleanup.json", + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02" +} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/server-connection-count-after.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/server-connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/server-connection-count-after.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/server-connection-count-after.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/server-connection-count-after.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/server-connection-count-before.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/server-connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/server-connection-count-before.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/server-connection-count-before.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/server-connection-count-before.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/targeted-coverage.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/targeted-coverage.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/targeted-coverage.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/targeted-coverage.stdout.log new file mode 100644 index 00000000..c958686c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-02/targeted-coverage.stdout.log @@ -0,0 +1,352 @@ +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33: effectiveAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44: isAuditEnabled 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52: runAuditAsync 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77: marshalState 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92: logAuditCreate 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117: logAuditEdit 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142: logAuditDelete 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166: logAuditGeneric 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189: logAuditSupersede 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:30: parseArgs 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:46: coerceString 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:67: coerceInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:97: coerceInt64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:127: coerceFloat64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:151: coerceBool 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:177: coerceStringSlice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:204: coerceInt64Slice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:222: clampToInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:236: clampInt64ToInt 0.0% +github.com/thebtf/engram/internal/mcp/context.go:17: extractProjectFromHeader 0.0% +github.com/thebtf/engram/internal/mcp/context.go:22: contextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:29: ContextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:35: projectFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:41: contextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:48: ContextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:54: sessionFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:61: actorFromContext 0.0% +github.com/thebtf/engram/internal/mcp/health.go:22: NewMCPHealth 0.0% +github.com/thebtf/engram/internal/mcp/health.go:29: RecordRequest 0.0% +github.com/thebtf/engram/internal/mcp/health.go:36: RecordError 0.0% +github.com/thebtf/engram/internal/mcp/health.go:42: rotateWindowIfNeeded 0.0% +github.com/thebtf/engram/internal/mcp/health.go:55: HandleHealth 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28: ruleGovernanceCaptureEnabled 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39: captureActiveRuleIntent 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104: ruleIntentFingerprint 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113: marshalRuleCandidateIntentResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:127: NewServer 100.0% +github.com/thebtf/engram/internal/mcp/server.go:141: SetBackfillStatusFunc 0.0% +github.com/thebtf/engram/internal/mcp/server.go:146: SetVersionedDocumentStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:151: SetIssueStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:156: SetMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:161: SetMetaMemoryIndex 0.0% +github.com/thebtf/engram/internal/mcp/server.go:166: SetHintQueue 0.0% +github.com/thebtf/engram/internal/mcp/server.go:171: SetStateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:176: SetDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/server.go:181: SetBehavioralRulesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:186: SetRuleGovernanceStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:191: SetRuleInjectionTelemetryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:195: SetPromotionStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:199: SetGraphStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:204: SetNodesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:211: SetAuditStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:216: SetPurgeStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:222: SetCandidateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:228: SetSnapshotStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:234: SetBulkFacade 0.0% +github.com/thebtf/engram/internal/mcp/server.go:240: setTestAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/server.go:246: setTestMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/server.go:252: setTestMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/server.go:260: SetWriteLintOrchestrator 0.0% +github.com/thebtf/engram/internal/mcp/server.go:269: SetRedactionRules 0.0% +github.com/thebtf/engram/internal/mcp/server.go:274: SetEmbeddingStores 0.0% +github.com/thebtf/engram/internal/mcp/server.go:282: SetRerankClient 0.0% +github.com/thebtf/engram/internal/mcp/server.go:290: SetStatsDB 0.0% +github.com/thebtf/engram/internal/mcp/server.go:297: HandleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:303: ListTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:332: Version 0.0% +github.com/thebtf/engram/internal/mcp/server.go:383: Run 0.0% +github.com/thebtf/engram/internal/mcp/server.go:427: handleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:461: handleNotification 0.0% +github.com/thebtf/engram/internal/mcp/server.go:473: handleInitialize 0.0% +github.com/thebtf/engram/internal/mcp/server.go:496: buildInstructions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:660: storeMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:712: recallMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:805: primaryTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:942: handleToolsList 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1612: handleToolsCall 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1644: sanitizeToolCallArgs 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1656: callTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1874: sendResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1884: sendError 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1896: handleFindSimilarObservations 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1927: handleGetMemoryStats 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2055: handleBackfillStatus 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2071: handleCheckSystemHealth 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2216: handleAnalyzeSearchPatterns 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2246: handleSearchSessions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2251: handleListSessions 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:18: buildAdminTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:68: adminActionsForEnv 33.3% +github.com/thebtf/engram/internal/mcp/tools_admin.go:80: vnextEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:84: handleAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:120: handlePurgeProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27: ambientHintsEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32: ambientHintsTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48: handleGetAmbientHints 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86: normalizeAmbientHintsToolLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96: ambientHintItems 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114: errMissingSessionID 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:31: handleGetMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:107: memoryBriefUsesPrincipalScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:115: handlePrincipalMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:259: truncateBriefContent 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:270: filterInjectionByScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25: bulkOpsTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95: handleBulkPromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154: handleBulkDelete 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211: handleBulkSupersede 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31: candidateItemFromDomain 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51: newCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59: requireCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68: candidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165: handleListCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208: handleGetCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239: handlePromoteCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348: handleRejectCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402: handleSupersedeCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34: codeIntelEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42: SetCodeChunkStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48: codebaseSearchTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79: codebaseStatusTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100: handleCodebaseSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194: handleCodebaseStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:21: getVault 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:35: credentialStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:49: handleStoreCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:130: handleGetCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:192: handleListCredentials 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:243: handleDeleteCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:302: handleVaultStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:338: expandTagHierarchy 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:16: directivesCaptureEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:20: rememberDirectiveTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:38: currentDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:48: handleRememberDirective 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:72: parseRememberDirectiveArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10: handleDocsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:15: handleListCollections 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:61: handleListDocuments 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:121: handleGetDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:165: handleRemoveDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:197: handleIngestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:235: handleSearchCollection 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15: handleDocCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61: handleDocRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117: handleDocUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122: handleDocList 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175: handleDocHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232: handleDocComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19: SetExperienceProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23: experienceHistoryTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40: experienceHistoryReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65: experienceHistoryDetailSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82: experienceHistoryTriggerEnum 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91: handleExperienceHistoryRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103: handleExperienceHistoryDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115: parseExperienceHistoryReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142: parseExperienceHistoryDetailArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157: experienceHistoryTriggersFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180: marshalExperienceHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12: handleFeedbackConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36: handleSetSessionOutcome 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:27: governanceTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:98: handleListSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:167: handleRollbackSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:215: handlePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:258: handleRedactionRulesStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:284: resolveGovernanceActor 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:64: handleGraph 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:100: graphAddEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:216: mcpGraphEndpointExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:243: mcpGraphEdgeAlreadyExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:276: graphAddNode 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:317: graphRemoveEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:332: graphGetEdges 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:397: filterEdgesByNodeType 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:457: graphTraverse 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:480: graphFindPath 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:502: graphSynonyms 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23: graphCreateEdgeWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80: graphEndpointExistsWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114: graphDuplicateEdgeExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25: handleIngest 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43: ingestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20: handleImportInstincts 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:19: issuesToolSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:109: validateIssueActionParams 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:143: handleIssues 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:189: resolveSourceProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:205: handleIssueCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:250: handleIssueList 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:311: handleIssueGet 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:344: handleIssueUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:382: handleIssueComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:408: handleIssueReopen 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:425: handleIssueClose 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22: handleLifecycle 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48: lifecycleInfo 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87: lifecyclePromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118: lifecycleDemote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149: lifecycleSetConfidence 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172: lifecycleSetDefeasibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191: lifecycleSleepStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197: lifecycleDecayPreview 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233: marshalJSON 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:35: vnextFEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:42: isValidPrivacyScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:54: derivePrivacyScopeFromLegacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:82: deriveLegacyScopeFromPrivacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:93: applyPrincipalMemoryMetadata 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:135: addPrincipalMemoryFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:161: newScopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:172: writeLintVisibilityCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:186: writeLintVisibilityOptions 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:192: scopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:202: filterVisibleWriteGateCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:214: domainManageAllowed 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:218: List 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:272: writeLintVisibilityFetchLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:286: Get 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:297: Create 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:301: Update 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:305: MarkSuperseded 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:319: effectiveMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:329: isValidStoreObservationType 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:354: handleStoreMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111: handleEditMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218: computeTTLDays 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258: truncateTitle 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270: keepRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280: keepRecallMemoryFilters 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342: handleRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690: staleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700: marshalWithStaleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727: Rank 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1751: handleRecallMemoryHybrid 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252: handleRateMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281: handleSuppressMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17: SetDomainRegistryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21: checkDomainWriteMCP 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43: addDomainWriteDecisionFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51: marshalStoreMemoryAugmented 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26: newMemoryStoreSignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33: s6OutcomeEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37: effectiveMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47: currentMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58: rateMemorySignificanceTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74: handleRateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109: RateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18: s2MetaMemoryEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22: knowAboutTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39: handleKnowAbout 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104: parseKnowAboutLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118: summarizeMetaIndexTags 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153: summarizeMetaIndexDateRange 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23: SetPrincipalMemoryQueryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27: principalMemoryQueryTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52: handleQueryPrincipalMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134: principalMemoryQueryCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149: parsePrincipalMemoryQueryLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160: principalMemoryQueryText 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167: parsePrincipalMemoryQueryVisibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179: parsePrincipalMemoryQueryOffset 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190: parsePrincipalMemoryQueryInt 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215: parsePrincipalMemoryQueryBool 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:28: handleRecall 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:125: parseRecallIncludedPrincipals 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:165: appendRecallIncludedPrincipalMemories 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:223: recallIncludeTargetMatchesCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:231: recallPrincipalQueryItemToMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:247: handleRecallSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20: currentReviewLoopCandidateLister 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30: reviewLoopCandidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65: reviewLoopReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78: reviewPacketIDSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91: handleReviewMetricsRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110: handleReviewQueueRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140: handleReviewPacketDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151: handleReviewPacketPreviewAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167: handleReviewPacketApplyAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189: parseReviewLoopReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212: reviewLoopMCPPacketTypeSupported 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217: reviewLoopActionFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225: reviewLoopReasonFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233: loadReviewPacketCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256: applyReviewPacketPreserve 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278: applyReviewPacketSuppress 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296: reviewLoopMemoryFromCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320: filterRiskyMCPReviewCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330: marshalReviewLoop 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17: ruleGovernanceReadTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126: handleRuleGovernanceHealth 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176: handleRuleGovernanceQueue 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233: handleRuleGovernanceSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278: handleRuleGovernanceUsefulness 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338: handleRuleGovernanceTransition 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373: handleRuleGovernancePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406: handleRuleGovernanceRollback 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483: requireRuleGovernanceReadAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495: requireRuleGovernanceProjectOrAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505: ruleGovernanceCallerIsAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510: requireRuleGovernanceAdminAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518: redactRuleGovernanceEvidenceHandles 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535: redactRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553: ruleGovernanceEvidenceHandleHasSensitiveText 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559: isCanonicalRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580: isSafeRuleGovernanceEvidenceID 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594: parseRuleGovernanceTransitionRequest 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604: parseRuleGovernanceSince 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623: boundedRuleGovernanceLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634: formatRuleGovernanceTime 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641: formatRuleGovernanceTimePtr 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649: stringRuleCandidateStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657: stringRuleVersionStateCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665: stringRuleArbiterRunStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673: stringRuleInjectionEventTypeCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:17: handleStoreRule 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:133: handleListRules 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:22: handleSettingsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:51: SetSettingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:57: settingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:67: isSecretSettingKey 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:74: requireAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:85: handleSetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:145: handleGetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:181: handleListSettings 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:216: handleDeleteSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:35: resumeScopesFromFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:52: stateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:82: setStateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:142: handleGetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:219: handleSetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:274: decodeSessionStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:292: validateSessionStateBudget 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:303: validateNativeResumePacket 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:349: decodeProjectStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:364: requireStateObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:383: requireNestedObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10: handleStoreConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21: SetTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25: temporalTruthEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30: temporalTruthTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39: temporalTruthRefreshTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48: temporalTruthRefreshSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58: temporalTruthSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72: currentTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82: handleTemporalTruth 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102: handleTemporalTruthRefresh 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122: parseTemporalTruthArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151: parseTemporalTruthRefreshProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10: handleVaultConsolidated 0.0% +total: (statements) 0.1% diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/assert-go-test-json.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/assert-go-test-json.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/assert-go-test-json.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/assert-go-test-json.stdout.log new file mode 100644 index 00000000..d000d76f --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/assert-go-test-json.stdout.log @@ -0,0 +1,2 @@ +go test JSON verdict=PASS packages=1 tests=1 passed=1 failed=0 skipped=0 unexpected_skips=0 malformed=0 +summary=D:\Dev\engram\.w\t007-current-contract\.agent\reports\evidence\production-ready\t007-compat\t007-maker-focused-repeat3\repeat-03\go-test-summary.json diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/cleanup-process.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/cleanup-process.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/cleanup-process.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/cleanup-process.stdout.log new file mode 100644 index 00000000..b818d6a0 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/cleanup-process.stdout.log @@ -0,0 +1,2 @@ +cleanup verdict=PASS database=engram_prc_rg_test_8b1d3112a7a95fbb_r3 schema=public terminated_sessions=0 remaining_database_count=0 +summary=D:\Dev\engram\.w\t007-current-contract\.agent\reports\evidence\production-ready\t007-compat\t007-maker-focused-repeat3\repeat-03\cleanup\cleanup.json diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/cleanup/cleanup.json b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/cleanup/cleanup.json new file mode 100644 index 00000000..0e0a4c06 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/cleanup/cleanup.json @@ -0,0 +1,170 @@ +{ + "schema_version": 1, + "run_id": "t007-maker-focused-repeat3-repeat-3", + "timestamp": "2026-07-11T00:35:21.3131331+00:00", + "verdict": "PASS", + "database": "engram_prc_rg_test_8b1d3112a7a95fbb_r3", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_8b1d3112a7a95fbb_r3.public", + "admin_dsn": "postgres://engram:REDACTED@127.0.0.1:55432/postgres?sslmode=disable", + "postgres_container": "engram-prc-postgres", + "cleanup_status": "PASS", + "cleanup_attempted": true, + "database_existed_before": true, + "absence_verified": true, + "terminated_sessions": 0, + "remaining_database_count": 0, + "commands": [ + { + "name": "database-exists-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r3';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r3';", + "started_at": "2026-07-11T00:35:18.4824380+00:00", + "finished_at": "2026-07-11T00:35:19.0191776+00:00", + "duration_seconds": 0.537, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\cleanup\\database-exists-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\cleanup\\database-exists-before.stderr.log" + }, + { + "name": "pg-stat-activity-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r3' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r3' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:35:19.0823693+00:00", + "finished_at": "2026-07-11T00:35:19.9048316+00:00", + "duration_seconds": 0.822, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\cleanup\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\cleanup\\pg-stat-activity-before.stderr.log" + }, + { + "name": "terminate-database-sessions", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r3' AND pid <> pg_backend_pid() ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r3' AND pid <> pg_backend_pid() ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:35:19.9093683+00:00", + "finished_at": "2026-07-11T00:35:20.3737499+00:00", + "duration_seconds": 0.464, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\cleanup\\terminate-sessions.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\cleanup\\terminate-sessions.stderr.log" + }, + { + "name": "drop-fresh-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "DROP DATABASE IF EXISTS \"engram_prc_rg_test_8b1d3112a7a95fbb_r3\" WITH (FORCE);" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c DROP DATABASE IF EXISTS \"engram_prc_rg_test_8b1d3112a7a95fbb_r3\" WITH (FORCE);", + "started_at": "2026-07-11T00:35:20.3811545+00:00", + "finished_at": "2026-07-11T00:35:20.9043597+00:00", + "duration_seconds": 0.523, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\cleanup\\drop-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\cleanup\\drop-database.stderr.log" + }, + { + "name": "verify-database-absent", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r3';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_8b1d3112a7a95fbb_r3';", + "started_at": "2026-07-11T00:35:20.9068307+00:00", + "finished_at": "2026-07-11T00:35:21.3050673+00:00", + "duration_seconds": 0.398, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\cleanup\\verify-database-absent.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\cleanup\\verify-database-absent.stderr.log" + } + ], + "errors": [] +} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/cleanup/database-exists-before.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/cleanup/database-exists-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/cleanup/database-exists-before.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/cleanup/database-exists-before.stdout.log new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/cleanup/database-exists-before.stdout.log @@ -0,0 +1 @@ +1 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/cleanup/drop-database.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/cleanup/drop-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/cleanup/drop-database.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/cleanup/drop-database.stdout.log new file mode 100644 index 00000000..ca12dce0 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/cleanup/drop-database.stdout.log @@ -0,0 +1 @@ +DROP DATABASE diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/cleanup/pg-stat-activity-before.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/cleanup/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/cleanup/pg-stat-activity-before.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/cleanup/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/cleanup/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/cleanup/terminate-sessions.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/cleanup/terminate-sessions.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/cleanup/terminate-sessions.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/cleanup/terminate-sessions.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/cleanup/terminate-sessions.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/cleanup/verify-database-absent.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/cleanup/verify-database-absent.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/cleanup/verify-database-absent.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/cleanup/verify-database-absent.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/cleanup/verify-database-absent.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/connection-count-after.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/connection-count-after.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/connection-count-after.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/connection-count-after.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/connection-count-before.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/connection-count-before.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/connection-count-before.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/connection-count-before.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/coverage.out b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/coverage.out new file mode 100644 index 00000000..52335d8a --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/coverage.out @@ -0,0 +1,3472 @@ +mode: atomic +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33.53,34.30 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:34.30,36.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.2,37.25 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.25,39.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:40.2,40.12 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44.28,46.2 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52.83,53.12 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:53.12,54.16 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:54.16,55.32 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:55.32,61.5 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:63.3,65.33 3 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:65.33,71.4 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77.54,78.14 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:78.14,80.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:81.2,82.16 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:82.16,85.3 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:86.2,87.13 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92.91,93.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:93.23,95.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:96.2,97.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:97.15,99.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:100.2,105.65 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:105.65,113.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117.95,118.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:118.23,120.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:121.2,122.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:122.15,124.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:125.2,129.65 5 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:129.65,138.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142.87,143.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:143.23,145.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:146.2,147.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:150.2,153.65 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:153.65,161.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166.96,167.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:167.23,169.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:170.2,171.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:171.15,173.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:174.2,177.63 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:177.63,185.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189.97,190.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:190.23,192.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:193.2,194.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:194.15,196.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:197.2,200.68 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:200.68,208.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:30.62,31.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:31.20,33.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:34.2,35.49 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:35.49,37.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:38.2,38.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:38.14,40.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:41.2,41.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:46.52,47.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:47.14,49.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:50.2,50.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:51.14,52.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:53.19,54.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:55.15,56.45 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:57.12,58.31 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:59.10,60.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:67.43,68.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:68.14,70.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:71.2,71.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:72.15,73.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:74.19,75.38 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:75.38,77.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:78.3,78.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:78.40,80.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:81.3,81.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:82.14,83.56 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:83.56,85.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:86.3,86.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:86.54,88.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:89.3,89.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:90.10,91.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:97.49,98.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:98.14,100.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:101.2,101.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:102.15,103.18 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:104.19,105.38 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:105.38,107.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:108.3,108.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:108.40,110.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:111.3,111.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:112.14,113.56 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:113.56,115.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:116.3,116.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:116.54,118.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:119.3,119.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:120.10,121.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:127.55,128.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:128.14,130.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:131.2,131.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:132.15,133.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:134.19,135.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:135.40,137.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:138.3,138.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:139.14,140.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:140.54,142.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:143.3,143.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:144.10,145.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:151.46,152.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:152.14,154.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:155.2,155.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:156.12,157.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:158.14,159.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:159.54,161.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:162.3,162.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:163.15,164.16 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:165.19,166.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:166.40,168.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:169.3,169.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:170.10,171.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:177.40,178.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:178.14,180.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:181.2,181.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:182.13,184.26 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:184.26,185.36 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:185.36,187.5 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:189.3,189.16 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:190.16,191.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:192.14,193.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:193.14,195.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:196.3,196.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:197.10,198.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:204.38,205.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:205.14,207.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:208.2,209.9 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:209.9,211.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:212.2,213.27 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:213.27,214.42 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:214.42,216.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:218.2,218.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:222.32,223.39 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:223.39,225.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:226.2,226.30 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:226.30,228.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:229.2,229.30 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:229.30,231.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:232.2,232.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:236.35,237.28 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:237.28,239.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.2,240.28 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.28,242.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:243.2,243.15 1 0 +github.com/thebtf/engram/internal/mcp/context.go:17.55,19.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:22.78,24.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:29.78,31.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:35.53,38.2 2 0 +github.com/thebtf/engram/internal/mcp/context.go:41.80,43.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:48.80,50.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:54.53,57.2 2 0 +github.com/thebtf/engram/internal/mcp/context.go:61.51,62.43 1 0 +github.com/thebtf/engram/internal/mcp/context.go:62.43,64.3 1 0 +github.com/thebtf/engram/internal/mcp/context.go:65.2,65.16 1 0 +github.com/thebtf/engram/internal/mcp/health.go:22.32,26.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:29.37,33.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:36.35,40.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:42.44,45.25 3 0 +github.com/thebtf/engram/internal/mcp/health.go:45.25,47.50 1 0 +github.com/thebtf/engram/internal/mcp/health.go:47.50,50.4 2 0 +github.com/thebtf/engram/internal/mcp/health.go:55.74,60.16 5 0 +github.com/thebtf/engram/internal/mcp/health.go:60.16,62.3 1 0 +github.com/thebtf/engram/internal/mcp/health.go:63.2,71.4 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28.42,29.65 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:29.65,32.3 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.2,33.40 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.40,35.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:36.2,36.14 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39.120,40.69 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:40.69,42.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:43.2,44.19 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:44.19,46.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:47.2,48.17 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:48.17,50.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:51.2,52.59 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:52.59,54.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:55.2,56.20 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:56.20,58.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:59.2,60.17 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:60.17,62.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:63.2,64.21 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:64.21,66.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:67.2,68.22 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:68.22,70.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:71.2,72.23 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:76.2,98.19 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:98.19,100.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:101.2,101.66 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104.52,106.29 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:106.29,108.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:109.2,110.46 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113.113,123.27 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:123.27,125.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:130.2,130.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:127.44,138.2 1 1 +github.com/thebtf/engram/internal/mcp/server.go:141.64,143.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:146.78,148.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:151.53,153.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:156.55,158.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:161.58,163.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:166.62,168.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:171.50,173.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:176.78,178.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:181.74,183.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:186.71,189.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:191.85,193.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:195.61,197.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:199.49,201.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:204.54,206.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:211.53,213.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:216.53,218.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:222.61,224.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:228.59,230.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:234.51,236.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:240.52,242.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:246.55,248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:252.82,254.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:260.70,262.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:269.68,271.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:274.87,277.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:282.60,284.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:290.45,292.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:297.77,299.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:303.37,313.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:313.38,315.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:316.2,317.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:317.9,319.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:320.2,321.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:321.9,323.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:324.2,325.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:325.9,327.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:328.2,328.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:332.35,334.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:383.49,387.12 3 0 +github.com/thebtf/engram/internal/mcp/server.go:387.12,388.22 1 0 +github.com/thebtf/engram/internal/mcp/server.go:388.22,389.11 1 0 +github.com/thebtf/engram/internal/mcp/server.go:390.22,392.11 2 0 +github.com/thebtf/engram/internal/mcp/server.go:393.12,393.12 0 0 +github.com/thebtf/engram/internal/mcp/server.go:396.4,397.18 2 0 +github.com/thebtf/engram/internal/mcp/server.go:397.18,398.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:401.4,402.61 2 0 +github.com/thebtf/engram/internal/mcp/server.go:402.61,404.13 2 0 +github.com/thebtf/engram/internal/mcp/server.go:407.4,407.55 1 0 +github.com/thebtf/engram/internal/mcp/server.go:407.55,409.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:411.3,411.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:414.2,414.9 1 0 +github.com/thebtf/engram/internal/mcp/server.go:415.20,416.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:417.25,418.17 1 0 +github.com/thebtf/engram/internal/mcp/server.go:418.17,420.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:421.3,421.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:427.77,428.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:428.19,431.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:433.2,433.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:434.20,435.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:436.20,437.32 1 0 +github.com/thebtf/engram/internal/mcp/server.go:438.20,439.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:443.24,444.93 1 0 +github.com/thebtf/engram/internal/mcp/server.go:445.34,446.101 1 0 +github.com/thebtf/engram/internal/mcp/server.go:447.22,448.91 1 0 +github.com/thebtf/engram/internal/mcp/server.go:449.29,450.120 1 0 +github.com/thebtf/engram/internal/mcp/server.go:451.10,456.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:461.51,462.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:463.50,464.70 1 0 +github.com/thebtf/engram/internal/mcp/server.go:465.46,466.79 1 0 +github.com/thebtf/engram/internal/mcp/server.go:467.10,468.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:473.59,485.63 2 0 +github.com/thebtf/engram/internal/mcp/server.go:485.63,487.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:489.2,493.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:496.45,503.33 3 0 +github.com/thebtf/engram/internal/mcp/server.go:503.33,505.57 2 0 +github.com/thebtf/engram/internal/mcp/server.go:505.57,506.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:506.76,507.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.4,509.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.18,511.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:511.10,513.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:514.4,518.11 5 0 +github.com/thebtf/engram/internal/mcp/server.go:522.2,522.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:660.29,683.21 2 0 +github.com/thebtf/engram/internal/mcp/server.go:683.21,689.3 5 0 +github.com/thebtf/engram/internal/mcp/server.go:690.2,699.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:712.30,765.49 3 0 +github.com/thebtf/engram/internal/mcp/server.go:765.49,789.3 5 0 +github.com/thebtf/engram/internal/mcp/server.go:790.2,799.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:805.40,936.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:942.58,1048.35 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1048.35,1077.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.2,1080.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.33,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.2,1093.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.26,1123.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1124.2,1124.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1124.80,1126.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1127.2,1127.55 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1127.55,1129.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1130.2,1130.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1130.38,1132.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1134.2,1134.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1134.25,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1138.2,1138.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1138.33,1140.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1141.2,1141.69 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1141.69,1143.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1144.2,1144.75 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1144.75,1146.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1148.2,1148.27 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1148.27,1165.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.2,1168.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.76,1191.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1195.2,1195.48 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1195.48,1197.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.2,1201.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.47,1203.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.2,1205.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.38,1207.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1212.2,1212.21 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1212.21,1214.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1228.2,1228.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1228.51,1230.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1233.2,1233.56 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1233.56,1235.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1238.2,1238.71 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1238.71,1298.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1302.2,1302.104 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1302.104,1321.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1324.2,1324.72 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1324.72,1333.154 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1333.154,1334.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1334.26,1336.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1337.7,1337.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1338.35,1340.26 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1340.26,1342.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1343.7,1343.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1371.2,1371.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1371.26,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1393.2,1393.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1393.28,1443.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.2,1446.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.28,1478.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.2,1481.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.37,1561.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1564.2,1568.23 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1568.23,1570.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1572.2,1588.57 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1588.57,1591.29 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1591.29,1593.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1594.3,1594.27 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1594.27,1595.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1595.29,1597.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1601.2,1607.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1612.79,1614.60 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1614.60,1620.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1622.2,1623.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1623.16,1631.3 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1633.2,1641.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1644.69,1645.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1645.34,1647.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1648.2,1649.22 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1649.22,1651.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1652.2,1652.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1656.99,1658.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1659.16,1660.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1661.15,1662.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1663.18,1664.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1665.15,1666.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1667.18,1668.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1669.14,1670.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1671.15,1672.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1676.2,1676.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1677.35,1678.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1679.26,1680.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1681.20,1682.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1683.20,1684.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1685.16,1686.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1687.29,1688.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1689.33,1690.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1691.25,1692.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1693.23,1694.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1696.26,1697.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1698.24,1699.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1700.22,1701.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1702.25,1703.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1704.27,1705.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1706.25,1707.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1709.30,1710.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1711.28,1712.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1713.17,1714.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1715.20,1716.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1717.20,1718.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1719.20,1720.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1722.20,1723.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1724.18,1725.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1726.20,1727.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1728.18,1729.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1730.21,1731.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1732.21,1733.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1734.26,1735.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1736.25,1737.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1738.26,1739.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1740.24,1741.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1742.26,1743.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1744.27,1745.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1746.22,1747.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1748.19,1749.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1750.15,1751.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1752.16,1753.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1755.21,1756.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1757.19,1758.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1759.20,1760.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1761.22,1762.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1763.22,1764.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1765.23,1766.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1767.20,1768.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1769.32,1770.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1771.19,1772.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1773.19,1774.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1775.33,1776.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1777.35,1778.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1779.24,1780.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1781.32,1782.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1783.28,1784.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1785.21,1786.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1787.34,1788.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1789.25,1790.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1791.29,1792.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1793.26,1794.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1795.27,1796.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1798.25,1799.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1800.23,1801.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1802.27,1803.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1804.26,1805.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1806.29,1807.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1809.29,1810.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1811.27,1812.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1813.30,1814.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1815.38,1816.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1817.36,1818.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1820.24,1821.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1822.27,1823.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1824.22,1825.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1826.32,1827.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1828.32,1829.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1830.31,1831.48 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1832.35,1833.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1834.36,1835.53 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1836.36,1837.53 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1838.38,1839.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1840.34,1841.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1843.22,1844.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1845.21,1846.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1847.24,1848.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1850.25,1851.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1852.25,1853.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1859.2,1859.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1860.22,1863.131 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1866.51,1867.123 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1868.10,1869.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1874.47,1876.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1876.16,1879.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1880.2,1880.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1884.72,1890.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1896.105,1898.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1898.16,1900.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1902.2,1903.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1903.17,1905.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1907.2,1908.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1908.17,1910.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1912.2,1918.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1918.16,1920.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1921.2,1921.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1927.76,1933.15 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1933.15,1936.17 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1936.17,1938.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1939.3,1939.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1943.2,1950.36 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1950.36,1952.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1952.8,1955.29 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1955.29,1958.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1959.3,1962.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.2,1966.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.20,1977.20 6 0 +github.com/thebtf/engram/internal/mcp/server.go:1977.20,1979.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.3,1980.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.20,1982.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.3,1985.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.37,1987.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1987.30,1988.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1988.16,1990.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1990.11,1992.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1994.4,1995.56 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1995.56,1997.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1998.4,2003.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.2,2008.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.29,2009.63 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2009.63,2011.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2011.9,2013.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.2,2021.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.29,2029.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2029.38,2031.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2031.9,2033.31 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2033.31,2035.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2035.30,2037.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2039.4,2042.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2046.2,2047.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2047.16,2049.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2050.2,2050.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2055.57,2056.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2056.33,2058.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2059.2,2060.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2060.16,2062.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2063.2,2064.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2064.16,2066.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2067.2,2067.23 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2071.79,2105.15 6 0 +github.com/thebtf/engram/internal/mcp/server.go:2105.15,2107.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2107.17,2111.4 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2111.9,2112.17 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2112.17,2114.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2115.4,2117.26 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2117.26,2119.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2119.10,2121.29 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2121.29,2123.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2125.4,2129.25 5 0 +github.com/thebtf/engram/internal/mcp/server.go:2130.19,2130.19 0 0 +github.com/thebtf/engram/internal/mcp/server.go:2132.20,2134.106 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2135.12,2137.103 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2140.8,2143.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2144.2,2150.49 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2150.49,2152.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2152.8,2154.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2155.2,2168.27 4 0 +github.com/thebtf/engram/internal/mcp/server.go:2168.27,2170.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2170.17,2173.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2173.9,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2177.2,2182.40 4 0 +github.com/thebtf/engram/internal/mcp/server.go:2182.40,2183.21 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2184.20,2185.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2186.19,2187.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.2,2191.24 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.24,2193.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.8,2193.30 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.30,2195.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.2,2198.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.28,2200.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.2,2203.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.29,2205.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2207.2,2208.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2208.16,2210.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2211.2,2211.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2216.103,2218.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2218.16,2220.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2222.2,2223.15 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2223.15,2225.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2227.2,2239.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2239.16,2241.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2242.2,2242.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2246.93,2248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2251.91,2253.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:18.28,29.20 4 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:29.20,33.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:35.2,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:68.36,69.49 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:69.49,74.3 4 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:75.2,75.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:80.26,82.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:84.89,86.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:89.2,90.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:90.18,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:94.2,94.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:95.15,96.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:97.26,98.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:99.25,100.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:101.23,105.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:105.22,107.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:108.3,108.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:109.10,110.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:120.92,126.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:126.26,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:130.2,131.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:131.19,133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:134.2,135.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:135.19,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.2,138.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.24,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.2,142.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.25,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:146.2,147.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:151.2,151.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27.40,30.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32.30,46.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48.99,49.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:49.34,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.2,52.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.69,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:56.2,57.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:60.2,61.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:61.21,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:64.2,67.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:67.26,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:70.2,71.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:71.25,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:75.2,77.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:77.44,79.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.2,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.33,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:83.2,83.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86.52,87.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:87.16,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.2,90.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.15,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:93.2,93.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96.73,97.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:97.21,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:100.2,101.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:101.29,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:111.2,111.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114.34,116.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:31.98,32.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:32.52,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.2,35.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.26,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:39.2,40.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:40.49,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.2,43.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.21,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.2,46.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.21,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.2,49.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.18,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.2,52.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.18,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.2,56.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.38,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:60.2,61.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:61.16,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:68.2,70.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:70.26,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:79.2,81.36 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:81.36,84.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:86.2,89.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:89.28,90.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:90.39,91.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:93.3,97.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:100.2,104.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:107.60,113.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:115.101,116.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:116.38,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:120.2,122.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:122.21,123.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:123.26,125.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.3,126.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.23,128.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:129.8,130.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:130.26,132.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.3,133.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.68,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:137.2,140.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:141.17,142.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:143.67,143.67 0 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:144.10,145.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:148.2,162.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:162.16,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.2,165.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.2,174.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.30,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.2,177.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.31,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:181.2,182.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:182.36,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:198.2,199.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:199.19,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:202.2,203.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:203.18,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:206.2,207.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:207.21,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:210.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:211.25,213.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:214.2,225.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:225.21,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.25,230.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.2,231.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.18,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:235.2,244.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:244.21,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.2,247.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.25,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.2,250.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.18,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.2,253.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:256.2,256.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:259.50,261.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:261.22,263.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:264.2,264.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:270.90,272.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:272.42,276.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:277.2,281.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:281.27,282.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:282.45,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:286.2,286.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25.28,88.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95.95,96.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:96.22,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:99.2,100.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:100.32,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:104.2,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:109.2,114.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:114.35,121.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.2,123.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.25,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:127.2,134.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:138.2,146.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154.94,155.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:155.22,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:158.2,159.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:159.32,161.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:163.2,164.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:164.16,166.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:168.2,172.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:172.35,179.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.2,181.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.25,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:185.2,192.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:192.16,194.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:196.2,203.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211.97,212.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:212.22,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:215.2,216.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:216.32,218.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:220.2,221.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:221.16,223.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:225.2,229.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:229.35,236.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.2,238.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.25,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:242.2,249.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:249.16,251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:253.2,260.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31.80,32.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:32.14,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:35.2,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51.136,53.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:53.51,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:56.2,56.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59.94,60.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:60.21,62.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:63.2,63.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68.30,162.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165.98,166.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:166.49,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:169.2,170.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:170.16,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:173.2,174.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:174.19,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:177.2,179.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:179.17,181.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:188.2,189.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:189.31,190.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:190.15,191.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:193.3,193.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:196.2,201.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:201.16,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:204.2,204.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208.96,209.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:209.49,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:212.2,213.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:213.16,215.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:216.2,217.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:217.13,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.2,225.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.22,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:229.2,230.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:230.16,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:233.2,233.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239.100,240.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:240.22,242.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:243.2,244.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:244.16,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:247.2,248.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:248.13,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:255.2,256.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:256.12,263.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:263.30,264.77 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:264.77,269.5 4 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:271.3,272.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:272.21,274.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:275.3,275.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.2,279.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.29,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:284.2,285.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:285.16,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.2,288.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.22,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.2,291.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.55,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.2,294.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.74,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:297.2,298.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:298.16,300.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:306.2,307.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:307.41,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:310.2,324.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:324.16,325.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:325.50,327.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:328.3,328.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.2,330.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.38,332.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:334.2,341.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:341.16,343.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:344.2,344.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348.99,349.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:349.49,351.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:352.2,353.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:353.16,355.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:356.2,357.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:357.13,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:360.2,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.2,365.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.22,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.2,368.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.74,370.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:371.2,372.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:372.16,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.2,375.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.85,377.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:379.2,380.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:380.16,381.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:381.50,383.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:384.3,384.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.2,386.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.20,388.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:390.2,395.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:395.16,397.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:398.2,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402.102,403.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:403.49,405.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:406.2,407.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:407.16,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:410.2,411.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:411.13,413.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:414.2,415.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:415.16,417.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.2,418.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.22,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.2,421.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.74,423.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:424.2,425.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:425.16,427.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.2,428.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.88,430.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:432.2,433.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:433.16,434.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:434.50,436.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:437.3,437.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.2,439.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.20,441.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:443.2,448.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:448.16,450.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:451.2,451.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34.30,36.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42.61,44.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48.32,75.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79.32,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100.98,101.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:101.25,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.2,104.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.29,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:108.2,113.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:113.17,114.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:114.55,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.2,118.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.24,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.2,121.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.23,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.2,124.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.23,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:134.2,135.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:135.21,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:142.2,147.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:154.2,165.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:165.25,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:177.2,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:186.2,186.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194.98,195.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:195.25,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.2,198.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.29,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:202.2,205.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:205.17,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:208.2,209.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:209.21,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:213.2,214.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:214.16,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:217.2,218.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:218.16,220.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:226.2,231.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:231.11,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:21.52,22.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:22.24,25.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:25.28,27.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:29.2,29.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:35.72,37.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:37.15,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:45.2,45.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:49.99,51.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:51.16,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:55.2,56.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:56.16,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:60.2,72.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.2,75.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.24,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.2,78.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.24,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:81.2,81.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:82.27,82.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:84.10,85.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.2,87.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.30,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.2,90.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.26,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:104.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:116.2,123.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:126.2,126.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:130.97,132.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:132.16,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:136.2,137.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:141.2,147.23 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:147.23,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.2,150.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.26,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:154.2,155.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:155.16,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:160.16,161.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:161.47,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:164.3,164.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.2,167.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.97,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:174.2,175.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:175.16,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:179.2,185.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:185.16,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:188.2,188.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:192.99,194.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:194.16,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:198.2,199.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:199.16,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:203.2,207.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:207.26,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:211.2,212.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:212.16,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:216.2,223.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:223.26,229.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:229.28,231.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:232.3,232.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:243.100,245.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:245.16,247.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:249.2,250.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:250.16,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:254.2,262.23 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:262.23,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.2,265.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.24,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:268.2,268.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:269.27,269.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:271.10,272.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.2,274.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.30,276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.2,277.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.26,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.2,281.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.71,282.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:282.47,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:285.3,285.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:288.2,293.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:293.16,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:296.2,296.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:302.92,309.19 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:309.19,310.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:310.53,313.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:316.2,317.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:317.51,318.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:318.66,320.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:323.2,331.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:331.16,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:334.2,334.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:338.46,342.32 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:342.32,343.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:343.20,346.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:348.2,350.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:350.26,352.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:352.27,353.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:353.13,355.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:356.4,356.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:358.3,358.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:360.2,360.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:16.45,18.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:20.35,36.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:38.84,39.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:39.40,41.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.2,42.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.50,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:45.2,45.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:48.101,50.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:50.16,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:53.2,54.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:57.2,58.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:58.19,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:61.2,62.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:62.21,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:65.2,66.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:66.16,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:69.2,69.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:72.102,74.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:77.2,82.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10.100,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:22.16,23.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:24.14,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:26.14,27.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:28.17,29.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:30.17,31.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:32.21,33.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:34.19,35.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:36.17,37.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:38.16,39.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:40.16,41.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:42.21,43.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:44.10,45.167 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:15.77,16.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:16.33,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:20.2,21.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:21.27,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:25.2,26.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:26.28,29.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:29.17,31.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:34.2,41.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:41.32,46.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:46.20,48.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:49.3,49.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:61.97,62.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:62.28,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:71.2,75.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:75.29,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:79.2,80.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:80.16,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.2,84.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.20,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:88.2,97.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:97.25,103.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:103.20,105.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.3,106.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.19,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:109.3,109.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:112.2,113.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:113.16,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:117.2,117.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:121.95,122.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:122.28,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:131.2,137.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:137.50,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:141.2,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.2,145.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.16,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.2,149.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.21,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:153.2,154.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:154.16,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.2,157.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.20,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:161.2,161.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:165.98,166.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:166.28,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:170.2,171.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:171.16,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:175.2,181.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:181.50,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.2,185.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.96,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:189.2,189.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:197.98,198.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:198.28,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:207.2,217.74 6 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:217.74,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:222.2,223.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:223.16,225.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:227.2,229.156 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:235.98,237.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:237.16,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:241.2,247.24 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:247.24,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:252.2,253.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:253.29,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:256.2,256.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15.93,16.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:16.37,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:20.2,21.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:21.16,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:25.2,32.16 7 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:32.16,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.2,35.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.19,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.2,38.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.19,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:42.2,43.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:43.16,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:47.2,54.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61.91,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:62.37,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:71.2,73.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:73.16,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.2,76.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.19,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:80.2,81.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:81.43,83.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:83.19,85.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:86.3,86.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:87.8,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.2,90.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.16,91.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:91.45,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:94.3,94.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:97.2,110.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:110.16,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:113.2,113.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117.93,119.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122.91,123.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:123.37,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:132.2,133.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:133.19,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:136.2,141.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:141.16,143.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:145.2,155.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:155.25,165.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:167.2,168.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:168.16,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:171.2,171.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175.94,176.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:176.37,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:180.2,181.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:181.16,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:185.2,187.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:187.16,189.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.2,190.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.19,192.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:193.2,196.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:200.2,208.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:208.25,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:218.2,225.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232.94,233.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:233.37,235.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:242.2,243.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:243.21,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:246.2,248.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:248.19,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:252.2,253.46 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:253.46,255.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:255.13,257.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.2,259.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.44,261.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:261.13,263.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:266.2,267.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:267.16,269.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:271.2,278.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:278.16,280.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:281.2,281.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19.69,21.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23.38,38.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40.51,63.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65.53,80.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82.46,85.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:85.32,87.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:88.2,88.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91.105,93.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:93.16,95.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:96.2,97.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:100.2,100.70 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103.107,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:108.2,109.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:109.16,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:112.2,112.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115.101,117.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:117.16,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:120.2,121.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:121.17,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:124.2,139.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142.109,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:147.2,154.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157.100,159.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:159.28,161.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:161.18,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:164.3,164.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:166.2,167.72 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:167.72,169.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.2,170.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.53,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:173.2,174.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:174.26,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:177.2,177.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180.73,182.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:182.16,184.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:185.2,185.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12.104,14.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:14.16,16.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:18.2,19.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:19.18,21.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:23.2,23.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:24.14,25.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:26.18,27.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:28.17,29.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:30.10,31.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36.101,37.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:37.27,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:46.2,47.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:47.21,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:50.2,51.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:51.19,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:54.2,54.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:55.52,55.52 0 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:56.10,57.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:59.2,61.93 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:61.93,64.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:66.2,70.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:27.31,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:98.97,100.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:100.26,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.2,103.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.28,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:112.2,115.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:115.15,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.2,118.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.17,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:122.2,123.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:127.2,140.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:140.29,151.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:151.31,154.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:155.3,155.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:158.2,162.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:167.100,169.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:169.26,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.2,172.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.28,174.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.2,175.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.26,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:179.2,180.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:184.2,185.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:185.22,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:189.2,190.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:190.20,191.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:191.54,199.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.3,200.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.61,202.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:203.3,203.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:206.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:215.95,217.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:217.32,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.2,220.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.28,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:224.2,225.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:229.2,230.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:230.22,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.2,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.25,246.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:248.2,252.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:258.104,260.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:260.26,262.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:267.2,271.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:271.20,275.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:275.8,279.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:280.2,280.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:284.60,285.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:285.30,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.2,288.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.42,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:291.2,291.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:64.89,65.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:65.25,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:69.2,70.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:70.49,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:74.2,74.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:75.18,76.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:77.21,78.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:79.19,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:81.18,82.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:83.19,84.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:85.18,86.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:87.18,91.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:91.23,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:94.3,94.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:95.10,96.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:100.81,103.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:103.19,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:106.2,107.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:107.19,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.2,112.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.46,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.2,115.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.46,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.2,122.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.66,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.25,128.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:128.22,130.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:131.8,132.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:132.26,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.2,138.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.25,139.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:139.22,141.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:142.8,143.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:143.26,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.2,148.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.22,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.2,151.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.38,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.2,154.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.19,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:159.2,161.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:161.25,164.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.2,165.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.25,168.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:169.2,171.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:171.23,174.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.2,175.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.23,178.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:180.2,193.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:193.16,195.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:198.2,199.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:199.29,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.2,202.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.29,204.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:205.2,213.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:216.121,217.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:217.28,218.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:218.26,220.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:221.3,222.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:222.17,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:223.49,225.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:226.4,226.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:228.3,228.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.2,230.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.26,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:233.2,234.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:234.16,235.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:235.48,237.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:238.3,238.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:240.2,240.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:243.101,248.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:248.36,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:250.8,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.2,253.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.16,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.2,256.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.32,257.128 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:257.128,262.72 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:262.72,264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:267.2,267.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:276.81,277.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:277.25,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.2,280.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.22,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.2,283.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.39,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.2,286.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.25,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.2,289.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.21,291.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:292.2,293.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:293.14,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:296.2,305.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:305.16,307.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:308.2,314.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:317.84,318.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:318.19,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:321.2,323.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:323.63,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:326.2,329.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:332.82,333.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:333.38,335.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:336.2,337.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:338.18,339.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:340.18,341.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.2,345.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.59,347.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:349.2,351.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:351.21,353.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:353.8,356.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.2,357.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:366.2,367.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:367.41,369.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:371.2,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:397.115,398.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:398.15,400.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:403.2,404.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:404.26,405.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:405.28,407.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.3,408.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.28,410.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.2,412.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.23,415.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:420.2,426.12 4 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:426.12,427.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:427.27,429.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:429.18,431.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.4,433.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.33,435.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:440.2,441.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:441.26,442.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:442.28,443.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:443.49,445.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.3,448.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.28,449.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:449.49,451.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:454.2,454.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:457.82,458.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:458.21,460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:461.2,462.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:462.16,464.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.2,465.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.36,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:468.2,469.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:469.16,471.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:472.2,477.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:480.82,481.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:481.40,483.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:484.2,485.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:485.19,487.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:488.2,489.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:489.16,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:492.2,499.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:502.82,503.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:503.21,505.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:506.2,507.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:507.16,509.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:510.2,514.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23.179,24.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:24.22,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:28.2,32.22 4 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:32.22,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:35.2,36.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:36.22,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:40.2,41.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:41.26,43.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.2,44.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.26,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.2,47.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.30,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.2,50.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.30,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:54.2,55.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:55.16,57.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.2,58.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.13,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:61.2,62.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:62.16,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.2,65.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.13,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:69.2,70.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:70.16,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.2,73.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.15,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:77.2,77.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80.172,81.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:81.28,82.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:82.23,84.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.3,85.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.18,87.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:88.3,89.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:89.17,90.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:90.49,92.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:93.4,93.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:95.3,95.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.2,98.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.24,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.2,101.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.19,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:104.2,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:105.16,106.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:106.48,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:109.3,109.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:111.2,111.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114.119,116.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:116.22,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:119.2,120.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:120.22,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:124.2,126.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:126.26,127.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:127.36,129.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:130.3,130.105 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:131.8,132.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:132.32,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:135.3,135.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.2,137.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.2,141.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.32,143.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:143.27,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:146.3,147.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:147.27,149.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.3,150.106 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.106,151.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.3,153.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.27,154.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:154.114,155.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.9,157.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.104,158.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.3,160.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.27,161.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:161.114,162.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.9,164.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.104,165.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:167.3,167.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:169.2,169.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25.90,26.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:26.26,28.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:30.2,31.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:31.49,33.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:35.2,35.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:36.16,37.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:38.10,39.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43.84,44.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:44.21,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.2,47.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.25,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.2,50.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.21,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.2,53.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.21,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:57.2,58.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:59.18,60.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:61.15,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:63.24,64.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:65.10,66.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:69.2,70.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:70.22,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:73.2,74.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:74.29,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.2,78.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.14,85.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:87.2,89.37 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:89.37,92.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:92.21,94.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:97.2,100.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:100.31,102.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:102.38,104.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:104.37,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:109.3,122.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:122.26,124.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.3,125.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.19,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:131.3,133.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:133.39,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:135.9,137.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.3,138.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.17,140.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.3,142.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.34,144.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:145.3,145.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:148.2,155.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20.99,22.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:22.16,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:26.2,31.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:31.44,32.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:32.33,33.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:33.43,38.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.2,43.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.49,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.2,46.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.48,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:50.2,52.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:52.27,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:55.8,60.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:60.24,62.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.3,64.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.57,66.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:68.3,68.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.2,71.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.16,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:75.2,76.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:76.23,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:80.2,80.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:19.40,89.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:109.71,111.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:111.9,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:115.2,116.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:116.38,117.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:118.13,119.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:119.41,121.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:122.17,123.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:123.43,125.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:126.11,127.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:127.40,129.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.2,133.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.22,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:139.2,139.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:143.90,144.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:144.25,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:148.2,149.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:149.16,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:153.2,157.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:157.61,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:161.2,161.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:162.16,163.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:164.14,165.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:166.13,167.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:168.16,169.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:170.17,171.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:172.16,173.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:174.15,175.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:176.10,177.120 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:189.85,191.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:191.39,192.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:192.44,194.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.2,196.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.15,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.2,199.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.15,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:202.2,202.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:205.91,207.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:207.17,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:211.2,215.25 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:215.25,217.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:218.2,224.25 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:224.25,226.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.2,227.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.25,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:231.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:247.2,247.139 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:250.89,252.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:252.19,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:255.2,256.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:256.25,258.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:259.2,264.52 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:264.52,266.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:266.14,268.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:271.2,277.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:277.25,280.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:282.2,283.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:283.16,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.2,287.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.22,288.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:288.20,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:291.3,291.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:294.2,297.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:297.31,300.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:300.29,302.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:303.3,305.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:308.2,308.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:311.88,313.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:313.13,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:317.2,318.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:318.16,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:322.2,328.22 6 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:328.22,331.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.2,333.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.23,335.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:335.30,338.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:341.2,341.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:344.91,346.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:346.13,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:350.2,353.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:353.18,354.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:354.27,356.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.3,357.73 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.73,359.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.2,362.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.19,370.17 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:370.17,372.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:375.2,376.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:376.26,378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:379.2,379.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:382.92,384.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:384.13,386.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:388.2,389.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:389.16,391.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:393.2,401.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:401.16,403.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:405.2,405.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:408.91,410.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:410.13,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:414.2,418.95 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:418.95,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:422.2,422.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:425.90,427.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:427.13,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:431.2,433.167 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:433.167,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.2,437.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.89,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:441.2,441.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22.93,24.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:24.49,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:28.2,28.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:29.14,30.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:31.17,32.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:33.16,34.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:35.24,36.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:37.27,38.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:39.22,40.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:41.23,42.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:43.10,44.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48.79,49.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:49.13,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:57.2,58.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:58.32,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:61.2,84.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87.101,88.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:88.13,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.2,91.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.38,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.2,98.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.53,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:102.2,104.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:104.17,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.2,107.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.29,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:110.2,115.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118.100,119.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:119.13,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.2,122.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.38,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.2,129.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.53,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:133.2,135.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:135.17,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.2,138.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.29,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:141.2,146.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149.123,150.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:150.13,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.2,153.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.18,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.2,156.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.38,158.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:159.2,161.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:161.17,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:164.2,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172.113,173.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:173.13,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.2,176.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.50,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:179.2,181.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:181.17,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:184.2,188.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191.57,195.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197.102,198.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:198.13,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.2,201.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.20,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:204.2,205.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:205.16,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:209.2,210.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:210.32,212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:214.2,217.56 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:217.56,223.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:225.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233.41,235.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:235.16,237.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:238.2,238.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:35.27,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:42.41,43.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:44.48,45.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:46.10,47.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:54.57,55.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:56.17,57.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:58.16,59.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:60.10,61.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:82.58,83.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:84.28,85.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:86.26,87.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:88.10,89.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:93.114,95.68 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:95.68,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:99.2,101.42 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:101.42,102.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:102.71,105.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:107.2,117.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:117.23,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:121.2,124.22 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:124.22,125.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:125.31,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:128.3,128.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.8,129.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.37,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:132.2,132.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:135.74,136.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:136.30,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.2,139.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.34,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.2,142.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.31,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.2,145.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.22,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:161.169,162.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:162.17,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:165.2,166.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:166.51,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:169.2,169.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:172.92,174.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:174.42,177.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:177.63,179.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:179.9,181.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:183.2,183.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:186.65,190.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:192.115,194.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:194.26,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.8,196.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.31,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:199.2,199.117 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:202.122,206.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:206.31,207.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:207.45,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:211.2,211.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:214.72,216.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:218.117,219.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:222.2,223.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:223.20,225.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:225.17,227.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.3,228.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.27,229.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:229.50,231.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:231.30,232.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:236.3,236.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:239.2,241.60 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:241.60,243.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:243.61,245.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.3,246.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.24,247.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:249.3,250.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:250.17,252.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.3,253.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.22,254.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.3,256.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.29,257.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:257.50,259.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:259.30,260.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:264.3,265.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:265.32,266.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:269.2,269.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:272.51,273.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:273.16,275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:276.2,277.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:277.18,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.2,280.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.19,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:283.2,283.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:286.97,288.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:288.30,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.2,291.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.49,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:294.2,294.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:297.108,299.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:301.108,303.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:305.102,307.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:319.55,320.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:320.31,322.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.2,323.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.26,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:326.2,326.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:329.71,330.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:343.26,344.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:345.10,346.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:354.95,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:366.2,397.39 14 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:397.39,399.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:399.27,401.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:402.8,404.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:405.2,407.46 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:407.46,410.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.2,411.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.44,413.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:413.12,415.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.2,417.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.26,419.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.2,420.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.84,422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.2,427.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.65,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:431.2,433.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:433.20,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:436.2,437.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:437.20,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.2,440.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.56,442.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.2,443.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.56,448.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.2,450.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.45,453.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.2,459.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.31,461.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:461.22,462.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:462.62,465.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:466.4,466.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:468.3,468.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:471.2,472.115 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:472.115,474.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.2,491.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.19,493.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:493.23,495.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:496.3,508.21 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:508.21,510.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:511.3,511.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.2,522.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.43,535.34 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:535.34,556.30 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:556.30,558.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.4,559.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.44,561.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.4,562.106 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.106,564.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.4,575.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.74,577.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:578.4,579.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:579.18,581.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:583.4,584.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:584.28,586.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.4,588.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.31,599.57 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:599.57,601.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:601.17,604.7 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:606.5,607.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:607.21,609.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.5,615.138 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.138,617.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:617.27,619.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:620.6,620.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:622.5,623.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:623.26,625.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:626.5,626.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:630.4,631.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:631.20,633.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.4,634.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.22,637.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:637.26,639.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:640.5,640.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:645.4,660.77 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:660.77,662.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:663.4,664.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:664.25,666.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:667.4,667.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.2,673.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.26,675.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:677.2,678.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:678.25,680.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.2,681.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.97,683.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:690.2,691.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:691.21,693.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:693.33,695.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.3,696.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.33,698.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.3,699.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.49,704.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.3,721.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.54,722.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:722.84,724.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.2,728.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.99,730.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:732.2,733.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:733.22,735.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:736.109,737.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:738.100,739.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:740.114,741.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:742.107,743.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:744.11,745.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:748.2,749.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:749.43,751.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:753.2,755.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:755.34,756.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:756.48,757.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:757.19,760.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.2,764.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.31,767.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.2,768.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.35,771.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.2,772.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.76,776.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:778.2,780.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:780.16,782.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:782.20,785.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.2,788.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.25,798.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:798.18,800.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.9,800.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.30,807.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.3,808.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.36,810.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:811.3,812.50 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:812.50,815.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:816.3,822.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:822.17,824.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:826.3,836.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:836.17,838.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:839.3,839.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:842.2,843.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:843.30,844.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:844.52,846.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:846.9,848.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:851.2,869.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:869.21,871.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:871.43,873.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.3,874.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.29,876.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.3,886.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.76,888.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.2,890.105 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.105,892.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:893.2,894.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:894.16,896.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:901.2,904.40 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:904.40,905.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:905.15,906.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:909.3,910.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:910.63,912.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:912.9,914.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.3,916.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.43,918.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:919.3,920.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:920.20,922.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.3,925.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.23,928.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:929.3,931.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:931.33,934.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:934.39,936.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:939.2,948.42 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:948.42,950.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:950.21,952.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:952.9,955.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.2,959.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.53,960.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:960.54,961.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:961.33,963.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:964.9,972.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.3,973.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.60,974.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:974.40,976.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.3,978.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.61,979.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:979.41,981.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.3,983.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.28,985.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:986.3,987.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.2,989.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.51,991.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:995.2,997.53 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:997.53,999.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:999.8,1001.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.2,1002.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.22,1004.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1008.2,1014.76 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1014.76,1016.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.2,1021.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.57,1026.13 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1026.13,1029.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1029.21,1032.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.4,1033.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.49,1035.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1036.4,1043.89 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1043.89,1046.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1048.4,1048.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1052.2,1063.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1063.21,1065.40 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1065.40,1067.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.3,1068.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.38,1070.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1072.2,1074.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1074.18,1081.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.2,1082.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.28,1084.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.2,1085.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.16,1087.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.2,1088.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.30,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.2,1091.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.30,1093.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.2,1098.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.76,1100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1101.2,1102.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1102.16,1104.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1105.2,1105.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111.94,1113.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1113.15,1115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1117.2,1118.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1118.16,1120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1122.2,1123.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1123.13,1125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1126.2,1131.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1131.16,1133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.2,1134.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.19,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.2,1146.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.39,1148.55 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1148.55,1150.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.2,1152.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.39,1154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1157.2,1158.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1158.21,1163.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1163.21,1165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1166.3,1167.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1167.21,1169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.3,1170.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.52,1172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.3,1173.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.52,1178.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.3,1179.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.41,1182.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1183.3,1183.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.2,1188.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.46,1190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.2,1191.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.27,1193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1195.2,1196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1196.16,1198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1201.2,1210.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1210.16,1212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1213.2,1213.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218.59,1220.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1220.38,1222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1225.2,1226.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1226.29,1227.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1227.22,1229.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.2,1232.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.18,1234.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1237.2,1244.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1244.29,1245.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1245.67,1247.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.2,1249.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.16,1251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1254.2,1254.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258.55,1260.47 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1260.47,1262.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1263.2,1264.58 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1264.58,1266.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1267.2,1267.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270.252,1271.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1271.108,1273.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.2,1274.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.55,1276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1277.2,1277.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280.184,1282.69 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1282.69,1284.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1284.32,1285.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1285.58,1287.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.3,1290.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.18,1292.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.2,1294.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.19,1297.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1297.32,1298.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1298.39,1300.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.3,1303.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.19,1305.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.2,1307.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.21,1309.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1309.32,1310.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1310.49,1312.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.3,1315.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.18,1317.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.2,1319.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.28,1321.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1321.17,1323.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.3,1324.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.27,1326.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.2,1328.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.76,1330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1331.2,1331.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342.96,1343.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1343.26,1345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1347.2,1348.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1348.16,1350.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1352.2,1363.23 9 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1363.23,1364.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1364.58,1365.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1365.31,1367.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1367.10,1369.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.2,1373.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.17,1375.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.2,1376.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.16,1378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.2,1379.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.16,1381.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.2,1382.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.18,1384.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.2,1385.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.19,1387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.2,1388.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.19,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1396.2,1399.18 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1399.18,1400.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1400.61,1401.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1402.50,1403.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1404.12,1405.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1409.2,1410.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1410.42,1414.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1415.2,1420.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1420.16,1422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1429.2,1444.43 6 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1444.43,1446.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1449.2,1451.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1451.27,1453.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.2,1458.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.46,1460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.2,1461.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.63,1463.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1465.2,1466.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1466.15,1472.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1472.29,1479.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1479.18,1481.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.4,1482.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.23,1483.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.4,1485.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.30,1486.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1486.24,1488.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1488.32,1489.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1493.4,1494.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1494.30,1495.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1498.8,1504.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1504.29,1506.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1506.18,1508.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.4,1509.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.23,1510.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.4,1512.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.30,1513.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1513.24,1515.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1515.32,1516.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1520.4,1521.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1521.30,1522.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.2,1526.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.26,1528.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1528.17,1530.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.2,1535.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.74,1536.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1536.13,1537.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1537.33,1542.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1542.26,1544.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1544.39,1546.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1548.5,1548.82 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.2,1565.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.38,1569.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1569.27,1571.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.3,1572.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.27,1574.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1576.3,1581.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1581.32,1586.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1588.3,1592.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1592.18,1594.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1595.3,1596.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1596.17,1598.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1599.3,1599.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1602.2,1602.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1603.15,1618.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1618.32,1620.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1620.33,1621.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1621.40,1623.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1626.4,1638.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1640.3,1641.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1641.17,1643.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1644.3,1644.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1646.18,1648.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1648.17,1650.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1651.3,1651.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1653.10,1654.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1654.25,1656.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1657.3,1659.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1659.32,1661.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1661.33,1662.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1662.40,1664.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1667.4,1669.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1669.26,1671.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1672.4,1673.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1673.25,1675.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1676.4,1676.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1678.3,1678.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690.51,1695.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700.73,1702.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1702.16,1704.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1705.2,1706.48 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1706.48,1710.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1711.2,1713.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1713.16,1715.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1716.2,1716.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727.117,1731.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1731.21,1733.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1734.2,1735.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1735.16,1737.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1738.2,1739.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1739.27,1741.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1742.2,1742.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1764.19,1775.30 7 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1775.30,1777.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1777.37,1779.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.3,1781.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.20,1783.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.2,1797.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.39,1799.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1801.2,1811.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1811.25,1813.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1815.2,1816.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1816.29,1818.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.2,1824.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.27,1826.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1831.2,1833.22 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1833.22,1835.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1837.2,1846.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1846.16,1848.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1853.2,1855.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1855.27,1857.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1859.2,1876.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1876.33,1878.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1880.2,1881.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1881.28,1885.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1885.20,1888.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1888.33,1889.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1889.40,1891.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.4,1894.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.20,1895.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.3,1900.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.22,1902.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1902.33,1903.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1903.50,1905.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.4,1908.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.19,1909.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.3,1918.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.56,1919.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.3,1927.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.64,1928.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1932.3,1935.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1935.32,1936.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1936.39,1938.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1942.3,1956.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1956.14,1957.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1957.37,1959.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1961.3,1962.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1962.26,1963.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.2,1975.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.59,1986.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1986.17,1988.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1990.3,1991.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1991.34,1993.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1995.3,1996.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1996.29,1998.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1998.21,2001.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2001.34,2002.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2002.41,2004.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.5,2007.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.21,2008.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.4,2011.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.23,2013.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2013.34,2014.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2014.51,2016.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.5,2019.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.20,2020.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.4,2023.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.57,2024.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.4,2027.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.65,2028.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2030.4,2031.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2031.33,2032.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2032.40,2034.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2037.4,2051.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2051.15,2052.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2052.38,2054.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2056.4,2057.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2057.27,2058.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2065.2,2066.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2066.28,2068.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.2,2072.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.71,2080.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2080.30,2081.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2081.41,2087.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.3,2089.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.13,2090.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2090.31,2095.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2095.25,2097.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2097.38,2099.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2101.5,2101.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.2,2112.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.38,2115.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2115.27,2117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2121.3,2138.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2138.30,2140.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2140.11,2141.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2143.4,2160.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2160.15,2161.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2161.39,2163.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2165.4,2165.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2167.3,2173.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2173.24,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2176.3,2176.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2179.2,2179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2180.15,2182.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2182.24,2184.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2185.3,2185.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2187.18,2199.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2199.30,2201.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2201.11,2202.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2204.4,2208.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2208.15,2209.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2209.39,2211.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2213.4,2213.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2215.3,2216.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2216.24,2218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2219.3,2219.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2220.10,2221.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2221.22,2223.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2224.3,2226.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2226.27,2228.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2228.20,2230.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2231.4,2233.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2233.26,2235.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2236.4,2237.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2237.23,2239.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.4,2240.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.46,2244.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2245.4,2245.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2247.3,2247.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252.94,2254.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2254.16,2256.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2258.2,2260.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2260.18,2261.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2261.59,2262.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2262.36,2264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2264.10,2266.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.2,2270.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.13,2272.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.2,2273.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.50,2275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2277.2,2277.98 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281.98,2282.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2282.26,2284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2286.2,2287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2287.16,2289.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2291.2,2292.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2292.13,2294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2297.2,2298.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2298.19,2299.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2299.51,2301.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2302.3,2302.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.2,2304.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.42,2306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.2,2308.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.54,2309.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2309.48,2311.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2312.3,2312.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2316.2,2318.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17.82,19.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21.149,22.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:22.55,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.2,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.36,27.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:28.2,34.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:34.16,36.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.2,37.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.42,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:40.2,40.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43.105,44.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:44.48,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:47.2,48.54 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51.129,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:56.2,57.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:57.53,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:60.2,61.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:61.25,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:64.2,65.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:65.16,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:68.2,68.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26.97,27.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:27.18,29.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:30.2,30.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33.37,35.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37.81,38.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:38.44,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.2,41.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.38,43.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:44.2,44.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47.88,48.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:48.32,50.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:51.2,52.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:52.20,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:55.2,55.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58.40,72.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74.106,75.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:75.34,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:78.2,79.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:79.16,81.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:83.2,84.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:88.2,89.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:89.13,91.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:93.2,94.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:94.63,96.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.2,98.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.72,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:102.2,106.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109.117,110.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:110.32,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.2,113.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.34,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:117.2,118.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:118.16,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.2,121.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.19,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:125.2,126.69 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:126.69,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:130.2,136.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18.33,20.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22.27,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39.93,40.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:40.30,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.2,43.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.28,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:46.2,47.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:47.16,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:51.2,52.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:52.17,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:55.2,56.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:56.19,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.2,59.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.19,61.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:62.2,63.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:63.16,65.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:67.2,74.9 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:74.9,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:77.2,78.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:78.15,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:81.2,85.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:85.16,87.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.2,88.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.17,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:92.2,101.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104.48,105.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:108.2,109.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:109.29,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.2,112.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.31,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:115.2,115.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118.75,120.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:120.27,121.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:121.32,123.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:123.17,124.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:126.4,126.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:129.2,134.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:134.33,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.2,137.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.40,138.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:138.39,140.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:141.3,141.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.2,143.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.34,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:146.2,147.35 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:147.35,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:150.2,150.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153.77,154.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:154.20,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:157.2,159.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:159.31,160.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:160.33,162.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.3,163.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.30,165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:167.2,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23.91,25.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27.38,50.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52.104,53.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:53.38,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:56.2,57.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:61.2,62.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:62.26,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:65.2,66.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:66.30,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.2,69.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.72,71.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:73.2,74.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:77.2,78.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:78.16,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:81.2,82.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:82.16,84.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:85.2,86.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:90.2,105.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.2,109.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.19,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.2,118.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.25,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.2,121.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.30,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.2,124.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.31,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:131.2,131.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134.91,136.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:136.9,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:139.2,140.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:140.15,141.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:141.19,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:144.3,144.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:146.2,146.94 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149.59,150.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:150.16,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:153.2,154.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:154.61,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:157.2,157.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160.56,161.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:161.75,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:164.2,164.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167.67,169.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:170.17,171.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:172.67,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:174.10,175.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179.60,180.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:183.2,184.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:184.25,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:187.2,187.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190.57,191.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:192.15,193.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:193.81,195.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:196.3,196.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:197.19,199.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:199.17,201.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.3,202.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.55,204.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:205.3,205.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:206.14,207.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:208.11,209.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:210.10,211.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215.59,216.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:216.16,218.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:219.2,219.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:220.12,221.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:222.14,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:224.10,225.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:28.90,30.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:30.16,32.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:34.2,36.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:37.16,38.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:40.16,42.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:44.20,46.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:48.17,50.142 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:52.17,56.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:56.50,62.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:62.63,64.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.4,66.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.45,68.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:72.4,74.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:74.25,76.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:77.4,77.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:80.3,80.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:82.18,84.141 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:86.18,88.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:88.18,90.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:91.3,91.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:93.17,96.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:96.50,99.59 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:99.59,101.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:102.4,104.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:104.25,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:107.4,107.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:110.3,110.98 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:112.10,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:125.86,126.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:129.2,130.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:130.9,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.2,133.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.22,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:137.2,139.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:139.31,141.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:141.10,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:144.3,145.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:145.22,147.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:148.3,149.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:149.26,151.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.3,152.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.68,154.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:155.3,156.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:156.37,158.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:159.3,160.107 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:162.2,162.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:165.249,166.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:166.24,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.2,169.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.38,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:173.2,174.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:174.31,175.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:175.32,177.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:180.2,181.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:181.34,182.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:182.29,183.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:185.3,197.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:197.17,199.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.3,200.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.20,201.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.3,203.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.37,205.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:205.33,206.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.4,208.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.19,209.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:209.43,210.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:212.5,212.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:214.4,215.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:215.30,216.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:220.2,220.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:223.113,229.2 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:231.101,233.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:247.92,251.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:251.16,253.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.8,253.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:259.2,272.51 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:272.51,274.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:274.38,275.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:276.50,277.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:278.12,279.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:287.2,292.26 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:292.26,294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.2,297.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.19,301.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:303.2,311.42 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:311.42,315.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:316.2,341.64 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:341.64,342.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:342.86,344.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.3,345.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.56,347.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:348.3,360.19 6 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:360.19,364.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:365.3,365.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:369.2,370.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:370.15,372.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:372.27,374.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.3,375.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.27,377.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:380.2,381.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:381.15,387.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:387.28,395.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:395.18,397.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.4,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.23,399.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.4,401.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.30,402.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:402.66,403.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:405.5,406.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:406.12,407.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.5,409.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.28,413.6 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:414.5,415.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:415.30,416.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:419.4,420.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:420.30,421.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:424.8,432.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:432.28,438.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:438.18,440.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.4,441.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.23,442.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.4,444.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.30,445.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:445.40,447.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:447.31,448.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:452.4,455.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:455.30,456.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:461.2,465.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:465.17,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:469.2,470.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:470.16,472.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:473.2,473.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20.79,21.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:21.43,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.2,24.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.29,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:27.2,27.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30.40,63.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65.68,71.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:71.25,74.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:75.2,75.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78.62,83.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:83.19,87.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:88.2,88.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91.101,92.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:92.22,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:95.2,96.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:96.18,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:103.2,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:107.2,107.119 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110.99,111.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:111.22,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:114.2,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:115.18,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:118.2,119.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:119.16,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.2,122.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.51,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:129.2,131.15 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:131.15,132.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:132.69,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:135.3,135.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:137.2,137.130 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140.102,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.2,145.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.64,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:148.2,148.113 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151.109,153.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:157.16,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:160.2,161.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:161.16,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:164.2,164.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167.107,169.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:169.16,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:172.2,173.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:173.16,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.2,176.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.107,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:179.2,179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:180.41,181.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:182.41,183.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:184.10,185.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189.111,191.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:191.16,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:194.2,195.57 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:195.57,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:198.2,199.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:199.23,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.2,206.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.17,208.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:209.2,209.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212.63,215.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217.69,219.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:222.2,222.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225.60,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:230.2,230.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233.137,234.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:234.49,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:241.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:246.2,247.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:247.16,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.2,250.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.22,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:253.2,253.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256.142,258.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:258.16,260.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:261.2,262.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:262.16,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.2,265.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.47,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:268.2,269.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:269.16,270.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:270.50,272.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:273.3,273.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:275.2,275.173 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278.157,280.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:280.16,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.2,283.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.47,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:286.2,287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:287.16,288.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:288.50,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:291.3,291.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:293.2,293.169 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296.104,297.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:297.22,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:300.2,301.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:301.61,303.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:303.20,304.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.2,307.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.19,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:310.2,317.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320.119,322.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:322.39,323.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:323.81,325.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:327.2,327.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330.71,332.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:332.16,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:335.2,335.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17.61,105.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:105.23,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:123.2,123.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126.104,127.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:127.61,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.2,130.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.38,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:133.2,134.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:137.2,138.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:138.16,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:141.2,147.107 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:147.107,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:150.2,151.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:151.16,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:154.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:170.19,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:173.2,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176.103,177.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:177.61,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.2,180.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.38,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:187.2,191.106 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:191.106,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:194.2,195.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:195.16,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:198.2,200.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:200.31,207.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:207.36,218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:219.3,220.35 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:222.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233.107,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.2,237.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.38,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:240.2,241.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:241.16,243.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:244.2,248.110 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:248.110,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:251.2,252.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:252.16,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:255.2,256.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:256.33,266.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:267.2,275.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278.108,279.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:279.61,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.2,282.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.37,284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:285.2,286.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:286.16,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:289.2,290.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:290.19,292.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.2,293.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.104,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:296.2,297.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:297.16,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:300.2,307.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:307.16,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:310.2,311.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:311.43,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:319.2,332.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:332.22,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:335.2,335.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338.108,339.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:339.62,341.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.2,342.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.38,344.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:345.2,346.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:346.9,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:349.2,350.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:350.16,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:353.2,357.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:360.2,370.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373.109,374.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:374.62,376.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.2,377.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.38,379.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:380.2,381.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:381.9,383.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:384.2,385.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:385.16,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:388.2,390.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:390.32,392.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:393.2,394.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:394.16,396.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:397.2,403.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406.106,407.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:407.62,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.2,410.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.38,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:413.2,414.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:414.9,416.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:417.2,418.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:418.16,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:421.2,423.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:423.16,424.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:424.41,434.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:435.3,435.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:437.2,445.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483.65,484.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:484.42,485.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:485.39,487.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.2,489.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.85,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:492.2,492.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495.102,496.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:496.38,498.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.2,499.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.58,501.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:502.2,502.90 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505.60,508.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510.66,512.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:512.26,514.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:515.2,515.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518.69,521.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:521.33,523.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:523.21,524.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.3,526.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.34,527.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:529.3,530.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:532.2,532.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535.63,537.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:537.19,539.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:540.2,541.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:541.42,543.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.2,544.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.57,546.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.2,547.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.54,549.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:550.2,550.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553.70,557.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559.66,561.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:561.9,563.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:564.2,566.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:566.17,568.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:569.2,569.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:570.103,572.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:573.34,574.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:575.10,576.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580.56,581.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:581.37,583.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.2,584.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.26,586.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:586.37,587.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:589.3,589.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:591.2,591.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594.90,602.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604.68,605.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:605.71,607.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:607.17,609.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:610.3,610.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:612.2,613.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:613.16,615.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:616.2,617.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:617.41,619.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:620.2,620.78 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623.65,625.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:625.16,627.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.2,628.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.17,630.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:631.2,631.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634.51,635.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:635.16,637.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:638.2,638.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641.56,642.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:642.28,644.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:645.2,646.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649.92,651.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:651.29,653.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:654.2,654.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657.86,659.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:659.29,661.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:662.2,662.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665.94,667.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:667.29,669.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:670.2,670.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673.98,675.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:675.29,677.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:678.2,678.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:17.93,18.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:18.104,20.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:22.2,23.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:23.16,25.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:27.2,28.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:28.19,30.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:32.2,35.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:35.33,36.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:36.47,39.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:42.2,44.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:44.20,47.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:48.2,49.68 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:49.68,50.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:50.48,52.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.3,53.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.32,55.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:55.23,56.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:56.63,58.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:59.5,59.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:61.4,61.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:64.2,71.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:71.17,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.8,73.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.29,75.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:75.36,77.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:78.3,83.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.2,86.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.35,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:90.2,97.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:101.2,110.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:110.28,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:113.2,124.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:133.93,134.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:134.35,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:138.2,139.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:139.16,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:143.2,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.2,147.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.17,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:151.2,152.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:152.33,153.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:153.47,156.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:160.16,162.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:164.2,176.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:176.26,178.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:178.23,180.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:181.3,192.5 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:195.2,196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:199.2,199.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:22.104,24.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:24.16,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:28.2,29.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:29.18,31.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:33.2,33.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:34.13,35.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:36.13,37.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:38.14,39.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:40.16,41.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:42.10,43.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:51.67,53.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:57.68,58.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:58.33,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:61.2,61.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:67.42,69.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:74.61,76.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:76.26,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:79.2,79.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:85.90,86.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:86.49,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:90.2,91.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:91.15,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:94.2,95.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:95.17,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:100.2,103.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:103.16,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:107.2,113.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:113.12,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:115.18,117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:118.3,119.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:119.20,121.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:122.3,124.48 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:125.8,127.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:129.2,130.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:130.16,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:134.2,139.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:145.90,147.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:151.2,152.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:152.16,154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:157.16,158.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:158.47,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:161.3,161.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:164.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:170.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:173.8,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:176.2,176.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:181.92,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:187.2,188.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:188.16,190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:192.2,200.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:200.25,207.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:207.28,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:210.3,210.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:212.2,212.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:216.93,217.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:217.52,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:221.2,222.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:222.15,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:226.2,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.2,231.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.47,232.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:232.47,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:235.3,235.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:238.2,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:35.127,36.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:36.23,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:39.2,40.40 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:40.40,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.2,43.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.37,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.2,46.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.37,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:49.2,49.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:52.23,80.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:82.26,140.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:142.92,143.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:143.25,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:147.2,148.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:148.49,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:152.2,152.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:153.17,154.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:154.24,156.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:157.3,158.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:158.17,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:161.3,165.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:166.17,167.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:167.22,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.3,170.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.22,172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:173.3,174.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:174.17,176.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:177.3,181.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:182.16,189.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:189.23,191.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.3,192.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.24,194.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.3,195.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.39,197.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:198.3,207.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:207.17,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.3,210.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.69,212.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:213.3,213.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:214.10,215.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:219.92,220.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:220.25,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:224.2,225.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:225.49,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:229.2,229.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:230.17,232.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:232.24,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:235.3,236.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:236.17,238.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.3,239.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.59,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.3,242.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.81,244.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:245.3,250.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:251.17,253.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:253.22,255.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:256.3,257.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:257.17,259.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.3,260.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.79,262.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:263.3,268.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:269.10,270.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:274.91,276.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:276.16,278.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.2,279.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.67,280.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:280.76,282.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:285.2,286.52 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:286.52,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:289.2,289.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:292.74,294.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:294.16,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.2,297.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.62,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:300.2,300.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:303.109,304.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:304.56,306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.2,307.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.25,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.2,310.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.81,312.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.2,313.102 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.102,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.2,316.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.108,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.2,319.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.99,321.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.2,322.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.99,324.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.2,325.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.60,327.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.2,328.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.34,330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.2,331.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.114,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.2,334.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.66,336.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.2,337.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.40,339.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.2,340.132 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.132,342.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.2,343.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.35,345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:346.2,346.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:349.92,350.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:350.103,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:354.2,355.52 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:355.52,357.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.2,358.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.32,360.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:361.2,361.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:364.108,365.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:365.19,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:368.2,369.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:369.53,371.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.2,372.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.19,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.2,375.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.39,376.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:376.34,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:380.2,380.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:383.66,385.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:385.53,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.2,388.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.19,390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:391.2,391.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:16.2,18.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:19.16,20.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:21.14,22.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:23.15,24.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:25.16,26.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:27.10,28.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21.75,23.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25.41,28.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30.31,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39.38,46.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48.50,56.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58.43,70.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72.80,73.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:73.36,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.2,76.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.48,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:79.2,79.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82.97,84.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:87.2,88.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:88.16,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:91.2,92.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:92.16,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:95.2,96.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:96.16,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:99.2,99.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102.104,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:111.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:115.2,116.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:116.16,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:119.2,119.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122.96,124.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:127.2,128.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:128.19,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:131.2,132.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:132.18,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:135.2,141.79 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:141.79,143.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:143.17,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:146.3,146.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:148.2,148.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151.77,153.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:156.2,157.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:157.19,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:160.2,160.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:22.15,23.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:24.13,25.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:26.14,27.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:28.16,29.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:30.16,31.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:32.10,33.102 1 0 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/create-database.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/create-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/create-database.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/create-database.stdout.log new file mode 100644 index 00000000..4b15bd57 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/create-database.stdout.log @@ -0,0 +1 @@ +CREATE DATABASE diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/create-pgvector.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/create-pgvector.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/create-pgvector.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/create-pgvector.stdout.log new file mode 100644 index 00000000..d26bad14 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/create-pgvector.stdout.log @@ -0,0 +1 @@ +CREATE EXTENSION diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/database-identity.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/database-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/database-identity.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/database-identity.stdout.log new file mode 100644 index 00000000..74564c90 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/database-identity.stdout.log @@ -0,0 +1 @@ +{"database" : "engram_prc_rg_test_8b1d3112a7a95fbb_r3", "schema" : "public", "server_version" : "17.10 (Debian 17.10-1.pgdg12+1)", "user" : "engram"} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/go-test-summary.json b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/go-test-summary.json new file mode 100644 index 00000000..d0e6cfbf --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/go-test-summary.json @@ -0,0 +1,40 @@ +{ + "schema_version": 1, + "verdict": "PASS", + "input_path": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\go-test.stdout.jsonl", + "fail_on_unexpected_skip": true, + "allowed_skip_identities": [], + "counts": { + "packages": 1, + "tests": 1, + "passed": 1, + "failed": 0, + "skipped": 0, + "no_tests": 0, + "zero_tests": 0, + "incomplete": 0, + "unexpected_skips": 0, + "malformed_lines": 0 + }, + "packages": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "outcome": "pass", + "elapsed_seconds": 4.327, + "last_output": "ok \tgithub.com/thebtf/engram/internal/mcp\t4.318s\tcoverage: 0.1% of statements", + "tests_observed": 1 + } + ], + "tests": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEC_F1_TagDerivedBackfill_T007", + "outcome": "pass", + "elapsed_seconds": 4.18, + "last_output": "--- PASS: TestEC_F1_TagDerivedBackfill_T007 (4.18s)", + "skip_allowed": false + } + ], + "unexpected_skips": [], + "errors": [] +} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/go-test.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/go-test.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/go-test.stdout.jsonl b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/go-test.stdout.jsonl new file mode 100644 index 00000000..4a8d4d64 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/go-test.stdout.jsonl @@ -0,0 +1,16 @@ +{"Time":"2026-07-11T03:35:10.6557715+03:00","Action":"start","Package":"github.com/thebtf/engram/internal/mcp"} +{"Time":"2026-07-11T03:35:10.7595681+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007"} +{"Time":"2026-07-11T03:35:10.7595681+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"=== RUN TestEC_F1_TagDerivedBackfill_T007\n"} +{"Time":"2026-07-11T03:35:11.7430784+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"warn\",\"error\":\"ERROR: relation \\\"observation_vectors\\\" does not exist (SQLSTATE 42P01)\",\"time\":\"2026-07-11T03:35:11+03:00\",\"message\":\"migration 040: orphan vector cleanup failed (non-fatal)\"}\n"} +{"Time":"2026-07-11T03:35:11.7430784+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"garbage_deleted\":0,\"orphan_vectors_deleted\":0,\"time\":\"2026-07-11T03:35:11+03:00\",\"message\":\"migration 040: garbage cleanup complete\"}\n"} +{"Time":"2026-07-11T03:35:11.7520795+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"orphan_vectors_deleted\":0,\"time\":\"2026-07-11T03:35:11+03:00\",\"message\":\"migration 041: orphan vector purge complete\"}\n"} +{"Time":"2026-07-11T03:35:11.7605959+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"patterns_deleted\":0,\"time\":\"2026-07-11T03:35:11+03:00\",\"message\":\"migration 042: low-quality pattern purge complete\"}\n"} +{"Time":"2026-07-11T03:35:11.7980977+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"total_deleted\":0,\"time\":\"2026-07-11T03:35:11+03:00\",\"message\":\"migration 043: radical observation cleanup complete\"}\n"} +{"Time":"2026-07-11T03:35:13.1987623+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"warn\",\"error\":\"ERROR: extension \\\"vectorscale\\\" is not available (SQLSTATE 0A000)\",\"time\":\"2026-07-11T03:35:13+03:00\",\"message\":\"migration 109: vectorscale extension not available, skipping DiskANN index\"}\n"} +{"Time":"2026-07-11T03:35:14.5258079+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:35:14+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:35:14.9382901+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"--- PASS: TestEC_F1_TagDerivedBackfill_T007 (4.18s)\n"} +{"Time":"2026-07-11T03:35:14.9382901+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Elapsed":4.18} +{"Time":"2026-07-11T03:35:14.9382901+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"PASS\n"} +{"Time":"2026-07-11T03:35:14.9552909+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"coverage: 0.1% of statements\n"} +{"Time":"2026-07-11T03:35:14.9827898+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"ok \tgithub.com/thebtf/engram/internal/mcp\t4.318s\tcoverage: 0.1% of statements\n"} +{"Time":"2026-07-11T03:35:14.9827898+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Elapsed":4.327} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/pg-stat-activity-after.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/pg-stat-activity-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/pg-stat-activity-after.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/pg-stat-activity-after.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/pg-stat-activity-after.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/pg-stat-activity-before.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/pg-stat-activity-before.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/repeat-summary.json b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/repeat-summary.json new file mode 100644 index 00000000..14a7f823 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/repeat-summary.json @@ -0,0 +1,33 @@ +{ + "repeat": 3, + "verdict": "PASS", + "database": "engram_prc_rg_test_8b1d3112a7a95fbb_r3", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_8b1d3112a7a95fbb_r3.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": false, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 0, + "json_parser_exit": 0, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\cleanup\\cleanup.json", + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03" +} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/server-connection-count-after.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/server-connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/server-connection-count-after.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/server-connection-count-after.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/server-connection-count-after.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/server-connection-count-before.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/server-connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/server-connection-count-before.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/server-connection-count-before.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/server-connection-count-before.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/targeted-coverage.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/targeted-coverage.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/targeted-coverage.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/targeted-coverage.stdout.log new file mode 100644 index 00000000..c958686c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/repeat-03/targeted-coverage.stdout.log @@ -0,0 +1,352 @@ +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33: effectiveAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44: isAuditEnabled 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52: runAuditAsync 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77: marshalState 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92: logAuditCreate 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117: logAuditEdit 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142: logAuditDelete 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166: logAuditGeneric 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189: logAuditSupersede 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:30: parseArgs 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:46: coerceString 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:67: coerceInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:97: coerceInt64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:127: coerceFloat64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:151: coerceBool 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:177: coerceStringSlice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:204: coerceInt64Slice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:222: clampToInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:236: clampInt64ToInt 0.0% +github.com/thebtf/engram/internal/mcp/context.go:17: extractProjectFromHeader 0.0% +github.com/thebtf/engram/internal/mcp/context.go:22: contextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:29: ContextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:35: projectFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:41: contextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:48: ContextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:54: sessionFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:61: actorFromContext 0.0% +github.com/thebtf/engram/internal/mcp/health.go:22: NewMCPHealth 0.0% +github.com/thebtf/engram/internal/mcp/health.go:29: RecordRequest 0.0% +github.com/thebtf/engram/internal/mcp/health.go:36: RecordError 0.0% +github.com/thebtf/engram/internal/mcp/health.go:42: rotateWindowIfNeeded 0.0% +github.com/thebtf/engram/internal/mcp/health.go:55: HandleHealth 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28: ruleGovernanceCaptureEnabled 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39: captureActiveRuleIntent 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104: ruleIntentFingerprint 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113: marshalRuleCandidateIntentResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:127: NewServer 100.0% +github.com/thebtf/engram/internal/mcp/server.go:141: SetBackfillStatusFunc 0.0% +github.com/thebtf/engram/internal/mcp/server.go:146: SetVersionedDocumentStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:151: SetIssueStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:156: SetMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:161: SetMetaMemoryIndex 0.0% +github.com/thebtf/engram/internal/mcp/server.go:166: SetHintQueue 0.0% +github.com/thebtf/engram/internal/mcp/server.go:171: SetStateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:176: SetDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/server.go:181: SetBehavioralRulesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:186: SetRuleGovernanceStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:191: SetRuleInjectionTelemetryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:195: SetPromotionStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:199: SetGraphStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:204: SetNodesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:211: SetAuditStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:216: SetPurgeStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:222: SetCandidateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:228: SetSnapshotStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:234: SetBulkFacade 0.0% +github.com/thebtf/engram/internal/mcp/server.go:240: setTestAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/server.go:246: setTestMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/server.go:252: setTestMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/server.go:260: SetWriteLintOrchestrator 0.0% +github.com/thebtf/engram/internal/mcp/server.go:269: SetRedactionRules 0.0% +github.com/thebtf/engram/internal/mcp/server.go:274: SetEmbeddingStores 0.0% +github.com/thebtf/engram/internal/mcp/server.go:282: SetRerankClient 0.0% +github.com/thebtf/engram/internal/mcp/server.go:290: SetStatsDB 0.0% +github.com/thebtf/engram/internal/mcp/server.go:297: HandleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:303: ListTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:332: Version 0.0% +github.com/thebtf/engram/internal/mcp/server.go:383: Run 0.0% +github.com/thebtf/engram/internal/mcp/server.go:427: handleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:461: handleNotification 0.0% +github.com/thebtf/engram/internal/mcp/server.go:473: handleInitialize 0.0% +github.com/thebtf/engram/internal/mcp/server.go:496: buildInstructions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:660: storeMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:712: recallMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:805: primaryTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:942: handleToolsList 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1612: handleToolsCall 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1644: sanitizeToolCallArgs 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1656: callTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1874: sendResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1884: sendError 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1896: handleFindSimilarObservations 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1927: handleGetMemoryStats 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2055: handleBackfillStatus 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2071: handleCheckSystemHealth 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2216: handleAnalyzeSearchPatterns 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2246: handleSearchSessions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2251: handleListSessions 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:18: buildAdminTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:68: adminActionsForEnv 33.3% +github.com/thebtf/engram/internal/mcp/tools_admin.go:80: vnextEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:84: handleAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:120: handlePurgeProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27: ambientHintsEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32: ambientHintsTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48: handleGetAmbientHints 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86: normalizeAmbientHintsToolLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96: ambientHintItems 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114: errMissingSessionID 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:31: handleGetMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:107: memoryBriefUsesPrincipalScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:115: handlePrincipalMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:259: truncateBriefContent 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:270: filterInjectionByScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25: bulkOpsTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95: handleBulkPromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154: handleBulkDelete 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211: handleBulkSupersede 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31: candidateItemFromDomain 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51: newCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59: requireCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68: candidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165: handleListCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208: handleGetCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239: handlePromoteCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348: handleRejectCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402: handleSupersedeCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34: codeIntelEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42: SetCodeChunkStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48: codebaseSearchTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79: codebaseStatusTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100: handleCodebaseSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194: handleCodebaseStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:21: getVault 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:35: credentialStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:49: handleStoreCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:130: handleGetCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:192: handleListCredentials 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:243: handleDeleteCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:302: handleVaultStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:338: expandTagHierarchy 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:16: directivesCaptureEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:20: rememberDirectiveTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:38: currentDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:48: handleRememberDirective 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:72: parseRememberDirectiveArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10: handleDocsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:15: handleListCollections 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:61: handleListDocuments 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:121: handleGetDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:165: handleRemoveDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:197: handleIngestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:235: handleSearchCollection 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15: handleDocCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61: handleDocRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117: handleDocUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122: handleDocList 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175: handleDocHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232: handleDocComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19: SetExperienceProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23: experienceHistoryTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40: experienceHistoryReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65: experienceHistoryDetailSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82: experienceHistoryTriggerEnum 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91: handleExperienceHistoryRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103: handleExperienceHistoryDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115: parseExperienceHistoryReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142: parseExperienceHistoryDetailArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157: experienceHistoryTriggersFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180: marshalExperienceHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12: handleFeedbackConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36: handleSetSessionOutcome 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:27: governanceTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:98: handleListSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:167: handleRollbackSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:215: handlePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:258: handleRedactionRulesStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:284: resolveGovernanceActor 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:64: handleGraph 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:100: graphAddEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:216: mcpGraphEndpointExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:243: mcpGraphEdgeAlreadyExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:276: graphAddNode 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:317: graphRemoveEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:332: graphGetEdges 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:397: filterEdgesByNodeType 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:457: graphTraverse 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:480: graphFindPath 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:502: graphSynonyms 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23: graphCreateEdgeWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80: graphEndpointExistsWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114: graphDuplicateEdgeExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25: handleIngest 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43: ingestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20: handleImportInstincts 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:19: issuesToolSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:109: validateIssueActionParams 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:143: handleIssues 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:189: resolveSourceProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:205: handleIssueCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:250: handleIssueList 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:311: handleIssueGet 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:344: handleIssueUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:382: handleIssueComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:408: handleIssueReopen 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:425: handleIssueClose 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22: handleLifecycle 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48: lifecycleInfo 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87: lifecyclePromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118: lifecycleDemote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149: lifecycleSetConfidence 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172: lifecycleSetDefeasibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191: lifecycleSleepStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197: lifecycleDecayPreview 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233: marshalJSON 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:35: vnextFEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:42: isValidPrivacyScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:54: derivePrivacyScopeFromLegacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:82: deriveLegacyScopeFromPrivacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:93: applyPrincipalMemoryMetadata 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:135: addPrincipalMemoryFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:161: newScopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:172: writeLintVisibilityCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:186: writeLintVisibilityOptions 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:192: scopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:202: filterVisibleWriteGateCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:214: domainManageAllowed 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:218: List 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:272: writeLintVisibilityFetchLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:286: Get 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:297: Create 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:301: Update 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:305: MarkSuperseded 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:319: effectiveMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:329: isValidStoreObservationType 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:354: handleStoreMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111: handleEditMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218: computeTTLDays 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258: truncateTitle 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270: keepRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280: keepRecallMemoryFilters 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342: handleRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690: staleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700: marshalWithStaleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727: Rank 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1751: handleRecallMemoryHybrid 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252: handleRateMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281: handleSuppressMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17: SetDomainRegistryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21: checkDomainWriteMCP 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43: addDomainWriteDecisionFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51: marshalStoreMemoryAugmented 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26: newMemoryStoreSignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33: s6OutcomeEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37: effectiveMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47: currentMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58: rateMemorySignificanceTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74: handleRateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109: RateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18: s2MetaMemoryEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22: knowAboutTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39: handleKnowAbout 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104: parseKnowAboutLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118: summarizeMetaIndexTags 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153: summarizeMetaIndexDateRange 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23: SetPrincipalMemoryQueryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27: principalMemoryQueryTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52: handleQueryPrincipalMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134: principalMemoryQueryCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149: parsePrincipalMemoryQueryLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160: principalMemoryQueryText 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167: parsePrincipalMemoryQueryVisibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179: parsePrincipalMemoryQueryOffset 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190: parsePrincipalMemoryQueryInt 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215: parsePrincipalMemoryQueryBool 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:28: handleRecall 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:125: parseRecallIncludedPrincipals 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:165: appendRecallIncludedPrincipalMemories 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:223: recallIncludeTargetMatchesCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:231: recallPrincipalQueryItemToMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:247: handleRecallSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20: currentReviewLoopCandidateLister 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30: reviewLoopCandidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65: reviewLoopReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78: reviewPacketIDSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91: handleReviewMetricsRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110: handleReviewQueueRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140: handleReviewPacketDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151: handleReviewPacketPreviewAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167: handleReviewPacketApplyAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189: parseReviewLoopReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212: reviewLoopMCPPacketTypeSupported 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217: reviewLoopActionFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225: reviewLoopReasonFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233: loadReviewPacketCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256: applyReviewPacketPreserve 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278: applyReviewPacketSuppress 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296: reviewLoopMemoryFromCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320: filterRiskyMCPReviewCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330: marshalReviewLoop 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17: ruleGovernanceReadTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126: handleRuleGovernanceHealth 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176: handleRuleGovernanceQueue 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233: handleRuleGovernanceSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278: handleRuleGovernanceUsefulness 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338: handleRuleGovernanceTransition 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373: handleRuleGovernancePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406: handleRuleGovernanceRollback 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483: requireRuleGovernanceReadAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495: requireRuleGovernanceProjectOrAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505: ruleGovernanceCallerIsAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510: requireRuleGovernanceAdminAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518: redactRuleGovernanceEvidenceHandles 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535: redactRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553: ruleGovernanceEvidenceHandleHasSensitiveText 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559: isCanonicalRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580: isSafeRuleGovernanceEvidenceID 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594: parseRuleGovernanceTransitionRequest 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604: parseRuleGovernanceSince 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623: boundedRuleGovernanceLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634: formatRuleGovernanceTime 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641: formatRuleGovernanceTimePtr 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649: stringRuleCandidateStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657: stringRuleVersionStateCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665: stringRuleArbiterRunStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673: stringRuleInjectionEventTypeCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:17: handleStoreRule 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:133: handleListRules 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:22: handleSettingsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:51: SetSettingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:57: settingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:67: isSecretSettingKey 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:74: requireAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:85: handleSetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:145: handleGetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:181: handleListSettings 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:216: handleDeleteSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:35: resumeScopesFromFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:52: stateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:82: setStateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:142: handleGetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:219: handleSetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:274: decodeSessionStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:292: validateSessionStateBudget 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:303: validateNativeResumePacket 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:349: decodeProjectStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:364: requireStateObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:383: requireNestedObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10: handleStoreConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21: SetTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25: temporalTruthEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30: temporalTruthTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39: temporalTruthRefreshTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48: temporalTruthRefreshSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58: temporalTruthSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72: currentTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82: handleTemporalTruth 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102: handleTemporalTruthRefresh 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122: parseTemporalTruthArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151: parseTemporalTruthRefreshProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10: handleVaultConsolidated 0.0% +total: (statements) 0.1% diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/summary.json b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/summary.json new file mode 100644 index 00000000..a65d7dbc --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-focused-repeat3/summary.json @@ -0,0 +1,130 @@ +{ + "schema_version": 1, + "gate": "release-gates-foundation", + "run_id": "t007-maker-focused-repeat3", + "started_at": "2026-07-11T00:34:31.5901586+00:00", + "finished_at": "2026-07-11T00:35:21.4155778+00:00", + "duration_seconds": 49.825, + "verdict": "PASS", + "counts": { + "requested_repeats": 3, + "completed_repeats": 3, + "passed_repeats": 3, + "failed_repeats": 0, + "child_commands": 42, + "nonzero_child_commands": 0 + }, + "packages": [ + "./internal/mcp" + ], + "run_pattern": "^TestEC_F1_TagDerivedBackfill_T007$", + "coverage_policy": "Targeted", + "connection_budget": 20, + "race": false, + "database_dsn": "REDACTED_DATABASE_DSN", + "environment": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\environment.json", + "commands": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\commands.json", + "repeats": [ + { + "repeat": 1, + "verdict": "PASS", + "database": "engram_prc_rg_test_8b1d3112a7a95fbb_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_8b1d3112a7a95fbb_r1.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": false, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 0, + "json_parser_exit": 0, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01\\cleanup\\cleanup.json", + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-01" + }, + { + "repeat": 2, + "verdict": "PASS", + "database": "engram_prc_rg_test_8b1d3112a7a95fbb_r2", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_8b1d3112a7a95fbb_r2.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": false, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 0, + "json_parser_exit": 0, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02\\cleanup\\cleanup.json", + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-02" + }, + { + "repeat": 3, + "verdict": "PASS", + "database": "engram_prc_rg_test_8b1d3112a7a95fbb_r3", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_8b1d3112a7a95fbb_r3.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": false, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 0, + "json_parser_exit": 0, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03\\cleanup\\cleanup.json", + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3\\repeat-03" + } + ], + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-focused-repeat3" +} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/commands.json b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/commands.json new file mode 100644 index 00000000..9063fc5f --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/commands.json @@ -0,0 +1,441 @@ +[ + { + "name": "go-version", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "version" + ], + "environment_keys": [], + "command": "C:\\Program Files\\Go\\bin\\go.exe version", + "started_at": "2026-07-11T00:35:42.4551819+00:00", + "finished_at": "2026-07-11T00:35:42.7578948+00:00", + "duration_seconds": 0.303, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\go-version.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\go-version.stderr.log" + }, + { + "name": "postgres-container-identity", + "executable": "docker", + "arguments": [ + "inspect", + "--format", + "{{.Name}}|{{.Config.Image}}|{{.Image}}|{{.State.Running}}", + "engram-prc-postgres" + ], + "environment_keys": [], + "command": "docker inspect --format {{.Name}}|{{.Config.Image}}|{{.Image}}|{{.State.Running}} engram-prc-postgres", + "started_at": "2026-07-11T00:35:42.8146572+00:00", + "finished_at": "2026-07-11T00:35:43.1543953+00:00", + "duration_seconds": 0.34, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\postgres-container-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\postgres-container-identity.stderr.log" + }, + { + "name": "postgres-server-identity", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT json_build_object('server_version', current_setting('server_version'), 'server_version_num', current_setting('server_version_num'), 'version', version(), 'max_connections', current_setting('max_connections'), 'superuser_reserved_connections', current_setting('superuser_reserved_connections'), 'reserved_connections', COALESCE(NULLIF(current_setting('reserved_connections', true), ''), '0'), 'current_connections', (SELECT count(*)::text FROM pg_stat_activity), 'database', current_database(), 'schema', current_schema(), 'user', current_user)::text;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT json_build_object('server_version', current_setting('server_version'), 'server_version_num', current_setting('server_version_num'), 'version', version(), 'max_connections', current_setting('max_connections'), 'superuser_reserved_connections', current_setting('superuser_reserved_connections'), 'reserved_connections', COALESCE(NULLIF(current_setting('reserved_connections', true), ''), '0'), 'current_connections', (SELECT count(*)::text FROM pg_stat_activity), 'database', current_database(), 'schema', current_schema(), 'user', current_user)::text;", + "started_at": "2026-07-11T00:35:43.1677132+00:00", + "finished_at": "2026-07-11T00:35:43.6625158+00:00", + "duration_seconds": 0.495, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\postgres-server-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\postgres-server-identity.stderr.log" + }, + { + "name": "repeat-1-create-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "CREATE DATABASE \"engram_prc_rg_test_4a8d23a359bc81a6_r1\" OWNER \"engram\";" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c CREATE DATABASE \"engram_prc_rg_test_4a8d23a359bc81a6_r1\" OWNER \"engram\";", + "started_at": "2026-07-11T00:35:43.7114045+00:00", + "finished_at": "2026-07-11T00:35:44.5681850+00:00", + "duration_seconds": 0.857, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\create-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\create-database.stderr.log" + }, + { + "name": "repeat-1-create-pgvector", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_4a8d23a359bc81a6_r1", + "-At", + "-F", + "|", + "-c", + "CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_4a8d23a359bc81a6_r1 -At -F | -c CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;", + "started_at": "2026-07-11T00:35:44.5748320+00:00", + "finished_at": "2026-07-11T00:35:45.0677538+00:00", + "duration_seconds": 0.493, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\create-pgvector.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\create-pgvector.stderr.log" + }, + { + "name": "repeat-1-database-identity", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_4a8d23a359bc81a6_r1", + "-At", + "-F", + "|", + "-c", + "SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_4a8d23a359bc81a6_r1 -At -F | -c SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;", + "started_at": "2026-07-11T00:35:45.0715288+00:00", + "finished_at": "2026-07-11T00:35:45.6245069+00:00", + "duration_seconds": 0.553, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\database-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\database-identity.stderr.log" + }, + { + "name": "repeat-1-pg-stat-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_4a8d23a359bc81a6_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_4a8d23a359bc81a6_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:35:45.6300593+00:00", + "finished_at": "2026-07-11T00:35:46.0810960+00:00", + "duration_seconds": 0.451, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\pg-stat-activity-before.stderr.log" + }, + { + "name": "repeat-1-server-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T00:35:46.0844599+00:00", + "finished_at": "2026-07-11T00:35:46.4927084+00:00", + "duration_seconds": 0.408, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\server-connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\server-connection-count-before.stderr.log" + }, + { + "name": "repeat-1-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_4a8d23a359bc81a6_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_4a8d23a359bc81a6_r1';", + "started_at": "2026-07-11T00:35:46.5016687+00:00", + "finished_at": "2026-07-11T00:35:47.1974127+00:00", + "duration_seconds": 0.696, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\connection-count-before.stderr.log" + }, + { + "name": "repeat-1-go-test", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "test", + "-json", + "-p", + "1", + "-parallel", + "1", + "-count=1", + "-timeout", + "30m", + "-covermode=atomic", + "-coverprofile=.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\coverage.out", + "./internal/mcp" + ], + "environment_keys": [ + "DATABASE_DSN", + "DATABASE_MAX_CONNS", + "ENGRAM_RELEASE_GATE_REPEAT", + "ENGRAM_RELEASE_GATE_RUN_ID", + "ENGRAM_TEST_DSN", + "TEST_DATABASE_DSN" + ], + "command": "C:\\Program Files\\Go\\bin\\go.exe test -json -p 1 -parallel 1 -count=1 -timeout 30m -covermode=atomic -coverprofile=.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\coverage.out ./internal/mcp", + "started_at": "2026-07-11T00:35:47.2040810+00:00", + "finished_at": "2026-07-11T00:35:59.0755050+00:00", + "duration_seconds": 11.871, + "exit_code": 1, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\go-test.stdout.jsonl", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\go-test.stderr.log" + }, + { + "name": "repeat-1-assert-go-test-json", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-current-contract\\scripts\\production-gates\\assert-go-test-json.ps1", + "-InputPath", + ".agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\go-test.stdout.jsonl", + "-SummaryPath", + ".agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\go-test-summary.json" + ], + "environment_keys": [], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-current-contract\\scripts\\production-gates\\assert-go-test-json.ps1 -InputPath .agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\go-test.stdout.jsonl -SummaryPath .agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\go-test-summary.json", + "started_at": "2026-07-11T00:35:59.0802198+00:00", + "finished_at": "2026-07-11T00:36:00.0133369+00:00", + "duration_seconds": 0.933, + "exit_code": 1, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\assert-go-test-json.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\assert-go-test-json.stderr.log" + }, + { + "name": "repeat-1-targeted-coverage-report", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "tool", + "cover", + "-func=.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\coverage.out" + ], + "environment_keys": [], + "command": "C:\\Program Files\\Go\\bin\\go.exe tool cover -func=.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\coverage.out", + "started_at": "2026-07-11T00:36:00.0183934+00:00", + "finished_at": "2026-07-11T00:36:00.6786378+00:00", + "duration_seconds": 0.66, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\targeted-coverage.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\targeted-coverage.stderr.log" + }, + { + "name": "repeat-1-pg-stat-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_4a8d23a359bc81a6_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_4a8d23a359bc81a6_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:36:00.6792585+00:00", + "finished_at": "2026-07-11T00:36:01.0549910+00:00", + "duration_seconds": 0.376, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\pg-stat-activity-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\pg-stat-activity-after.stderr.log" + }, + { + "name": "repeat-1-server-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T00:36:01.0564577+00:00", + "finished_at": "2026-07-11T00:36:01.4388172+00:00", + "duration_seconds": 0.382, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\server-connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\server-connection-count-after.stderr.log" + }, + { + "name": "repeat-1-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_4a8d23a359bc81a6_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_4a8d23a359bc81a6_r1';", + "started_at": "2026-07-11T00:36:01.4407127+00:00", + "finished_at": "2026-07-11T00:36:01.8484293+00:00", + "duration_seconds": 0.408, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\connection-count-after.stderr.log" + }, + { + "name": "repeat-1-cleanup", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-current-contract\\scripts\\production-gates\\cleanup-db-sessions.ps1", + "-DatabaseName", + "engram_prc_rg_test_4a8d23a359bc81a6_r1", + "-SchemaName", + "public", + "-ArtifactRoot", + ".agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01", + "-RunId", + "t007-maker-full-mcp-repeat-1", + "-PostgresContainer", + "engram-prc-postgres" + ], + "environment_keys": [ + "ENGRAM_TEST_ADMIN_DSN" + ], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-current-contract\\scripts\\production-gates\\cleanup-db-sessions.ps1 -DatabaseName engram_prc_rg_test_4a8d23a359bc81a6_r1 -SchemaName public -ArtifactRoot .agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01 -RunId t007-maker-full-mcp-repeat-1 -PostgresContainer engram-prc-postgres", + "started_at": "2026-07-11T00:36:01.8518329+00:00", + "finished_at": "2026-07-11T00:36:05.2452020+00:00", + "duration_seconds": 3.393, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\cleanup-process.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\cleanup-process.stderr.log" + } +] diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/environment.json b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/environment.json new file mode 100644 index 00000000..7f9c2d46 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/environment.json @@ -0,0 +1,52 @@ +{ + "schema_version": 1, + "run_id": "t007-maker-full-mcp", + "timestamp": "2026-07-11T00:35:42.4341012+00:00", + "go_version": "go version go1.25.11 windows/amd64", + "postgres": { + "declared_image": "pgvector/pgvector:pg17", + "container": { + "name": "/engram-prc-postgres", + "configured_image": "pgvector/pgvector:pg17", + "image_id": "sha256:feb68f4f15446397d8cac7f4fe48fe4586de83160d1fc48b46283312d1a33966", + "running": true + }, + "server": { + "server_version": "17.10 (Debian 17.10-1.pgdg12+1)", + "server_version_num": "170010", + "version": "PostgreSQL 17.10 (Debian 17.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit", + "max_connections": "100", + "superuser_reserved_connections": "3", + "reserved_connections": "0", + "current_connections": "6", + "database": "postgres", + "schema": "public", + "user": "engram" + }, + "admin_dsn": "postgres://engram:REDACTED@127.0.0.1:55432/postgres?sslmode=disable" + }, + "packages": [ + "./internal/mcp" + ], + "run_pattern": null, + "repeat": 1, + "fail_on_unexpected_skip": false, + "allowed_skip_identities": [], + "coverage_policy": "Targeted", + "connection_budget": 20, + "race": false, + "require_session_start_execution": false, + "required_session_start_test_count": 12, + "sequential_execution": { + "go_package_parallelism": 1, + "go_test_parallelism": 1, + "database_max_connections": 20 + }, + "govulncheck_policy": { + "authoritative": [ + "source scan with tests", + "unstripped binary scan" + ], + "non_authoritative": "stripped binary scan (module-level fallback when symbols are absent)" + } +} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/go-version.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/go-version.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/go-version.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/go-version.stdout.log new file mode 100644 index 00000000..a857be3f --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/go-version.stdout.log @@ -0,0 +1 @@ +go version go1.25.11 windows/amd64 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/postgres-container-identity.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/postgres-container-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/postgres-container-identity.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/postgres-container-identity.stdout.log new file mode 100644 index 00000000..c110d492 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/postgres-container-identity.stdout.log @@ -0,0 +1 @@ +/engram-prc-postgres|pgvector/pgvector:pg17|sha256:feb68f4f15446397d8cac7f4fe48fe4586de83160d1fc48b46283312d1a33966|true diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/postgres-server-identity.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/postgres-server-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/postgres-server-identity.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/postgres-server-identity.stdout.log new file mode 100644 index 00000000..2e33d56e --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/postgres-server-identity.stdout.log @@ -0,0 +1 @@ +{"server_version" : "17.10 (Debian 17.10-1.pgdg12+1)", "server_version_num" : "170010", "version" : "PostgreSQL 17.10 (Debian 17.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit", "max_connections" : "100", "superuser_reserved_connections" : "3", "reserved_connections" : "0", "current_connections" : "6", "database" : "postgres", "schema" : "public", "user" : "engram"} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/assert-go-test-json.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/assert-go-test-json.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/assert-go-test-json.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/assert-go-test-json.stdout.log new file mode 100644 index 00000000..c3f06ff7 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/assert-go-test-json.stdout.log @@ -0,0 +1,2 @@ +go test JSON verdict=FAIL packages=1 tests=488 passed=487 failed=1 skipped=0 unexpected_skips=0 malformed=0 +summary=D:\Dev\engram\.w\t007-current-contract\.agent\reports\evidence\production-ready\t007-compat\t007-maker-full-mcp\repeat-01\go-test-summary.json diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/cleanup-process.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/cleanup-process.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/cleanup-process.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/cleanup-process.stdout.log new file mode 100644 index 00000000..98e949fb --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/cleanup-process.stdout.log @@ -0,0 +1,2 @@ +cleanup verdict=PASS database=engram_prc_rg_test_4a8d23a359bc81a6_r1 schema=public terminated_sessions=0 remaining_database_count=0 +summary=D:\Dev\engram\.w\t007-current-contract\.agent\reports\evidence\production-ready\t007-compat\t007-maker-full-mcp\repeat-01\cleanup\cleanup.json diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/cleanup/cleanup.json b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/cleanup/cleanup.json new file mode 100644 index 00000000..0cc94b56 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/cleanup/cleanup.json @@ -0,0 +1,170 @@ +{ + "schema_version": 1, + "run_id": "t007-maker-full-mcp-repeat-1", + "timestamp": "2026-07-11T00:36:05.1514660+00:00", + "verdict": "PASS", + "database": "engram_prc_rg_test_4a8d23a359bc81a6_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_4a8d23a359bc81a6_r1.public", + "admin_dsn": "postgres://engram:REDACTED@127.0.0.1:55432/postgres?sslmode=disable", + "postgres_container": "engram-prc-postgres", + "cleanup_status": "PASS", + "cleanup_attempted": true, + "database_existed_before": true, + "absence_verified": true, + "terminated_sessions": 0, + "remaining_database_count": 0, + "commands": [ + { + "name": "database-exists-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_4a8d23a359bc81a6_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_4a8d23a359bc81a6_r1';", + "started_at": "2026-07-11T00:36:02.6554475+00:00", + "finished_at": "2026-07-11T00:36:03.0817473+00:00", + "duration_seconds": 0.426, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\cleanup\\database-exists-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\cleanup\\database-exists-before.stderr.log" + }, + { + "name": "pg-stat-activity-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_4a8d23a359bc81a6_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_4a8d23a359bc81a6_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:36:03.1485160+00:00", + "finished_at": "2026-07-11T00:36:03.6580891+00:00", + "duration_seconds": 0.51, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\cleanup\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\cleanup\\pg-stat-activity-before.stderr.log" + }, + { + "name": "terminate-database-sessions", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_4a8d23a359bc81a6_r1' AND pid <> pg_backend_pid() ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_4a8d23a359bc81a6_r1' AND pid <> pg_backend_pid() ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:36:03.6624739+00:00", + "finished_at": "2026-07-11T00:36:04.1892611+00:00", + "duration_seconds": 0.527, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\cleanup\\terminate-sessions.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\cleanup\\terminate-sessions.stderr.log" + }, + { + "name": "drop-fresh-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "DROP DATABASE IF EXISTS \"engram_prc_rg_test_4a8d23a359bc81a6_r1\" WITH (FORCE);" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c DROP DATABASE IF EXISTS \"engram_prc_rg_test_4a8d23a359bc81a6_r1\" WITH (FORCE);", + "started_at": "2026-07-11T00:36:04.1986698+00:00", + "finished_at": "2026-07-11T00:36:04.7387609+00:00", + "duration_seconds": 0.54, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\cleanup\\drop-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\cleanup\\drop-database.stderr.log" + }, + { + "name": "verify-database-absent", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_4a8d23a359bc81a6_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_4a8d23a359bc81a6_r1';", + "started_at": "2026-07-11T00:36:04.7419101+00:00", + "finished_at": "2026-07-11T00:36:05.1430215+00:00", + "duration_seconds": 0.401, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\cleanup\\verify-database-absent.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\cleanup\\verify-database-absent.stderr.log" + } + ], + "errors": [] +} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/cleanup/database-exists-before.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/cleanup/database-exists-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/cleanup/database-exists-before.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/cleanup/database-exists-before.stdout.log new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/cleanup/database-exists-before.stdout.log @@ -0,0 +1 @@ +1 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/cleanup/drop-database.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/cleanup/drop-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/cleanup/drop-database.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/cleanup/drop-database.stdout.log new file mode 100644 index 00000000..ca12dce0 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/cleanup/drop-database.stdout.log @@ -0,0 +1 @@ +DROP DATABASE diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/cleanup/pg-stat-activity-before.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/cleanup/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/cleanup/pg-stat-activity-before.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/cleanup/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/cleanup/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/cleanup/terminate-sessions.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/cleanup/terminate-sessions.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/cleanup/terminate-sessions.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/cleanup/terminate-sessions.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/cleanup/terminate-sessions.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/cleanup/verify-database-absent.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/cleanup/verify-database-absent.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/cleanup/verify-database-absent.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/cleanup/verify-database-absent.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/cleanup/verify-database-absent.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/connection-count-after.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/connection-count-after.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/connection-count-after.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/connection-count-after.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/connection-count-before.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/connection-count-before.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/connection-count-before.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/connection-count-before.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/coverage.out b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/coverage.out new file mode 100644 index 00000000..430149bc --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/coverage.out @@ -0,0 +1,3472 @@ +mode: atomic +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33.53,34.30 1 7 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:34.30,36.3 1 6 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.2,37.25 1 1 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.25,39.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:40.2,40.12 1 1 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44.28,46.2 1 28 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52.83,53.12 1 8 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:53.12,54.16 1 8 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:54.16,55.32 1 8 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:55.32,61.5 1 1 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:63.3,65.33 3 8 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:65.33,71.4 1 1 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77.54,78.14 1 9 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:78.14,80.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:81.2,82.16 2 9 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:82.16,85.3 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:86.2,87.13 2 9 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92.91,93.23 1 13 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:93.23,95.3 1 11 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:96.2,97.15 2 2 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:97.15,99.3 1 1 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:100.2,105.65 4 1 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:105.65,113.3 1 1 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117.95,118.23 1 11 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:118.23,120.3 1 8 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:121.2,122.15 2 3 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:122.15,124.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:125.2,129.65 5 3 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:129.65,138.3 1 3 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142.87,143.23 1 2 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:143.23,145.3 1 1 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:146.2,147.15 2 1 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:150.2,153.65 4 1 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:153.65,161.3 1 1 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166.96,167.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:167.23,169.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:170.2,171.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:171.15,173.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:174.2,177.63 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:177.63,185.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189.97,190.23 1 2 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:190.23,192.3 1 1 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:193.2,194.15 2 1 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:194.15,196.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:197.2,200.68 4 1 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:200.68,208.3 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:30.62,31.20 1 174 +github.com/thebtf/engram/internal/mcp/coerce.go:31.20,33.3 1 2 +github.com/thebtf/engram/internal/mcp/coerce.go:34.2,35.49 2 172 +github.com/thebtf/engram/internal/mcp/coerce.go:35.49,37.3 1 5 +github.com/thebtf/engram/internal/mcp/coerce.go:38.2,38.14 1 167 +github.com/thebtf/engram/internal/mcp/coerce.go:38.14,40.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:41.2,41.15 1 167 +github.com/thebtf/engram/internal/mcp/coerce.go:46.52,47.14 1 712 +github.com/thebtf/engram/internal/mcp/coerce.go:47.14,49.3 1 375 +github.com/thebtf/engram/internal/mcp/coerce.go:50.2,50.23 1 337 +github.com/thebtf/engram/internal/mcp/coerce.go:51.14,52.11 1 333 +github.com/thebtf/engram/internal/mcp/coerce.go:53.19,54.20 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:55.15,56.45 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:57.12,58.31 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:59.10,60.20 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:67.43,68.14 1 68 +github.com/thebtf/engram/internal/mcp/coerce.go:68.14,70.3 1 29 +github.com/thebtf/engram/internal/mcp/coerce.go:71.2,71.23 1 39 +github.com/thebtf/engram/internal/mcp/coerce.go:72.15,73.23 1 33 +github.com/thebtf/engram/internal/mcp/coerce.go:74.19,75.38 1 2 +github.com/thebtf/engram/internal/mcp/coerce.go:75.38,77.4 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:78.3,78.40 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:78.40,80.4 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:81.3,81.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:82.14,83.56 1 3 +github.com/thebtf/engram/internal/mcp/coerce.go:83.56,85.4 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:86.3,86.54 1 2 +github.com/thebtf/engram/internal/mcp/coerce.go:86.54,88.4 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:89.3,89.20 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:90.10,91.20 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:97.49,98.14 1 52 +github.com/thebtf/engram/internal/mcp/coerce.go:98.14,100.3 1 3 +github.com/thebtf/engram/internal/mcp/coerce.go:101.2,101.23 1 49 +github.com/thebtf/engram/internal/mcp/coerce.go:102.15,103.18 1 39 +github.com/thebtf/engram/internal/mcp/coerce.go:104.19,105.38 1 3 +github.com/thebtf/engram/internal/mcp/coerce.go:105.38,107.4 1 2 +github.com/thebtf/engram/internal/mcp/coerce.go:108.3,108.40 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:108.40,110.4 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:111.3,111.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:112.14,113.56 1 7 +github.com/thebtf/engram/internal/mcp/coerce.go:113.56,115.4 1 5 +github.com/thebtf/engram/internal/mcp/coerce.go:116.3,116.54 1 2 +github.com/thebtf/engram/internal/mcp/coerce.go:116.54,118.4 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:119.3,119.20 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:120.10,121.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:127.55,128.14 1 41 +github.com/thebtf/engram/internal/mcp/coerce.go:128.14,130.3 1 33 +github.com/thebtf/engram/internal/mcp/coerce.go:131.2,131.23 1 8 +github.com/thebtf/engram/internal/mcp/coerce.go:132.15,133.11 1 4 +github.com/thebtf/engram/internal/mcp/coerce.go:134.19,135.40 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:135.40,137.4 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:138.3,138.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:139.14,140.54 1 3 +github.com/thebtf/engram/internal/mcp/coerce.go:140.54,142.4 1 2 +github.com/thebtf/engram/internal/mcp/coerce.go:143.3,143.20 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:144.10,145.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:151.46,152.14 1 144 +github.com/thebtf/engram/internal/mcp/coerce.go:152.14,154.3 1 120 +github.com/thebtf/engram/internal/mcp/coerce.go:155.2,155.23 1 24 +github.com/thebtf/engram/internal/mcp/coerce.go:156.12,157.11 1 19 +github.com/thebtf/engram/internal/mcp/coerce.go:158.14,159.54 1 3 +github.com/thebtf/engram/internal/mcp/coerce.go:159.54,161.4 1 2 +github.com/thebtf/engram/internal/mcp/coerce.go:162.3,162.20 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:163.15,164.16 1 2 +github.com/thebtf/engram/internal/mcp/coerce.go:165.19,166.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:166.40,168.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:169.3,169.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:170.10,171.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:177.40,178.14 1 123 +github.com/thebtf/engram/internal/mcp/coerce.go:178.14,180.3 1 109 +github.com/thebtf/engram/internal/mcp/coerce.go:181.2,181.23 1 14 +github.com/thebtf/engram/internal/mcp/coerce.go:182.13,184.26 2 12 +github.com/thebtf/engram/internal/mcp/coerce.go:184.26,185.36 1 17 +github.com/thebtf/engram/internal/mcp/coerce.go:185.36,187.5 1 16 +github.com/thebtf/engram/internal/mcp/coerce.go:189.3,189.16 1 12 +github.com/thebtf/engram/internal/mcp/coerce.go:190.16,191.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:192.14,193.14 1 2 +github.com/thebtf/engram/internal/mcp/coerce.go:193.14,195.4 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:196.3,196.13 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:197.10,198.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:204.38,205.14 1 43 +github.com/thebtf/engram/internal/mcp/coerce.go:205.14,207.3 1 34 +github.com/thebtf/engram/internal/mcp/coerce.go:208.2,209.9 2 9 +github.com/thebtf/engram/internal/mcp/coerce.go:209.9,211.3 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:212.2,213.27 2 8 +github.com/thebtf/engram/internal/mcp/coerce.go:213.27,214.42 1 18 +github.com/thebtf/engram/internal/mcp/coerce.go:214.42,216.4 1 17 +github.com/thebtf/engram/internal/mcp/coerce.go:218.2,218.15 1 8 +github.com/thebtf/engram/internal/mcp/coerce.go:222.32,223.39 1 35 +github.com/thebtf/engram/internal/mcp/coerce.go:223.39,225.3 1 2 +github.com/thebtf/engram/internal/mcp/coerce.go:226.2,226.30 1 33 +github.com/thebtf/engram/internal/mcp/coerce.go:226.30,228.3 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:229.2,229.30 1 32 +github.com/thebtf/engram/internal/mcp/coerce.go:229.30,231.3 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:232.2,232.15 1 31 +github.com/thebtf/engram/internal/mcp/coerce.go:236.35,237.28 1 2 +github.com/thebtf/engram/internal/mcp/coerce.go:237.28,239.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.2,240.28 1 2 +github.com/thebtf/engram/internal/mcp/coerce.go:240.28,242.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:243.2,243.15 1 2 +github.com/thebtf/engram/internal/mcp/context.go:17.55,19.2 1 2 +github.com/thebtf/engram/internal/mcp/context.go:22.78,24.2 1 14 +github.com/thebtf/engram/internal/mcp/context.go:29.78,31.2 1 3 +github.com/thebtf/engram/internal/mcp/context.go:35.53,38.2 2 32 +github.com/thebtf/engram/internal/mcp/context.go:41.80,43.2 1 6 +github.com/thebtf/engram/internal/mcp/context.go:48.80,50.2 1 1 +github.com/thebtf/engram/internal/mcp/context.go:54.53,57.2 2 43 +github.com/thebtf/engram/internal/mcp/context.go:61.51,62.43 1 32 +github.com/thebtf/engram/internal/mcp/context.go:62.43,64.3 1 1 +github.com/thebtf/engram/internal/mcp/context.go:65.2,65.16 1 31 +github.com/thebtf/engram/internal/mcp/health.go:22.32,26.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:29.37,33.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:36.35,40.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:42.44,45.25 3 0 +github.com/thebtf/engram/internal/mcp/health.go:45.25,47.50 1 0 +github.com/thebtf/engram/internal/mcp/health.go:47.50,50.4 2 0 +github.com/thebtf/engram/internal/mcp/health.go:55.74,60.16 5 0 +github.com/thebtf/engram/internal/mcp/health.go:60.16,62.3 1 0 +github.com/thebtf/engram/internal/mcp/health.go:63.2,71.4 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28.42,29.65 1 12 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:29.65,32.3 2 12 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.2,33.40 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.40,35.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:36.2,36.14 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39.120,40.69 1 5 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:40.69,42.3 1 1 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:43.2,44.19 2 4 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:44.19,46.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:47.2,48.17 2 4 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:48.17,50.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:51.2,52.59 2 4 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:52.59,54.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:55.2,56.20 2 4 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:56.20,58.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:59.2,60.17 2 4 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:60.17,62.3 1 3 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:63.2,64.21 2 4 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:64.21,66.3 1 3 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:67.2,68.22 2 4 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:68.22,70.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:71.2,72.23 2 4 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:76.2,98.19 2 4 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:98.19,100.3 1 3 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:101.2,101.66 1 4 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104.52,106.29 2 4 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:106.29,108.3 1 20 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:109.2,110.46 2 4 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113.113,123.27 2 4 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:123.27,125.3 1 16 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:126.2,127.16 2 4 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:130.2,130.25 1 4 +github.com/thebtf/engram/internal/mcp/server.go:127.44,138.2 1 274 +github.com/thebtf/engram/internal/mcp/server.go:141.64,143.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:146.78,148.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:151.53,153.2 1 2 +github.com/thebtf/engram/internal/mcp/server.go:156.55,158.2 1 4 +github.com/thebtf/engram/internal/mcp/server.go:161.58,163.2 1 12 +github.com/thebtf/engram/internal/mcp/server.go:166.62,168.2 1 8 +github.com/thebtf/engram/internal/mcp/server.go:171.50,173.2 1 24 +github.com/thebtf/engram/internal/mcp/server.go:176.78,178.2 1 8 +github.com/thebtf/engram/internal/mcp/server.go:181.74,183.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:186.71,189.2 2 11 +github.com/thebtf/engram/internal/mcp/server.go:191.85,193.2 1 2 +github.com/thebtf/engram/internal/mcp/server.go:195.61,197.2 1 3 +github.com/thebtf/engram/internal/mcp/server.go:199.49,201.2 1 3 +github.com/thebtf/engram/internal/mcp/server.go:204.54,206.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:211.53,213.2 1 1 +github.com/thebtf/engram/internal/mcp/server.go:216.53,218.2 1 5 +github.com/thebtf/engram/internal/mcp/server.go:222.61,224.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:228.59,230.2 1 2 +github.com/thebtf/engram/internal/mcp/server.go:234.51,236.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:240.52,242.2 1 10 +github.com/thebtf/engram/internal/mcp/server.go:246.55,248.2 1 13 +github.com/thebtf/engram/internal/mcp/server.go:252.82,254.2 1 16 +github.com/thebtf/engram/internal/mcp/server.go:260.70,262.2 1 10 +github.com/thebtf/engram/internal/mcp/server.go:269.68,271.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:274.87,277.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:282.60,284.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:290.45,292.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:297.77,299.2 1 13 +github.com/thebtf/engram/internal/mcp/server.go:303.37,313.38 3 35 +github.com/thebtf/engram/internal/mcp/server.go:313.38,315.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:316.2,317.9 2 35 +github.com/thebtf/engram/internal/mcp/server.go:317.9,319.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:320.2,321.9 2 35 +github.com/thebtf/engram/internal/mcp/server.go:321.9,323.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:324.2,325.9 2 35 +github.com/thebtf/engram/internal/mcp/server.go:325.9,327.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:328.2,328.14 1 35 +github.com/thebtf/engram/internal/mcp/server.go:332.35,334.2 1 1 +github.com/thebtf/engram/internal/mcp/server.go:383.49,387.12 3 6 +github.com/thebtf/engram/internal/mcp/server.go:387.12,388.22 1 6 +github.com/thebtf/engram/internal/mcp/server.go:388.22,389.11 1 11 +github.com/thebtf/engram/internal/mcp/server.go:390.22,392.11 2 0 +github.com/thebtf/engram/internal/mcp/server.go:393.12,393.12 0 11 +github.com/thebtf/engram/internal/mcp/server.go:396.4,397.18 2 11 +github.com/thebtf/engram/internal/mcp/server.go:397.18,398.13 1 3 +github.com/thebtf/engram/internal/mcp/server.go:401.4,402.61 2 8 +github.com/thebtf/engram/internal/mcp/server.go:402.61,404.13 2 2 +github.com/thebtf/engram/internal/mcp/server.go:407.4,407.55 1 6 +github.com/thebtf/engram/internal/mcp/server.go:407.55,409.5 1 5 +github.com/thebtf/engram/internal/mcp/server.go:411.3,411.28 1 6 +github.com/thebtf/engram/internal/mcp/server.go:414.2,414.9 1 6 +github.com/thebtf/engram/internal/mcp/server.go:415.20,416.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:417.25,418.17 1 6 +github.com/thebtf/engram/internal/mcp/server.go:418.17,420.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:421.3,421.13 1 6 +github.com/thebtf/engram/internal/mcp/server.go:427.77,428.19 1 27 +github.com/thebtf/engram/internal/mcp/server.go:428.19,431.3 2 2 +github.com/thebtf/engram/internal/mcp/server.go:433.2,433.20 1 25 +github.com/thebtf/engram/internal/mcp/server.go:434.20,435.33 1 4 +github.com/thebtf/engram/internal/mcp/server.go:436.20,437.32 1 6 +github.com/thebtf/engram/internal/mcp/server.go:438.20,439.37 1 10 +github.com/thebtf/engram/internal/mcp/server.go:443.24,444.93 1 1 +github.com/thebtf/engram/internal/mcp/server.go:445.34,446.101 1 1 +github.com/thebtf/engram/internal/mcp/server.go:447.22,448.91 1 1 +github.com/thebtf/engram/internal/mcp/server.go:449.29,450.120 1 1 +github.com/thebtf/engram/internal/mcp/server.go:451.10,456.4 1 1 +github.com/thebtf/engram/internal/mcp/server.go:461.51,462.20 1 2 +github.com/thebtf/engram/internal/mcp/server.go:463.50,464.70 1 2 +github.com/thebtf/engram/internal/mcp/server.go:465.46,466.79 1 0 +github.com/thebtf/engram/internal/mcp/server.go:467.10,468.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:473.59,485.63 2 7 +github.com/thebtf/engram/internal/mcp/server.go:485.63,487.3 1 7 +github.com/thebtf/engram/internal/mcp/server.go:489.2,493.3 1 7 +github.com/thebtf/engram/internal/mcp/server.go:496.45,503.33 3 7 +github.com/thebtf/engram/internal/mcp/server.go:503.33,505.57 2 0 +github.com/thebtf/engram/internal/mcp/server.go:505.57,506.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:506.76,507.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.4,509.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.18,511.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:511.10,513.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:514.4,518.11 5 0 +github.com/thebtf/engram/internal/mcp/server.go:522.2,522.19 1 7 +github.com/thebtf/engram/internal/mcp/server.go:660.29,683.21 2 11 +github.com/thebtf/engram/internal/mcp/server.go:683.21,689.3 5 1 +github.com/thebtf/engram/internal/mcp/server.go:690.2,699.3 1 11 +github.com/thebtf/engram/internal/mcp/server.go:712.30,765.49 3 17 +github.com/thebtf/engram/internal/mcp/server.go:765.49,789.3 5 3 +github.com/thebtf/engram/internal/mcp/server.go:790.2,799.3 1 17 +github.com/thebtf/engram/internal/mcp/server.go:805.40,936.2 1 62 +github.com/thebtf/engram/internal/mcp/server.go:942.58,1048.35 2 62 +github.com/thebtf/engram/internal/mcp/server.go:1048.35,1077.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.2,1080.33 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1080.33,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.2,1093.26 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1093.26,1123.3 1 11 +github.com/thebtf/engram/internal/mcp/server.go:1124.2,1124.80 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1124.80,1126.3 1 2 +github.com/thebtf/engram/internal/mcp/server.go:1127.2,1127.55 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1127.55,1129.3 1 2 +github.com/thebtf/engram/internal/mcp/server.go:1130.2,1130.38 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1130.38,1132.3 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1134.2,1134.25 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1134.25,1136.3 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1138.2,1138.33 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1138.33,1140.3 1 2 +github.com/thebtf/engram/internal/mcp/server.go:1141.2,1141.69 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1141.69,1143.3 1 2 +github.com/thebtf/engram/internal/mcp/server.go:1144.2,1144.75 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1144.75,1146.3 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1148.2,1148.27 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1148.27,1165.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.2,1168.76 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1168.76,1191.3 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1195.2,1195.48 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1195.48,1197.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.2,1201.47 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1201.47,1203.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.2,1205.38 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1205.38,1207.3 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1212.2,1212.21 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1212.21,1214.3 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1228.2,1228.51 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1228.51,1230.3 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1233.2,1233.56 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1233.56,1235.3 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1238.2,1238.71 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1238.71,1298.3 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1302.2,1302.104 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1302.104,1321.3 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1324.2,1324.72 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1324.72,1333.154 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1333.154,1334.26 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1334.26,1336.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1337.7,1337.16 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1338.35,1340.26 2 1 +github.com/thebtf/engram/internal/mcp/server.go:1340.26,1342.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1343.7,1343.18 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1371.2,1371.26 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1371.26,1390.3 1 11 +github.com/thebtf/engram/internal/mcp/server.go:1393.2,1393.28 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1393.28,1443.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.2,1446.28 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1446.28,1478.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.2,1481.37 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1481.37,1561.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1564.2,1568.23 2 62 +github.com/thebtf/engram/internal/mcp/server.go:1568.23,1570.3 1 53 +github.com/thebtf/engram/internal/mcp/server.go:1572.2,1588.57 3 62 +github.com/thebtf/engram/internal/mcp/server.go:1588.57,1591.29 2 53 +github.com/thebtf/engram/internal/mcp/server.go:1591.29,1593.4 1 477 +github.com/thebtf/engram/internal/mcp/server.go:1594.3,1594.27 1 53 +github.com/thebtf/engram/internal/mcp/server.go:1594.27,1595.29 1 669 +github.com/thebtf/engram/internal/mcp/server.go:1595.29,1597.5 1 669 +github.com/thebtf/engram/internal/mcp/server.go:1601.2,1607.3 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1612.79,1614.60 2 13 +github.com/thebtf/engram/internal/mcp/server.go:1614.60,1620.3 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1622.2,1623.16 2 12 +github.com/thebtf/engram/internal/mcp/server.go:1623.16,1631.3 3 7 +github.com/thebtf/engram/internal/mcp/server.go:1633.2,1641.3 1 5 +github.com/thebtf/engram/internal/mcp/server.go:1644.69,1645.34 1 9 +github.com/thebtf/engram/internal/mcp/server.go:1645.34,1647.3 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1648.2,1649.22 2 8 +github.com/thebtf/engram/internal/mcp/server.go:1649.22,1651.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1652.2,1652.37 1 8 +github.com/thebtf/engram/internal/mcp/server.go:1656.99,1658.14 1 114 +github.com/thebtf/engram/internal/mcp/server.go:1659.16,1660.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1661.15,1662.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1663.18,1664.49 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1665.15,1666.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1667.18,1668.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1669.14,1670.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1671.15,1672.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1676.2,1676.14 1 113 +github.com/thebtf/engram/internal/mcp/server.go:1677.35,1678.52 1 2 +github.com/thebtf/engram/internal/mcp/server.go:1679.26,1680.37 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1681.20,1682.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1683.20,1684.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1685.16,1686.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1687.29,1688.40 1 3 +github.com/thebtf/engram/internal/mcp/server.go:1689.33,1690.50 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1691.25,1692.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1693.23,1694.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1696.26,1697.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1698.24,1699.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1700.22,1701.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1702.25,1703.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1704.27,1705.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1706.25,1707.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1709.30,1710.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1711.28,1712.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1713.17,1714.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1715.20,1716.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1717.20,1718.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1719.20,1720.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1722.20,1723.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1724.18,1725.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1726.20,1727.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1728.18,1729.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1730.21,1731.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1732.21,1733.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1734.26,1735.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1736.25,1737.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1738.26,1739.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1740.24,1741.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1742.26,1743.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1744.27,1745.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1746.22,1747.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1748.19,1749.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1750.15,1751.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1752.16,1753.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1755.21,1756.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1757.19,1758.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1759.20,1760.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1761.22,1762.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1763.22,1764.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1765.23,1766.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1767.20,1768.38 1 10 +github.com/thebtf/engram/internal/mcp/server.go:1769.32,1770.49 1 5 +github.com/thebtf/engram/internal/mcp/server.go:1771.19,1772.37 1 21 +github.com/thebtf/engram/internal/mcp/server.go:1773.19,1774.37 1 8 +github.com/thebtf/engram/internal/mcp/server.go:1775.33,1776.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1777.35,1778.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1779.24,1780.42 1 2 +github.com/thebtf/engram/internal/mcp/server.go:1781.32,1782.49 1 2 +github.com/thebtf/engram/internal/mcp/server.go:1783.28,1784.46 1 6 +github.com/thebtf/engram/internal/mcp/server.go:1785.21,1786.39 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1787.34,1788.51 1 11 +github.com/thebtf/engram/internal/mcp/server.go:1789.25,1790.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1791.29,1792.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1793.26,1794.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1795.27,1796.44 1 7 +github.com/thebtf/engram/internal/mcp/server.go:1798.25,1799.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1800.23,1801.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1802.27,1803.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1804.26,1805.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1806.29,1807.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1809.29,1810.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1811.27,1812.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1813.30,1814.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1815.38,1816.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1817.36,1818.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1820.24,1821.42 1 2 +github.com/thebtf/engram/internal/mcp/server.go:1822.27,1823.45 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1824.22,1825.40 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1826.32,1827.49 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1828.32,1829.49 1 6 +github.com/thebtf/engram/internal/mcp/server.go:1830.31,1831.48 1 3 +github.com/thebtf/engram/internal/mcp/server.go:1832.35,1833.52 1 3 +github.com/thebtf/engram/internal/mcp/server.go:1834.36,1835.53 1 2 +github.com/thebtf/engram/internal/mcp/server.go:1836.36,1837.53 1 2 +github.com/thebtf/engram/internal/mcp/server.go:1838.38,1839.54 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1840.34,1841.51 1 2 +github.com/thebtf/engram/internal/mcp/server.go:1843.22,1844.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1845.21,1846.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1847.24,1848.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1850.25,1851.43 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1852.25,1853.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1859.2,1859.14 1 8 +github.com/thebtf/engram/internal/mcp/server.go:1860.22,1863.131 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1866.51,1867.123 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1868.10,1869.50 1 7 +github.com/thebtf/engram/internal/mcp/server.go:1874.47,1876.16 2 15 +github.com/thebtf/engram/internal/mcp/server.go:1876.16,1879.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1880.2,1880.35 1 15 +github.com/thebtf/engram/internal/mcp/server.go:1884.72,1890.2 1 3 +github.com/thebtf/engram/internal/mcp/server.go:1896.105,1898.16 2 5 +github.com/thebtf/engram/internal/mcp/server.go:1898.16,1900.3 1 2 +github.com/thebtf/engram/internal/mcp/server.go:1902.2,1903.17 2 3 +github.com/thebtf/engram/internal/mcp/server.go:1903.17,1905.3 1 2 +github.com/thebtf/engram/internal/mcp/server.go:1907.2,1908.17 2 1 +github.com/thebtf/engram/internal/mcp/server.go:1908.17,1910.3 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1912.2,1918.16 2 1 +github.com/thebtf/engram/internal/mcp/server.go:1918.16,1920.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1921.2,1921.25 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1927.76,1933.15 3 3 +github.com/thebtf/engram/internal/mcp/server.go:1933.15,1936.17 3 3 +github.com/thebtf/engram/internal/mcp/server.go:1936.17,1938.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1939.3,1939.26 1 3 +github.com/thebtf/engram/internal/mcp/server.go:1943.2,1950.36 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1950.36,1952.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1952.8,1955.29 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1955.29,1958.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1959.3,1962.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.2,1966.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.20,1977.20 6 0 +github.com/thebtf/engram/internal/mcp/server.go:1977.20,1979.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.3,1980.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.20,1982.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.3,1985.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.37,1987.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1987.30,1988.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1988.16,1990.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1990.11,1992.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1994.4,1995.56 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1995.56,1997.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1998.4,2003.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.2,2008.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.29,2009.63 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2009.63,2011.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2011.9,2013.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.2,2021.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.29,2029.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2029.38,2031.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2031.9,2033.31 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2033.31,2035.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2035.30,2037.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2039.4,2042.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2046.2,2047.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2047.16,2049.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2050.2,2050.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2055.57,2056.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2056.33,2058.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2059.2,2060.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2060.16,2062.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2063.2,2064.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2064.16,2066.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2067.2,2067.23 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2071.79,2105.15 6 4 +github.com/thebtf/engram/internal/mcp/server.go:2105.15,2107.17 2 4 +github.com/thebtf/engram/internal/mcp/server.go:2107.17,2111.4 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2111.9,2112.17 1 4 +github.com/thebtf/engram/internal/mcp/server.go:2112.17,2114.5 1 4 +github.com/thebtf/engram/internal/mcp/server.go:2115.4,2117.26 3 4 +github.com/thebtf/engram/internal/mcp/server.go:2117.26,2119.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2119.10,2121.29 2 4 +github.com/thebtf/engram/internal/mcp/server.go:2121.29,2123.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2125.4,2129.25 5 4 +github.com/thebtf/engram/internal/mcp/server.go:2130.19,2130.19 0 4 +github.com/thebtf/engram/internal/mcp/server.go:2132.20,2134.106 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2135.12,2137.103 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2140.8,2143.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2144.2,2150.49 3 4 +github.com/thebtf/engram/internal/mcp/server.go:2150.49,2152.3 1 1 +github.com/thebtf/engram/internal/mcp/server.go:2152.8,2154.3 1 3 +github.com/thebtf/engram/internal/mcp/server.go:2155.2,2168.27 4 4 +github.com/thebtf/engram/internal/mcp/server.go:2168.27,2170.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2170.17,2173.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2173.9,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2177.2,2182.40 4 4 +github.com/thebtf/engram/internal/mcp/server.go:2182.40,2183.21 1 12 +github.com/thebtf/engram/internal/mcp/server.go:2184.20,2185.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2186.19,2187.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.2,2191.24 1 4 +github.com/thebtf/engram/internal/mcp/server.go:2191.24,2193.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.8,2193.30 1 4 +github.com/thebtf/engram/internal/mcp/server.go:2193.30,2195.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.2,2198.28 1 4 +github.com/thebtf/engram/internal/mcp/server.go:2198.28,2200.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.2,2203.29 1 4 +github.com/thebtf/engram/internal/mcp/server.go:2203.29,2205.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2207.2,2208.16 2 4 +github.com/thebtf/engram/internal/mcp/server.go:2208.16,2210.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2211.2,2211.28 1 4 +github.com/thebtf/engram/internal/mcp/server.go:2216.103,2218.16 2 2 +github.com/thebtf/engram/internal/mcp/server.go:2218.16,2220.3 1 2 +github.com/thebtf/engram/internal/mcp/server.go:2222.2,2223.15 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2223.15,2225.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2227.2,2239.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2239.16,2241.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2242.2,2242.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2246.93,2248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2251.91,2253.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:18.28,29.20 4 64 +github.com/thebtf/engram/internal/mcp/tools_admin.go:29.20,33.3 2 2 +github.com/thebtf/engram/internal/mcp/tools_admin.go:35.2,44.3 1 64 +github.com/thebtf/engram/internal/mcp/tools_admin.go:68.36,69.49 1 65 +github.com/thebtf/engram/internal/mcp/tools_admin.go:69.49,74.3 4 2 +github.com/thebtf/engram/internal/mcp/tools_admin.go:75.2,75.25 1 63 +github.com/thebtf/engram/internal/mcp/tools_admin.go:80.26,82.2 1 73 +github.com/thebtf/engram/internal/mcp/tools_admin.go:84.89,86.16 2 9 +github.com/thebtf/engram/internal/mcp/tools_admin.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:89.2,90.18 2 9 +github.com/thebtf/engram/internal/mcp/tools_admin.go:90.18,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:94.2,94.16 1 9 +github.com/thebtf/engram/internal/mcp/tools_admin.go:95.15,96.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:97.26,98.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:99.25,100.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:101.23,105.22 1 9 +github.com/thebtf/engram/internal/mcp/tools_admin.go:105.22,107.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:108.3,108.38 1 8 +github.com/thebtf/engram/internal/mcp/tools_admin.go:109.10,110.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:120.92,126.26 2 8 +github.com/thebtf/engram/internal/mcp/tools_admin.go:126.26,128.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_admin.go:130.2,131.19 2 6 +github.com/thebtf/engram/internal/mcp/tools_admin.go:131.19,133.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_admin.go:134.2,135.19 2 4 +github.com/thebtf/engram/internal/mcp/tools_admin.go:135.19,137.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.2,138.24 1 3 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.24,140.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.2,142.25 1 2 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.25,144.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:146.2,147.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:151.2,151.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27.40,30.2 2 69 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32.30,46.2 1 1 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48.99,49.34 1 7 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:49.34,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.2,52.69 1 7 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.69,54.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:56.2,57.16 2 5 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:60.2,61.21 2 5 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:61.21,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:64.2,67.26 3 5 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:67.26,69.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:70.2,71.25 2 3 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:71.25,73.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:75.2,77.44 3 2 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:77.44,79.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.2,80.33 1 2 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.33,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:83.2,83.81 1 2 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86.52,87.16 1 5 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:87.16,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.2,90.15 1 5 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.15,92.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:93.2,93.14 1 4 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96.73,97.21 1 2 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:97.21,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:100.2,101.29 2 2 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:101.29,110.3 1 4 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:111.2,111.12 1 2 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114.34,116.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:31.98,32.52 1 2 +github.com/thebtf/engram/internal/mcp/tools_brief.go:32.52,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.2,35.26 1 2 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.26,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:39.2,40.49 2 2 +github.com/thebtf/engram/internal/mcp/tools_brief.go:40.49,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.2,43.21 1 2 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.21,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.2,46.21 1 2 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.21,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.2,49.18 1 2 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.18,51.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.2,52.18 1 2 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.18,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.2,56.38 1 2 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.38,58.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_brief.go:60.2,61.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:61.16,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:68.2,70.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:70.26,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:79.2,81.36 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:81.36,84.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:86.2,89.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:89.28,90.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:90.39,91.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:93.3,97.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:100.2,104.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:107.60,113.2 1 2 +github.com/thebtf/engram/internal/mcp/tools_brief.go:115.101,116.38 1 2 +github.com/thebtf/engram/internal/mcp/tools_brief.go:116.38,118.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:120.2,122.21 3 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:122.21,123.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:123.26,125.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.3,126.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.23,128.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:129.8,130.26 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:130.26,132.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.3,133.68 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.68,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:137.2,140.20 3 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:141.17,142.18 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:143.67,143.67 0 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:144.10,145.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:148.2,162.16 3 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:162.16,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.2,165.19 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.2,174.30 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.30,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.2,177.31 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.31,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:181.2,182.36 2 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:182.36,196.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:198.2,199.19 2 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:199.19,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:202.2,203.18 2 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:203.18,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:206.2,207.21 2 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:207.21,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:210.2,211.25 2 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:211.25,213.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:214.2,225.21 3 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:225.21,227.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.2,228.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.25,230.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.2,231.18 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.18,233.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:235.2,244.21 2 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:244.21,246.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.2,247.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.25,249.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.2,250.18 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.18,252.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.2,253.24 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:256.2,256.30 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:259.50,261.22 2 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:261.22,263.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:264.2,264.16 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:270.90,272.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:272.42,276.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:277.2,281.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:281.27,282.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:282.45,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:286.2,286.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25.28,88.2 1 1 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95.95,96.22 1 2 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:96.22,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:99.2,100.32 2 2 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:100.32,102.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:104.2,105.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:109.2,114.35 3 1 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:114.35,121.3 2 1 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.2,123.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.25,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:127.2,134.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:138.2,146.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154.94,155.22 1 1 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:155.22,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:158.2,159.32 2 1 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:159.32,161.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:163.2,164.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:164.16,166.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:168.2,172.35 3 1 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:172.35,179.3 2 1 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.2,181.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.25,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:185.2,192.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:192.16,194.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:196.2,203.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211.97,212.22 1 1 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:212.22,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:215.2,216.32 2 1 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:216.32,218.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:220.2,221.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:221.16,223.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:225.2,229.35 3 1 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:229.35,236.3 2 1 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.2,238.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.25,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:242.2,249.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:249.16,251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:253.2,260.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31.80,32.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:32.14,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:35.2,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51.136,53.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:53.51,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:56.2,56.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59.94,60.21 1 3 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:60.21,62.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:63.2,63.12 1 1 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68.30,162.2 2 1 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165.98,166.49 1 2 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:166.49,168.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:169.2,170.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:170.16,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:173.2,174.19 2 1 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:174.19,176.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:177.2,179.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:179.17,181.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:188.2,189.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:189.31,190.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:190.15,191.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:193.3,193.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:196.2,201.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:201.16,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:204.2,204.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208.96,209.49 1 1 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:209.49,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:212.2,213.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:213.16,215.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:216.2,217.13 2 1 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:217.13,219.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.2,225.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.22,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:229.2,230.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:230.16,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:233.2,233.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239.100,240.22 1 1 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:240.22,242.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:243.2,244.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:244.16,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:247.2,248.13 2 1 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:248.13,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:255.2,256.12 2 1 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:256.12,263.30 2 1 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:263.30,264.77 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:264.77,269.5 4 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:271.3,272.21 2 1 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:272.21,274.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:275.3,275.24 1 1 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.2,279.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.29,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:284.2,285.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:285.16,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.2,288.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.22,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.2,291.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.55,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.2,294.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.74,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:297.2,298.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:298.16,300.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:306.2,307.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:307.41,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:310.2,324.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:324.16,325.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:325.50,327.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:328.3,328.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.2,330.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.38,332.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:334.2,341.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:341.16,343.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:344.2,344.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348.99,349.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:349.49,351.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:352.2,353.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:353.16,355.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:356.2,357.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:357.13,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:360.2,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.2,365.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.22,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.2,368.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.74,370.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:371.2,372.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:372.16,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.2,375.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.85,377.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:379.2,380.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:380.16,381.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:381.50,383.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:384.3,384.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.2,386.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.20,388.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:390.2,395.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:395.16,397.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:398.2,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402.102,403.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:403.49,405.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:406.2,407.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:407.16,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:410.2,411.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:411.13,413.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:414.2,415.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:415.16,417.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.2,418.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.22,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.2,421.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.74,423.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:424.2,425.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:425.16,427.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.2,428.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.88,430.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:432.2,433.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:433.16,434.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:434.50,436.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:437.3,437.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.2,439.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.20,441.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:443.2,448.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:448.16,450.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:451.2,451.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34.30,36.2 1 63 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42.61,44.2 1 1 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48.32,75.2 1 1 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79.32,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100.98,101.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:101.25,103.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.2,104.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.29,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:108.2,113.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:113.17,114.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:114.55,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.2,118.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.24,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.2,121.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.23,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.2,124.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.23,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:134.2,135.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:135.21,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:142.2,147.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:154.2,165.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:165.25,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:177.2,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:186.2,186.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194.98,195.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:195.25,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.2,198.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.29,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:202.2,205.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:205.17,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:208.2,209.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:209.21,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:213.2,214.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:214.16,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:217.2,218.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:218.16,220.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:226.2,231.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:231.11,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:21.52,22.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:22.24,25.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:25.28,27.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:29.2,29.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:35.72,37.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:37.15,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:45.2,45.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:49.99,51.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:51.16,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:55.2,56.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:56.16,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:60.2,72.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.2,75.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.24,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.2,78.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.24,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:81.2,81.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:82.27,82.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:84.10,85.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.2,87.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.30,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.2,90.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.26,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:104.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:116.2,123.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:126.2,126.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:130.97,132.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:132.16,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:136.2,137.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:141.2,147.23 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:147.23,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.2,150.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.26,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:154.2,155.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:155.16,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:160.16,161.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:161.47,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:164.3,164.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.2,167.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.97,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:174.2,175.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:175.16,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:179.2,185.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:185.16,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:188.2,188.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:192.99,194.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:194.16,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:198.2,199.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:199.16,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:203.2,207.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:207.26,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:211.2,212.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:212.16,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:216.2,223.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:223.26,229.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:229.28,231.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:232.3,232.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:243.100,245.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:245.16,247.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:249.2,250.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:250.16,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:254.2,262.23 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:262.23,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.2,265.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.24,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:268.2,268.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:269.27,269.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:271.10,272.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.2,274.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.30,276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.2,277.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.26,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.2,281.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.71,282.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:282.47,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:285.3,285.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:288.2,293.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:293.16,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:296.2,296.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:302.92,309.19 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:309.19,310.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:310.53,313.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:316.2,317.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:317.51,318.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:318.66,320.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:323.2,331.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:331.16,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:334.2,334.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:338.46,342.32 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:342.32,343.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:343.20,346.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:348.2,350.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:350.26,352.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:352.27,353.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:353.13,355.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:356.4,356.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:358.3,358.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:360.2,360.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:16.45,18.2 1 9 +github.com/thebtf/engram/internal/mcp/tools_directives.go:20.35,36.2 1 1 +github.com/thebtf/engram/internal/mcp/tools_directives.go:38.84,39.40 1 6 +github.com/thebtf/engram/internal/mcp/tools_directives.go:39.40,41.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.2,42.50 1 4 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.50,44.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_directives.go:45.2,45.39 1 3 +github.com/thebtf/engram/internal/mcp/tools_directives.go:48.101,50.16 2 6 +github.com/thebtf/engram/internal/mcp/tools_directives.go:50.16,52.3 1 3 +github.com/thebtf/engram/internal/mcp/tools_directives.go:53.2,54.16 2 3 +github.com/thebtf/engram/internal/mcp/tools_directives.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:57.2,58.19 2 3 +github.com/thebtf/engram/internal/mcp/tools_directives.go:58.19,60.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_directives.go:61.2,62.21 2 2 +github.com/thebtf/engram/internal/mcp/tools_directives.go:62.21,64.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_directives.go:65.2,66.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_directives.go:66.16,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:69.2,69.28 1 1 +github.com/thebtf/engram/internal/mcp/tools_directives.go:72.102,74.16 2 3 +github.com/thebtf/engram/internal/mcp/tools_directives.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:77.2,82.8 1 3 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10.100,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:22.16,23.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:24.14,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:26.14,27.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:28.17,29.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:30.17,31.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:32.21,33.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:34.19,35.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:36.17,37.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:38.16,39.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:40.16,41.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:42.21,43.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:44.10,45.167 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:15.77,16.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:16.33,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:20.2,21.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:21.27,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:25.2,26.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:26.28,29.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:29.17,31.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:34.2,41.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:41.32,46.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:46.20,48.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:49.3,49.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:61.97,62.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:62.28,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:71.2,75.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:75.29,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:79.2,80.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:80.16,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.2,84.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.20,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:88.2,97.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:97.25,103.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:103.20,105.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.3,106.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.19,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:109.3,109.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:112.2,113.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:113.16,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:117.2,117.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:121.95,122.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:122.28,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:131.2,137.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:137.50,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:141.2,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.2,145.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.16,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.2,149.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.21,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:153.2,154.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:154.16,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.2,157.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.20,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:161.2,161.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:165.98,166.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:166.28,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:170.2,171.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:171.16,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:175.2,181.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:181.50,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.2,185.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.96,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:189.2,189.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:197.98,198.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:198.28,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:207.2,217.74 6 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:217.74,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:222.2,223.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:223.16,225.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:227.2,229.156 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:235.98,237.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:237.16,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:241.2,247.24 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:247.24,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:252.2,253.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:253.29,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:256.2,256.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15.93,16.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:16.37,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:20.2,21.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:21.16,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:25.2,32.16 7 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:32.16,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.2,35.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.19,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.2,38.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.19,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:42.2,43.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:43.16,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:47.2,54.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61.91,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:62.37,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:71.2,73.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:73.16,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.2,76.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.19,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:80.2,81.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:81.43,83.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:83.19,85.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:86.3,86.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:87.8,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.2,90.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.16,91.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:91.45,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:94.3,94.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:97.2,110.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:110.16,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:113.2,113.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117.93,119.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122.91,123.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:123.37,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:132.2,133.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:133.19,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:136.2,141.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:141.16,143.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:145.2,155.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:155.25,165.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:167.2,168.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:168.16,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:171.2,171.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175.94,176.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:176.37,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:180.2,181.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:181.16,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:185.2,187.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:187.16,189.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.2,190.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.19,192.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:193.2,196.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:200.2,208.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:208.25,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:218.2,225.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232.94,233.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:233.37,235.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:242.2,243.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:243.21,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:246.2,248.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:248.19,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:252.2,253.46 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:253.46,255.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:255.13,257.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.2,259.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.44,261.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:261.13,263.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:266.2,267.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:267.16,269.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:271.2,278.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:278.16,280.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:281.2,281.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19.69,21.2 1 3 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23.38,38.2 1 2 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40.51,63.2 1 2 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65.53,80.2 1 2 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82.46,85.32 3 8 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:85.32,87.3 1 48 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:88.2,88.12 1 8 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91.105,93.16 2 2 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:93.16,95.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:96.2,97.16 2 2 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:97.16,99.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:100.2,100.70 1 1 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103.107,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:108.2,109.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:109.16,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:112.2,112.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115.101,117.16 2 2 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:117.16,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:120.2,121.17 2 2 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:121.17,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:124.2,139.21 2 2 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142.109,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:147.2,154.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157.100,159.28 2 2 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:159.28,161.18 2 3 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:161.18,163.4 1 2 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:164.3,164.62 1 1 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:166.2,167.72 2 2 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:167.72,169.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.2,170.53 1 2 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.53,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:173.2,174.26 2 2 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:174.26,176.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:177.2,177.12 1 2 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180.73,182.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:182.16,184.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:185.2,185.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12.104,14.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:14.16,16.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:18.2,19.18 2 1 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:19.18,21.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:23.2,23.16 1 1 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:24.14,25.39 1 1 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:26.18,27.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:28.17,29.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:30.10,31.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36.101,37.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:37.27,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:46.2,47.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:47.21,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:50.2,51.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:51.19,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:54.2,54.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:55.52,55.52 0 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:56.10,57.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:59.2,61.93 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:61.93,64.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:66.2,70.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:27.31,94.2 1 1 +github.com/thebtf/engram/internal/mcp/tools_governance.go:98.97,100.26 2 2 +github.com/thebtf/engram/internal/mcp/tools_governance.go:100.26,102.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.2,103.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.28,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:112.2,115.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:115.15,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.2,118.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.17,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:122.2,123.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:127.2,140.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:140.29,151.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:151.31,154.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:155.3,155.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:158.2,162.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:167.100,169.26 2 1 +github.com/thebtf/engram/internal/mcp/tools_governance.go:169.26,171.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.2,172.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.28,174.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.2,175.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.26,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:179.2,180.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:184.2,185.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:185.22,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:189.2,190.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:190.20,191.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:191.54,199.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.3,200.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.61,202.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:203.3,203.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:206.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:215.95,217.32 2 1 +github.com/thebtf/engram/internal/mcp/tools_governance.go:217.32,219.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.2,220.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.28,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:224.2,225.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:229.2,230.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:230.22,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.2,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.25,246.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:248.2,252.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:258.104,260.26 2 2 +github.com/thebtf/engram/internal/mcp/tools_governance.go:260.26,262.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_governance.go:267.2,271.20 3 1 +github.com/thebtf/engram/internal/mcp/tools_governance.go:271.20,275.3 3 1 +github.com/thebtf/engram/internal/mcp/tools_governance.go:275.8,279.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:280.2,280.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_governance.go:284.60,285.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:285.30,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.2,288.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.42,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:291.2,291.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:64.89,65.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph.go:65.25,67.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph.go:69.2,70.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:70.49,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:74.2,74.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:75.18,76.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:77.21,78.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:79.19,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:81.18,82.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:83.19,84.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:85.18,86.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:87.18,91.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:91.23,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:94.3,94.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:95.10,96.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:100.81,103.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:103.19,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:106.2,107.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:107.19,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.2,112.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.46,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.2,115.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.46,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.2,122.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.66,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.25,128.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:128.22,130.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:131.8,132.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:132.26,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.2,138.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.25,139.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:139.22,141.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:142.8,143.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:143.26,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.2,148.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.22,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.2,151.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.38,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.2,154.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.19,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:159.2,161.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:161.25,164.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.2,165.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.25,168.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:169.2,171.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:171.23,174.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.2,175.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.23,178.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:180.2,193.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:193.16,195.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:198.2,199.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:199.29,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.2,202.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.29,204.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:205.2,213.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:216.121,217.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:217.28,218.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:218.26,220.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:221.3,222.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:222.17,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:223.49,225.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:226.4,226.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:228.3,228.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.2,230.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.26,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:233.2,234.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:234.16,235.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:235.48,237.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:238.3,238.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:240.2,240.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:243.101,248.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:248.36,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:250.8,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.2,253.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.16,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.2,256.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.32,257.128 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:257.128,262.72 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:262.72,264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:267.2,267.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:276.81,277.25 1 4 +github.com/thebtf/engram/internal/mcp/tools_graph.go:277.25,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.2,280.22 1 4 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.22,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.2,283.39 1 4 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.39,285.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.2,286.25 1 3 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.25,288.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.2,289.21 1 2 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.21,291.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph.go:292.2,293.14 2 1 +github.com/thebtf/engram/internal/mcp/tools_graph.go:293.14,295.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph.go:296.2,305.16 5 1 +github.com/thebtf/engram/internal/mcp/tools_graph.go:305.16,307.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:308.2,314.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph.go:317.84,318.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:318.19,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:321.2,323.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:323.63,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:326.2,329.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:332.82,333.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:333.38,335.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:336.2,337.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:338.18,339.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:340.18,341.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.2,345.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.59,347.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:349.2,351.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:351.21,353.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:353.8,356.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.2,357.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:366.2,367.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:367.41,369.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:371.2,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:397.115,398.15 1 3 +github.com/thebtf/engram/internal/mcp/tools_graph.go:398.15,400.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:403.2,404.26 2 3 +github.com/thebtf/engram/internal/mcp/tools_graph.go:404.26,405.28 1 6 +github.com/thebtf/engram/internal/mcp/tools_graph.go:405.28,407.4 1 6 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.3,408.28 1 6 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.28,410.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.2,412.23 1 3 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.23,415.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:420.2,426.12 4 3 +github.com/thebtf/engram/internal/mcp/tools_graph.go:426.12,427.27 1 3 +github.com/thebtf/engram/internal/mcp/tools_graph.go:427.27,429.18 2 6 +github.com/thebtf/engram/internal/mcp/tools_graph.go:429.18,431.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.4,433.33 1 6 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.33,435.5 1 2 +github.com/thebtf/engram/internal/mcp/tools_graph.go:440.2,441.26 2 3 +github.com/thebtf/engram/internal/mcp/tools_graph.go:441.26,442.28 1 6 +github.com/thebtf/engram/internal/mcp/tools_graph.go:442.28,443.49 1 6 +github.com/thebtf/engram/internal/mcp/tools_graph.go:443.49,445.13 2 2 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.3,448.28 1 4 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.28,449.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:449.49,451.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:454.2,454.12 1 3 +github.com/thebtf/engram/internal/mcp/tools_graph.go:457.82,458.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:458.21,460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:461.2,462.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:462.16,464.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.2,465.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.36,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:468.2,469.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:469.16,471.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:472.2,477.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:480.82,481.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:481.40,483.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:484.2,485.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:485.19,487.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:488.2,489.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:489.16,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:492.2,499.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:502.82,503.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:503.21,505.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:506.2,507.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:507.16,509.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:510.2,514.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23.179,24.22 1 4 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:24.22,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:28.2,32.22 4 4 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:32.22,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:35.2,36.22 2 4 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:36.22,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:40.2,41.26 2 4 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:41.26,43.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.2,44.26 1 4 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.26,46.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.2,47.30 1 4 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.30,49.3 1 3 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.2,50.30 1 4 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.30,52.3 1 3 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:54.2,55.16 2 4 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:55.16,57.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.2,58.13 1 4 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.13,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:61.2,62.16 2 4 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:62.16,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.2,65.13 1 4 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.13,67.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:69.2,70.16 2 2 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:70.16,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.2,73.15 1 2 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.15,75.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:77.2,77.36 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80.172,81.28 1 8 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:81.28,82.23 1 6 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:82.23,84.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.3,85.18 1 6 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.18,87.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:88.3,89.17 2 6 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:89.17,90.49 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:90.49,92.5 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:93.4,93.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:95.3,95.19 1 5 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.2,98.24 1 2 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.24,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.2,101.19 1 2 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.19,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:104.2,105.16 2 2 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:105.16,106.48 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:106.48,108.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:109.3,109.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:111.2,111.18 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114.119,116.22 2 2 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:116.22,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:119.2,120.22 2 2 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:120.22,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:124.2,126.26 3 2 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:126.26,127.36 1 2 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:127.36,129.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:130.3,130.105 1 2 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:131.8,132.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:132.32,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:135.3,135.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.2,137.16 1 2 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.2,141.32 1 2 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.32,143.27 2 1 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:143.27,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:146.3,147.27 2 1 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:147.27,149.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.3,150.106 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.106,151.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.3,153.27 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.27,154.114 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:154.114,155.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.9,157.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.104,158.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.3,160.27 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.27,161.114 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:161.114,162.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.9,164.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.104,165.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:167.3,167.19 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:169.2,169.19 1 1 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25.90,26.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:26.26,28.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:30.2,31.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:31.49,33.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:35.2,35.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:36.16,37.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:38.10,39.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43.84,44.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:44.21,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.2,47.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.25,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.2,50.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.21,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.2,53.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.21,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:57.2,58.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:59.18,60.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:61.15,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:63.24,64.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:65.10,66.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:69.2,70.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:70.22,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:73.2,74.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:74.29,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.2,78.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.14,85.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:87.2,89.37 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:89.37,92.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:92.21,94.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:97.2,100.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:100.31,102.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:102.38,104.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:104.37,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:109.3,122.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:122.26,124.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.3,125.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.19,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:131.3,133.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:133.39,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:135.9,137.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.3,138.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.17,140.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.3,142.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.34,144.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:145.3,145.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:148.2,155.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20.99,22.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:22.16,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:26.2,31.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:31.44,32.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:32.33,33.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:33.43,38.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.2,43.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.49,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.2,46.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.48,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:50.2,52.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:52.27,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:55.8,60.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:60.24,62.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.3,64.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.57,66.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:68.3,68.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.2,71.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.16,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:75.2,76.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:76.23,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:80.2,80.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:19.40,89.2 1 62 +github.com/thebtf/engram/internal/mcp/tools_issues.go:109.71,111.9 2 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:111.9,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:115.2,116.38 2 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:116.38,117.16 1 4 +github.com/thebtf/engram/internal/mcp/tools_issues.go:118.13,119.41 1 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:119.41,121.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:122.17,123.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:123.43,125.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:126.11,127.40 1 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:127.40,129.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.2,133.22 1 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.22,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:139.2,139.12 1 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:143.90,144.25 1 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:144.25,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:148.2,149.16 2 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:149.16,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:153.2,157.61 2 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:157.61,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:161.2,161.16 1 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:162.16,163.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:164.14,165.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:166.13,167.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:168.16,169.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:170.17,171.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:172.16,173.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:174.15,175.36 1 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:176.10,177.120 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:189.85,191.39 2 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:191.39,192.44 1 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:192.44,194.4 1 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.2,196.15 1 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.15,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.2,199.15 1 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.15,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:202.2,202.46 1 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:205.91,207.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:207.17,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:211.2,215.25 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:215.25,217.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:218.2,224.25 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:224.25,226.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.2,227.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.25,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:231.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:247.2,247.139 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:250.89,252.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:252.19,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:255.2,256.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:256.25,258.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:259.2,264.52 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:264.52,266.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:266.14,268.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:271.2,277.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:277.25,280.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:282.2,283.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:283.16,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.2,287.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.22,288.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:288.20,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:291.3,291.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:294.2,297.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:297.31,300.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:300.29,302.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:303.3,305.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:308.2,308.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:311.88,313.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:313.13,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:317.2,318.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:318.16,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:322.2,328.22 6 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:328.22,331.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.2,333.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.23,335.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:335.30,338.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:341.2,341.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:344.91,346.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:346.13,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:350.2,353.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:353.18,354.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:354.27,356.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.3,357.73 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.73,359.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.2,362.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.19,370.17 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:370.17,372.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:375.2,376.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:376.26,378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:379.2,379.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:382.92,384.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:384.13,386.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:388.2,389.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:389.16,391.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:393.2,401.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:401.16,403.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:405.2,405.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:408.91,410.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:410.13,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:414.2,418.95 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:418.95,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:422.2,422.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:425.90,427.13 2 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:427.13,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:431.2,433.167 3 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:433.167,435.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.2,437.89 1 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.89,439.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_issues.go:441.2,441.108 1 1 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22.93,24.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:24.49,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:28.2,28.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:29.14,30.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:31.17,32.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:33.16,34.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:35.24,36.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:37.27,38.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:39.22,40.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:41.23,42.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:43.10,44.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48.79,49.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:49.13,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:57.2,58.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:58.32,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:61.2,84.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87.101,88.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:88.13,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.2,91.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.38,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.2,98.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.53,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:102.2,104.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:104.17,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.2,107.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.29,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:110.2,115.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118.100,119.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:119.13,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.2,122.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.38,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.2,129.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.53,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:133.2,135.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:135.17,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.2,138.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.29,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:141.2,146.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149.123,150.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:150.13,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.2,153.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.18,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.2,156.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.38,158.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:159.2,161.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:161.17,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:164.2,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172.113,173.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:173.13,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.2,176.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.50,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:179.2,181.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:181.17,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:184.2,188.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191.57,195.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197.102,198.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:198.13,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.2,201.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.20,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:204.2,205.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:205.16,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:209.2,210.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:210.32,212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:214.2,217.56 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:217.56,223.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:225.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233.41,235.16 2 45 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:235.16,237.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:238.2,238.23 1 45 +github.com/thebtf/engram/internal/mcp/tools_memory.go:35.27,37.2 1 304 +github.com/thebtf/engram/internal/mcp/tools_memory.go:42.41,43.11 1 5 +github.com/thebtf/engram/internal/mcp/tools_memory.go:44.48,45.14 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:46.10,47.15 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:54.57,55.16 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:56.17,57.19 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:58.16,59.18 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:60.10,61.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:82.58,83.17 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:84.28,85.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:86.26,87.18 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:88.10,89.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:93.114,95.68 2 59 +github.com/thebtf/engram/internal/mcp/tools_memory.go:95.68,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:99.2,101.42 3 59 +github.com/thebtf/engram/internal/mcp/tools_memory.go:101.42,102.71 1 31 +github.com/thebtf/engram/internal/mcp/tools_memory.go:102.71,105.4 2 27 +github.com/thebtf/engram/internal/mcp/tools_memory.go:107.2,117.23 3 59 +github.com/thebtf/engram/internal/mcp/tools_memory.go:117.23,119.3 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:121.2,124.22 4 56 +github.com/thebtf/engram/internal/mcp/tools_memory.go:124.22,125.31 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:125.31,127.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:128.3,128.35 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.8,129.37 1 53 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.37,131.3 1 23 +github.com/thebtf/engram/internal/mcp/tools_memory.go:132.2,132.12 1 55 +github.com/thebtf/engram/internal/mcp/tools_memory.go:135.74,136.30 1 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:136.30,138.3 1 7 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.2,139.34 1 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.34,141.3 1 7 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.2,142.31 1 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.31,144.3 1 7 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.2,145.22 1 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.22,147.3 1 6 +github.com/thebtf/engram/internal/mcp/tools_memory.go:161.169,162.17 1 13 +github.com/thebtf/engram/internal/mcp/tools_memory.go:162.17,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:165.2,166.51 2 13 +github.com/thebtf/engram/internal/mcp/tools_memory.go:166.51,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:169.2,169.15 1 13 +github.com/thebtf/engram/internal/mcp/tools_memory.go:172.92,174.42 2 21 +github.com/thebtf/engram/internal/mcp/tools_memory.go:174.42,177.63 3 6 +github.com/thebtf/engram/internal/mcp/tools_memory.go:177.63,179.4 1 5 +github.com/thebtf/engram/internal/mcp/tools_memory.go:179.9,181.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:183.2,183.15 1 21 +github.com/thebtf/engram/internal/mcp/tools_memory.go:186.65,190.2 1 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:192.115,194.26 2 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:194.26,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.8,196.31 1 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.31,198.3 1 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:199.2,199.117 1 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:202.122,206.31 4 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:206.31,207.45 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:207.45,209.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:211.2,211.16 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:214.72,216.2 1 11 +github.com/thebtf/engram/internal/mcp/tools_memory.go:218.117,219.16 1 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:222.2,223.20 2 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:223.20,225.17 2 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:225.17,227.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.3,228.27 1 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.27,229.50 1 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:229.50,231.30 2 4 +github.com/thebtf/engram/internal/mcp/tools_memory.go:231.30,232.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:236.3,236.22 1 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:239.2,241.60 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:241.60,243.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:243.61,245.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.3,246.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.24,247.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:249.3,250.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:250.17,252.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.3,253.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.22,254.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.3,256.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.29,257.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:257.50,259.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:259.30,260.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:264.3,265.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:265.32,266.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:269.2,269.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:272.51,273.16 1 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:273.16,275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:276.2,277.18 2 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:277.18,279.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.2,280.19 1 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.19,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:283.2,283.15 1 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:286.97,288.30 2 4 +github.com/thebtf/engram/internal/mcp/tools_memory.go:288.30,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.2,291.49 1 4 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.49,293.3 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:294.2,294.17 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:297.108,299.2 1 4 +github.com/thebtf/engram/internal/mcp/tools_memory.go:301.108,303.2 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:305.102,307.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:319.55,320.31 1 13 +github.com/thebtf/engram/internal/mcp/tools_memory.go:320.31,322.3 1 13 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.2,323.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.26,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:326.2,326.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:329.71,330.17 1 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:343.26,344.14 1 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:345.10,346.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:354.95,362.16 3 34 +github.com/thebtf/engram/internal/mcp/tools_memory.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:366.2,397.39 14 34 +github.com/thebtf/engram/internal/mcp/tools_memory.go:397.39,399.27 2 20 +github.com/thebtf/engram/internal/mcp/tools_memory.go:399.27,401.4 1 20 +github.com/thebtf/engram/internal/mcp/tools_memory.go:402.8,404.3 1 14 +github.com/thebtf/engram/internal/mcp/tools_memory.go:405.2,407.46 3 34 +github.com/thebtf/engram/internal/mcp/tools_memory.go:407.46,410.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.2,411.44 1 34 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.44,413.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:413.12,415.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.2,417.26 1 34 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.26,419.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.2,420.84 1 33 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.84,422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.2,427.65 1 33 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.65,429.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:431.2,433.20 3 32 +github.com/thebtf/engram/internal/mcp/tools_memory.go:433.20,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:436.2,437.20 2 32 +github.com/thebtf/engram/internal/mcp/tools_memory.go:437.20,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.2,440.56 1 32 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.56,442.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.2,443.56 1 32 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.56,448.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.2,450.45 1 32 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.45,453.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.2,459.31 1 32 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.31,461.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:461.22,462.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:462.62,465.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:466.4,466.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:468.3,468.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:471.2,472.115 2 32 +github.com/thebtf/engram/internal/mcp/tools_memory.go:472.115,474.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.2,491.19 1 30 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.19,493.23 2 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:493.23,495.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:496.3,508.21 4 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:508.21,510.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:511.3,511.26 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.2,522.43 1 28 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.43,535.34 5 11 +github.com/thebtf/engram/internal/mcp/tools_memory.go:535.34,556.30 4 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:556.30,558.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.4,559.44 1 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.44,561.5 1 4 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.4,562.106 1 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.106,564.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.4,575.74 1 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.74,577.5 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:578.4,579.18 2 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:579.18,581.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:583.4,584.28 2 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:584.28,586.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.4,588.31 1 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.31,599.57 2 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:599.57,601.17 2 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:601.17,604.7 2 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:606.5,607.21 2 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:607.21,609.6 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.5,615.138 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.138,617.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:617.27,619.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:620.6,620.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:622.5,623.26 2 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:623.26,625.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:626.5,626.28 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:630.4,631.20 2 6 +github.com/thebtf/engram/internal/mcp/tools_memory.go:631.20,633.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.4,634.22 1 6 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.22,637.26 2 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:637.26,639.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:640.5,640.28 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:645.4,660.77 4 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:660.77,662.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:663.4,664.25 2 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:664.25,666.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:667.4,667.27 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.2,673.26 1 18 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.26,675.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:677.2,678.25 2 17 +github.com/thebtf/engram/internal/mcp/tools_memory.go:678.25,680.3 1 11 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.2,681.97 1 17 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.97,683.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:690.2,691.21 2 17 +github.com/thebtf/engram/internal/mcp/tools_memory.go:691.21,693.33 2 5 +github.com/thebtf/engram/internal/mcp/tools_memory.go:693.33,695.4 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.3,696.33 1 5 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.33,698.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.3,699.49 1 5 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.49,704.4 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.3,721.54 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.54,722.84 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:722.84,724.5 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.2,728.99 1 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.99,730.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:732.2,733.22 2 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:733.22,735.10 2 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:736.109,737.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:738.100,739.25 1 4 +github.com/thebtf/engram/internal/mcp/tools_memory.go:740.114,741.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:742.107,743.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:744.11,745.26 1 11 +github.com/thebtf/engram/internal/mcp/tools_memory.go:748.2,749.43 2 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:749.43,751.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:753.2,755.34 3 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:755.34,756.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:756.48,757.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:757.19,760.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.2,764.31 1 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.31,767.3 2 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.2,768.35 1 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.35,771.3 2 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.2,772.76 1 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.76,776.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:778.2,780.16 3 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:780.16,782.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:782.20,785.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.2,788.25 1 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.25,798.18 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:798.18,800.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.9,800.30 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.30,807.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.3,808.36 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.36,810.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:811.3,812.50 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:812.50,815.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:816.3,822.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:822.17,824.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:826.3,836.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:836.17,838.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:839.3,839.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:842.2,843.30 2 13 +github.com/thebtf/engram/internal/mcp/tools_memory.go:843.30,844.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:844.52,846.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:846.9,848.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:851.2,869.21 2 13 +github.com/thebtf/engram/internal/mcp/tools_memory.go:869.21,871.43 2 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:871.43,873.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.3,874.29 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.29,876.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.3,886.76 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.76,888.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.2,890.105 1 13 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.105,892.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:893.2,894.16 2 13 +github.com/thebtf/engram/internal/mcp/tools_memory.go:894.16,896.3 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:901.2,904.40 4 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:904.40,905.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:905.15,906.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:909.3,910.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:910.63,912.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:912.9,914.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.3,916.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.43,918.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:919.3,920.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:920.20,922.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.3,925.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.23,928.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:929.3,931.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:931.33,934.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:934.39,936.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:939.2,948.42 5 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:948.42,950.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:950.21,952.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:952.9,955.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.2,959.53 1 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.53,960.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:960.54,961.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:961.33,963.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:964.9,972.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.3,973.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.60,974.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:974.40,976.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.3,978.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.61,979.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:979.41,981.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.3,983.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.28,985.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:986.3,987.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.2,989.51 1 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.51,991.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:995.2,997.53 3 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:997.53,999.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:999.8,1001.3 1 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.2,1002.22 1 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.22,1004.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1008.2,1014.76 3 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1014.76,1016.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.2,1021.57 1 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.57,1026.13 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1026.13,1029.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1029.21,1032.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.4,1033.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.49,1035.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1036.4,1043.89 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1043.89,1046.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1048.4,1048.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1052.2,1063.21 2 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1063.21,1065.40 2 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1065.40,1067.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.3,1068.38 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.38,1070.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1072.2,1074.18 3 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1074.18,1081.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.2,1082.28 1 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.28,1084.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.2,1085.16 1 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.16,1087.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.2,1088.30 1 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.30,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.2,1091.30 1 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.30,1093.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.2,1098.76 1 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.76,1100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1101.2,1102.16 2 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1102.16,1104.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1105.2,1105.25 1 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111.94,1113.15 2 13 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1113.15,1115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1117.2,1118.16 2 13 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1118.16,1120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1122.2,1123.13 2 13 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1123.13,1125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1126.2,1131.16 4 13 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1131.16,1133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.2,1134.19 1 13 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.19,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.2,1146.39 1 13 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.39,1148.55 2 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1148.55,1150.4 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.2,1152.39 1 11 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.39,1154.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1157.2,1158.21 2 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1158.21,1163.21 3 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1163.21,1165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1166.3,1167.21 2 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1167.21,1169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.3,1170.52 1 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.52,1172.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.3,1173.52 1 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.52,1178.4 2 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.3,1179.41 1 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.41,1182.4 2 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1183.3,1183.30 1 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.2,1188.46 1 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.46,1190.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.2,1191.27 1 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.27,1193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1195.2,1196.16 2 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1196.16,1198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1201.2,1210.16 4 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1210.16,1212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1213.2,1213.25 1 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218.59,1220.38 1 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1220.38,1222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1225.2,1226.29 2 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1226.29,1227.22 1 30 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1227.22,1229.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.2,1232.18 1 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.18,1234.3 1 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1237.2,1244.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1244.29,1245.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1245.67,1247.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.2,1249.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.16,1251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1254.2,1254.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258.55,1260.47 2 35 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1260.47,1262.3 1 33 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1263.2,1264.58 2 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1264.58,1266.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1267.2,1267.26 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270.252,1271.108 1 28 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1271.108,1273.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.2,1274.55 1 26 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.55,1276.3 1 13 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1277.2,1277.13 1 13 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280.184,1282.69 2 35 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1282.69,1284.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1284.32,1285.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1285.58,1287.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.3,1290.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.18,1292.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.2,1294.19 1 35 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.19,1297.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1297.32,1298.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1298.39,1300.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.3,1303.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.19,1305.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.2,1307.21 1 35 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.21,1309.32 2 8 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1309.32,1310.49 1 12 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1310.49,1312.10 2 4 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.3,1315.18 1 8 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.18,1317.4 1 4 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.2,1319.28 1 31 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.28,1321.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1321.17,1323.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.3,1324.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.27,1326.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.2,1328.76 1 31 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.76,1330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1331.2,1331.13 1 31 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342.96,1343.26 1 20 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1343.26,1345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1347.2,1348.16 2 20 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1348.16,1350.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1352.2,1363.23 9 20 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1363.23,1364.58 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1364.58,1365.31 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1365.31,1367.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1367.10,1369.5 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.2,1373.17 1 19 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.17,1375.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.2,1376.16 1 19 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.16,1378.3 1 12 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.2,1379.16 1 19 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.16,1381.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.2,1382.18 1 19 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.18,1384.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.2,1385.19 1 19 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.19,1387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.2,1388.19 1 19 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.19,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1396.2,1399.18 4 19 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1399.18,1400.61 1 5 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1400.61,1401.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1402.50,1403.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1404.12,1405.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1409.2,1410.42 2 19 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1410.42,1414.3 3 12 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1415.2,1420.16 3 19 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1420.16,1422.3 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1429.2,1444.43 6 16 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1444.43,1446.3 1 4 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1449.2,1451.27 3 12 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1451.27,1453.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.2,1458.46 1 12 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.46,1460.3 1 26 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.2,1461.63 1 12 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.63,1463.3 1 7 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1465.2,1466.15 2 12 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1466.15,1472.29 3 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1472.29,1479.18 2 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1479.18,1481.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.4,1482.23 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.23,1483.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.4,1485.30 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.30,1486.24 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1486.24,1488.32 2 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1488.32,1489.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1493.4,1494.30 2 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1494.30,1495.10 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1498.8,1504.29 3 11 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1504.29,1506.18 2 11 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1506.18,1508.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.4,1509.23 1 11 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.23,1510.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.4,1512.30 1 11 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.30,1513.24 1 24 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1513.24,1515.32 2 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1515.32,1516.12 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1520.4,1521.30 2 11 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1521.30,1522.10 1 11 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.2,1526.26 1 12 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.26,1528.17 2 6 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1528.17,1530.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.2,1535.74 1 12 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.74,1536.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1536.13,1537.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1537.33,1542.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1542.26,1544.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1544.39,1546.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1548.5,1548.82 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.2,1565.38 1 12 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.38,1569.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1569.27,1571.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.3,1572.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.27,1574.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1576.3,1581.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1581.32,1586.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1588.3,1592.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1592.18,1594.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1595.3,1596.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1596.17,1598.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1599.3,1599.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1602.2,1602.16 1 12 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1603.15,1618.32 3 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1618.32,1620.33 2 12 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1620.33,1621.40 1 12 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1621.40,1623.11 2 12 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1626.4,1638.6 1 12 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1640.3,1641.17 2 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1641.17,1643.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1644.3,1644.26 1 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1646.18,1648.17 2 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1648.17,1650.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1651.3,1651.26 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1653.10,1654.25 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1654.25,1656.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1657.3,1659.32 3 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1659.32,1661.33 2 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1661.33,1662.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1662.40,1664.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1667.4,1669.26 3 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1669.26,1671.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1672.4,1673.25 2 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1673.25,1675.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1676.4,1676.24 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1678.3,1678.26 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690.51,1695.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700.73,1702.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1702.16,1704.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1705.2,1706.48 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1706.48,1710.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1711.2,1713.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1713.16,1715.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1716.2,1716.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727.117,1731.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1731.21,1733.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1734.2,1735.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1735.16,1737.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1738.2,1739.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1739.27,1741.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1742.2,1742.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1764.19,1775.30 7 4 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1775.30,1777.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1777.37,1779.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.3,1781.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.20,1783.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.2,1797.39 1 4 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.39,1799.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1801.2,1811.25 3 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1811.25,1813.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1815.2,1816.29 2 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1816.29,1818.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.2,1824.27 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.27,1826.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1831.2,1833.22 3 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1833.22,1835.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1837.2,1846.16 2 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1846.16,1848.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1853.2,1855.27 3 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1855.27,1857.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1859.2,1876.33 3 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1876.33,1878.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1880.2,1881.28 2 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1881.28,1885.20 2 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1885.20,1888.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1888.33,1889.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1889.40,1891.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.4,1894.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.20,1895.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.3,1900.22 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.22,1902.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1902.33,1903.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1903.50,1905.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.4,1908.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.19,1909.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.3,1918.56 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.56,1919.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.3,1927.64 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.64,1928.12 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1932.3,1935.32 3 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1935.32,1936.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1936.39,1938.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1942.3,1956.14 2 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1956.14,1957.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1957.37,1959.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1961.3,1962.26 2 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1962.26,1963.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.2,1975.59 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.59,1986.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1986.17,1988.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1990.3,1991.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1991.34,1993.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1995.3,1996.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1996.29,1998.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1998.21,2001.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2001.34,2002.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2002.41,2004.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.5,2007.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.21,2008.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.4,2011.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.23,2013.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2013.34,2014.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2014.51,2016.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.5,2019.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.20,2020.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.4,2023.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.57,2024.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.4,2027.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.65,2028.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2030.4,2031.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2031.33,2032.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2032.40,2034.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2037.4,2051.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2051.15,2052.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2052.38,2054.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2056.4,2057.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2057.27,2058.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2065.2,2066.28 2 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2066.28,2068.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.2,2072.71 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.71,2080.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2080.30,2081.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2081.41,2087.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.3,2089.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.13,2090.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2090.31,2095.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2095.25,2097.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2097.38,2099.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2101.5,2101.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.2,2112.38 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.38,2115.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2115.27,2117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2121.3,2138.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2138.30,2140.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2140.11,2141.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2143.4,2160.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2160.15,2161.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2161.39,2163.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2165.4,2165.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2167.3,2173.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2173.24,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2176.3,2176.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2179.2,2179.16 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2180.15,2182.24 2 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2182.24,2184.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2185.3,2185.26 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2187.18,2199.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2199.30,2201.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2201.11,2202.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2204.4,2208.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2208.15,2209.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2209.39,2211.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2213.4,2213.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2215.3,2216.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2216.24,2218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2219.3,2219.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2220.10,2221.22 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2221.22,2223.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2224.3,2226.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2226.27,2228.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2228.20,2230.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2231.4,2233.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2233.26,2235.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2236.4,2237.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2237.23,2239.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.4,2240.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.46,2244.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2245.4,2245.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2247.3,2247.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252.94,2254.16 2 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2254.16,2256.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2258.2,2260.18 3 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2260.18,2261.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2261.59,2262.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2262.36,2264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2264.10,2266.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.2,2270.13 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.13,2272.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.2,2273.50 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.50,2275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2277.2,2277.98 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281.98,2282.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2282.26,2284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2286.2,2287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2287.16,2289.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2291.2,2292.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2292.13,2294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2297.2,2298.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2298.19,2299.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2299.51,2301.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2302.3,2302.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.2,2304.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.42,2306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.2,2308.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.54,2309.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2309.48,2311.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2312.3,2312.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2316.2,2318.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17.82,19.2 1 5 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21.149,22.55 1 22 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:22.55,24.3 1 11 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.2,25.36 1 11 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.36,27.3 1 4 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:28.2,34.16 2 7 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:34.16,36.3 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.2,37.42 1 4 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.42,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:40.2,40.22 1 4 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43.105,44.48 1 13 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:44.48,46.3 1 12 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:47.2,48.54 2 1 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51.129,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:56.2,57.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:57.53,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:60.2,61.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:61.25,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:64.2,65.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:65.16,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:68.2,68.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26.97,27.18 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:27.18,29.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:30.2,30.54 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33.37,35.2 1 73 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37.81,38.44 1 12 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:38.44,40.3 1 10 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.2,41.38 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.38,43.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:44.2,44.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47.88,48.32 1 11 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:48.32,50.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:51.2,52.20 2 9 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:52.20,54.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:55.2,55.21 1 8 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58.40,72.2 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74.106,75.34 1 11 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:75.34,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:78.2,79.16 2 11 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:79.16,81.3 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:83.2,84.16 2 8 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:88.2,89.13 2 8 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:89.13,91.3 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:93.2,94.63 2 5 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:94.63,96.3 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.2,98.72 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.72,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:102.2,106.4 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109.117,110.32 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:110.32,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.2,113.34 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.34,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:117.2,118.16 2 2 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:118.16,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.2,121.19 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.19,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:125.2,126.69 2 2 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:126.69,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:130.2,136.4 1 2 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18.33,20.2 1 72 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22.27,37.2 1 2 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39.93,40.30 1 10 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:40.30,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.2,43.28 1 10 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.28,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:46.2,47.16 2 10 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:47.16,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:51.2,52.17 2 10 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:52.17,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:55.2,56.19 2 10 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:56.19,58.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.2,59.19 1 10 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.19,61.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:62.2,63.16 2 9 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:63.16,65.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:67.2,74.9 3 9 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:74.9,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:77.2,78.15 2 9 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:78.15,80.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:81.2,85.16 4 7 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:85.16,87.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.2,88.17 1 6 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.17,90.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:92.2,101.30 2 6 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104.48,105.16 1 9 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:108.2,109.29 2 9 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:109.29,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.2,112.31 1 9 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.31,114.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:115.2,115.19 1 8 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118.75,120.27 2 6 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:120.27,121.32 1 29 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:121.32,123.17 2 31 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:123.17,124.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:126.4,126.17 1 31 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:129.2,134.33 3 6 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:134.33,136.3 1 6 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.2,137.40 1 6 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.40,138.39 1 2 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:138.39,140.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:141.3,141.37 1 1 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.2,143.34 1 6 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.34,145.3 1 6 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:146.2,147.35 2 6 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:147.35,149.3 1 6 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:150.2,150.12 1 6 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153.77,154.20 1 6 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:154.20,156.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:157.2,159.31 3 4 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:159.31,160.33 1 25 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:160.33,162.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.3,163.30 1 25 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.30,165.4 1 24 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:167.2,170.3 1 4 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23.91,25.2 1 14 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27.38,50.2 1 1 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52.104,53.38 1 5 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:53.38,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:56.2,57.16 2 5 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:61.2,62.26 2 5 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:62.26,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:65.2,66.30 2 5 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:66.30,68.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.2,69.72 1 5 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.72,71.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:73.2,74.16 2 4 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:77.2,78.16 2 4 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:78.16,80.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:81.2,82.16 2 3 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:82.16,84.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:85.2,86.16 2 3 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:90.2,105.16 3 3 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:105.16,107.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.2,109.19 1 1 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.19,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.2,118.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.25,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.2,121.30 1 1 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.30,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.2,124.31 1 1 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.31,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:127.2,128.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:131.2,131.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134.91,136.9 2 10 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:136.9,138.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:139.2,140.15 2 9 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:140.15,141.19 1 3 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:141.19,143.4 1 3 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:144.3,144.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:146.2,146.94 1 6 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149.59,150.16 1 4 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:150.16,152.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:153.2,154.61 2 2 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:154.61,156.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:157.2,157.15 1 1 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160.56,161.75 1 3 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:161.75,163.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:164.2,164.52 1 2 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167.67,169.20 2 4 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:170.17,171.17 1 4 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:172.67,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:174.10,175.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179.60,180.16 1 3 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:180.16,182.3 1 3 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:183.2,184.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:184.25,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:187.2,187.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190.57,191.25 1 11 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:192.15,193.81 1 11 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:193.81,195.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:196.3,196.21 1 11 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:197.19,199.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:199.17,201.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.3,202.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.55,204.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:205.3,205.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:206.14,207.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:208.11,209.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:210.10,211.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215.59,216.16 1 3 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:216.16,218.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:219.2,219.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:220.12,221.16 1 1 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:222.14,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:224.10,225.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:28.90,30.16 2 7 +github.com/thebtf/engram/internal/mcp/tools_recall.go:30.16,32.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:34.2,36.16 2 7 +github.com/thebtf/engram/internal/mcp/tools_recall.go:37.16,38.38 1 5 +github.com/thebtf/engram/internal/mcp/tools_recall.go:40.16,42.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:44.20,46.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:48.17,50.142 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:52.17,56.50 1 1 +github.com/thebtf/engram/internal/mcp/tools_recall.go:56.50,62.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:62.63,64.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.4,66.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.45,68.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:72.4,74.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:74.25,76.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:77.4,77.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:80.3,80.101 1 1 +github.com/thebtf/engram/internal/mcp/tools_recall.go:82.18,84.141 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:86.18,88.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:88.18,90.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:91.3,91.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:93.17,96.50 1 1 +github.com/thebtf/engram/internal/mcp/tools_recall.go:96.50,99.59 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:99.59,101.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:102.4,104.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:104.25,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:107.4,107.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:110.3,110.98 1 1 +github.com/thebtf/engram/internal/mcp/tools_recall.go:112.10,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:125.86,126.16 1 20 +github.com/thebtf/engram/internal/mcp/tools_recall.go:126.16,128.3 1 10 +github.com/thebtf/engram/internal/mcp/tools_recall.go:129.2,130.9 2 10 +github.com/thebtf/engram/internal/mcp/tools_recall.go:130.9,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.2,133.22 1 10 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.22,135.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_recall.go:137.2,139.31 3 9 +github.com/thebtf/engram/internal/mcp/tools_recall.go:139.31,141.10 2 10 +github.com/thebtf/engram/internal/mcp/tools_recall.go:141.10,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:144.3,145.22 2 10 +github.com/thebtf/engram/internal/mcp/tools_recall.go:145.22,147.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_recall.go:148.3,149.26 2 9 +github.com/thebtf/engram/internal/mcp/tools_recall.go:149.26,151.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.3,152.68 1 9 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.68,154.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_recall.go:155.3,156.37 2 8 +github.com/thebtf/engram/internal/mcp/tools_recall.go:156.37,158.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_recall.go:159.3,160.107 2 7 +github.com/thebtf/engram/internal/mcp/tools_recall.go:162.2,162.28 1 6 +github.com/thebtf/engram/internal/mcp/tools_recall.go:165.249,166.24 1 6 +github.com/thebtf/engram/internal/mcp/tools_recall.go:166.24,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.2,169.38 1 6 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.38,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:173.2,174.31 2 6 +github.com/thebtf/engram/internal/mcp/tools_recall.go:174.31,175.32 1 2 +github.com/thebtf/engram/internal/mcp/tools_recall.go:175.32,177.4 1 2 +github.com/thebtf/engram/internal/mcp/tools_recall.go:180.2,181.34 2 6 +github.com/thebtf/engram/internal/mcp/tools_recall.go:181.34,182.29 1 6 +github.com/thebtf/engram/internal/mcp/tools_recall.go:182.29,183.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:185.3,197.17 3 6 +github.com/thebtf/engram/internal/mcp/tools_recall.go:197.17,199.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.3,200.20 1 6 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.20,201.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.3,203.37 1 6 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.37,205.33 2 7 +github.com/thebtf/engram/internal/mcp/tools_recall.go:205.33,206.13 1 2 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.4,208.19 1 5 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.19,209.43 1 5 +github.com/thebtf/engram/internal/mcp/tools_recall.go:209.43,210.14 1 2 +github.com/thebtf/engram/internal/mcp/tools_recall.go:212.5,212.30 1 3 +github.com/thebtf/engram/internal/mcp/tools_recall.go:214.4,215.30 2 3 +github.com/thebtf/engram/internal/mcp/tools_recall.go:215.30,216.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:220.2,220.22 1 6 +github.com/thebtf/engram/internal/mcp/tools_recall.go:223.113,229.2 5 3 +github.com/thebtf/engram/internal/mcp/tools_recall.go:231.101,233.2 1 7 +github.com/thebtf/engram/internal/mcp/tools_recall.go:247.92,251.16 4 5 +github.com/thebtf/engram/internal/mcp/tools_recall.go:251.16,253.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.8,253.24 1 5 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:259.2,272.51 3 5 +github.com/thebtf/engram/internal/mcp/tools_recall.go:272.51,274.38 2 2 +github.com/thebtf/engram/internal/mcp/tools_recall.go:274.38,275.13 1 2 +github.com/thebtf/engram/internal/mcp/tools_recall.go:276.50,277.28 1 1 +github.com/thebtf/engram/internal/mcp/tools_recall.go:278.12,279.107 1 1 +github.com/thebtf/engram/internal/mcp/tools_recall.go:287.2,292.26 5 4 +github.com/thebtf/engram/internal/mcp/tools_recall.go:292.26,294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.2,297.19 1 4 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.19,301.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:303.2,311.42 5 4 +github.com/thebtf/engram/internal/mcp/tools_recall.go:311.42,315.3 3 2 +github.com/thebtf/engram/internal/mcp/tools_recall.go:316.2,341.64 3 4 +github.com/thebtf/engram/internal/mcp/tools_recall.go:341.64,342.86 1 12 +github.com/thebtf/engram/internal/mcp/tools_recall.go:342.86,344.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.3,345.56 1 12 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.56,347.4 1 6 +github.com/thebtf/engram/internal/mcp/tools_recall.go:348.3,360.19 6 6 +github.com/thebtf/engram/internal/mcp/tools_recall.go:360.19,364.4 3 2 +github.com/thebtf/engram/internal/mcp/tools_recall.go:365.3,365.18 1 6 +github.com/thebtf/engram/internal/mcp/tools_recall.go:369.2,370.15 2 4 +github.com/thebtf/engram/internal/mcp/tools_recall.go:370.15,372.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:372.27,374.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.3,375.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.27,377.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:380.2,381.15 2 4 +github.com/thebtf/engram/internal/mcp/tools_recall.go:381.15,387.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:387.28,395.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:395.18,397.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.4,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.23,399.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.4,401.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.30,402.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:402.66,403.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:405.5,406.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:406.12,407.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.5,409.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.28,413.6 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:414.5,415.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:415.30,416.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:419.4,420.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:420.30,421.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:424.8,432.28 3 4 +github.com/thebtf/engram/internal/mcp/tools_recall.go:432.28,438.18 2 4 +github.com/thebtf/engram/internal/mcp/tools_recall.go:438.18,440.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.4,441.23 1 4 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.23,442.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.4,444.30 1 4 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.30,445.40 1 12 +github.com/thebtf/engram/internal/mcp/tools_recall.go:445.40,447.31 2 6 +github.com/thebtf/engram/internal/mcp/tools_recall.go:447.31,448.12 1 2 +github.com/thebtf/engram/internal/mcp/tools_recall.go:452.4,455.30 2 4 +github.com/thebtf/engram/internal/mcp/tools_recall.go:455.30,456.10 1 4 +github.com/thebtf/engram/internal/mcp/tools_recall.go:461.2,465.17 2 4 +github.com/thebtf/engram/internal/mcp/tools_recall.go:465.17,467.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_recall.go:469.2,470.16 2 4 +github.com/thebtf/engram/internal/mcp/tools_recall.go:470.16,472.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:473.2,473.28 1 4 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20.79,21.43 1 3 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:21.43,23.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.2,24.29 1 2 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.29,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:27.2,27.25 1 2 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30.40,63.2 1 1 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65.68,71.25 2 2 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:71.25,74.3 2 1 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:75.2,75.67 1 2 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78.62,83.19 3 3 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:83.19,87.3 3 2 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:88.2,88.89 1 3 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91.101,92.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:92.22,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:95.2,96.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:96.18,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:103.2,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:107.2,107.119 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110.99,111.22 1 3 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:111.22,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:114.2,115.18 2 3 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:115.18,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:118.2,119.16 2 3 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:119.16,121.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.2,122.51 1 2 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.51,124.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:125.2,126.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:129.2,131.15 3 1 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:131.15,132.69 1 1 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:132.69,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:135.3,135.58 1 1 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:137.2,137.130 1 1 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140.102,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.2,145.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.64,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:148.2,148.113 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151.109,153.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:153.16,155.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:157.16,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:160.2,161.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:161.16,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:164.2,164.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167.107,169.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:169.16,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:172.2,173.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:173.16,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.2,176.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.107,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:179.2,179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:180.41,181.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:182.41,183.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:184.10,185.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189.111,191.16 2 3 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:191.16,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:194.2,195.57 2 3 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:195.57,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:198.2,199.23 2 3 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:199.23,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:202.2,203.16 2 3 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.2,206.17 1 3 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.17,208.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:209.2,209.108 1 2 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212.63,215.2 2 2 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217.69,219.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:222.2,222.79 1 1 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225.60,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:230.2,230.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233.137,234.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:234.49,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:241.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:246.2,247.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:247.16,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.2,250.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.22,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:253.2,253.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256.142,258.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:258.16,260.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:261.2,262.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:262.16,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.2,265.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.47,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:268.2,269.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:269.16,270.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:270.50,272.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:273.3,273.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:275.2,275.173 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278.157,280.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:280.16,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.2,283.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.47,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:286.2,287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:287.16,288.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:288.50,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:291.3,291.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:293.2,293.169 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296.104,297.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:297.22,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:300.2,301.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:301.61,303.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:303.20,304.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.2,307.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.19,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:310.2,317.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320.119,322.39 2 1 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:322.39,323.81 1 2 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:323.81,325.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:327.2,327.17 1 1 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330.71,332.16 2 2 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:332.16,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:335.2,335.23 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17.61,105.23 2 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:105.23,122.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:123.2,123.14 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126.104,127.61 1 6 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:127.61,129.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.2,130.38 1 4 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.38,132.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:133.2,134.16 2 3 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:137.2,138.16 2 3 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:138.16,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:141.2,147.107 2 3 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:147.107,149.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:150.2,151.16 2 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:151.16,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:154.2,170.19 2 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:170.19,172.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:173.2,173.25 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176.103,177.61 1 3 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:177.61,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.2,180.38 1 3 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.38,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:183.2,184.16 2 3 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:187.2,191.106 2 3 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:191.106,193.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:194.2,195.16 2 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:195.16,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:198.2,200.31 3 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:200.31,207.36 2 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:207.36,218.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:219.3,220.35 2 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:222.2,230.4 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233.107,234.61 1 3 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.2,237.38 1 3 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.38,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:240.2,241.16 2 3 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:241.16,243.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:244.2,248.110 2 3 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:248.110,250.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:251.2,252.16 2 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:252.16,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:255.2,256.33 2 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:256.33,266.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:267.2,275.4 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278.108,279.61 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:279.61,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.2,282.37 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.37,284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:285.2,286.16 2 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:286.16,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:289.2,290.19 2 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:290.19,292.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.2,293.104 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.104,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:296.2,297.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:297.16,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:300.2,307.16 3 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:307.16,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:310.2,311.43 2 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:311.43,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:319.2,332.22 2 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:332.22,334.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:335.2,335.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338.108,339.62 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:339.62,341.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.2,342.38 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.38,344.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:345.2,346.9 2 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:346.9,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:349.2,350.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:350.16,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:353.2,357.16 5 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:360.2,370.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373.109,374.62 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:374.62,376.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.2,377.38 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.38,379.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:380.2,381.9 2 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:381.9,383.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:384.2,385.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:385.16,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:388.2,390.32 3 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:390.32,392.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:393.2,394.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:394.16,396.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:397.2,403.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406.106,407.62 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:407.62,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.2,410.38 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.38,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:413.2,414.9 2 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:414.9,416.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:417.2,418.16 2 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:418.16,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:421.2,423.16 3 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:423.16,424.41 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:424.41,434.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:435.3,435.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:437.2,445.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483.65,484.42 1 14 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:484.42,485.39 1 13 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:485.39,487.4 1 12 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.2,489.85 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.85,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:492.2,492.95 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495.102,496.38 1 10 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:496.38,498.3 1 4 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.2,499.58 1 6 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.58,501.3 1 3 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:502.2,502.90 1 3 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505.60,508.2 2 3 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510.66,512.26 2 5 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:512.26,514.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:515.2,515.12 1 4 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518.69,521.33 3 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:521.33,523.21 2 5 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:523.21,524.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.3,526.34 1 5 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.34,527.12 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:529.3,530.30 2 4 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:532.2,532.12 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535.63,537.19 2 5 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:537.19,539.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:540.2,541.42 2 5 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:541.42,543.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.2,544.57 1 4 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.57,546.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.2,547.54 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.54,549.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:550.2,550.30 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553.70,557.2 1 4 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559.66,561.9 2 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:561.9,563.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:564.2,566.17 3 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:566.17,568.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:569.2,569.33 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:570.103,572.30 2 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:573.34,574.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:575.10,576.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580.56,581.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:581.37,583.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.2,584.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.26,586.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:586.37,587.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:589.3,589.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:591.2,591.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594.90,602.2 1 3 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604.68,605.71 1 4 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:605.71,607.17 2 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:607.17,609.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:610.3,610.26 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:612.2,613.16 2 3 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:613.16,615.3 1 3 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:616.2,617.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:617.41,619.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:620.2,620.78 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623.65,625.16 2 10 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:625.16,627.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.2,628.17 1 10 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.17,630.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:631.2,631.14 1 10 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634.51,635.16 1 5 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:635.16,637.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:638.2,638.37 1 3 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641.56,642.28 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:642.28,644.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:645.2,646.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649.92,651.29 2 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:651.29,653.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:654.2,654.12 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657.86,659.29 2 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:659.29,661.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:662.2,662.12 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665.94,667.29 2 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:667.29,669.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:670.2,670.12 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673.98,675.29 2 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:675.29,677.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:678.2,678.12 1 2 +github.com/thebtf/engram/internal/mcp/tools_rules.go:17.93,18.104 1 4 +github.com/thebtf/engram/internal/mcp/tools_rules.go:18.104,20.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_rules.go:22.2,23.16 2 3 +github.com/thebtf/engram/internal/mcp/tools_rules.go:23.16,25.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:27.2,28.19 2 3 +github.com/thebtf/engram/internal/mcp/tools_rules.go:28.19,30.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:32.2,35.33 3 3 +github.com/thebtf/engram/internal/mcp/tools_rules.go:35.33,36.47 1 2 +github.com/thebtf/engram/internal/mcp/tools_rules.go:36.47,39.4 2 2 +github.com/thebtf/engram/internal/mcp/tools_rules.go:42.2,44.20 3 3 +github.com/thebtf/engram/internal/mcp/tools_rules.go:44.20,47.3 2 2 +github.com/thebtf/engram/internal/mcp/tools_rules.go:48.2,49.68 2 3 +github.com/thebtf/engram/internal/mcp/tools_rules.go:49.68,50.48 1 3 +github.com/thebtf/engram/internal/mcp/tools_rules.go:50.48,52.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.3,53.32 1 3 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.32,55.23 2 1 +github.com/thebtf/engram/internal/mcp/tools_rules.go:55.23,56.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:56.63,58.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:59.5,59.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:61.4,61.31 1 1 +github.com/thebtf/engram/internal/mcp/tools_rules.go:64.2,71.17 1 3 +github.com/thebtf/engram/internal/mcp/tools_rules.go:71.17,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.8,73.29 1 3 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.29,75.36 2 3 +github.com/thebtf/engram/internal/mcp/tools_rules.go:75.36,77.4 1 2 +github.com/thebtf/engram/internal/mcp/tools_rules.go:78.3,83.5 1 3 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.2,86.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.35,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:90.2,97.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:101.2,110.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:110.28,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:113.2,124.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:133.93,134.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:134.35,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:138.2,139.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:139.16,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:143.2,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.2,147.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.17,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:151.2,152.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:152.33,153.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:153.47,156.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:160.16,162.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:164.2,176.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:176.26,178.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:178.23,180.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:181.3,192.5 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:195.2,196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:199.2,199.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:22.104,24.16 2 7 +github.com/thebtf/engram/internal/mcp/tools_settings.go:24.16,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:28.2,29.18 2 7 +github.com/thebtf/engram/internal/mcp/tools_settings.go:29.18,31.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_settings.go:33.2,33.16 1 6 +github.com/thebtf/engram/internal/mcp/tools_settings.go:34.13,35.36 1 4 +github.com/thebtf/engram/internal/mcp/tools_settings.go:36.13,37.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:38.14,39.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:40.16,41.39 1 1 +github.com/thebtf/engram/internal/mcp/tools_settings.go:42.10,43.95 1 1 +github.com/thebtf/engram/internal/mcp/tools_settings.go:51.67,53.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:57.68,58.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:58.33,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:61.2,61.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:67.42,69.2 1 9 +github.com/thebtf/engram/internal/mcp/tools_settings.go:74.61,76.26 2 8 +github.com/thebtf/engram/internal/mcp/tools_settings.go:76.26,78.3 1 5 +github.com/thebtf/engram/internal/mcp/tools_settings.go:79.2,79.12 1 3 +github.com/thebtf/engram/internal/mcp/tools_settings.go:85.90,86.49 1 4 +github.com/thebtf/engram/internal/mcp/tools_settings.go:86.49,88.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_settings.go:90.2,91.15 2 2 +github.com/thebtf/engram/internal/mcp/tools_settings.go:91.15,93.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_settings.go:94.2,95.17 2 1 +github.com/thebtf/engram/internal/mcp/tools_settings.go:95.17,97.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_settings.go:100.2,103.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:103.16,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:107.2,113.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:113.12,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:115.18,117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:118.3,119.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:119.20,121.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:122.3,124.48 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:125.8,127.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:129.2,130.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:130.16,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:134.2,139.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:145.90,147.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:151.2,152.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:152.16,154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:157.16,158.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:158.47,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:161.3,161.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:164.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:170.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:173.8,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:176.2,176.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:181.92,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:187.2,188.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:188.16,190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:192.2,200.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:200.25,207.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:207.28,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:210.3,210.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:212.2,212.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:216.93,217.52 1 1 +github.com/thebtf/engram/internal/mcp/tools_settings.go:217.52,219.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_settings.go:221.2,222.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:222.15,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:226.2,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.2,231.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.47,232.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:232.47,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:235.3,235.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:238.2,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:35.127,36.23 1 17 +github.com/thebtf/engram/internal/mcp/tools_state.go:36.23,38.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:39.2,40.40 2 16 +github.com/thebtf/engram/internal/mcp/tools_state.go:40.40,42.3 1 16 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.2,43.37 1 16 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.37,45.3 1 3 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.2,46.37 1 16 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.37,48.3 1 3 +github.com/thebtf/engram/internal/mcp/tools_state.go:49.2,49.15 1 16 +github.com/thebtf/engram/internal/mcp/tools_state.go:52.23,80.2 1 2 +github.com/thebtf/engram/internal/mcp/tools_state.go:82.26,140.2 1 2 +github.com/thebtf/engram/internal/mcp/tools_state.go:142.92,143.25 1 21 +github.com/thebtf/engram/internal/mcp/tools_state.go:143.25,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:147.2,148.49 2 21 +github.com/thebtf/engram/internal/mcp/tools_state.go:148.49,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:152.2,152.18 1 21 +github.com/thebtf/engram/internal/mcp/tools_state.go:153.17,154.24 1 2 +github.com/thebtf/engram/internal/mcp/tools_state.go:154.24,156.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:157.3,158.17 2 2 +github.com/thebtf/engram/internal/mcp/tools_state.go:158.17,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:161.3,165.5 1 2 +github.com/thebtf/engram/internal/mcp/tools_state.go:166.17,167.22 1 2 +github.com/thebtf/engram/internal/mcp/tools_state.go:167.22,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.3,170.22 1 2 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.22,172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:173.3,174.17 2 2 +github.com/thebtf/engram/internal/mcp/tools_state.go:174.17,176.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:177.3,181.5 1 2 +github.com/thebtf/engram/internal/mcp/tools_state.go:182.16,189.23 7 17 +github.com/thebtf/engram/internal/mcp/tools_state.go:189.23,191.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.3,192.24 1 17 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.24,194.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.3,195.39 1 16 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.39,197.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:198.3,207.17 3 15 +github.com/thebtf/engram/internal/mcp/tools_state.go:207.17,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.3,210.69 1 15 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.69,212.4 1 11 +github.com/thebtf/engram/internal/mcp/tools_state.go:213.3,213.29 1 4 +github.com/thebtf/engram/internal/mcp/tools_state.go:214.10,215.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:219.92,220.25 1 8 +github.com/thebtf/engram/internal/mcp/tools_state.go:220.25,222.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:224.2,225.49 2 7 +github.com/thebtf/engram/internal/mcp/tools_state.go:225.49,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:229.2,229.18 1 7 +github.com/thebtf/engram/internal/mcp/tools_state.go:230.17,232.24 2 4 +github.com/thebtf/engram/internal/mcp/tools_state.go:232.24,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:235.3,236.17 2 4 +github.com/thebtf/engram/internal/mcp/tools_state.go:236.17,238.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.3,239.59 1 3 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.59,241.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.3,242.81 1 2 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.81,244.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:245.3,250.5 1 2 +github.com/thebtf/engram/internal/mcp/tools_state.go:251.17,253.22 2 3 +github.com/thebtf/engram/internal/mcp/tools_state.go:253.22,255.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:256.3,257.17 2 3 +github.com/thebtf/engram/internal/mcp/tools_state.go:257.17,259.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.3,260.79 1 2 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.79,262.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:263.3,268.5 1 2 +github.com/thebtf/engram/internal/mcp/tools_state.go:269.10,270.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:274.91,276.16 2 4 +github.com/thebtf/engram/internal/mcp/tools_state.go:276.16,278.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.2,279.67 1 4 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.67,280.76 1 11 +github.com/thebtf/engram/internal/mcp/tools_state.go:280.76,282.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:285.2,286.52 2 3 +github.com/thebtf/engram/internal/mcp/tools_state.go:286.52,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:289.2,289.19 1 3 +github.com/thebtf/engram/internal/mcp/tools_state.go:292.74,294.16 2 3 +github.com/thebtf/engram/internal/mcp/tools_state.go:294.16,296.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.2,297.62 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.62,299.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:300.2,300.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:303.109,304.56 1 15 +github.com/thebtf/engram/internal/mcp/tools_state.go:304.56,306.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.2,307.25 1 14 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.25,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.2,310.81 1 14 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.81,312.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.2,313.102 1 13 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.102,315.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.2,316.108 1 12 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.108,318.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.2,319.99 1 11 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.99,321.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.2,322.99 1 10 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.99,324.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.2,325.60 1 9 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.60,327.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.2,328.34 1 9 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.34,330.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.2,331.114 1 8 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.114,333.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.2,334.66 1 7 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.66,336.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.2,337.40 1 7 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.40,339.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.2,340.132 1 6 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.132,342.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.2,343.35 1 5 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.35,345.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:346.2,346.12 1 4 +github.com/thebtf/engram/internal/mcp/tools_state.go:349.92,350.103 1 3 +github.com/thebtf/engram/internal/mcp/tools_state.go:350.103,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:354.2,355.52 2 3 +github.com/thebtf/engram/internal/mcp/tools_state.go:355.52,357.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.2,358.32 1 3 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.32,360.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:361.2,361.19 1 2 +github.com/thebtf/engram/internal/mcp/tools_state.go:364.108,365.19 1 7 +github.com/thebtf/engram/internal/mcp/tools_state.go:365.19,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:368.2,369.53 2 7 +github.com/thebtf/engram/internal/mcp/tools_state.go:369.53,371.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.2,372.19 1 7 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.19,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.2,375.39 1 7 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.39,376.34 1 24 +github.com/thebtf/engram/internal/mcp/tools_state.go:376.34,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:380.2,380.20 1 7 +github.com/thebtf/engram/internal/mcp/tools_state.go:383.66,385.53 2 11 +github.com/thebtf/engram/internal/mcp/tools_state.go:385.53,387.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.2,388.19 1 10 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.19,390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:391.2,391.12 1 10 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:16.2,18.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:19.16,20.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:21.14,22.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:23.15,24.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:25.16,26.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:27.10,28.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21.75,23.2 1 10 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25.41,28.2 2 13 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30.31,37.2 1 2 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39.38,46.2 1 2 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48.50,56.2 1 2 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58.43,70.2 1 2 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72.80,73.36 1 10 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:73.36,75.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.2,76.48 1 8 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.48,78.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:79.2,79.37 1 6 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82.97,84.16 2 6 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:84.16,86.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:87.2,88.16 2 4 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:88.16,90.3 1 3 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:91.2,92.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:92.16,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:95.2,96.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:96.16,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:99.2,99.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102.104,104.16 2 4 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:104.16,106.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:107.2,108.16 2 2 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:108.16,110.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:111.2,112.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:115.2,116.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:116.16,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:119.2,119.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122.96,124.16 2 4 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:127.2,128.19 2 4 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:128.19,130.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:131.2,132.18 2 2 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:132.18,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:135.2,141.79 2 2 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:141.79,143.17 2 2 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:143.17,145.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:146.3,146.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:148.2,148.21 1 1 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151.77,153.16 2 2 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:156.2,157.19 2 2 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:157.19,159.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:160.2,160.21 1 1 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:22.15,23.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:24.13,25.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:26.14,27.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:28.16,29.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:30.16,31.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:32.10,33.102 1 0 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/create-database.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/create-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/create-database.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/create-database.stdout.log new file mode 100644 index 00000000..4b15bd57 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/create-database.stdout.log @@ -0,0 +1 @@ +CREATE DATABASE diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/create-pgvector.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/create-pgvector.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/create-pgvector.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/create-pgvector.stdout.log new file mode 100644 index 00000000..d26bad14 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/create-pgvector.stdout.log @@ -0,0 +1 @@ +CREATE EXTENSION diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/database-identity.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/database-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/database-identity.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/database-identity.stdout.log new file mode 100644 index 00000000..47706c61 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/database-identity.stdout.log @@ -0,0 +1 @@ +{"database" : "engram_prc_rg_test_4a8d23a359bc81a6_r1", "schema" : "public", "server_version" : "17.10 (Debian 17.10-1.pgdg12+1)", "user" : "engram"} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/go-test-summary.json b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/go-test-summary.json new file mode 100644 index 00000000..fe3b9f1c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/go-test-summary.json @@ -0,0 +1,3936 @@ +{ + "schema_version": 1, + "verdict": "FAIL", + "input_path": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\go-test.stdout.jsonl", + "fail_on_unexpected_skip": false, + "allowed_skip_identities": [], + "counts": { + "packages": 1, + "tests": 488, + "passed": 487, + "failed": 1, + "skipped": 0, + "no_tests": 0, + "zero_tests": 0, + "incomplete": 0, + "unexpected_skips": 0, + "malformed_lines": 0 + }, + "packages": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "outcome": "fail", + "elapsed_seconds": 9.626, + "last_output": "FAIL\tgithub.com/thebtf/engram/internal/mcp\t9.616s", + "tests_observed": 488 + } + ], + "tests": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAdminPurge_ActionInAdminActions", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestAdminPurge_ActionInAdminActions (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAdminPurge_AdminAllowed", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestAdminPurge_AdminAllowed (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAdminPurge_FlagOff_RejectsAsUnknown", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestAdminPurge_FlagOff_RejectsAsUnknown (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAdminPurge_FlagOff_SchemaLacksConfirm", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestAdminPurge_FlagOff_SchemaLacksConfirm (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAdminPurge_FlagOn_SchemaHasConfirm", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestAdminPurge_FlagOn_SchemaHasConfirm (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAdminPurge_MismatchedConfirm", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestAdminPurge_MismatchedConfirm (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAdminPurge_MissingConfirm", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestAdminPurge_MissingConfirm (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAdminPurge_MissingProject", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestAdminPurge_MissingProject (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAdminPurge_NilStore", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestAdminPurge_NilStore (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAdminPurge_NoIdentityDenied", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestAdminPurge_NoIdentityDenied (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAdminPurge_NonAdminDenied", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestAdminPurge_NonAdminDenied (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAdminPurge_SetPurgeStore_Wiring", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestAdminPurge_SetPurgeStore_Wiring (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAdminPurge_WhitespaceProject", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestAdminPurge_WhitespaceProject (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAuditCreate_LogCalledOnSuccess", + "outcome": "pass", + "elapsed_seconds": 0.01, + "last_output": "--- PASS: TestAuditCreate_LogCalledOnSuccess (0.01s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAuditCreate_SkippedWhenAuditStoreNil", + "outcome": "pass", + "elapsed_seconds": 0.01, + "last_output": "--- PASS: TestAuditCreate_SkippedWhenAuditStoreNil (0.01s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAuditCreate_SkippedWhenFlagOff", + "outcome": "pass", + "elapsed_seconds": 0.03, + "last_output": "--- PASS: TestAuditCreate_SkippedWhenFlagOff (0.03s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAuditDelete_LogCalledWithBeforeState", + "outcome": "pass", + "elapsed_seconds": 0.01, + "last_output": "--- PASS: TestAuditDelete_LogCalledWithBeforeState (0.01s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAuditDelete_SkippedWhenFlagOff", + "outcome": "pass", + "elapsed_seconds": 0.03, + "last_output": "--- PASS: TestAuditDelete_SkippedWhenFlagOff (0.03s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAuditEdit_LogCalledWithBeforeAndAfterState", + "outcome": "pass", + "elapsed_seconds": 0.01, + "last_output": "--- PASS: TestAuditEdit_LogCalledWithBeforeAndAfterState (0.01s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAuditEdit_SkippedWhenFlagOff", + "outcome": "pass", + "elapsed_seconds": 0.03, + "last_output": "--- PASS: TestAuditEdit_SkippedWhenFlagOff (0.03s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAuditSupersede_LogCalledWithSupersededID", + "outcome": "pass", + "elapsed_seconds": 0.01, + "last_output": "--- PASS: TestAuditSupersede_LogCalledWithSupersededID (0.01s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAuditSupersede_SkippedWhenFlagOff", + "outcome": "pass", + "elapsed_seconds": 0.03, + "last_output": "--- PASS: TestAuditSupersede_SkippedWhenFlagOff (0.03s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestBulkDelete_DryRun_NilFacade", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestBulkDelete_DryRun_NilFacade (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestBulkOps_FlagOff_NotAdvertised", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestBulkOps_FlagOff_NotAdvertised (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestBulkPromote_DryRun_NilFacade", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestBulkPromote_DryRun_NilFacade (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestBulkPromote_NonAdmin_ReturnsAdminRequired", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestBulkPromote_NonAdmin_ReturnsAdminRequired (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestBulkSupersede_DryRun_NilFacade", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestBulkSupersede_DryRun_NilFacade (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCallTool_CheckSystemHealth_NilStores", + "outcome": "pass", + "elapsed_seconds": 0.13, + "last_output": "--- PASS: TestCallTool_CheckSystemHealth_NilStores (0.13s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCallTool_FindByFile_Removed", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCallTool_FindByFile_Removed (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCallTool_GetMemoryStats_NilStores", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCallTool_GetMemoryStats_NilStores (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCallTool_ParameterValidation_Table", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCallTool_ParameterValidation_Table (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCallTool_ParameterValidation_Table/analyze_search_patterns/{invalid", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCallTool_ParameterValidation_Table/analyze_search_patterns/{invalid (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCallTool_ParameterValidation_Table/find_similar_observations/{}", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCallTool_ParameterValidation_Table/find_similar_observations/{} (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCallTool_ParameterValidation_Table/find_similar_observations/{invalid", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCallTool_ParameterValidation_Table/find_similar_observations/{invalid (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCallTool_UnknownToolNames_Table", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCallTool_UnknownToolNames_Table (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCallTool_UnknownToolNames_Table/invalid_tool", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCallTool_UnknownToolNames_Table/invalid_tool (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCallTool_UnknownToolNames_Table/nonexistent", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCallTool_UnknownToolNames_Table/nonexistent (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCallTool_UnknownToolNames_Table/search_v2", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCallTool_UnknownToolNames_Table/search_v2 (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCallTool_UnknownToolNames_Table/timeline_x", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCallTool_UnknownToolNames_Table/timeline_x (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCallTool_UnknownToolReturnsError", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCallTool_UnknownToolReturnsError (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCandidateTools_ExposeCR008ReviewLoopContracts", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCandidateTools_ExposeCR008ReviewLoopContracts (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCheckSystemHealth_VectorSubsystem", + "outcome": "pass", + "elapsed_seconds": 0.25, + "last_output": "--- PASS: TestCheckSystemHealth_VectorSubsystem (0.25s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCheckSystemHealth_VectorSubsystem/vnext_disabled", + "outcome": "pass", + "elapsed_seconds": 0.13, + "last_output": "--- PASS: TestCheckSystemHealth_VectorSubsystem/vnext_disabled (0.13s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCheckSystemHealth_VectorSubsystem/vnext_enabled", + "outcome": "pass", + "elapsed_seconds": 0.13, + "last_output": "--- PASS: TestCheckSystemHealth_VectorSubsystem/vnext_enabled (0.13s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCodebaseSearch_FlagOff_ReturnsError", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCodebaseSearch_FlagOff_ReturnsError (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCodeIntelFlag_Off_ToolsAbsentFromList", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCodeIntelFlag_Off_ToolsAbsentFromList (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCodeIntelFlag_On_ServerAdvertisesSearchNotStatus", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCodeIntelFlag_On_ServerAdvertisesSearchNotStatus (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCodeIntelFlag_On_StoreNil_ToolsAbsentFromList", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCodeIntelFlag_On_StoreNil_ToolsAbsentFromList (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceBool", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceBool (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceBool/false", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceBool/false (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceBool/float_0", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceBool/float_0 (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceBool/float_1", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceBool/float_1 (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceBool/invalid_string", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceBool/invalid_string (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceBool/nil", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceBool/nil (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceBool/string_false", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceBool/string_false (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceBool/string_true", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceBool/string_true (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceBool/true", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceBool/true (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceFloat64", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceFloat64 (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceFloat64/float64", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceFloat64/float64 (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceFloat64/integer_string", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceFloat64/integer_string (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceFloat64/invalid_string", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceFloat64/invalid_string (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceFloat64/json.Number", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceFloat64/json.Number (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceFloat64/nil", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceFloat64/nil (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceFloat64/string", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceFloat64/string (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt/bool", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt/bool (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt/float64", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt/float64 (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt/float64_with_decimal", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt/float64_with_decimal (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt/Inf", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt/Inf (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt/json.Number_float", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt/json.Number_float (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt/json.Number_int", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt/json.Number_int (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt/NaN", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt/NaN (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt/negative_float", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt/negative_float (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt/negative_overflow", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt/negative_overflow (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt/nil", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt/nil (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt/overflow_float64", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt/overflow_float64 (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt/string_float", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt/string_float (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt/string_int", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt/string_int (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt/string_non-numeric", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt/string_non-numeric (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt/zero", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt/zero (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt64", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt64 (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt64/float64", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt64/float64 (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt64/invalid_string", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt64/invalid_string (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt64/json.Number", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt64/json.Number (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt64/json.Number_float", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt64/json.Number_float (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt64/nil", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt64/nil (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt64/string", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt64/string (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt64/string_float", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt64/string_float (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt64Slice", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt64Slice (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt64Slice/float64_array", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt64Slice/float64_array (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt64Slice/mixed_array", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt64Slice/mixed_array (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt64Slice/nil", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt64Slice/nil (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt64Slice/not_array", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt64Slice/not_array (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt64Slice/string_array", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt64Slice/string_array (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt64Slice/with_zeros", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt64Slice/with_zeros (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceString", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceString (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceString/bool", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceString/bool (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceString/float64", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceString/float64 (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceString/json.Number", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceString/json.Number (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceString/nil", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceString/nil (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceString/string", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceString/string (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceString/wrong_type", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceString/wrong_type (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceStringSlice", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceStringSlice (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceStringSlice/array_of_strings", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceStringSlice/array_of_strings (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceStringSlice/empty_string", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceStringSlice/empty_string (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceStringSlice/mixed_array", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceStringSlice/mixed_array (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceStringSlice/nil", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceStringSlice/nil (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceStringSlice/single_string", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceStringSlice/single_string (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestDryRun_Integration_StoreMemory_ZeroSideEffects", + "outcome": "pass", + "elapsed_seconds": 0.14, + "last_output": "--- PASS: TestDryRun_Integration_StoreMemory_ZeroSideEffects (0.14s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEC_F1_HandleRecallSearch_FlagOff_BackwardCompat_T007", + "outcome": "pass", + "elapsed_seconds": 0.12, + "last_output": "--- PASS: TestEC_F1_HandleRecallSearch_FlagOff_BackwardCompat_T007 (0.12s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEC_F1_TagDerivedBackfill_T007", + "outcome": "pass", + "elapsed_seconds": 0.15, + "last_output": "--- PASS: TestEC_F1_TagDerivedBackfill_T007 (0.15s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEditMemory_AuditSourceSessionIDEmptyWhenNoSession", + "outcome": "pass", + "elapsed_seconds": 0.01, + "last_output": "--- PASS: TestEditMemory_AuditSourceSessionIDEmptyWhenNoSession (0.01s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEditMemory_AuditSourceSessionIDFromContext", + "outcome": "pass", + "elapsed_seconds": 0.01, + "last_output": "--- PASS: TestEditMemory_AuditSourceSessionIDFromContext (0.01s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEditMemory_CrossProjectAllowedWhenEnforcementOff", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestEditMemory_CrossProjectAllowedWhenEnforcementOff (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEditMemory_CrossProjectDenied", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestEditMemory_CrossProjectDenied (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEditMemory_DomainOwnedCrossPrincipalDenied", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestEditMemory_DomainOwnedCrossPrincipalDenied (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEditMemory_EmptyProjectContextDeniedWhenEnforced", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestEditMemory_EmptyProjectContextDeniedWhenEnforced (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEditMemory_HardLimitRejected", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestEditMemory_HardLimitRejected (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEditMemory_SameProjectAllowed", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestEditMemory_SameProjectAllowed (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEditMemory_SecretRedacted", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestEditMemory_SecretRedacted (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEditMemory_SoftLimitTruncates", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestEditMemory_SoftLimitTruncates (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEditMemory_TagsAbsent_KeepsExisting", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestEditMemory_TagsAbsent_KeepsExisting (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEditMemory_TagsExplicitEmpty_ClearsTags", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestEditMemory_TagsExplicitEmpty_ClearsTags (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEditMemory_TagsNonEmpty_ReplacesTags", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestEditMemory_TagsNonEmpty_ReplacesTags (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestError_Marshal_Table", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestError_Marshal_Table (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestError_Marshal_Table/method_not_found", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestError_Marshal_Table/method_not_found (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestError_Marshal_Table/nil_data_omitted", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestError_Marshal_Table/nil_data_omitted (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestError_Marshal_Table/parse_error", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestError_Marshal_Table/parse_error (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestError_Marshal_Table/with_data", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestError_Marshal_Table/with_data (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestError_NilData_NotInOutput", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestError_NilData_NotInOutput (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestExperienceHistoryToolsAdvertisedWhenProviderWired", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestExperienceHistoryToolsAdvertisedWhenProviderWired (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestExtractProjectFromHeader", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestExtractProjectFromHeader (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestExtractProjectFromHeader_Missing", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestExtractProjectFromHeader_Missing (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetAmbientHintsDrainsBoundedSafeHints", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetAmbientHintsDrainsBoundedSafeHints (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/disabled_flag", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/disabled_flag (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/empty_queue", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/empty_queue (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/stale_queue", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/stale_queue (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/master_off_hides_tool", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/master_off_hides_tool (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/master+s3+queue_advertises_tool", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/master+s3+queue_advertises_tool (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/missing_queue_hides_tool", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/missing_queue_hides_tool (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/s3_off_hides_tool", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/s3_off_hides_tool (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetMemoryBrief_PrincipalScopedResponseAndRequest", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetMemoryBrief_PrincipalScopedResponseAndRequest (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetMemoryBrief_PrincipalScopeRequiresQueryService", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetMemoryBrief_PrincipalScopeRequiresQueryService (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetMemoryBrief_PrincipalScopeSchemaAdvertised", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetMemoryBrief_PrincipalScopeSchemaAdvertised (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetMemoryStats_NilDB_NoMemoryOrVnextSections", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetMemoryStats_NilDB_NoMemoryOrVnextSections (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolProjectDoesNotRequirePrincipal", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolProjectDoesNotRequirePrincipal (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolRejectsFilesystemFallbackOption", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolRejectsFilesystemFallbackOption (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolResumeDoesNotInjectContextProjectWhenOmitted", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolResumeDoesNotInjectContextProjectWhenOmitted (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolResumeRejectsAdditionalIdentityMismatches", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolResumeRejectsAdditionalIdentityMismatches (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolResumeRejectsAdditionalIdentityMismatches/goal_mismatch", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolResumeRejectsAdditionalIdentityMismatches/goal_mismatch (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_action_command", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_action_command (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_action_kind", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_action_kind (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_verification_command", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_verification_command (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_verification_kind", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_verification_kind (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolResumeRejectsAdditionalIdentityMismatches/project_mismatch", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolResumeRejectsAdditionalIdentityMismatches/project_mismatch (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolResumeRejectsAdditionalIdentityMismatches/session_mismatch", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolResumeRejectsAdditionalIdentityMismatches/session_mismatch (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolResumeRejectsAdditionalIdentityMismatches/task_mismatch", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolResumeRejectsAdditionalIdentityMismatches/task_mismatch (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolResumeRejectsFallbackMasqueradingAsNative", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolResumeRejectsFallbackMasqueradingAsNative (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolResumeRejectsMissingEvidenceRefs", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolResumeRejectsMissingEvidenceRefs (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolResumeRejectsPacketIdentityMismatch", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolResumeRejectsPacketIdentityMismatch (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolResumeRequiresPrincipal", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolResumeRequiresPrincipal (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolResumeReturnsNativePacket", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolResumeReturnsNativePacket (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolResumeSupportsExplicitProjectOnlyScope", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolResumeSupportsExplicitProjectOnlyScope (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolSessionDoesNotRequirePrincipal", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolSessionDoesNotRequirePrincipal (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGovernanceTools_AdminGate_NoIdentity", + "outcome": "pass", + "elapsed_seconds": 0.01, + "last_output": "--- PASS: TestGovernanceTools_AdminGate_NoIdentity (0.01s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGovernanceTools_AdminGate_NoIdentity/list_snapshots", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGovernanceTools_AdminGate_NoIdentity/list_snapshots (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGovernanceTools_AdminGate_NoIdentity/pin_snapshot", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGovernanceTools_AdminGate_NoIdentity/pin_snapshot (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGovernanceTools_AdminGate_NoIdentity/redaction_rules_status", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGovernanceTools_AdminGate_NoIdentity/redaction_rules_status (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGovernanceTools_AdminGate_NoIdentity/rollback_snapshot", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGovernanceTools_AdminGate_NoIdentity/rollback_snapshot (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGovernanceTools_AdminGate_ReadOnlyCaller", + "outcome": "pass", + "elapsed_seconds": 0.01, + "last_output": "--- PASS: TestGovernanceTools_AdminGate_ReadOnlyCaller (0.01s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGovernanceTools_ListSnapshotsSchemaIncludesReviewActionOpTypes", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGovernanceTools_ListSnapshotsSchemaIncludesReviewActionOpTypes (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGovernanceTools_NotAdvertisedWhenFlagOff", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGovernanceTools_NotAdvertisedWhenFlagOff (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGovernanceTools_RedactionRulesStatus_NoAdminRequired_WithAdmin", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGovernanceTools_RedactionRulesStatus_NoAdminRequired_WithAdmin (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGraphTool_T014_AddEdgeGuardsOffline", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGraphTool_T014_AddEdgeGuardsOffline (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGraphTool_T014_AddEdgeGuardsOffline/duplicate_edge_rejected_before_create", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGraphTool_T014_AddEdgeGuardsOffline/duplicate_edge_rejected_before_create (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGraphTool_T014_AddEdgeGuardsOffline/memory_orphan_edge_rejected_before_create", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGraphTool_T014_AddEdgeGuardsOffline/memory_orphan_edge_rejected_before_create (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGraphTool_T014_AddEdgeGuardsOffline/orphan_edge_rejected_before_create", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGraphTool_T014_AddEdgeGuardsOffline/orphan_edge_rejected_before_create (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGraphTool_T014_AddEdgeGuardsOffline/valid_edge_creates_exactly_once", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGraphTool_T014_AddEdgeGuardsOffline/valid_edge_creates_exactly_once (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGraphTool_T014_AddNodeAction", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGraphTool_T014_AddNodeAction (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGraphTool_T014_AddNodeOffline", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGraphTool_T014_AddNodeOffline (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGraphTool_T014_AddNodeOffline/empty_external_ref_returns_error", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGraphTool_T014_AddNodeOffline/empty_external_ref_returns_error (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGraphTool_T014_AddNodeOffline/empty_project_returns_error", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGraphTool_T014_AddNodeOffline/empty_project_returns_error (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGraphTool_T014_AddNodeOffline/invalid_node_type_returns_error_containing_invalid_node_type:", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGraphTool_T014_AddNodeOffline/invalid_node_type_returns_error_containing_invalid_node_type: (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGraphTool_T014_AddNodeOffline/valid_input_store_receives_correct_node", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGraphTool_T014_AddNodeOffline/valid_input_store_receives_correct_node (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGraphTool_T014_ArgsShape", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGraphTool_T014_ArgsShape (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGraphTool_T014_GetEdgesNodeTypeFilter", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGraphTool_T014_GetEdgesNodeTypeFilter (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGraphTool_T014_InvalidNodeTypeRejects", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGraphTool_T014_InvalidNodeTypeRejects (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGraphTool_T014_NodeTypeFilterOffline", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGraphTool_T014_NodeTypeFilterOffline (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleAnalyzeSearchPatterns_InvalidJSON", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleAnalyzeSearchPatterns_InvalidJSON (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleCheckSystemHealth_NilStores_StructuredResponse", + "outcome": "pass", + "elapsed_seconds": 0.13, + "last_output": "--- PASS: TestHandleCheckSystemHealth_NilStores_StructuredResponse (0.13s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleExperienceHistoryReadRejectsInvalidArchiveTrigger", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleExperienceHistoryReadRejectsInvalidArchiveTrigger (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleExperienceHistoryReadReturnsBlockedApplicabilityEnvelope", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleExperienceHistoryReadReturnsBlockedApplicabilityEnvelope (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleFindSimilarObservations_EmptyResultInV5", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleFindSimilarObservations_EmptyResultInV5 (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleFindSimilarObservations_Validation", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleFindSimilarObservations_Validation (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleGetCandidate_EmptyIDReturnsError", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleGetCandidate_EmptyIDReturnsError (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleGetMemoryStats_NilStores_ValidJSON", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleGetMemoryStats_NilStores_ValidJSON (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleInitialize_CapabilitiesPresent", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleInitialize_CapabilitiesPresent (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleInitialize_IDEchoed", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleInitialize_IDEchoed (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleInitialize_ProtocolAndVersion", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleInitialize_ProtocolAndVersion (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleIssueCloseAcceptsExplicitLegacySourceProject", + "outcome": "pass", + "elapsed_seconds": 0.18, + "last_output": "--- PASS: TestHandleIssueCloseAcceptsExplicitLegacySourceProject (0.18s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleIssueCloseDoesNotLetExplicitDashboardBypassContext", + "outcome": "pass", + "elapsed_seconds": 0.16, + "last_output": "--- PASS: TestHandleIssueCloseDoesNotLetExplicitDashboardBypassContext (0.16s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleListCandidates_EmptyProjectReturnsError", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleListCandidates_EmptyProjectReturnsError (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleListCandidates_FlagOffReturnsError", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleListCandidates_FlagOffReturnsError (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleRequest_CapabilityStubs", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleRequest_CapabilityStubs (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleRequest_CapabilityStubs/completion/complete", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleRequest_CapabilityStubs/completion/complete (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleRequest_CapabilityStubs/prompts/list", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleRequest_CapabilityStubs/prompts/list (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleRequest_CapabilityStubs/resources/list", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleRequest_CapabilityStubs/resources/list (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleRequest_CapabilityStubs/resources/templates/list", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleRequest_CapabilityStubs/resources/templates/list (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleRequest_GetAmbientHintsDispatchesThroughToolsCall", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleRequest_GetAmbientHintsDispatchesThroughToolsCall (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleRequest_GetAmbientHintsUnknownToolRegressionGuard", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleRequest_GetAmbientHintsUnknownToolRegressionGuard (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleRequest_InitializeRoute", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleRequest_InitializeRoute (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleRequest_NotificationReturnsNil", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleRequest_NotificationReturnsNil (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleRequest_ToolsListRoute", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleRequest_ToolsListRoute (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleRequest_UnknownMethodError", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleRequest_UnknownMethodError (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleReviewPacketPreviewAction_UnsupportedActionRejectedBeforeStoreMutation", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleReviewPacketPreviewAction_UnsupportedActionRejectedBeforeStoreMutation (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleReviewQueueRead_LimitOverMaxReturnsError", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleReviewQueueRead_LimitOverMaxReturnsError (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleReviewQueueRead_RiskyOnlyKeepsUnfilteredMetricsAndBacklog", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleReviewQueueRead_RiskyOnlyKeepsUnfilteredMetricsAndBacklog (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleReviewQueueRead_UnsupportedPacketTypeReturnsGatedPayload", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleReviewQueueRead_UnsupportedPacketTypeReturnsGatedPayload (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleTemporalTruthRefreshRequiresProject", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleTemporalTruthRefreshRequiresProject (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleTemporalTruthRefreshReturnsAdmissionResult", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleTemporalTruthRefreshReturnsAdmissionResult (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleTemporalTruthRejectsInvalidAsOf", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleTemporalTruthRejectsInvalidAsOf (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleTemporalTruthRequiresProject", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleTemporalTruthRequiresProject (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleTemporalTruthRequiresProject/blank_project", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleTemporalTruthRequiresProject/blank_project (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleTemporalTruthRequiresProject/missing_project", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleTemporalTruthRequiresProject/missing_project (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleTemporalTruthReturnsBoundedResponse", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleTemporalTruthReturnsBoundedResponse (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleToolsCall_EmptyParams", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleToolsCall_EmptyParams (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleToolsCall_InvalidParamsJSON", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleToolsCall_InvalidParamsJSON (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleToolsCall_UnknownTool", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleToolsCall_UnknownTool (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleToolsList_AllToolSchemasHaveTypeAndProperties", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleToolsList_AllToolSchemasHaveTypeAndProperties (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleToolsList_DefaultCountMatchesPrimary", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleToolsList_DefaultCountMatchesPrimary (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleToolsList_FeedbackSchemaCorrect", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleToolsList_FeedbackSchemaCorrect (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleToolsList_IncludeAllContainsLegacy", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleToolsList_IncludeAllContainsLegacy (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleToolsList_IncludeAllReturnsMore", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleToolsList_IncludeAllReturnsMore (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleToolsList_PrimaryToolsPresent", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleToolsList_PrimaryToolsPresent (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleToolsList_RemovedToolsAbsent", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleToolsList_RemovedToolsAbsent (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleToolsList_SchemaCompliance_NoForbiddenTopLevelKeys", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleToolsList_SchemaCompliance_NoForbiddenTopLevelKeys (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleToolsList_StoreTypeEnumCorrect", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleToolsList_StoreTypeEnumCorrect (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHybridTG3_ConfidenceMin_FloorEnforced_T022", + "outcome": "fail", + "elapsed_seconds": 0.18, + "last_output": "--- FAIL: TestHybridTG3_ConfidenceMin_FloorEnforced_T022 (0.18s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHybridTG3_IncludeSuperseded_False_NoError_T022c", + "outcome": "pass", + "elapsed_seconds": 0.13, + "last_output": "--- PASS: TestHybridTG3_IncludeSuperseded_False_NoError_T022c (0.13s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHybridTG3_IncludeSuperseded_StructuredError_T022b", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHybridTG3_IncludeSuperseded_StructuredError_T022b (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestIsSecretSettingKey", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestIsSecretSettingKey (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestJSONRPCErrorCodes_Table", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestJSONRPCErrorCodes_Table (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestJSONRPCErrorCodes_Table/Internal_error", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestJSONRPCErrorCodes_Table/Internal_error (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestJSONRPCErrorCodes_Table/Invalid_params", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestJSONRPCErrorCodes_Table/Invalid_params (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestJSONRPCErrorCodes_Table/Invalid_Request", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestJSONRPCErrorCodes_Table/Invalid_Request (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestJSONRPCErrorCodes_Table/Method_not_found", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestJSONRPCErrorCodes_Table/Method_not_found (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestJSONRPCErrorCodes_Table/Parse_error", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestJSONRPCErrorCodes_Table/Parse_error (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestKnowAbout_T005_ContextProjectFallbackAndLimitClamp", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestKnowAbout_T005_ContextProjectFallbackAndLimitClamp (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestKnowAbout_T005_DisabledS2NotAdvertised", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestKnowAbout_T005_DisabledS2NotAdvertised (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestKnowAbout_T005_IndexErrorsSurfaceAsToolErrors", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestKnowAbout_T005_IndexErrorsSurfaceAsToolErrors (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestKnowAbout_T005_JSONNeverContainsContentKeysOrMemoryBodies", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestKnowAbout_T005_JSONNeverContainsContentKeysOrMemoryBodies (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestKnowAbout_T005_MissingTopicReturnsEmptyIndexPacket", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestKnowAbout_T005_MissingTopicReturnsEmptyIndexPacket (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestKnowAbout_T005_PopulatedTopicReturnsContentFreeIndexHits", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestKnowAbout_T005_PopulatedTopicReturnsContentFreeIndexHits (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestKnowAbout_T005_ProjectFallbackFailureRequiresProjectScope", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestKnowAbout_T005_ProjectFallbackFailureRequiresProjectScope (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestKnowAbout_T005_RealStoreCanonicalShapeAndMissingTopicEmptyPacket", + "outcome": "pass", + "elapsed_seconds": 0.15, + "last_output": "--- PASS: TestKnowAbout_T005_RealStoreCanonicalShapeAndMissingTopicEmptyPacket (0.15s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestKnowAbout_T005_RequiresPrincipalScopedIdentity", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestKnowAbout_T005_RequiresPrincipalScopedIdentity (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestKnowAbout_T005_RequiresPrincipalScopedIdentity/legacy_client_keycard_without_principal_is_rejected", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestKnowAbout_T005_RequiresPrincipalScopedIdentity/legacy_client_keycard_without_principal_is_rejected (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestKnowAbout_T005_RequiresPrincipalScopedIdentity/master_token_without_principal_is_rejected", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestKnowAbout_T005_RequiresPrincipalScopedIdentity/master_token_without_principal_is_rejected (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/master_and_s2_enabled_advertises_know_about", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/master_and_s2_enabled_advertises_know_about (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/master_disabled_suppresses_know_about_even_when_s2_flag_is_set", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/master_disabled_suppresses_know_about_even_when_s2_flag_is_set (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/s2_disabled_suppresses_know_about_even_when_master_is_set", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/s2_disabled_suppresses_know_about_even_when_master_is_set (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestLegacyWriteGateDomainPolicy_DomainOwnedCandidateHidden", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestLegacyWriteGateDomainPolicy_DomainOwnedCandidateHidden (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestMemoryStoreSignificanceUpdaterPersistsChangedFields", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestMemoryStoreSignificanceUpdaterPersistsChangedFields (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestMemoryStoreSignificanceUpdaterPersistsChangedFields/not_useful_persists_beta_and_resets_streak", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestMemoryStoreSignificanceUpdaterPersistsChangedFields/not_useful_persists_beta_and_resets_streak (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestMemoryStoreSignificanceUpdaterPersistsChangedFields/useful_persists_alpha_citation_and_streak", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestMemoryStoreSignificanceUpdaterPersistsChangedFields/useful_persists_alpha_citation_and_streak (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestNewServer_CreatesWithVersion", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestNewServer_CreatesWithVersion (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestNewServer_HasStdinStdout", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestNewServer_HasStdinStdout (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestParseArgs", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestParseArgs (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestParseArgs/empty_bytes", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestParseArgs/empty_bytes (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestParseArgs/empty_object", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestParseArgs/empty_object (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestParseArgs/invalid_json", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestParseArgs/invalid_json (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestParseArgs/nil_args", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestParseArgs/nil_args (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestParseArgs/valid_object", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestParseArgs/valid_object (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestProjectFromContext_Empty", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestProjectFromContext_Empty (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestProjectFromContext_RoundTrip", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestProjectFromContext_RoundTrip (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestPromoteCandidate_DryRun_NilStore", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestPromoteCandidate_DryRun_NilStore (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestQueryPrincipalMemory_ResponseAndValidation", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestQueryPrincipalMemory_ResponseAndValidation (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestQueryPrincipalMemory_ResponseAndValidation/rejects_invalid_principal_kind", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestQueryPrincipalMemory_ResponseAndValidation/rejects_invalid_principal_kind (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestQueryPrincipalMemory_ResponseAndValidation/rejects_non-admin_cross-principal_private_widening", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestQueryPrincipalMemory_ResponseAndValidation/rejects_non-admin_cross-principal_private_widening (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestQueryPrincipalMemory_ResponseAndValidation/rejects_oversized_limit_clearly", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestQueryPrincipalMemory_ResponseAndValidation/rejects_oversized_limit_clearly (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestQueryPrincipalMemory_ResponseAndValidation/returns_attributed_bounded_principal_memory_response", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestQueryPrincipalMemory_ResponseAndValidation/returns_attributed_bounded_principal_memory_response (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestQueryPrincipalMemory_ServiceErrorsPropagate", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestQueryPrincipalMemory_ServiceErrorsPropagate (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestQueryPrincipalMemory_ToolSchemaAdvertised", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestQueryPrincipalMemory_ToolSchemaAdvertised (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled/master_off_s6_on_updater_present", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled/master_off_s6_on_updater_present (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled/master_on_s6_off_updater_present", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled/master_on_s6_off_updater_present (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceLegacyRatePathsRemainUnsupported", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceLegacyRatePathsRemainUnsupported (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceLegacyRatePathsRemainUnsupported/consolidated_feedback_rate_action", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceLegacyRatePathsRemainUnsupported/consolidated_feedback_rate_action (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceLegacyRatePathsRemainUnsupported/legacy_rate_memory_tool", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceLegacyRatePathsRemainUnsupported/legacy_rate_memory_tool (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceMissingUpdaterFailsExplicitly", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceMissingUpdaterFailsExplicitly (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceRejectsInvalidIDWithoutWrite", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceRejectsInvalidIDWithoutWrite (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/missing_id", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/missing_id (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/negative_id", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/negative_id (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/zero_id", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/zero_id (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/empty_rating", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/empty_rating (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/missing_rating", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/missing_rating (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/unknown_rating", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/unknown_rating (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_off_s6_on_updater_present", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_off_s6_on_updater_present (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_off_updater_present", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_off_updater_present (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_on_updater_missing", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_on_updater_missing (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_on_updater_present", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_on_updater_present (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceToolAdvertisedWithDedicatedSchema", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceToolAdvertisedWithDedicatedSchema (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful/not_useful", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful/not_useful (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful/useful", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful/useful (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecall_FlagOFF_TombstoneStrings_Explain", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRecall_FlagOFF_TombstoneStrings_Explain (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecall_FlagOFF_TombstoneStrings_Similar", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRecall_FlagOFF_TombstoneStrings_Similar (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecall_PrincipalPrivateInvisibleNewestDoNotTruncate_FlagOff", + "outcome": "pass", + "elapsed_seconds": 0.15, + "last_output": "--- PASS: TestRecall_PrincipalPrivateInvisibleNewestDoNotTruncate_FlagOff (0.15s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecall_ScopeInvisibleNewestDoNotTruncate_CodexP1Cycle3", + "outcome": "pass", + "elapsed_seconds": 0.16, + "last_output": "--- PASS: TestRecall_ScopeInvisibleNewestDoNotTruncate_CodexP1Cycle3 (0.16s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b", + "outcome": "pass", + "elapsed_seconds": 4.06, + "last_output": "--- PASS: TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b (4.06s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/runtime_zero_tg3_params_vnext_f_on_vnext_off_no_rationale", + "outcome": "pass", + "elapsed_seconds": 4.06, + "last_output": "--- PASS: TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/runtime_zero_tg3_params_vnext_f_on_vnext_off_no_rationale (4.06s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/schema_with_vnext_f_on_and_vnext_off_zero_tg3_params", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/schema_with_vnext_f_on_and_vnext_off_zero_tg3_params (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemory_CompatV3_ZeroFlagsShape_T021", + "outcome": "pass", + "elapsed_seconds": 0.15, + "last_output": "--- PASS: TestRecallMemory_CompatV3_ZeroFlagsShape_T021 (0.15s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemory_CompatV3_ZeroFlagsShape_T021/runtime_no_ranking_rationale_key_when_flags_at_default", + "outcome": "pass", + "elapsed_seconds": 0.15, + "last_output": "--- PASS: TestRecallMemory_CompatV3_ZeroFlagsShape_T021/runtime_no_ranking_rationale_key_when_flags_at_default (0.15s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemory_CompatV3_ZeroFlagsShape_T021/schema_unconditional_tg3_params_present", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRecallMemory_CompatV3_ZeroFlagsShape_T021/schema_unconditional_tg3_params_present (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemory_DomainOwnedInvisibleNewestDoNotTruncate_FlagOff", + "outcome": "pass", + "elapsed_seconds": 0.15, + "last_output": "--- PASS: TestRecallMemory_DomainOwnedInvisibleNewestDoNotTruncate_FlagOff (0.15s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemory_FlagMatrix_BothEnabled_SchemaCombinesParams", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRecallMemory_FlagMatrix_BothEnabled_SchemaCombinesParams (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemory_FlagMatrix_FEnabled_SchemaHasScopeParams", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRecallMemory_FlagMatrix_FEnabled_SchemaHasScopeParams (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemory_FlagOFF_BehaviorIdentity", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRecallMemory_FlagOFF_BehaviorIdentity (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemory_FlagOFF_SchemaNoVnextParams", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRecallMemory_FlagOFF_SchemaNoVnextParams (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemory_FlagON_SchemaHasVnextParams", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRecallMemory_FlagON_SchemaHasVnextParams (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemory_IncludeSupersededFlagOffIgnoredInHybrid", + "outcome": "pass", + "elapsed_seconds": 0.12, + "last_output": "--- PASS: TestRecallMemory_IncludeSupersededFlagOffIgnoredInHybrid (0.12s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemory_InvalidIncludeScopes_StructuredError", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRecallMemory_InvalidIncludeScopes_StructuredError (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemory_PrincipalPrivateInvisibleAndSharedAttributed_FlagOff", + "outcome": "pass", + "elapsed_seconds": 0.14, + "last_output": "--- PASS: TestRecallMemory_PrincipalPrivateInvisibleAndSharedAttributed_FlagOff (0.14s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemory_TG3IncludeSupersededLegacyPath", + "outcome": "pass", + "elapsed_seconds": 0.13, + "last_output": "--- PASS: TestRecallMemory_TG3IncludeSupersededLegacyPath (0.13s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemoryDomainPolicy_DomainOwnedRowHiddenFromMismatchedPrincipal", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRecallMemoryDomainPolicy_DomainOwnedRowHiddenFromMismatchedPrincipal (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemoryDomainPolicy_DomainOwnedRowVisibleToOwner", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRecallMemoryDomainPolicy_DomainOwnedRowVisibleToOwner (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemoryIncludePrincipals_SchemaAdvertised", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRecallMemoryIncludePrincipals_SchemaAdvertised (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemoryIncludePrincipals_ValidationAndPrivacy", + "outcome": "pass", + "elapsed_seconds": 0.99, + "last_output": "--- PASS: TestRecallMemoryIncludePrincipals_ValidationAndPrivacy (0.99s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/admin_cross-private_include_reapplies_recall_filters", + "outcome": "pass", + "elapsed_seconds": 0.17, + "last_output": "--- PASS: TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/admin_cross-private_include_reapplies_recall_filters (0.17s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/admin_cross-private_include_writes_durable_audit_before_returning_private_row", + "outcome": "pass", + "elapsed_seconds": 0.15, + "last_output": "--- PASS: TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/admin_cross-private_include_writes_durable_audit_before_returning_private_row (0.15s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/empty_include_list_is_treated_as_absent", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/empty_include_list_is_treated_as_absent (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/non-admin_cross-principal_include_appends_shared_rows", + "outcome": "pass", + "elapsed_seconds": 0.14, + "last_output": "--- PASS: TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/non-admin_cross-principal_include_appends_shared_rows (0.14s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/non-admin_cross-principal_include_skips_private_rows", + "outcome": "pass", + "elapsed_seconds": 0.13, + "last_output": "--- PASS: TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/non-admin_cross-principal_include_skips_private_rows (0.13s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/rejects_blank_and_invalid_principals_clearly", + "outcome": "pass", + "elapsed_seconds": 0.13, + "last_output": "--- PASS: TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/rejects_blank_and_invalid_principals_clearly (0.13s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/rejects_duplicate_principals", + "outcome": "pass", + "elapsed_seconds": 0.13, + "last_output": "--- PASS: TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/rejects_duplicate_principals (0.13s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/self_include_is_allowed_and_deduplicated", + "outcome": "pass", + "elapsed_seconds": 0.14, + "last_output": "--- PASS: TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/self_include_is_allowed_and_deduplicated (0.14s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemoryPrincipalDefault_OwnSharedLegacyVisibleOtherPrivateHidden", + "outcome": "pass", + "elapsed_seconds": 0.16, + "last_output": "--- PASS: TestRecallMemoryPrincipalDefault_OwnSharedLegacyVisibleOtherPrivateHidden (0.16s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemoryTierFilter_FlagOff_SchemaAbsent_B4", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRecallMemoryTierFilter_FlagOff_SchemaAbsent_B4 (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemoryTierFilter_InvalidTier_B4", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRecallMemoryTierFilter_InvalidTier_B4 (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemoryToolSchema_B4_HasTierFilter", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRecallMemoryToolSchema_B4_HasTierFilter (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemoryToolSchema_T005", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRecallMemoryToolSchema_T005 (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRememberDirectiveDirectCallDelegatesContextAndReturnsSanitizedRecord", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRememberDirectiveDirectCallDelegatesContextAndReturnsSanitizedRecord (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRememberDirectiveDirectCallFailsClosedBeforeDelegation", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRememberDirectiveDirectCallFailsClosedBeforeDelegation (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/flag_disabled", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/flag_disabled (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/master_flag_disabled_even_if_s4a_flag_is_enabled", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/master_flag_disabled_even_if_s4a_flag_is_enabled (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/project_context_missing", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/project_context_missing (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/service_missing", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/service_missing (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/session_context_missing", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/session_context_missing (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_flag_disabled_even_with_service", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_flag_disabled_even_with_service (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_master_flag_disabled_even_if_s4a_flag_and_service_are_present", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_master_flag_disabled_even_if_s4a_flag_and_service_are_present (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_service_is_missing_even_with_flag_enabled", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_service_is_missing_even_with_flag_enabled (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/advertised_with_bounded_input_schema_when_flag_and_service_are_present", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/advertised_with_bounded_input_schema_when_flag_and_service_are_present (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRequest_Marshal_Table", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRequest_Marshal_Table (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRequest_Marshal_Table/initialize", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRequest_Marshal_Table/initialize (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRequest_Marshal_Table/null_id", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRequest_Marshal_Table/null_id (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRequest_Marshal_Table/string_id", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRequest_Marshal_Table/string_id (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRequest_Marshal_Table/with_params", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRequest_Marshal_Table/with_params (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRequest_Unmarshal_NullID", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRequest_Unmarshal_NullID (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRequest_Unmarshal_RoundTrip", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRequest_Unmarshal_RoundTrip (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRequireAdmin", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRequireAdmin (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRequireCandidateReviewSnapshotAllowsNonNil", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRequireCandidateReviewSnapshotAllowsNonNil (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRequireCandidateReviewSnapshotRejectsNil", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRequireCandidateReviewSnapshotRejectsNil (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRequireCandidateReviewSnapshotRejectsNil/reject_candidate", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRequireCandidateReviewSnapshotRejectsNil/reject_candidate (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRequireCandidateReviewSnapshotRejectsNil/supersede_candidate", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRequireCandidateReviewSnapshotRejectsNil/supersede_candidate (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestResponse_Marshal_Table", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestResponse_Marshal_Table (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestResponse_Marshal_Table/error_response", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestResponse_Marshal_Table/error_response (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestResponse_Marshal_Table/error_with_data", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestResponse_Marshal_Table/error_with_data (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestResponse_Marshal_Table/nil_id", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestResponse_Marshal_Table/nil_id (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestResponse_Marshal_Table/success_result", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestResponse_Marshal_Table/success_result (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRI_F2_DualFieldResponse_FlagOff_LegacyOnly_T008", + "outcome": "pass", + "elapsed_seconds": 0.13, + "last_output": "--- PASS: TestRI_F2_DualFieldResponse_FlagOff_LegacyOnly_T008 (0.13s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRI_F2_DualFieldResponse_FlagOn_T008", + "outcome": "pass", + "elapsed_seconds": 0.17, + "last_output": "--- PASS: TestRI_F2_DualFieldResponse_FlagOn_T008 (0.17s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRI_F2_DualFieldResponse_FlagOn_T008/explicit_privacy_scope=shared_overrides_legacy", + "outcome": "pass", + "elapsed_seconds": 0.01, + "last_output": "--- PASS: TestRI_F2_DualFieldResponse_FlagOn_T008/explicit_privacy_scope=shared_overrides_legacy (0.01s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRI_F2_DualFieldResponse_FlagOn_T008/legacy_scope=global,_no_privacy_scope_->_dual_global", + "outcome": "pass", + "elapsed_seconds": 0.01, + "last_output": "--- PASS: TestRI_F2_DualFieldResponse_FlagOn_T008/legacy_scope=global,_no_privacy_scope_->_dual_global (0.01s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRI_F2_DualFieldResponse_FlagOn_T008/legacy_scope=project,_no_privacy_scope_->_dual_project", + "outcome": "pass", + "elapsed_seconds": 0.01, + "last_output": "--- PASS: TestRI_F2_DualFieldResponse_FlagOn_T008/legacy_scope=project,_no_privacy_scope_->_dual_project (0.01s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRI_F2_InvalidPrivacyScope_StillStructuredErrorUnderFlagOn_T008", + "outcome": "pass", + "elapsed_seconds": 0.12, + "last_output": "--- PASS: TestRI_F2_InvalidPrivacyScope_StillStructuredErrorUnderFlagOn_T008 (0.12s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRuleGovernanceHealthReadOnlyCallerGetsNoData", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRuleGovernanceHealthReadOnlyCallerGetsNoData (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRuleGovernanceMutationToolsRequireAdmin", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRuleGovernanceMutationToolsRequireAdmin (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRuleGovernancePinSnapshotAndRollbackUseRuleGovernanceSnapshots", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRuleGovernancePinSnapshotAndRollbackUseRuleGovernanceSnapshots (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRuleGovernanceQueueAndSnapshotsReadModels", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRuleGovernanceQueueAndSnapshotsReadModels (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRuleGovernanceReadToolsAdvertisedWhenStoresWired", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRuleGovernanceReadToolsAdvertisedWhenStoresWired (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRuleGovernanceReadToolsHiddenWhenStoreMissing", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRuleGovernanceReadToolsHiddenWhenStoreMissing (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRuleGovernanceReadToolsNilStoreErrors", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRuleGovernanceReadToolsNilStoreErrors (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRuleGovernanceReadToolsRejectZeroIdentity", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRuleGovernanceReadToolsRejectZeroIdentity (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRuleGovernanceReadToolsRequireIdentityWhenAuthEnabled", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRuleGovernanceReadToolsRequireIdentityWhenAuthEnabled (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRuleGovernanceReadToolsRequireProjectForNonAdminAllProjectReads", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRuleGovernanceReadToolsRequireProjectForNonAdminAllProjectReads (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRuleGovernanceRollbackReturnsStructuredConflictResult", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRuleGovernanceRollbackReturnsStructuredConflictResult (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRuleGovernanceTransitionToolUsesStateMachineStore", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRuleGovernanceTransitionToolUsesStateMachineStore (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRuleGovernanceUsefulnessNoDataAndProjectGuard", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRuleGovernanceUsefulnessNoDataAndProjectGuard (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRun_EmptyLinesSkipped", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRun_EmptyLinesSkipped (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRun_MixedValidAndInvalid", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRun_MixedValidAndInvalid (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRun_MultipleRequests", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRun_MultipleRequests (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRun_NotificationNoResponse", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRun_NotificationNoResponse (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRun_ParseError", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRun_ParseError (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRun_ValidInitialize", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRun_ValidInitialize (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRunAuditAsync_ErrorLogged", + "outcome": "pass", + "elapsed_seconds": 0.05, + "last_output": "--- PASS: TestRunAuditAsync_ErrorLogged (0.05s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRunAuditAsync_PanicRecovered", + "outcome": "pass", + "elapsed_seconds": 0.05, + "last_output": "--- PASS: TestRunAuditAsync_PanicRecovered (0.05s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestSanitizeToolCallArgs_OtherToolsStillRedactSecrets", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestSanitizeToolCallArgs_OtherToolsStillRedactSecrets (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestSanitizeToolCallArgs_RememberDirectiveRedactsRawLogArguments", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestSanitizeToolCallArgs_RememberDirectiveRedactsRawLogArguments (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestSendError_OutputShape", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestSendError_OutputShape (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestSendResponse_ContainsJSONRPC", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestSendResponse_ContainsJSONRPC (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestSendResponse_ErrorResponse", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestSendResponse_ErrorResponse (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestSendResponse_NilID", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestSendResponse_NilID (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestSendResponse_VariousIDTypes", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestSendResponse_VariousIDTypes (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestServer_FieldsInjected", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestServer_FieldsInjected (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestServerSetAuditStoreAssignsField", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestServerSetAuditStoreAssignsField (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestSetStateThenGetStateResumeUsesServerCallPath", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestSetStateThenGetStateResumeUsesServerCallPath (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestSetStateToolRejectsNonAgentProjectWriter", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestSetStateToolRejectsNonAgentProjectWriter (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestSetStateToolRejectsNonObjectSessionSlots", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestSetStateToolRejectsNonObjectSessionSlots (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestSetStateToolRejectsSessionPayloadOver32KB", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestSetStateToolRejectsSessionPayloadOver32KB (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestSetStateToolWritesNativeSessionAndProjectState", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestSetStateToolWritesNativeSessionAndProjectState (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestSettings_DeleteRequiresAdmin", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestSettings_DeleteRequiresAdmin (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestSettings_SetMissingArgs", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestSettings_SetMissingArgs (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestSettings_SetRequiresAdmin", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestSettings_SetRequiresAdmin (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestSettings_UnknownAction", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestSettings_UnknownAction (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStateToolsAdvertisedOnlyWhenNativeStoreIsReachable", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestStateToolsAdvertisedOnlyWhenNativeStoreIsReachable (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemory_DryRun_NilStore", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestStoreMemory_DryRun_NilStore (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemory_DryRun_RequiresContent", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestStoreMemory_DryRun_RequiresContent (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemory_InvalidPrivacyScope_StructuredError", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestStoreMemory_InvalidPrivacyScope_StructuredError (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemory_PrincipalOwnerDerivedFromIdentity", + "outcome": "pass", + "elapsed_seconds": 0.14, + "last_output": "--- PASS: TestStoreMemory_PrincipalOwnerDerivedFromIdentity (0.14s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemoryAlwaysInject_FlagOffDoesNotUseRuleGovernance", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestStoreMemoryAlwaysInject_FlagOffDoesNotUseRuleGovernance (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemoryAlwaysInject_GovernanceFlagCreatesRuleCandidate", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestStoreMemoryAlwaysInject_GovernanceFlagCreatesRuleCandidate (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemoryDomainPolicy_EmptyDomainLegacyCompatible", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestStoreMemoryDomainPolicy_EmptyDomainLegacyCompatible (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemoryDomainPolicy_NonEmptyDomainAllowsPrincipalIdentity", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestStoreMemoryDomainPolicy_NonEmptyDomainAllowsPrincipalIdentity (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemoryDomainPolicy_NonEmptyDomainRejectsInvalidPrincipalKind", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestStoreMemoryDomainPolicy_NonEmptyDomainRejectsInvalidPrincipalKind (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemoryDomainPolicy_NonEmptyDomainRequiresPrincipal", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestStoreMemoryDomainPolicy_NonEmptyDomainRequiresPrincipal (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemoryDomainRegistry_AuditFailureBlocksBeforePersistence", + "outcome": "pass", + "elapsed_seconds": 0.14, + "last_output": "--- PASS: TestStoreMemoryDomainRegistry_AuditFailureBlocksBeforePersistence (0.14s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemoryDomainRegistry_InvalidWriterKindRejectsBeforePersistence", + "outcome": "pass", + "elapsed_seconds": 0.13, + "last_output": "--- PASS: TestStoreMemoryDomainRegistry_InvalidWriterKindRejectsBeforePersistence (0.13s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemoryDomainRegistry_RejectionRunsBeforeSupersedeMutation", + "outcome": "pass", + "elapsed_seconds": 0.18, + "last_output": "--- PASS: TestStoreMemoryDomainRegistry_RejectionRunsBeforeSupersedeMutation (0.18s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility", + "outcome": "pass", + "elapsed_seconds": 0.22, + "last_output": "--- PASS: TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility (0.22s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/missing_row_preserves_current_behavior", + "outcome": "pass", + "elapsed_seconds": 0.01, + "last_output": "--- PASS: TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/missing_row_preserves_current_behavior (0.01s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/off_allows_cross_owner", + "outcome": "pass", + "elapsed_seconds": 0.02, + "last_output": "--- PASS: TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/off_allows_cross_owner (0.02s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/reject_denies_before_persistence", + "outcome": "pass", + "elapsed_seconds": 0.02, + "last_output": "--- PASS: TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/reject_denies_before_persistence (0.02s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/same_owner_allows_without_warning", + "outcome": "pass", + "elapsed_seconds": 0.02, + "last_output": "--- PASS: TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/same_owner_allows_without_warning (0.02s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/warn_allows_with_structured_warning", + "outcome": "pass", + "elapsed_seconds": 0.02, + "last_output": "--- PASS: TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/warn_allows_with_structured_warning (0.02s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemoryDryRunValidatesPrincipalMetadata", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestStoreMemoryDryRunValidatesPrincipalMetadata (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemoryToolSchema_FlagOff_HasNewProperties_ButRuntimeIgnores", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestStoreMemoryToolSchema_FlagOff_HasNewProperties_ButRuntimeIgnores (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemoryToolSchema_T005", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestStoreMemoryToolSchema_T005 (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreRule_FlagOffDoesNotUseRuleGovernance", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestStoreRule_FlagOffDoesNotUseRuleGovernance (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreRule_GovernanceFlagCreatesRuleCandidate", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestStoreRule_GovernanceFlagCreatesRuleCandidate (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreRule_GovernanceFlagPreservesGlobalIntentWithContextProject", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestStoreRule_GovernanceFlagPreservesGlobalIntentWithContextProject (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreRule_GovernanceFlagRedactsCandidateContent", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestStoreRule_GovernanceFlagRedactsCandidateContent (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestTemporalTruthDirectCallFailsClosedWhenFeatureGateUnsatisfied", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestTemporalTruthDirectCallFailsClosedWhenFeatureGateUnsatisfied (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestTemporalTruthRefreshDirectCallFailsClosedWhenFeatureGateUnsatisfied", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestTemporalTruthRefreshDirectCallFailsClosedWhenFeatureGateUnsatisfied (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestTemporalTruthRefreshToolAdvertisedWhenProviderWiredAndFlagOn", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestTemporalTruthRefreshToolAdvertisedWhenProviderWiredAndFlagOn (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestTemporalTruthToolAdvertisedWhenProviderWiredAndFlagOn", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestTemporalTruthToolAdvertisedWhenProviderWiredAndFlagOn (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestTemporalTruthToolsAbsentWhenFlagOff", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestTemporalTruthToolsAbsentWhenFlagOff (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestTierConstants", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestTierConstants (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestTimelineParams_AllFields", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestTimelineParams_AllFields (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestTimelineParams_Unmarshal_Table", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestTimelineParams_Unmarshal_Table (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestTimelineParams_Unmarshal_Table/anchor_id", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestTimelineParams_Unmarshal_Table/anchor_id (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestTimelineParams_Unmarshal_Table/empty_object_valid", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestTimelineParams_Unmarshal_Table/empty_object_valid (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestTimelineParams_Unmarshal_Table/invalid_json", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestTimelineParams_Unmarshal_Table/invalid_json (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestTimelineParams_Unmarshal_Table/query_only", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestTimelineParams_Unmarshal_Table/query_only (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestTool_Marshal_RoundTrip", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestTool_Marshal_RoundTrip (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestToolCallParams_ComplexArgs", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestToolCallParams_ComplexArgs (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestToolCallParams_Unmarshal", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestToolCallParams_Unmarshal (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestToolCallParams_Unmarshal/no-args", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestToolCallParams_Unmarshal/no-args (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestToolCallParams_Unmarshal/recall", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestToolCallParams_Unmarshal/recall (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestToolCallParams_Unmarshal/store", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestToolCallParams_Unmarshal/store (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestVersion_ReturnsVersion", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestVersion_ReturnsVersion (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWiring_BothToolsOff_FlagsUnset", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWiring_BothToolsOff_FlagsUnset (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWiring_GraphTool_AbsentWhenFlagOff", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWiring_GraphTool_AbsentWhenFlagOff (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWiring_GraphTool_AbsentWhenStoreNil", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWiring_GraphTool_AbsentWhenStoreNil (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWiring_GraphTool_AppearsWhenStoreSetAndFlagOn", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWiring_GraphTool_AppearsWhenStoreSetAndFlagOn (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWiring_LifecycleTool_AbsentWhenFlagOff", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWiring_LifecycleTool_AbsentWhenFlagOff (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWiring_LifecycleTool_AbsentWhenStoresNil", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWiring_LifecycleTool_AbsentWhenStoresNil (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWiring_LifecycleTool_AppearsWhenStoresSetAndFlagOn", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWiring_LifecycleTool_AppearsWhenStoresSetAndFlagOn (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWriteLint_DomainOwnedCandidateHiddenWithOrchestratorStoreFallback", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWriteLint_DomainOwnedCandidateHiddenWithOrchestratorStoreFallback (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWriteLint_DomainOwnedTargetHiddenWithOrchestratorStoreFallback", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWriteLint_DomainOwnedTargetHiddenWithOrchestratorStoreFallback (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWriteLint_PrincipalPrivateCandidatesHiddenFromPhase1", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWriteLint_PrincipalPrivateCandidatesHiddenFromPhase1 (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWriteLint_PrincipalPrivateTargetHiddenFromPhase2", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWriteLint_PrincipalPrivateTargetHiddenFromPhase2 (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWriteLint_T035_FlagOff_LegacyPath", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWriteLint_T035_FlagOff_LegacyPath (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWriteLint_T035_ForceBypass", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWriteLint_T035_ForceBypass (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWriteLint_T035_Phase1_NoSignal_Stored", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWriteLint_T035_Phase1_NoSignal_Stored (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWriteLint_T035_Phase1_SignalsReturned", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWriteLint_T035_Phase1_SignalsReturned (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWriteLint_T035_Phase2_MergeWith", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWriteLint_T035_Phase2_MergeWith (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWriteLint_T035_PrivateScope_NoWorkstation_Rejected", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWriteLint_T035_PrivateScope_NoWorkstation_Rejected (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWriteLint_T035_PrivateScope_WithWorkstation_Allowed", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWriteLint_T035_PrivateScope_WithWorkstation_Allowed (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWriteLint_T035_TokenExpired", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWriteLint_T035_TokenExpired (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWriteLintDomainPolicy_DomainOwnedCandidateHidden", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWriteLintDomainPolicy_DomainOwnedCandidateHidden (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWriteLintDomainPolicy_DomainOwnedTargetHidden", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWriteLintDomainPolicy_DomainOwnedTargetHidden (0.00s)", + "skip_allowed": false + } + ], + "unexpected_skips": [], + "errors": [] +} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/go-test.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/go-test.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/go-test.stdout.jsonl b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/go-test.stdout.jsonl new file mode 100644 index 00000000..279137ba --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/go-test.stdout.jsonl @@ -0,0 +1,2446 @@ +{"Time":"2026-07-11T03:35:49.2685834+03:00","Action":"start","Package":"github.com/thebtf/engram/internal/mcp"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs","Output":"=== RUN TestParseArgs\n"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/nil_args"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/nil_args","Output":"=== RUN TestParseArgs/nil_args\n"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/nil_args","Output":"--- PASS: TestParseArgs/nil_args (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/nil_args","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/empty_bytes"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/empty_bytes","Output":"=== RUN TestParseArgs/empty_bytes\n"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/empty_bytes","Output":"--- PASS: TestParseArgs/empty_bytes (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/empty_bytes","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/empty_object"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/empty_object","Output":"=== RUN TestParseArgs/empty_object\n"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/empty_object","Output":"--- PASS: TestParseArgs/empty_object (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/empty_object","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/valid_object"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/valid_object","Output":"=== RUN TestParseArgs/valid_object\n"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/valid_object","Output":"--- PASS: TestParseArgs/valid_object (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/valid_object","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/invalid_json"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/invalid_json","Output":"=== RUN TestParseArgs/invalid_json\n"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/invalid_json","Output":"--- PASS: TestParseArgs/invalid_json (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/invalid_json","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs","Output":"--- PASS: TestParseArgs (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString","Output":"=== RUN TestCoerceString\n"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/nil"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/nil","Output":"=== RUN TestCoerceString/nil\n"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/nil","Output":"--- PASS: TestCoerceString/nil (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/nil","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/string"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/string","Output":"=== RUN TestCoerceString/string\n"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/string","Output":"--- PASS: TestCoerceString/string (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/string","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/float64"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/float64","Output":"=== RUN TestCoerceString/float64\n"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/float64","Output":"--- PASS: TestCoerceString/float64 (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/float64","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/bool"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/bool","Output":"=== RUN TestCoerceString/bool\n"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/bool","Output":"--- PASS: TestCoerceString/bool (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/bool","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/json.Number"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/json.Number","Output":"=== RUN TestCoerceString/json.Number\n"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/json.Number","Output":"--- PASS: TestCoerceString/json.Number (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/json.Number","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/wrong_type"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/wrong_type","Output":"=== RUN TestCoerceString/wrong_type\n"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/wrong_type","Output":"--- PASS: TestCoerceString/wrong_type (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/wrong_type","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString","Output":"--- PASS: TestCoerceString (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt","Output":"=== RUN TestCoerceInt\n"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/nil"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/nil","Output":"=== RUN TestCoerceInt/nil\n"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/nil","Output":"--- PASS: TestCoerceInt/nil (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/nil","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/float64"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/float64","Output":"=== RUN TestCoerceInt/float64\n"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/float64","Output":"--- PASS: TestCoerceInt/float64 (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/float64","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/float64_with_decimal"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/float64_with_decimal","Output":"=== RUN TestCoerceInt/float64_with_decimal\n"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/float64_with_decimal","Output":"--- PASS: TestCoerceInt/float64_with_decimal (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/float64_with_decimal","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/string_int"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/string_int","Output":"=== RUN TestCoerceInt/string_int\n"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/string_int","Output":"--- PASS: TestCoerceInt/string_int (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/string_int","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/string_float"} +{"Time":"2026-07-11T03:35:49.3645485+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/string_float","Output":"=== RUN TestCoerceInt/string_float\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/string_float","Output":"--- PASS: TestCoerceInt/string_float (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/string_float","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/json.Number_int"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/json.Number_int","Output":"=== RUN TestCoerceInt/json.Number_int\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/json.Number_int","Output":"--- PASS: TestCoerceInt/json.Number_int (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/json.Number_int","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/json.Number_float"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/json.Number_float","Output":"=== RUN TestCoerceInt/json.Number_float\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/json.Number_float","Output":"--- PASS: TestCoerceInt/json.Number_float (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/json.Number_float","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/string_non-numeric"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/string_non-numeric","Output":"=== RUN TestCoerceInt/string_non-numeric\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/string_non-numeric","Output":"--- PASS: TestCoerceInt/string_non-numeric (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/string_non-numeric","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/bool"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/bool","Output":"=== RUN TestCoerceInt/bool\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/bool","Output":"--- PASS: TestCoerceInt/bool (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/bool","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/negative_float"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/negative_float","Output":"=== RUN TestCoerceInt/negative_float\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/negative_float","Output":"--- PASS: TestCoerceInt/negative_float (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/negative_float","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/zero"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/zero","Output":"=== RUN TestCoerceInt/zero\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/zero","Output":"--- PASS: TestCoerceInt/zero (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/zero","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/overflow_float64"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/overflow_float64","Output":"=== RUN TestCoerceInt/overflow_float64\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/overflow_float64","Output":"--- PASS: TestCoerceInt/overflow_float64 (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/overflow_float64","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/negative_overflow"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/negative_overflow","Output":"=== RUN TestCoerceInt/negative_overflow\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/negative_overflow","Output":"--- PASS: TestCoerceInt/negative_overflow (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/negative_overflow","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/NaN"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/NaN","Output":"=== RUN TestCoerceInt/NaN\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/NaN","Output":"--- PASS: TestCoerceInt/NaN (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/NaN","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/Inf"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/Inf","Output":"=== RUN TestCoerceInt/Inf\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/Inf","Output":"--- PASS: TestCoerceInt/Inf (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/Inf","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt","Output":"--- PASS: TestCoerceInt (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64","Output":"=== RUN TestCoerceInt64\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/nil"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/nil","Output":"=== RUN TestCoerceInt64/nil\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/nil","Output":"--- PASS: TestCoerceInt64/nil (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/nil","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/float64"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/float64","Output":"=== RUN TestCoerceInt64/float64\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/float64","Output":"--- PASS: TestCoerceInt64/float64 (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/float64","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/string"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/string","Output":"=== RUN TestCoerceInt64/string\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/string","Output":"--- PASS: TestCoerceInt64/string (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/string","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/json.Number"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/json.Number","Output":"=== RUN TestCoerceInt64/json.Number\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/json.Number","Output":"--- PASS: TestCoerceInt64/json.Number (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/json.Number","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/json.Number_float"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/json.Number_float","Output":"=== RUN TestCoerceInt64/json.Number_float\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/json.Number_float","Output":"--- PASS: TestCoerceInt64/json.Number_float (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/json.Number_float","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/string_float"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/string_float","Output":"=== RUN TestCoerceInt64/string_float\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/string_float","Output":"--- PASS: TestCoerceInt64/string_float (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/string_float","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/invalid_string"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/invalid_string","Output":"=== RUN TestCoerceInt64/invalid_string\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/invalid_string","Output":"--- PASS: TestCoerceInt64/invalid_string (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/invalid_string","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64","Output":"--- PASS: TestCoerceInt64 (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64","Output":"=== RUN TestCoerceFloat64\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/nil"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/nil","Output":"=== RUN TestCoerceFloat64/nil\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/nil","Output":"--- PASS: TestCoerceFloat64/nil (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/nil","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/float64"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/float64","Output":"=== RUN TestCoerceFloat64/float64\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/float64","Output":"--- PASS: TestCoerceFloat64/float64 (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/float64","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/string"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/string","Output":"=== RUN TestCoerceFloat64/string\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/string","Output":"--- PASS: TestCoerceFloat64/string (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/string","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/json.Number"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/json.Number","Output":"=== RUN TestCoerceFloat64/json.Number\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/json.Number","Output":"--- PASS: TestCoerceFloat64/json.Number (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/json.Number","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/invalid_string"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/invalid_string","Output":"=== RUN TestCoerceFloat64/invalid_string\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/invalid_string","Output":"--- PASS: TestCoerceFloat64/invalid_string (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/invalid_string","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/integer_string"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/integer_string","Output":"=== RUN TestCoerceFloat64/integer_string\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/integer_string","Output":"--- PASS: TestCoerceFloat64/integer_string (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/integer_string","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64","Output":"--- PASS: TestCoerceFloat64 (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool","Output":"=== RUN TestCoerceBool\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/nil"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/nil","Output":"=== RUN TestCoerceBool/nil\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/nil","Output":"--- PASS: TestCoerceBool/nil (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/nil","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/true"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/true","Output":"=== RUN TestCoerceBool/true\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/true","Output":"--- PASS: TestCoerceBool/true (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/true","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/false"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/false","Output":"=== RUN TestCoerceBool/false\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/false","Output":"--- PASS: TestCoerceBool/false (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/false","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/string_true"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/string_true","Output":"=== RUN TestCoerceBool/string_true\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/string_true","Output":"--- PASS: TestCoerceBool/string_true (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/string_true","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/string_false"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/string_false","Output":"=== RUN TestCoerceBool/string_false\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/string_false","Output":"--- PASS: TestCoerceBool/string_false (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/string_false","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/float_1"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/float_1","Output":"=== RUN TestCoerceBool/float_1\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/float_1","Output":"--- PASS: TestCoerceBool/float_1 (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/float_1","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/float_0"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/float_0","Output":"=== RUN TestCoerceBool/float_0\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/float_0","Output":"--- PASS: TestCoerceBool/float_0 (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/float_0","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/invalid_string"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/invalid_string","Output":"=== RUN TestCoerceBool/invalid_string\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/invalid_string","Output":"--- PASS: TestCoerceBool/invalid_string (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/invalid_string","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool","Output":"--- PASS: TestCoerceBool (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice","Output":"=== RUN TestCoerceStringSlice\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/nil"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/nil","Output":"=== RUN TestCoerceStringSlice/nil\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/nil","Output":"--- PASS: TestCoerceStringSlice/nil (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3650479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/nil","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/single_string"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/single_string","Output":"=== RUN TestCoerceStringSlice/single_string\n"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/single_string","Output":"--- PASS: TestCoerceStringSlice/single_string (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/single_string","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/empty_string"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/empty_string","Output":"=== RUN TestCoerceStringSlice/empty_string\n"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/empty_string","Output":"--- PASS: TestCoerceStringSlice/empty_string (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/empty_string","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/array_of_strings"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/array_of_strings","Output":"=== RUN TestCoerceStringSlice/array_of_strings\n"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/array_of_strings","Output":"--- PASS: TestCoerceStringSlice/array_of_strings (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/array_of_strings","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/mixed_array"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/mixed_array","Output":"=== RUN TestCoerceStringSlice/mixed_array\n"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/mixed_array","Output":"--- PASS: TestCoerceStringSlice/mixed_array (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/mixed_array","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice","Output":"--- PASS: TestCoerceStringSlice (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice","Output":"=== RUN TestCoerceInt64Slice\n"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/nil"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/nil","Output":"=== RUN TestCoerceInt64Slice/nil\n"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/nil","Output":"--- PASS: TestCoerceInt64Slice/nil (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/nil","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/not_array"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/not_array","Output":"=== RUN TestCoerceInt64Slice/not_array\n"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/not_array","Output":"--- PASS: TestCoerceInt64Slice/not_array (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/not_array","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/float64_array"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/float64_array","Output":"=== RUN TestCoerceInt64Slice/float64_array\n"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/float64_array","Output":"--- PASS: TestCoerceInt64Slice/float64_array (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/float64_array","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/string_array"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/string_array","Output":"=== RUN TestCoerceInt64Slice/string_array\n"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/string_array","Output":"--- PASS: TestCoerceInt64Slice/string_array (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/string_array","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/mixed_array"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/mixed_array","Output":"=== RUN TestCoerceInt64Slice/mixed_array\n"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/mixed_array","Output":"--- PASS: TestCoerceInt64Slice/mixed_array (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/mixed_array","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/with_zeros"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/with_zeros","Output":"=== RUN TestCoerceInt64Slice/with_zeros\n"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/with_zeros","Output":"--- PASS: TestCoerceInt64Slice/with_zeros (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/with_zeros","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice","Output":"--- PASS: TestCoerceInt64Slice (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestExtractProjectFromHeader"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestExtractProjectFromHeader","Output":"=== RUN TestExtractProjectFromHeader\n"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestExtractProjectFromHeader","Output":"--- PASS: TestExtractProjectFromHeader (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestExtractProjectFromHeader","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestExtractProjectFromHeader_Missing"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestExtractProjectFromHeader_Missing","Output":"=== RUN TestExtractProjectFromHeader_Missing\n"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestExtractProjectFromHeader_Missing","Output":"--- PASS: TestExtractProjectFromHeader_Missing (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestExtractProjectFromHeader_Missing","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestProjectFromContext_RoundTrip"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestProjectFromContext_RoundTrip","Output":"=== RUN TestProjectFromContext_RoundTrip\n"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestProjectFromContext_RoundTrip","Output":"--- PASS: TestProjectFromContext_RoundTrip (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestProjectFromContext_RoundTrip","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestProjectFromContext_Empty"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestProjectFromContext_Empty","Output":"=== RUN TestProjectFromContext_Empty\n"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestProjectFromContext_Empty","Output":"--- PASS: TestProjectFromContext_Empty (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestProjectFromContext_Empty","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b","Output":"=== RUN TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b\n"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/schema_with_vnext_f_on_and_vnext_off_zero_tg3_params"} +{"Time":"2026-07-11T03:35:49.3655482+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/schema_with_vnext_f_on_and_vnext_off_zero_tg3_params","Output":"=== RUN TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/schema_with_vnext_f_on_and_vnext_off_zero_tg3_params\n"} +{"Time":"2026-07-11T03:35:49.3660482+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/schema_with_vnext_f_on_and_vnext_off_zero_tg3_params","Output":"--- PASS: TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/schema_with_vnext_f_on_and_vnext_off_zero_tg3_params (0.00s)\n"} +{"Time":"2026-07-11T03:35:49.3660482+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/schema_with_vnext_f_on_and_vnext_off_zero_tg3_params","Elapsed":0} +{"Time":"2026-07-11T03:35:49.3660482+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/runtime_zero_tg3_params_vnext_f_on_vnext_off_no_rationale"} +{"Time":"2026-07-11T03:35:49.3660482+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/runtime_zero_tg3_params_vnext_f_on_vnext_off_no_rationale","Output":"=== RUN TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/runtime_zero_tg3_params_vnext_f_on_vnext_off_no_rationale\n"} +{"Time":"2026-07-11T03:35:50.2848306+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/runtime_zero_tg3_params_vnext_f_on_vnext_off_no_rationale","Output":"{\"level\":\"warn\",\"error\":\"ERROR: relation \\\"observation_vectors\\\" does not exist (SQLSTATE 42P01)\",\"time\":\"2026-07-11T03:35:50+03:00\",\"message\":\"migration 040: orphan vector cleanup failed (non-fatal)\"}\n"} +{"Time":"2026-07-11T03:35:50.2848306+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/runtime_zero_tg3_params_vnext_f_on_vnext_off_no_rationale","Output":"{\"level\":\"info\",\"garbage_deleted\":0,\"orphan_vectors_deleted\":0,\"time\":\"2026-07-11T03:35:50+03:00\",\"message\":\"migration 040: garbage cleanup complete\"}\n"} +{"Time":"2026-07-11T03:35:50.2953284+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/runtime_zero_tg3_params_vnext_f_on_vnext_off_no_rationale","Output":"{\"level\":\"info\",\"orphan_vectors_deleted\":0,\"time\":\"2026-07-11T03:35:50+03:00\",\"message\":\"migration 041: orphan vector purge complete\"}\n"} +{"Time":"2026-07-11T03:35:50.3033277+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/runtime_zero_tg3_params_vnext_f_on_vnext_off_no_rationale","Output":"{\"level\":\"info\",\"patterns_deleted\":0,\"time\":\"2026-07-11T03:35:50+03:00\",\"message\":\"migration 042: low-quality pattern purge complete\"}\n"} +{"Time":"2026-07-11T03:35:50.3428285+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/runtime_zero_tg3_params_vnext_f_on_vnext_off_no_rationale","Output":"{\"level\":\"info\",\"total_deleted\":0,\"time\":\"2026-07-11T03:35:50+03:00\",\"message\":\"migration 043: radical observation cleanup complete\"}\n"} +{"Time":"2026-07-11T03:35:51.7332997+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/runtime_zero_tg3_params_vnext_f_on_vnext_off_no_rationale","Output":"{\"level\":\"warn\",\"error\":\"ERROR: extension \\\"vectorscale\\\" is not available (SQLSTATE 0A000)\",\"time\":\"2026-07-11T03:35:51+03:00\",\"message\":\"migration 109: vectorscale extension not available, skipping DiskANN index\"}\n"} +{"Time":"2026-07-11T03:35:53.0395733+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/runtime_zero_tg3_params_vnext_f_on_vnext_off_no_rationale","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:35:53+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:35:53.4247867+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/runtime_zero_tg3_params_vnext_f_on_vnext_off_no_rationale","Output":"--- PASS: TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/runtime_zero_tg3_params_vnext_f_on_vnext_off_no_rationale (4.06s)\n"} +{"Time":"2026-07-11T03:35:53.4247867+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/runtime_zero_tg3_params_vnext_f_on_vnext_off_no_rationale","Elapsed":4.06} +{"Time":"2026-07-11T03:35:53.4247867+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b","Output":"--- PASS: TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b (4.06s)\n"} +{"Time":"2026-07-11T03:35:53.4247867+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b","Elapsed":4.06} +{"Time":"2026-07-11T03:35:53.4247867+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_ZeroFlagsShape_T021"} +{"Time":"2026-07-11T03:35:53.4247867+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_ZeroFlagsShape_T021","Output":"=== RUN TestRecallMemory_CompatV3_ZeroFlagsShape_T021\n"} +{"Time":"2026-07-11T03:35:53.4247867+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_ZeroFlagsShape_T021/schema_unconditional_tg3_params_present"} +{"Time":"2026-07-11T03:35:53.4247867+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_ZeroFlagsShape_T021/schema_unconditional_tg3_params_present","Output":"=== RUN TestRecallMemory_CompatV3_ZeroFlagsShape_T021/schema_unconditional_tg3_params_present\n"} +{"Time":"2026-07-11T03:35:53.4252879+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_ZeroFlagsShape_T021/schema_unconditional_tg3_params_present","Output":"--- PASS: TestRecallMemory_CompatV3_ZeroFlagsShape_T021/schema_unconditional_tg3_params_present (0.00s)\n"} +{"Time":"2026-07-11T03:35:53.4252879+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_ZeroFlagsShape_T021/schema_unconditional_tg3_params_present","Elapsed":0} +{"Time":"2026-07-11T03:35:53.4252879+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_ZeroFlagsShape_T021/runtime_no_ranking_rationale_key_when_flags_at_default"} +{"Time":"2026-07-11T03:35:53.4252879+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_ZeroFlagsShape_T021/runtime_no_ranking_rationale_key_when_flags_at_default","Output":"=== RUN TestRecallMemory_CompatV3_ZeroFlagsShape_T021/runtime_no_ranking_rationale_key_when_flags_at_default\n"} +{"Time":"2026-07-11T03:35:53.547285+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_ZeroFlagsShape_T021/runtime_no_ranking_rationale_key_when_flags_at_default","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:35:53+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:35:53.5722852+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_ZeroFlagsShape_T021/runtime_no_ranking_rationale_key_when_flags_at_default","Output":"--- PASS: TestRecallMemory_CompatV3_ZeroFlagsShape_T021/runtime_no_ranking_rationale_key_when_flags_at_default (0.15s)\n"} +{"Time":"2026-07-11T03:35:53.5722852+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_ZeroFlagsShape_T021/runtime_no_ranking_rationale_key_when_flags_at_default","Elapsed":0.15} +{"Time":"2026-07-11T03:35:53.5722852+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_ZeroFlagsShape_T021","Output":"--- PASS: TestRecallMemory_CompatV3_ZeroFlagsShape_T021 (0.15s)\n"} +{"Time":"2026-07-11T03:35:53.5722852+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_ZeroFlagsShape_T021","Elapsed":0.15} +{"Time":"2026-07-11T03:35:53.5722852+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_ConfidenceMin_FloorEnforced_T022"} +{"Time":"2026-07-11T03:35:53.5722852+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_ConfidenceMin_FloorEnforced_T022","Output":"=== RUN TestHybridTG3_ConfidenceMin_FloorEnforced_T022\n"} +{"Time":"2026-07-11T03:35:53.7088791+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_ConfidenceMin_FloorEnforced_T022","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:35:53+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:35:53.7348797+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_ConfidenceMin_FloorEnforced_T022","Output":" integration_tg3_hybrid_test.go:83: \n"} +{"Time":"2026-07-11T03:35:53.7348797+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_ConfidenceMin_FloorEnforced_T022","Output":" \tError Trace:\tD:/Dev/engram/.w/t007-current-contract/internal/mcp/integration_tg3_hybrid_test.go:83\n"} +{"Time":"2026-07-11T03:35:53.7348797+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_ConfidenceMin_FloorEnforced_T022","Output":" \tError: \tReceived unexpected error:\n"} +{"Time":"2026-07-11T03:35:53.7348797+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_ConfidenceMin_FloorEnforced_T022","Output":" \t \tjson: cannot unmarshal array into Go value of type map[string]interface {}\n"} +{"Time":"2026-07-11T03:35:53.7348797+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_ConfidenceMin_FloorEnforced_T022","Output":" \tTest: \tTestHybridTG3_ConfidenceMin_FloorEnforced_T022\n"} +{"Time":"2026-07-11T03:35:53.7348797+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_ConfidenceMin_FloorEnforced_T022","Output":" \tMessages: \tresponse must be valid JSON\n"} +{"Time":"2026-07-11T03:35:53.7483782+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_ConfidenceMin_FloorEnforced_T022","Output":"--- FAIL: TestHybridTG3_ConfidenceMin_FloorEnforced_T022 (0.18s)\n"} +{"Time":"2026-07-11T03:35:53.7483782+03:00","Action":"fail","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_ConfidenceMin_FloorEnforced_T022","Elapsed":0.18} +{"Time":"2026-07-11T03:35:53.7483782+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_IncludeSuperseded_StructuredError_T022b"} +{"Time":"2026-07-11T03:35:53.7483782+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_IncludeSuperseded_StructuredError_T022b","Output":"=== RUN TestHybridTG3_IncludeSuperseded_StructuredError_T022b\n"} +{"Time":"2026-07-11T03:35:53.7483782+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_IncludeSuperseded_StructuredError_T022b","Output":"--- PASS: TestHybridTG3_IncludeSuperseded_StructuredError_T022b (0.00s)\n"} +{"Time":"2026-07-11T03:35:53.7483782+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_IncludeSuperseded_StructuredError_T022b","Elapsed":0} +{"Time":"2026-07-11T03:35:53.7483782+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_IncludeSuperseded_False_NoError_T022c"} +{"Time":"2026-07-11T03:35:53.7483782+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_IncludeSuperseded_False_NoError_T022c","Output":"=== RUN TestHybridTG3_IncludeSuperseded_False_NoError_T022c\n"} +{"Time":"2026-07-11T03:35:53.8714104+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_IncludeSuperseded_False_NoError_T022c","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:35:53+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:35:53.8834132+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_IncludeSuperseded_False_NoError_T022c","Output":"--- PASS: TestHybridTG3_IncludeSuperseded_False_NoError_T022c (0.13s)\n"} +{"Time":"2026-07-11T03:35:53.8834132+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_IncludeSuperseded_False_NoError_T022c","Elapsed":0.13} +{"Time":"2026-07-11T03:35:53.8834132+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecall_ScopeInvisibleNewestDoNotTruncate_CodexP1Cycle3"} +{"Time":"2026-07-11T03:35:53.8834132+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecall_ScopeInvisibleNewestDoNotTruncate_CodexP1Cycle3","Output":"=== RUN TestRecall_ScopeInvisibleNewestDoNotTruncate_CodexP1Cycle3\n"} +{"Time":"2026-07-11T03:35:54.0023478+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecall_ScopeInvisibleNewestDoNotTruncate_CodexP1Cycle3","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:35:54+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:35:54.0443491+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecall_ScopeInvisibleNewestDoNotTruncate_CodexP1Cycle3","Output":"--- PASS: TestRecall_ScopeInvisibleNewestDoNotTruncate_CodexP1Cycle3 (0.16s)\n"} +{"Time":"2026-07-11T03:35:54.0443491+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecall_ScopeInvisibleNewestDoNotTruncate_CodexP1Cycle3","Elapsed":0.16} +{"Time":"2026-07-11T03:35:54.0443491+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecall_PrincipalPrivateInvisibleNewestDoNotTruncate_FlagOff"} +{"Time":"2026-07-11T03:35:54.0443491+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecall_PrincipalPrivateInvisibleNewestDoNotTruncate_FlagOff","Output":"=== RUN TestRecall_PrincipalPrivateInvisibleNewestDoNotTruncate_FlagOff\n"} +{"Time":"2026-07-11T03:35:54.1576101+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecall_PrincipalPrivateInvisibleNewestDoNotTruncate_FlagOff","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:35:54+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:35:54.1971098+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecall_PrincipalPrivateInvisibleNewestDoNotTruncate_FlagOff","Output":"--- PASS: TestRecall_PrincipalPrivateInvisibleNewestDoNotTruncate_FlagOff (0.15s)\n"} +{"Time":"2026-07-11T03:35:54.1971098+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecall_PrincipalPrivateInvisibleNewestDoNotTruncate_FlagOff","Elapsed":0.15} +{"Time":"2026-07-11T03:35:54.1971098+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_PrincipalPrivateInvisibleAndSharedAttributed_FlagOff"} +{"Time":"2026-07-11T03:35:54.1971098+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_PrincipalPrivateInvisibleAndSharedAttributed_FlagOff","Output":"=== RUN TestRecallMemory_PrincipalPrivateInvisibleAndSharedAttributed_FlagOff\n"} +{"Time":"2026-07-11T03:35:54.3122788+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_PrincipalPrivateInvisibleAndSharedAttributed_FlagOff","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:35:54+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:35:54.3417768+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_PrincipalPrivateInvisibleAndSharedAttributed_FlagOff","Output":"--- PASS: TestRecallMemory_PrincipalPrivateInvisibleAndSharedAttributed_FlagOff (0.14s)\n"} +{"Time":"2026-07-11T03:35:54.3422767+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_PrincipalPrivateInvisibleAndSharedAttributed_FlagOff","Elapsed":0.14} +{"Time":"2026-07-11T03:35:54.3422767+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_DomainOwnedInvisibleNewestDoNotTruncate_FlagOff"} +{"Time":"2026-07-11T03:35:54.3422767+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_DomainOwnedInvisibleNewestDoNotTruncate_FlagOff","Output":"=== RUN TestRecallMemory_DomainOwnedInvisibleNewestDoNotTruncate_FlagOff\n"} +{"Time":"2026-07-11T03:35:54.4507785+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_DomainOwnedInvisibleNewestDoNotTruncate_FlagOff","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:35:54+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:35:54.4873099+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_DomainOwnedInvisibleNewestDoNotTruncate_FlagOff","Output":"--- PASS: TestRecallMemory_DomainOwnedInvisibleNewestDoNotTruncate_FlagOff (0.15s)\n"} +{"Time":"2026-07-11T03:35:54.4873099+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_DomainOwnedInvisibleNewestDoNotTruncate_FlagOff","Elapsed":0.15} +{"Time":"2026-07-11T03:35:54.4873099+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_TG3IncludeSupersededLegacyPath"} +{"Time":"2026-07-11T03:35:54.4873099+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_TG3IncludeSupersededLegacyPath","Output":"=== RUN TestRecallMemory_TG3IncludeSupersededLegacyPath\n"} +{"Time":"2026-07-11T03:35:54.5948085+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_TG3IncludeSupersededLegacyPath","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:35:54+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:35:54.6178085+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_TG3IncludeSupersededLegacyPath","Output":"--- PASS: TestRecallMemory_TG3IncludeSupersededLegacyPath (0.13s)\n"} +{"Time":"2026-07-11T03:35:54.6178085+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_TG3IncludeSupersededLegacyPath","Elapsed":0.13} +{"Time":"2026-07-11T03:35:54.6178085+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_IncludeSupersededFlagOffIgnoredInHybrid"} +{"Time":"2026-07-11T03:35:54.6178085+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_IncludeSupersededFlagOffIgnoredInHybrid","Output":"=== RUN TestRecallMemory_IncludeSupersededFlagOffIgnoredInHybrid\n"} +{"Time":"2026-07-11T03:35:54.7283029+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_IncludeSupersededFlagOffIgnoredInHybrid","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:35:54+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:35:54.7407005+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_IncludeSupersededFlagOffIgnoredInHybrid","Output":"--- PASS: TestRecallMemory_IncludeSupersededFlagOffIgnoredInHybrid (0.12s)\n"} +{"Time":"2026-07-11T03:35:54.7407005+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_IncludeSupersededFlagOffIgnoredInHybrid","Elapsed":0.12} +{"Time":"2026-07-11T03:35:54.7407005+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryAlwaysInject_GovernanceFlagCreatesRuleCandidate"} +{"Time":"2026-07-11T03:35:54.7407005+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryAlwaysInject_GovernanceFlagCreatesRuleCandidate","Output":"=== RUN TestStoreMemoryAlwaysInject_GovernanceFlagCreatesRuleCandidate\n"} +{"Time":"2026-07-11T03:35:54.7412042+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryAlwaysInject_GovernanceFlagCreatesRuleCandidate","Output":"--- PASS: TestStoreMemoryAlwaysInject_GovernanceFlagCreatesRuleCandidate (0.00s)\n"} +{"Time":"2026-07-11T03:35:54.7412042+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryAlwaysInject_GovernanceFlagCreatesRuleCandidate","Elapsed":0} +{"Time":"2026-07-11T03:35:54.7412042+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryAlwaysInject_FlagOffDoesNotUseRuleGovernance"} +{"Time":"2026-07-11T03:35:54.7412042+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryAlwaysInject_FlagOffDoesNotUseRuleGovernance","Output":"=== RUN TestStoreMemoryAlwaysInject_FlagOffDoesNotUseRuleGovernance\n"} +{"Time":"2026-07-11T03:35:54.7412042+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryAlwaysInject_FlagOffDoesNotUseRuleGovernance","Output":"--- PASS: TestStoreMemoryAlwaysInject_FlagOffDoesNotUseRuleGovernance (0.00s)\n"} +{"Time":"2026-07-11T03:35:54.7412042+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryAlwaysInject_FlagOffDoesNotUseRuleGovernance","Elapsed":0} +{"Time":"2026-07-11T03:35:54.7412042+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreRule_GovernanceFlagCreatesRuleCandidate"} +{"Time":"2026-07-11T03:35:54.7412042+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreRule_GovernanceFlagCreatesRuleCandidate","Output":"=== RUN TestStoreRule_GovernanceFlagCreatesRuleCandidate\n"} +{"Time":"2026-07-11T03:35:54.7412042+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreRule_GovernanceFlagCreatesRuleCandidate","Output":"--- PASS: TestStoreRule_GovernanceFlagCreatesRuleCandidate (0.00s)\n"} +{"Time":"2026-07-11T03:35:54.7412042+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreRule_GovernanceFlagCreatesRuleCandidate","Elapsed":0} +{"Time":"2026-07-11T03:35:54.7412042+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreRule_GovernanceFlagPreservesGlobalIntentWithContextProject"} +{"Time":"2026-07-11T03:35:54.7412042+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreRule_GovernanceFlagPreservesGlobalIntentWithContextProject","Output":"=== RUN TestStoreRule_GovernanceFlagPreservesGlobalIntentWithContextProject\n"} +{"Time":"2026-07-11T03:35:54.7412042+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreRule_GovernanceFlagPreservesGlobalIntentWithContextProject","Output":"--- PASS: TestStoreRule_GovernanceFlagPreservesGlobalIntentWithContextProject (0.00s)\n"} +{"Time":"2026-07-11T03:35:54.7412042+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreRule_GovernanceFlagPreservesGlobalIntentWithContextProject","Elapsed":0} +{"Time":"2026-07-11T03:35:54.7412042+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreRule_GovernanceFlagRedactsCandidateContent"} +{"Time":"2026-07-11T03:35:54.7412042+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreRule_GovernanceFlagRedactsCandidateContent","Output":"=== RUN TestStoreRule_GovernanceFlagRedactsCandidateContent\n"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreRule_GovernanceFlagRedactsCandidateContent","Output":"--- PASS: TestStoreRule_GovernanceFlagRedactsCandidateContent (0.00s)\n"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreRule_GovernanceFlagRedactsCandidateContent","Elapsed":0} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreRule_FlagOffDoesNotUseRuleGovernance"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreRule_FlagOffDoesNotUseRuleGovernance","Output":"=== RUN TestStoreRule_FlagOffDoesNotUseRuleGovernance\n"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreRule_FlagOffDoesNotUseRuleGovernance","Output":"--- PASS: TestStoreRule_FlagOffDoesNotUseRuleGovernance (0.00s)\n"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreRule_FlagOffDoesNotUseRuleGovernance","Elapsed":0} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_GetAmbientHintsDispatchesThroughToolsCall"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_GetAmbientHintsDispatchesThroughToolsCall","Output":"=== RUN TestHandleRequest_GetAmbientHintsDispatchesThroughToolsCall\n"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_GetAmbientHintsDispatchesThroughToolsCall","Output":"--- PASS: TestHandleRequest_GetAmbientHintsDispatchesThroughToolsCall (0.00s)\n"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_GetAmbientHintsDispatchesThroughToolsCall","Elapsed":0} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_GetAmbientHintsUnknownToolRegressionGuard"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_GetAmbientHintsUnknownToolRegressionGuard","Output":"=== RUN TestHandleRequest_GetAmbientHintsUnknownToolRegressionGuard\n"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_GetAmbientHintsUnknownToolRegressionGuard","Output":"--- PASS: TestHandleRequest_GetAmbientHintsUnknownToolRegressionGuard (0.00s)\n"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_GetAmbientHintsUnknownToolRegressionGuard","Elapsed":0} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestServerSetAuditStoreAssignsField"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestServerSetAuditStoreAssignsField","Output":"=== RUN TestServerSetAuditStoreAssignsField\n"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestServerSetAuditStoreAssignsField","Output":"--- PASS: TestServerSetAuditStoreAssignsField (0.00s)\n"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestServerSetAuditStoreAssignsField","Elapsed":0} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table","Output":"=== RUN TestRequest_Marshal_Table\n"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table","Output":"=== PAUSE TestRequest_Marshal_Table\n"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Unmarshal_RoundTrip"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Unmarshal_RoundTrip","Output":"=== RUN TestRequest_Unmarshal_RoundTrip\n"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Unmarshal_RoundTrip","Output":"=== PAUSE TestRequest_Unmarshal_RoundTrip\n"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Unmarshal_RoundTrip"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Unmarshal_NullID"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Unmarshal_NullID","Output":"=== RUN TestRequest_Unmarshal_NullID\n"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Unmarshal_NullID","Output":"=== PAUSE TestRequest_Unmarshal_NullID\n"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Unmarshal_NullID"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table","Output":"=== RUN TestResponse_Marshal_Table\n"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table","Output":"=== PAUSE TestResponse_Marshal_Table\n"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table","Output":"=== RUN TestError_Marshal_Table\n"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table","Output":"=== PAUSE TestError_Marshal_Table\n"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_NilData_NotInOutput"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_NilData_NotInOutput","Output":"=== RUN TestError_NilData_NotInOutput\n"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_NilData_NotInOutput","Output":"=== PAUSE TestError_NilData_NotInOutput\n"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_NilData_NotInOutput"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal","Output":"=== RUN TestToolCallParams_Unmarshal\n"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal","Output":"=== PAUSE TestToolCallParams_Unmarshal\n"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_ComplexArgs"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_ComplexArgs","Output":"=== RUN TestToolCallParams_ComplexArgs\n"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_ComplexArgs","Output":"=== PAUSE TestToolCallParams_ComplexArgs\n"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_ComplexArgs"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTool_Marshal_RoundTrip"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTool_Marshal_RoundTrip","Output":"=== RUN TestTool_Marshal_RoundTrip\n"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTool_Marshal_RoundTrip","Output":"=== PAUSE TestTool_Marshal_RoundTrip\n"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTool_Marshal_RoundTrip"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table","Output":"=== RUN TestTimelineParams_Unmarshal_Table\n"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table","Output":"=== PAUSE TestTimelineParams_Unmarshal_Table\n"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_AllFields"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_AllFields","Output":"=== RUN TestTimelineParams_AllFields\n"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_AllFields","Output":"=== PAUSE TestTimelineParams_AllFields\n"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_AllFields"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestNewServer_CreatesWithVersion"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestNewServer_CreatesWithVersion","Output":"=== RUN TestNewServer_CreatesWithVersion\n"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestNewServer_CreatesWithVersion","Output":"=== PAUSE TestNewServer_CreatesWithVersion\n"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestNewServer_CreatesWithVersion"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestNewServer_HasStdinStdout"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestNewServer_HasStdinStdout","Output":"=== RUN TestNewServer_HasStdinStdout\n"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestNewServer_HasStdinStdout","Output":"=== PAUSE TestNewServer_HasStdinStdout\n"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestNewServer_HasStdinStdout"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestVersion_ReturnsVersion"} +{"Time":"2026-07-11T03:35:54.7417013+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestVersion_ReturnsVersion","Output":"=== RUN TestVersion_ReturnsVersion\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestVersion_ReturnsVersion","Output":"=== PAUSE TestVersion_ReturnsVersion\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestVersion_ReturnsVersion"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestServer_FieldsInjected"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestServer_FieldsInjected","Output":"=== RUN TestServer_FieldsInjected\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestServer_FieldsInjected","Output":"=== PAUSE TestServer_FieldsInjected\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestServer_FieldsInjected"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_ProtocolAndVersion"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_ProtocolAndVersion","Output":"=== RUN TestHandleInitialize_ProtocolAndVersion\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_ProtocolAndVersion","Output":"=== PAUSE TestHandleInitialize_ProtocolAndVersion\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_ProtocolAndVersion"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_CapabilitiesPresent"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_CapabilitiesPresent","Output":"=== RUN TestHandleInitialize_CapabilitiesPresent\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_CapabilitiesPresent","Output":"=== PAUSE TestHandleInitialize_CapabilitiesPresent\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_CapabilitiesPresent"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_IDEchoed"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_IDEchoed","Output":"=== RUN TestHandleInitialize_IDEchoed\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_IDEchoed","Output":"=== PAUSE TestHandleInitialize_IDEchoed\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_IDEchoed"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_PrimaryToolsPresent"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_PrimaryToolsPresent","Output":"=== RUN TestHandleToolsList_PrimaryToolsPresent\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_PrimaryToolsPresent","Output":"=== PAUSE TestHandleToolsList_PrimaryToolsPresent\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_PrimaryToolsPresent"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_DefaultCountMatchesPrimary"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_DefaultCountMatchesPrimary","Output":"=== RUN TestHandleToolsList_DefaultCountMatchesPrimary\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_DefaultCountMatchesPrimary","Output":"=== PAUSE TestHandleToolsList_DefaultCountMatchesPrimary\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_DefaultCountMatchesPrimary"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_IncludeAllReturnsMore"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_IncludeAllReturnsMore","Output":"=== RUN TestHandleToolsList_IncludeAllReturnsMore\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_IncludeAllReturnsMore","Output":"=== PAUSE TestHandleToolsList_IncludeAllReturnsMore\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_IncludeAllReturnsMore"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_IncludeAllContainsLegacy"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_IncludeAllContainsLegacy","Output":"=== RUN TestHandleToolsList_IncludeAllContainsLegacy\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_IncludeAllContainsLegacy","Output":"=== PAUSE TestHandleToolsList_IncludeAllContainsLegacy\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_IncludeAllContainsLegacy"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_RemovedToolsAbsent"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_RemovedToolsAbsent","Output":"=== RUN TestHandleToolsList_RemovedToolsAbsent\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_RemovedToolsAbsent","Output":"=== PAUSE TestHandleToolsList_RemovedToolsAbsent\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_RemovedToolsAbsent"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_SchemaCompliance_NoForbiddenTopLevelKeys"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_SchemaCompliance_NoForbiddenTopLevelKeys","Output":"=== RUN TestHandleToolsList_SchemaCompliance_NoForbiddenTopLevelKeys\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_SchemaCompliance_NoForbiddenTopLevelKeys","Output":"=== PAUSE TestHandleToolsList_SchemaCompliance_NoForbiddenTopLevelKeys\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_SchemaCompliance_NoForbiddenTopLevelKeys"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_AllToolSchemasHaveTypeAndProperties"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_AllToolSchemasHaveTypeAndProperties","Output":"=== RUN TestHandleToolsList_AllToolSchemasHaveTypeAndProperties\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_AllToolSchemasHaveTypeAndProperties","Output":"=== PAUSE TestHandleToolsList_AllToolSchemasHaveTypeAndProperties\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_AllToolSchemasHaveTypeAndProperties"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_FeedbackSchemaCorrect"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_FeedbackSchemaCorrect","Output":"=== RUN TestHandleToolsList_FeedbackSchemaCorrect\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_FeedbackSchemaCorrect","Output":"=== PAUSE TestHandleToolsList_FeedbackSchemaCorrect\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_FeedbackSchemaCorrect"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_StoreTypeEnumCorrect"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_StoreTypeEnumCorrect","Output":"=== RUN TestHandleToolsList_StoreTypeEnumCorrect\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_StoreTypeEnumCorrect","Output":"=== PAUSE TestHandleToolsList_StoreTypeEnumCorrect\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_StoreTypeEnumCorrect"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_InitializeRoute"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_InitializeRoute","Output":"=== RUN TestHandleRequest_InitializeRoute\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_InitializeRoute","Output":"=== PAUSE TestHandleRequest_InitializeRoute\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_InitializeRoute"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_ToolsListRoute"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_ToolsListRoute","Output":"=== RUN TestHandleRequest_ToolsListRoute\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_ToolsListRoute","Output":"=== PAUSE TestHandleRequest_ToolsListRoute\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_ToolsListRoute"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_UnknownMethodError"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_UnknownMethodError","Output":"=== RUN TestHandleRequest_UnknownMethodError\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_UnknownMethodError","Output":"=== PAUSE TestHandleRequest_UnknownMethodError\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_UnknownMethodError"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_NotificationReturnsNil"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_NotificationReturnsNil","Output":"=== RUN TestHandleRequest_NotificationReturnsNil\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_NotificationReturnsNil","Output":"=== PAUSE TestHandleRequest_NotificationReturnsNil\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_NotificationReturnsNil"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs","Output":"=== RUN TestHandleRequest_CapabilityStubs\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs","Output":"=== PAUSE TestHandleRequest_CapabilityStubs\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_InvalidParamsJSON"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_InvalidParamsJSON","Output":"=== RUN TestHandleToolsCall_InvalidParamsJSON\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_InvalidParamsJSON","Output":"=== PAUSE TestHandleToolsCall_InvalidParamsJSON\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_InvalidParamsJSON"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_EmptyParams"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_EmptyParams","Output":"=== RUN TestHandleToolsCall_EmptyParams\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_EmptyParams","Output":"=== PAUSE TestHandleToolsCall_EmptyParams\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_EmptyParams"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_UnknownTool"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_UnknownTool","Output":"=== RUN TestHandleToolsCall_UnknownTool\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_UnknownTool","Output":"=== PAUSE TestHandleToolsCall_UnknownTool\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_UnknownTool"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSanitizeToolCallArgs_RememberDirectiveRedactsRawLogArguments"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSanitizeToolCallArgs_RememberDirectiveRedactsRawLogArguments","Output":"=== RUN TestSanitizeToolCallArgs_RememberDirectiveRedactsRawLogArguments\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSanitizeToolCallArgs_RememberDirectiveRedactsRawLogArguments","Output":"=== PAUSE TestSanitizeToolCallArgs_RememberDirectiveRedactsRawLogArguments\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSanitizeToolCallArgs_RememberDirectiveRedactsRawLogArguments"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSanitizeToolCallArgs_OtherToolsStillRedactSecrets"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSanitizeToolCallArgs_OtherToolsStillRedactSecrets","Output":"=== RUN TestSanitizeToolCallArgs_OtherToolsStillRedactSecrets\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSanitizeToolCallArgs_OtherToolsStillRedactSecrets","Output":"=== PAUSE TestSanitizeToolCallArgs_OtherToolsStillRedactSecrets\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSanitizeToolCallArgs_OtherToolsStillRedactSecrets"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolReturnsError"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolReturnsError","Output":"=== RUN TestCallTool_UnknownToolReturnsError\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolReturnsError","Output":"=== PAUSE TestCallTool_UnknownToolReturnsError\n"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolReturnsError"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table"} +{"Time":"2026-07-11T03:35:54.7422016+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table","Output":"=== RUN TestCallTool_UnknownToolNames_Table\n"} +{"Time":"2026-07-11T03:35:54.7427001+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table","Output":"=== PAUSE TestCallTool_UnknownToolNames_Table\n"} +{"Time":"2026-07-11T03:35:54.7427001+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table"} +{"Time":"2026-07-11T03:35:54.7427001+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_FindByFile_Removed"} +{"Time":"2026-07-11T03:35:54.7427001+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_FindByFile_Removed","Output":"=== RUN TestCallTool_FindByFile_Removed\n"} +{"Time":"2026-07-11T03:35:54.7427001+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_FindByFile_Removed","Output":"=== PAUSE TestCallTool_FindByFile_Removed\n"} +{"Time":"2026-07-11T03:35:54.7427001+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_FindByFile_Removed"} +{"Time":"2026-07-11T03:35:54.7427001+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_GetMemoryStats_NilStores"} +{"Time":"2026-07-11T03:35:54.7427001+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_GetMemoryStats_NilStores","Output":"=== RUN TestCallTool_GetMemoryStats_NilStores\n"} +{"Time":"2026-07-11T03:35:54.7427001+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_GetMemoryStats_NilStores","Output":"=== PAUSE TestCallTool_GetMemoryStats_NilStores\n"} +{"Time":"2026-07-11T03:35:54.7427001+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_GetMemoryStats_NilStores"} +{"Time":"2026-07-11T03:35:54.7427001+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryStats_NilDB_NoMemoryOrVnextSections"} +{"Time":"2026-07-11T03:35:54.7427001+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryStats_NilDB_NoMemoryOrVnextSections","Output":"=== RUN TestGetMemoryStats_NilDB_NoMemoryOrVnextSections\n"} +{"Time":"2026-07-11T03:35:54.7427001+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryStats_NilDB_NoMemoryOrVnextSections","Output":"=== PAUSE TestGetMemoryStats_NilDB_NoMemoryOrVnextSections\n"} +{"Time":"2026-07-11T03:35:54.7427001+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryStats_NilDB_NoMemoryOrVnextSections"} +{"Time":"2026-07-11T03:35:54.7427001+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_CheckSystemHealth_NilStores"} +{"Time":"2026-07-11T03:35:54.7427001+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_CheckSystemHealth_NilStores","Output":"=== RUN TestCallTool_CheckSystemHealth_NilStores\n"} +{"Time":"2026-07-11T03:35:54.7427001+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_CheckSystemHealth_NilStores","Output":"=== PAUSE TestCallTool_CheckSystemHealth_NilStores\n"} +{"Time":"2026-07-11T03:35:54.7427001+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_CheckSystemHealth_NilStores"} +{"Time":"2026-07-11T03:35:54.7427001+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCheckSystemHealth_VectorSubsystem"} +{"Time":"2026-07-11T03:35:54.7427001+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCheckSystemHealth_VectorSubsystem","Output":"=== RUN TestCheckSystemHealth_VectorSubsystem\n"} +{"Time":"2026-07-11T03:35:54.7427001+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCheckSystemHealth_VectorSubsystem/vnext_disabled"} +{"Time":"2026-07-11T03:35:54.7427001+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCheckSystemHealth_VectorSubsystem/vnext_disabled","Output":"=== RUN TestCheckSystemHealth_VectorSubsystem/vnext_disabled\n"} +{"Time":"2026-07-11T03:35:54.8655128+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCheckSystemHealth_VectorSubsystem/vnext_disabled","Output":"{\"level\":\"debug\",\"connections\":5,\"time\":\"2026-07-11T03:35:54+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:35:54.8700138+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCheckSystemHealth_VectorSubsystem/vnext_disabled","Output":"--- PASS: TestCheckSystemHealth_VectorSubsystem/vnext_disabled (0.13s)\n"} +{"Time":"2026-07-11T03:35:54.8700138+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCheckSystemHealth_VectorSubsystem/vnext_disabled","Elapsed":0.13} +{"Time":"2026-07-11T03:35:54.8700138+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCheckSystemHealth_VectorSubsystem/vnext_enabled"} +{"Time":"2026-07-11T03:35:54.8700138+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCheckSystemHealth_VectorSubsystem/vnext_enabled","Output":"=== RUN TestCheckSystemHealth_VectorSubsystem/vnext_enabled\n"} +{"Time":"2026-07-11T03:35:54.9922047+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCheckSystemHealth_VectorSubsystem/vnext_enabled","Output":"{\"level\":\"debug\",\"connections\":5,\"time\":\"2026-07-11T03:35:54+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCheckSystemHealth_VectorSubsystem/vnext_enabled","Output":"--- PASS: TestCheckSystemHealth_VectorSubsystem/vnext_enabled (0.13s)\n"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCheckSystemHealth_VectorSubsystem/vnext_enabled","Elapsed":0.13} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCheckSystemHealth_VectorSubsystem","Output":"--- PASS: TestCheckSystemHealth_VectorSubsystem (0.25s)\n"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCheckSystemHealth_VectorSubsystem","Elapsed":0.25} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table","Output":"=== RUN TestCallTool_ParameterValidation_Table\n"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table","Output":"=== PAUSE TestCallTool_ParameterValidation_Table\n"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleGetMemoryStats_NilStores_ValidJSON"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleGetMemoryStats_NilStores_ValidJSON","Output":"=== RUN TestHandleGetMemoryStats_NilStores_ValidJSON\n"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleGetMemoryStats_NilStores_ValidJSON","Output":"=== PAUSE TestHandleGetMemoryStats_NilStores_ValidJSON\n"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleGetMemoryStats_NilStores_ValidJSON"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleCheckSystemHealth_NilStores_StructuredResponse"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleCheckSystemHealth_NilStores_StructuredResponse","Output":"=== RUN TestHandleCheckSystemHealth_NilStores_StructuredResponse\n"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleCheckSystemHealth_NilStores_StructuredResponse","Output":"=== PAUSE TestHandleCheckSystemHealth_NilStores_StructuredResponse\n"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleCheckSystemHealth_NilStores_StructuredResponse"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleFindSimilarObservations_Validation"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleFindSimilarObservations_Validation","Output":"=== RUN TestHandleFindSimilarObservations_Validation\n"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleFindSimilarObservations_Validation","Output":"=== PAUSE TestHandleFindSimilarObservations_Validation\n"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleFindSimilarObservations_Validation"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleFindSimilarObservations_EmptyResultInV5"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleFindSimilarObservations_EmptyResultInV5","Output":"=== RUN TestHandleFindSimilarObservations_EmptyResultInV5\n"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleFindSimilarObservations_EmptyResultInV5","Output":"=== PAUSE TestHandleFindSimilarObservations_EmptyResultInV5\n"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleFindSimilarObservations_EmptyResultInV5"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleAnalyzeSearchPatterns_InvalidJSON"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleAnalyzeSearchPatterns_InvalidJSON","Output":"=== RUN TestHandleAnalyzeSearchPatterns_InvalidJSON\n"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleAnalyzeSearchPatterns_InvalidJSON","Output":"=== PAUSE TestHandleAnalyzeSearchPatterns_InvalidJSON\n"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleAnalyzeSearchPatterns_InvalidJSON"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_ContainsJSONRPC"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_ContainsJSONRPC","Output":"=== RUN TestSendResponse_ContainsJSONRPC\n"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_ContainsJSONRPC","Output":"=== PAUSE TestSendResponse_ContainsJSONRPC\n"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_ContainsJSONRPC"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_ErrorResponse"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_ErrorResponse","Output":"=== RUN TestSendResponse_ErrorResponse\n"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_ErrorResponse","Output":"=== PAUSE TestSendResponse_ErrorResponse\n"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_ErrorResponse"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_NilID"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_NilID","Output":"=== RUN TestSendResponse_NilID\n"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_NilID","Output":"=== PAUSE TestSendResponse_NilID\n"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_NilID"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_VariousIDTypes"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_VariousIDTypes","Output":"=== RUN TestSendResponse_VariousIDTypes\n"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_VariousIDTypes","Output":"=== PAUSE TestSendResponse_VariousIDTypes\n"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_VariousIDTypes"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendError_OutputShape"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendError_OutputShape","Output":"=== RUN TestSendError_OutputShape\n"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendError_OutputShape","Output":"=== PAUSE TestSendError_OutputShape\n"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendError_OutputShape"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_ParseError"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_ParseError","Output":"=== RUN TestRun_ParseError\n"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_ParseError","Output":"=== PAUSE TestRun_ParseError\n"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_ParseError"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_EmptyLinesSkipped"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_EmptyLinesSkipped","Output":"=== RUN TestRun_EmptyLinesSkipped\n"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_EmptyLinesSkipped","Output":"=== PAUSE TestRun_EmptyLinesSkipped\n"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_EmptyLinesSkipped"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_ValidInitialize"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_ValidInitialize","Output":"=== RUN TestRun_ValidInitialize\n"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_ValidInitialize","Output":"=== PAUSE TestRun_ValidInitialize\n"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_ValidInitialize"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_MultipleRequests"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_MultipleRequests","Output":"=== RUN TestRun_MultipleRequests\n"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_MultipleRequests","Output":"=== PAUSE TestRun_MultipleRequests\n"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_MultipleRequests"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_MixedValidAndInvalid"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_MixedValidAndInvalid","Output":"=== RUN TestRun_MixedValidAndInvalid\n"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_MixedValidAndInvalid","Output":"=== PAUSE TestRun_MixedValidAndInvalid\n"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_MixedValidAndInvalid"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_NotificationNoResponse"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_NotificationNoResponse","Output":"=== RUN TestRun_NotificationNoResponse\n"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_NotificationNoResponse","Output":"=== PAUSE TestRun_NotificationNoResponse\n"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_NotificationNoResponse"} +{"Time":"2026-07-11T03:35:54.9967075+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table"} +{"Time":"2026-07-11T03:35:54.997205+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table","Output":"=== RUN TestJSONRPCErrorCodes_Table\n"} +{"Time":"2026-07-11T03:35:54.997205+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table","Output":"=== PAUSE TestJSONRPCErrorCodes_Table\n"} +{"Time":"2026-07-11T03:35:54.997205+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table"} +{"Time":"2026-07-11T03:35:54.997205+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTierConstants"} +{"Time":"2026-07-11T03:35:54.997205+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTierConstants","Output":"=== RUN TestTierConstants\n"} +{"Time":"2026-07-11T03:35:54.997205+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTierConstants","Output":"=== PAUSE TestTierConstants\n"} +{"Time":"2026-07-11T03:35:54.997205+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTierConstants"} +{"Time":"2026-07-11T03:35:54.997205+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007"} +{"Time":"2026-07-11T03:35:54.997205+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"=== RUN TestEC_F1_TagDerivedBackfill_T007\n"} +{"Time":"2026-07-11T03:35:55.1068599+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:35:55+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:35:55.1454328+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"--- PASS: TestEC_F1_TagDerivedBackfill_T007 (0.15s)\n"} +{"Time":"2026-07-11T03:35:55.1454328+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Elapsed":0.15} +{"Time":"2026-07-11T03:35:55.1454328+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_HandleRecallSearch_FlagOff_BackwardCompat_T007"} +{"Time":"2026-07-11T03:35:55.1454328+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_HandleRecallSearch_FlagOff_BackwardCompat_T007","Output":"=== RUN TestEC_F1_HandleRecallSearch_FlagOff_BackwardCompat_T007\n"} +{"Time":"2026-07-11T03:35:55.2534324+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_HandleRecallSearch_FlagOff_BackwardCompat_T007","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:35:55+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:35:55.269932+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_HandleRecallSearch_FlagOff_BackwardCompat_T007","Output":"--- PASS: TestEC_F1_HandleRecallSearch_FlagOff_BackwardCompat_T007 (0.12s)\n"} +{"Time":"2026-07-11T03:35:55.269932+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_HandleRecallSearch_FlagOff_BackwardCompat_T007","Elapsed":0.12} +{"Time":"2026-07-11T03:35:55.269932+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemory_PrincipalOwnerDerivedFromIdentity"} +{"Time":"2026-07-11T03:35:55.269932+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemory_PrincipalOwnerDerivedFromIdentity","Output":"=== RUN TestStoreMemory_PrincipalOwnerDerivedFromIdentity\n"} +{"Time":"2026-07-11T03:35:55.3869495+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemory_PrincipalOwnerDerivedFromIdentity","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:35:55+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:35:55.4069486+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemory_PrincipalOwnerDerivedFromIdentity","Output":"--- PASS: TestStoreMemory_PrincipalOwnerDerivedFromIdentity (0.14s)\n"} +{"Time":"2026-07-11T03:35:55.4074476+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemory_PrincipalOwnerDerivedFromIdentity","Elapsed":0.14} +{"Time":"2026-07-11T03:35:55.4074476+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOn_T008"} +{"Time":"2026-07-11T03:35:55.4074476+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOn_T008","Output":"=== RUN TestRI_F2_DualFieldResponse_FlagOn_T008\n"} +{"Time":"2026-07-11T03:35:55.5410809+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOn_T008","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:35:55+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:35:55.5435818+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOn_T008/legacy_scope=project,_no_privacy_scope_-\u003e_dual_project"} +{"Time":"2026-07-11T03:35:55.5435818+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOn_T008/legacy_scope=project,_no_privacy_scope_-\u003e_dual_project","Output":"=== RUN TestRI_F2_DualFieldResponse_FlagOn_T008/legacy_scope=project,_no_privacy_scope_-\u003e_dual_project\n"} +{"Time":"2026-07-11T03:35:55.5515813+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOn_T008/legacy_scope=project,_no_privacy_scope_-\u003e_dual_project","Output":"--- PASS: TestRI_F2_DualFieldResponse_FlagOn_T008/legacy_scope=project,_no_privacy_scope_-\u003e_dual_project (0.01s)\n"} +{"Time":"2026-07-11T03:35:55.5520819+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOn_T008/legacy_scope=project,_no_privacy_scope_-\u003e_dual_project","Elapsed":0.01} +{"Time":"2026-07-11T03:35:55.5520819+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOn_T008/legacy_scope=global,_no_privacy_scope_-\u003e_dual_global"} +{"Time":"2026-07-11T03:35:55.5520819+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOn_T008/legacy_scope=global,_no_privacy_scope_-\u003e_dual_global","Output":"=== RUN TestRI_F2_DualFieldResponse_FlagOn_T008/legacy_scope=global,_no_privacy_scope_-\u003e_dual_global\n"} +{"Time":"2026-07-11T03:35:55.558652+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOn_T008/legacy_scope=global,_no_privacy_scope_-\u003e_dual_global","Output":"--- PASS: TestRI_F2_DualFieldResponse_FlagOn_T008/legacy_scope=global,_no_privacy_scope_-\u003e_dual_global (0.01s)\n"} +{"Time":"2026-07-11T03:35:55.558652+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOn_T008/legacy_scope=global,_no_privacy_scope_-\u003e_dual_global","Elapsed":0.01} +{"Time":"2026-07-11T03:35:55.558652+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOn_T008/explicit_privacy_scope=shared_overrides_legacy"} +{"Time":"2026-07-11T03:35:55.558652+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOn_T008/explicit_privacy_scope=shared_overrides_legacy","Output":"=== RUN TestRI_F2_DualFieldResponse_FlagOn_T008/explicit_privacy_scope=shared_overrides_legacy\n"} +{"Time":"2026-07-11T03:35:55.5651537+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOn_T008/explicit_privacy_scope=shared_overrides_legacy","Output":"--- PASS: TestRI_F2_DualFieldResponse_FlagOn_T008/explicit_privacy_scope=shared_overrides_legacy (0.01s)\n"} +{"Time":"2026-07-11T03:35:55.5651537+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOn_T008/explicit_privacy_scope=shared_overrides_legacy","Elapsed":0.01} +{"Time":"2026-07-11T03:35:55.5756556+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOn_T008","Output":"--- PASS: TestRI_F2_DualFieldResponse_FlagOn_T008 (0.17s)\n"} +{"Time":"2026-07-11T03:35:55.5756556+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOn_T008","Elapsed":0.17} +{"Time":"2026-07-11T03:35:55.5756556+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOff_LegacyOnly_T008"} +{"Time":"2026-07-11T03:35:55.5756556+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOff_LegacyOnly_T008","Output":"=== RUN TestRI_F2_DualFieldResponse_FlagOff_LegacyOnly_T008\n"} +{"Time":"2026-07-11T03:35:55.6931522+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOff_LegacyOnly_T008","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:35:55+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:35:55.710762+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOff_LegacyOnly_T008","Output":"--- PASS: TestRI_F2_DualFieldResponse_FlagOff_LegacyOnly_T008 (0.13s)\n"} +{"Time":"2026-07-11T03:35:55.710762+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOff_LegacyOnly_T008","Elapsed":0.13} +{"Time":"2026-07-11T03:35:55.710762+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_InvalidPrivacyScope_StillStructuredErrorUnderFlagOn_T008"} +{"Time":"2026-07-11T03:35:55.710762+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_InvalidPrivacyScope_StillStructuredErrorUnderFlagOn_T008","Output":"=== RUN TestRI_F2_InvalidPrivacyScope_StillStructuredErrorUnderFlagOn_T008\n"} +{"Time":"2026-07-11T03:35:55.8262631+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_InvalidPrivacyScope_StillStructuredErrorUnderFlagOn_T008","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:35:55+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:35:55.8312622+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_InvalidPrivacyScope_StillStructuredErrorUnderFlagOn_T008","Output":"--- PASS: TestRI_F2_InvalidPrivacyScope_StillStructuredErrorUnderFlagOn_T008 (0.12s)\n"} +{"Time":"2026-07-11T03:35:55.8312622+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_InvalidPrivacyScope_StillStructuredErrorUnderFlagOn_T008","Elapsed":0.12} +{"Time":"2026-07-11T03:35:55.8312622+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_MissingProject"} +{"Time":"2026-07-11T03:35:55.8312622+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_MissingProject","Output":"=== RUN TestAdminPurge_MissingProject\n"} +{"Time":"2026-07-11T03:35:55.8312622+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_MissingProject","Output":"--- PASS: TestAdminPurge_MissingProject (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8312622+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_MissingProject","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8312622+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_MissingConfirm"} +{"Time":"2026-07-11T03:35:55.8312622+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_MissingConfirm","Output":"=== RUN TestAdminPurge_MissingConfirm\n"} +{"Time":"2026-07-11T03:35:55.8312622+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_MissingConfirm","Output":"--- PASS: TestAdminPurge_MissingConfirm (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8312622+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_MissingConfirm","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8312622+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_MismatchedConfirm"} +{"Time":"2026-07-11T03:35:55.8312622+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_MismatchedConfirm","Output":"=== RUN TestAdminPurge_MismatchedConfirm\n"} +{"Time":"2026-07-11T03:35:55.8312622+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_MismatchedConfirm","Output":"--- PASS: TestAdminPurge_MismatchedConfirm (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8312622+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_MismatchedConfirm","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8312622+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_NilStore"} +{"Time":"2026-07-11T03:35:55.8312622+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_NilStore","Output":"=== RUN TestAdminPurge_NilStore\n"} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_NilStore","Output":"--- PASS: TestAdminPurge_NilStore (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_NilStore","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_SetPurgeStore_Wiring"} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_SetPurgeStore_Wiring","Output":"=== RUN TestAdminPurge_SetPurgeStore_Wiring\n"} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_SetPurgeStore_Wiring","Output":"--- PASS: TestAdminPurge_SetPurgeStore_Wiring (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_SetPurgeStore_Wiring","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_ActionInAdminActions"} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_ActionInAdminActions","Output":"=== RUN TestAdminPurge_ActionInAdminActions\n"} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_ActionInAdminActions","Output":"--- PASS: TestAdminPurge_ActionInAdminActions (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_ActionInAdminActions","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_NonAdminDenied"} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_NonAdminDenied","Output":"=== RUN TestAdminPurge_NonAdminDenied\n"} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_NonAdminDenied","Output":"--- PASS: TestAdminPurge_NonAdminDenied (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_NonAdminDenied","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_NoIdentityDenied"} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_NoIdentityDenied","Output":"=== RUN TestAdminPurge_NoIdentityDenied\n"} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_NoIdentityDenied","Output":"--- PASS: TestAdminPurge_NoIdentityDenied (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_NoIdentityDenied","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_AdminAllowed"} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_AdminAllowed","Output":"=== RUN TestAdminPurge_AdminAllowed\n"} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_AdminAllowed","Output":"--- PASS: TestAdminPurge_AdminAllowed (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_AdminAllowed","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_FlagOff_RejectsAsUnknown"} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_FlagOff_RejectsAsUnknown","Output":"=== RUN TestAdminPurge_FlagOff_RejectsAsUnknown\n"} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_FlagOff_RejectsAsUnknown","Output":"--- PASS: TestAdminPurge_FlagOff_RejectsAsUnknown (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_FlagOff_RejectsAsUnknown","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_FlagOff_SchemaLacksConfirm"} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_FlagOff_SchemaLacksConfirm","Output":"=== RUN TestAdminPurge_FlagOff_SchemaLacksConfirm\n"} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_FlagOff_SchemaLacksConfirm","Output":"--- PASS: TestAdminPurge_FlagOff_SchemaLacksConfirm (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_FlagOff_SchemaLacksConfirm","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_FlagOn_SchemaHasConfirm"} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_FlagOn_SchemaHasConfirm","Output":"=== RUN TestAdminPurge_FlagOn_SchemaHasConfirm\n"} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_FlagOn_SchemaHasConfirm","Output":"--- PASS: TestAdminPurge_FlagOn_SchemaHasConfirm (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_FlagOn_SchemaHasConfirm","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_WhitespaceProject"} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_WhitespaceProject","Output":"=== RUN TestAdminPurge_WhitespaceProject\n"} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_WhitespaceProject","Output":"--- PASS: TestAdminPurge_WhitespaceProject (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_WhitespaceProject","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent"} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent","Output":"=== RUN TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent\n"} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/master_off_hides_tool"} +{"Time":"2026-07-11T03:35:55.8317638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/master_off_hides_tool","Output":"=== RUN TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/master_off_hides_tool\n"} +{"Time":"2026-07-11T03:35:55.8322627+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/master_off_hides_tool","Output":"--- PASS: TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/master_off_hides_tool (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8322627+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/master_off_hides_tool","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8322627+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/s3_off_hides_tool"} +{"Time":"2026-07-11T03:35:55.8322627+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/s3_off_hides_tool","Output":"=== RUN TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/s3_off_hides_tool\n"} +{"Time":"2026-07-11T03:35:55.8322627+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/s3_off_hides_tool","Output":"--- PASS: TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/s3_off_hides_tool (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8322627+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/s3_off_hides_tool","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8322627+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/missing_queue_hides_tool"} +{"Time":"2026-07-11T03:35:55.8322627+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/missing_queue_hides_tool","Output":"=== RUN TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/missing_queue_hides_tool\n"} +{"Time":"2026-07-11T03:35:55.8327625+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/missing_queue_hides_tool","Output":"--- PASS: TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/missing_queue_hides_tool (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8327625+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/missing_queue_hides_tool","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8327625+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/master+s3+queue_advertises_tool"} +{"Time":"2026-07-11T03:35:55.8327625+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/master+s3+queue_advertises_tool","Output":"=== RUN TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/master+s3+queue_advertises_tool\n"} +{"Time":"2026-07-11T03:35:55.8327625+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/master+s3+queue_advertises_tool","Output":"--- PASS: TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/master+s3+queue_advertises_tool (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8327625+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/master+s3+queue_advertises_tool","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8327625+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent","Output":"--- PASS: TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8327625+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8327625+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsDrainsBoundedSafeHints"} +{"Time":"2026-07-11T03:35:55.8327625+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsDrainsBoundedSafeHints","Output":"=== RUN TestGetAmbientHintsDrainsBoundedSafeHints\n"} +{"Time":"2026-07-11T03:35:55.8327625+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsDrainsBoundedSafeHints","Output":"--- PASS: TestGetAmbientHintsDrainsBoundedSafeHints (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8327625+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsDrainsBoundedSafeHints","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8332653+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue"} +{"Time":"2026-07-11T03:35:55.8332653+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue","Output":"=== RUN TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue\n"} +{"Time":"2026-07-11T03:35:55.8332653+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/disabled_flag"} +{"Time":"2026-07-11T03:35:55.8332653+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/disabled_flag","Output":"=== RUN TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/disabled_flag\n"} +{"Time":"2026-07-11T03:35:55.8332653+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/disabled_flag","Output":"--- PASS: TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/disabled_flag (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8332653+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/disabled_flag","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8332653+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/empty_queue"} +{"Time":"2026-07-11T03:35:55.8332653+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/empty_queue","Output":"=== RUN TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/empty_queue\n"} +{"Time":"2026-07-11T03:35:55.8332653+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/empty_queue","Output":"--- PASS: TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/empty_queue (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8332653+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/empty_queue","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8332653+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/stale_queue"} +{"Time":"2026-07-11T03:35:55.8332653+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/stale_queue","Output":"=== RUN TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/stale_queue\n"} +{"Time":"2026-07-11T03:35:55.8332653+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/stale_queue","Output":"--- PASS: TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/stale_queue (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8332653+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/stale_queue","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8332653+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue","Output":"--- PASS: TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8332653+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8332653+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryBrief_PrincipalScopeSchemaAdvertised"} +{"Time":"2026-07-11T03:35:55.8332653+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryBrief_PrincipalScopeSchemaAdvertised","Output":"=== RUN TestGetMemoryBrief_PrincipalScopeSchemaAdvertised\n"} +{"Time":"2026-07-11T03:35:55.8337645+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryBrief_PrincipalScopeSchemaAdvertised","Output":"--- PASS: TestGetMemoryBrief_PrincipalScopeSchemaAdvertised (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8337645+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryBrief_PrincipalScopeSchemaAdvertised","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8337645+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryBrief_PrincipalScopedResponseAndRequest"} +{"Time":"2026-07-11T03:35:55.8337645+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryBrief_PrincipalScopedResponseAndRequest","Output":"=== RUN TestGetMemoryBrief_PrincipalScopedResponseAndRequest\n"} +{"Time":"2026-07-11T03:35:55.8337645+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryBrief_PrincipalScopedResponseAndRequest","Output":"--- PASS: TestGetMemoryBrief_PrincipalScopedResponseAndRequest (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8337645+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryBrief_PrincipalScopedResponseAndRequest","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8337645+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryBrief_PrincipalScopeRequiresQueryService"} +{"Time":"2026-07-11T03:35:55.8337645+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryBrief_PrincipalScopeRequiresQueryService","Output":"=== RUN TestGetMemoryBrief_PrincipalScopeRequiresQueryService\n"} +{"Time":"2026-07-11T03:35:55.8337645+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryBrief_PrincipalScopeRequiresQueryService","Output":"--- PASS: TestGetMemoryBrief_PrincipalScopeRequiresQueryService (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8337645+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryBrief_PrincipalScopeRequiresQueryService","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8337645+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireCandidateReviewSnapshotRejectsNil"} +{"Time":"2026-07-11T03:35:55.8337645+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireCandidateReviewSnapshotRejectsNil","Output":"=== RUN TestRequireCandidateReviewSnapshotRejectsNil\n"} +{"Time":"2026-07-11T03:35:55.8337645+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireCandidateReviewSnapshotRejectsNil/reject_candidate"} +{"Time":"2026-07-11T03:35:55.8337645+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireCandidateReviewSnapshotRejectsNil/reject_candidate","Output":"=== RUN TestRequireCandidateReviewSnapshotRejectsNil/reject_candidate\n"} +{"Time":"2026-07-11T03:35:55.8337645+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireCandidateReviewSnapshotRejectsNil/reject_candidate","Output":"--- PASS: TestRequireCandidateReviewSnapshotRejectsNil/reject_candidate (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8337645+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireCandidateReviewSnapshotRejectsNil/reject_candidate","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8337645+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireCandidateReviewSnapshotRejectsNil/supersede_candidate"} +{"Time":"2026-07-11T03:35:55.8337645+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireCandidateReviewSnapshotRejectsNil/supersede_candidate","Output":"=== RUN TestRequireCandidateReviewSnapshotRejectsNil/supersede_candidate\n"} +{"Time":"2026-07-11T03:35:55.8337645+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireCandidateReviewSnapshotRejectsNil/supersede_candidate","Output":"--- PASS: TestRequireCandidateReviewSnapshotRejectsNil/supersede_candidate (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8337645+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireCandidateReviewSnapshotRejectsNil/supersede_candidate","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8337645+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireCandidateReviewSnapshotRejectsNil","Output":"--- PASS: TestRequireCandidateReviewSnapshotRejectsNil (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8337645+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireCandidateReviewSnapshotRejectsNil","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8337645+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireCandidateReviewSnapshotAllowsNonNil"} +{"Time":"2026-07-11T03:35:55.8337645+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireCandidateReviewSnapshotAllowsNonNil","Output":"=== RUN TestRequireCandidateReviewSnapshotAllowsNonNil\n"} +{"Time":"2026-07-11T03:35:55.8337645+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireCandidateReviewSnapshotAllowsNonNil","Output":"--- PASS: TestRequireCandidateReviewSnapshotAllowsNonNil (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8337645+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireCandidateReviewSnapshotAllowsNonNil","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8337645+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleListCandidates_EmptyProjectReturnsError"} +{"Time":"2026-07-11T03:35:55.8337645+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleListCandidates_EmptyProjectReturnsError","Output":"=== RUN TestHandleListCandidates_EmptyProjectReturnsError\n"} +{"Time":"2026-07-11T03:35:55.8337645+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleListCandidates_EmptyProjectReturnsError","Output":"--- PASS: TestHandleListCandidates_EmptyProjectReturnsError (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8337645+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleListCandidates_EmptyProjectReturnsError","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8337645+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleListCandidates_FlagOffReturnsError"} +{"Time":"2026-07-11T03:35:55.8337645+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleListCandidates_FlagOffReturnsError","Output":"=== RUN TestHandleListCandidates_FlagOffReturnsError\n"} +{"Time":"2026-07-11T03:35:55.8337645+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleListCandidates_FlagOffReturnsError","Output":"--- PASS: TestHandleListCandidates_FlagOffReturnsError (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8337645+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleListCandidates_FlagOffReturnsError","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8337645+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleGetCandidate_EmptyIDReturnsError"} +{"Time":"2026-07-11T03:35:55.8337645+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleGetCandidate_EmptyIDReturnsError","Output":"=== RUN TestHandleGetCandidate_EmptyIDReturnsError\n"} +{"Time":"2026-07-11T03:35:55.8337645+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleGetCandidate_EmptyIDReturnsError","Output":"--- PASS: TestHandleGetCandidate_EmptyIDReturnsError (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.834266+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleGetCandidate_EmptyIDReturnsError","Elapsed":0} +{"Time":"2026-07-11T03:35:55.834266+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCandidateTools_ExposeCR008ReviewLoopContracts"} +{"Time":"2026-07-11T03:35:55.834266+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCandidateTools_ExposeCR008ReviewLoopContracts","Output":"=== RUN TestCandidateTools_ExposeCR008ReviewLoopContracts\n"} +{"Time":"2026-07-11T03:35:55.834266+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCandidateTools_ExposeCR008ReviewLoopContracts","Output":"--- PASS: TestCandidateTools_ExposeCR008ReviewLoopContracts (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.834266+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCandidateTools_ExposeCR008ReviewLoopContracts","Elapsed":0} +{"Time":"2026-07-11T03:35:55.834266+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleReviewQueueRead_UnsupportedPacketTypeReturnsGatedPayload"} +{"Time":"2026-07-11T03:35:55.834266+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleReviewQueueRead_UnsupportedPacketTypeReturnsGatedPayload","Output":"=== RUN TestHandleReviewQueueRead_UnsupportedPacketTypeReturnsGatedPayload\n"} +{"Time":"2026-07-11T03:35:55.834266+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleReviewQueueRead_UnsupportedPacketTypeReturnsGatedPayload","Output":"--- PASS: TestHandleReviewQueueRead_UnsupportedPacketTypeReturnsGatedPayload (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.834266+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleReviewQueueRead_UnsupportedPacketTypeReturnsGatedPayload","Elapsed":0} +{"Time":"2026-07-11T03:35:55.834266+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleReviewQueueRead_LimitOverMaxReturnsError"} +{"Time":"2026-07-11T03:35:55.834266+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleReviewQueueRead_LimitOverMaxReturnsError","Output":"=== RUN TestHandleReviewQueueRead_LimitOverMaxReturnsError\n"} +{"Time":"2026-07-11T03:35:55.834266+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleReviewQueueRead_LimitOverMaxReturnsError","Output":"--- PASS: TestHandleReviewQueueRead_LimitOverMaxReturnsError (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.834266+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleReviewQueueRead_LimitOverMaxReturnsError","Elapsed":0} +{"Time":"2026-07-11T03:35:55.834266+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleReviewQueueRead_RiskyOnlyKeepsUnfilteredMetricsAndBacklog"} +{"Time":"2026-07-11T03:35:55.834266+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleReviewQueueRead_RiskyOnlyKeepsUnfilteredMetricsAndBacklog","Output":"=== RUN TestHandleReviewQueueRead_RiskyOnlyKeepsUnfilteredMetricsAndBacklog\n"} +{"Time":"2026-07-11T03:35:55.834266+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleReviewQueueRead_RiskyOnlyKeepsUnfilteredMetricsAndBacklog","Output":"--- PASS: TestHandleReviewQueueRead_RiskyOnlyKeepsUnfilteredMetricsAndBacklog (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.834266+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleReviewQueueRead_RiskyOnlyKeepsUnfilteredMetricsAndBacklog","Elapsed":0} +{"Time":"2026-07-11T03:35:55.834266+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleReviewPacketPreviewAction_UnsupportedActionRejectedBeforeStoreMutation"} +{"Time":"2026-07-11T03:35:55.834266+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleReviewPacketPreviewAction_UnsupportedActionRejectedBeforeStoreMutation","Output":"=== RUN TestHandleReviewPacketPreviewAction_UnsupportedActionRejectedBeforeStoreMutation\n"} +{"Time":"2026-07-11T03:35:55.834266+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleReviewPacketPreviewAction_UnsupportedActionRejectedBeforeStoreMutation","Output":"--- PASS: TestHandleReviewPacketPreviewAction_UnsupportedActionRejectedBeforeStoreMutation (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.834266+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleReviewPacketPreviewAction_UnsupportedActionRejectedBeforeStoreMutation","Elapsed":0} +{"Time":"2026-07-11T03:35:55.834266+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent"} +{"Time":"2026-07-11T03:35:55.834266+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent","Output":"=== RUN TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent\n"} +{"Time":"2026-07-11T03:35:55.834266+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_flag_disabled_even_with_service"} +{"Time":"2026-07-11T03:35:55.834266+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_flag_disabled_even_with_service","Output":"=== RUN TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_flag_disabled_even_with_service\n"} +{"Time":"2026-07-11T03:35:55.8347629+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_flag_disabled_even_with_service","Output":"--- PASS: TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_flag_disabled_even_with_service (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8347629+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_flag_disabled_even_with_service","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8347629+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_master_flag_disabled_even_if_s4a_flag_and_service_are_present"} +{"Time":"2026-07-11T03:35:55.8347629+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_master_flag_disabled_even_if_s4a_flag_and_service_are_present","Output":"=== RUN TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_master_flag_disabled_even_if_s4a_flag_and_service_are_present\n"} +{"Time":"2026-07-11T03:35:55.8347629+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_master_flag_disabled_even_if_s4a_flag_and_service_are_present","Output":"--- PASS: TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_master_flag_disabled_even_if_s4a_flag_and_service_are_present (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8347629+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_master_flag_disabled_even_if_s4a_flag_and_service_are_present","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8347629+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_service_is_missing_even_with_flag_enabled"} +{"Time":"2026-07-11T03:35:55.8347629+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_service_is_missing_even_with_flag_enabled","Output":"=== RUN TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_service_is_missing_even_with_flag_enabled\n"} +{"Time":"2026-07-11T03:35:55.8347629+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_service_is_missing_even_with_flag_enabled","Output":"--- PASS: TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_service_is_missing_even_with_flag_enabled (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8347629+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_service_is_missing_even_with_flag_enabled","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8347629+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/advertised_with_bounded_input_schema_when_flag_and_service_are_present"} +{"Time":"2026-07-11T03:35:55.8347629+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/advertised_with_bounded_input_schema_when_flag_and_service_are_present","Output":"=== RUN TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/advertised_with_bounded_input_schema_when_flag_and_service_are_present\n"} +{"Time":"2026-07-11T03:35:55.8347629+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/advertised_with_bounded_input_schema_when_flag_and_service_are_present","Output":"--- PASS: TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/advertised_with_bounded_input_schema_when_flag_and_service_are_present (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8347629+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/advertised_with_bounded_input_schema_when_flag_and_service_are_present","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8347629+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent","Output":"--- PASS: TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8347629+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8347629+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation"} +{"Time":"2026-07-11T03:35:55.8347629+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation","Output":"=== RUN TestRememberDirectiveDirectCallFailsClosedBeforeDelegation\n"} +{"Time":"2026-07-11T03:35:55.8347629+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/flag_disabled"} +{"Time":"2026-07-11T03:35:55.8347629+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/flag_disabled","Output":"=== RUN TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/flag_disabled\n"} +{"Time":"2026-07-11T03:35:55.8352626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/flag_disabled","Output":"--- PASS: TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/flag_disabled (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8352626+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/flag_disabled","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8352626+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/master_flag_disabled_even_if_s4a_flag_is_enabled"} +{"Time":"2026-07-11T03:35:55.8352626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/master_flag_disabled_even_if_s4a_flag_is_enabled","Output":"=== RUN TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/master_flag_disabled_even_if_s4a_flag_is_enabled\n"} +{"Time":"2026-07-11T03:35:55.8352626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/master_flag_disabled_even_if_s4a_flag_is_enabled","Output":"--- PASS: TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/master_flag_disabled_even_if_s4a_flag_is_enabled (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8352626+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/master_flag_disabled_even_if_s4a_flag_is_enabled","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8352626+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/service_missing"} +{"Time":"2026-07-11T03:35:55.8352626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/service_missing","Output":"=== RUN TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/service_missing\n"} +{"Time":"2026-07-11T03:35:55.8352626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/service_missing","Output":"--- PASS: TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/service_missing (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8352626+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/service_missing","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8352626+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/project_context_missing"} +{"Time":"2026-07-11T03:35:55.8352626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/project_context_missing","Output":"=== RUN TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/project_context_missing\n"} +{"Time":"2026-07-11T03:35:55.8352626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/project_context_missing","Output":"--- PASS: TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/project_context_missing (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8352626+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/project_context_missing","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8352626+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/session_context_missing"} +{"Time":"2026-07-11T03:35:55.8352626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/session_context_missing","Output":"=== RUN TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/session_context_missing\n"} +{"Time":"2026-07-11T03:35:55.8352626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/session_context_missing","Output":"--- PASS: TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/session_context_missing (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8352626+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/session_context_missing","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8352626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation","Output":"--- PASS: TestRememberDirectiveDirectCallFailsClosedBeforeDelegation (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8352626+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8352626+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallDelegatesContextAndReturnsSanitizedRecord"} +{"Time":"2026-07-11T03:35:55.8352626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallDelegatesContextAndReturnsSanitizedRecord","Output":"=== RUN TestRememberDirectiveDirectCallDelegatesContextAndReturnsSanitizedRecord\n"} +{"Time":"2026-07-11T03:35:55.8352626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallDelegatesContextAndReturnsSanitizedRecord","Output":"--- PASS: TestRememberDirectiveDirectCallDelegatesContextAndReturnsSanitizedRecord (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8352626+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallDelegatesContextAndReturnsSanitizedRecord","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8352626+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemory_DryRun_NilStore"} +{"Time":"2026-07-11T03:35:55.8352626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemory_DryRun_NilStore","Output":"=== RUN TestStoreMemory_DryRun_NilStore\n"} +{"Time":"2026-07-11T03:35:55.8352626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemory_DryRun_NilStore","Output":"--- PASS: TestStoreMemory_DryRun_NilStore (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8352626+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemory_DryRun_NilStore","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8357625+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemory_DryRun_RequiresContent"} +{"Time":"2026-07-11T03:35:55.8357625+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemory_DryRun_RequiresContent","Output":"=== RUN TestStoreMemory_DryRun_RequiresContent\n"} +{"Time":"2026-07-11T03:35:55.8357625+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemory_DryRun_RequiresContent","Output":"--- PASS: TestStoreMemory_DryRun_RequiresContent (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8357625+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemory_DryRun_RequiresContent","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8357625+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestPromoteCandidate_DryRun_NilStore"} +{"Time":"2026-07-11T03:35:55.8357625+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestPromoteCandidate_DryRun_NilStore","Output":"=== RUN TestPromoteCandidate_DryRun_NilStore\n"} +{"Time":"2026-07-11T03:35:55.8357625+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestPromoteCandidate_DryRun_NilStore","Output":"--- PASS: TestPromoteCandidate_DryRun_NilStore (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8357625+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestPromoteCandidate_DryRun_NilStore","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8357625+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkPromote_DryRun_NilFacade"} +{"Time":"2026-07-11T03:35:55.8357625+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkPromote_DryRun_NilFacade","Output":"=== RUN TestBulkPromote_DryRun_NilFacade\n"} +{"Time":"2026-07-11T03:35:55.8357625+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkPromote_DryRun_NilFacade","Output":"--- PASS: TestBulkPromote_DryRun_NilFacade (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8357625+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkPromote_DryRun_NilFacade","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8357625+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkDelete_DryRun_NilFacade"} +{"Time":"2026-07-11T03:35:55.8357625+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkDelete_DryRun_NilFacade","Output":"=== RUN TestBulkDelete_DryRun_NilFacade\n"} +{"Time":"2026-07-11T03:35:55.8357625+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkDelete_DryRun_NilFacade","Output":"--- PASS: TestBulkDelete_DryRun_NilFacade (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8357625+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkDelete_DryRun_NilFacade","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8357625+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkSupersede_DryRun_NilFacade"} +{"Time":"2026-07-11T03:35:55.8357625+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkSupersede_DryRun_NilFacade","Output":"=== RUN TestBulkSupersede_DryRun_NilFacade\n"} +{"Time":"2026-07-11T03:35:55.8357625+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkSupersede_DryRun_NilFacade","Output":"--- PASS: TestBulkSupersede_DryRun_NilFacade (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8357625+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkSupersede_DryRun_NilFacade","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8357625+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkPromote_NonAdmin_ReturnsAdminRequired"} +{"Time":"2026-07-11T03:35:55.8357625+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkPromote_NonAdmin_ReturnsAdminRequired","Output":"=== RUN TestBulkPromote_NonAdmin_ReturnsAdminRequired\n"} +{"Time":"2026-07-11T03:35:55.8357625+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkPromote_NonAdmin_ReturnsAdminRequired","Output":"--- PASS: TestBulkPromote_NonAdmin_ReturnsAdminRequired (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8357625+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkPromote_NonAdmin_ReturnsAdminRequired","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8357625+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkOps_FlagOff_NotAdvertised"} +{"Time":"2026-07-11T03:35:55.8357625+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkOps_FlagOff_NotAdvertised","Output":"=== RUN TestBulkOps_FlagOff_NotAdvertised\n"} +{"Time":"2026-07-11T03:35:55.8357625+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkOps_FlagOff_NotAdvertised","Output":"--- PASS: TestBulkOps_FlagOff_NotAdvertised (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.8357625+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkOps_FlagOff_NotAdvertised","Elapsed":0} +{"Time":"2026-07-11T03:35:55.8357625+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestDryRun_Integration_StoreMemory_ZeroSideEffects"} +{"Time":"2026-07-11T03:35:55.8357625+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestDryRun_Integration_StoreMemory_ZeroSideEffects","Output":"=== RUN TestDryRun_Integration_StoreMemory_ZeroSideEffects\n"} +{"Time":"2026-07-11T03:35:55.9678047+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestDryRun_Integration_StoreMemory_ZeroSideEffects","Output":"{\"level\":\"debug\",\"connections\":5,\"time\":\"2026-07-11T03:35:55+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:35:55.9763048+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestDryRun_Integration_StoreMemory_ZeroSideEffects","Output":"--- PASS: TestDryRun_Integration_StoreMemory_ZeroSideEffects (0.14s)\n"} +{"Time":"2026-07-11T03:35:55.9763048+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestDryRun_Integration_StoreMemory_ZeroSideEffects","Elapsed":0.14} +{"Time":"2026-07-11T03:35:55.9763048+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestExperienceHistoryToolsAdvertisedWhenProviderWired"} +{"Time":"2026-07-11T03:35:55.9763048+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestExperienceHistoryToolsAdvertisedWhenProviderWired","Output":"=== RUN TestExperienceHistoryToolsAdvertisedWhenProviderWired\n"} +{"Time":"2026-07-11T03:35:55.9768068+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestExperienceHistoryToolsAdvertisedWhenProviderWired","Output":"--- PASS: TestExperienceHistoryToolsAdvertisedWhenProviderWired (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.9768068+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestExperienceHistoryToolsAdvertisedWhenProviderWired","Elapsed":0} +{"Time":"2026-07-11T03:35:55.9768068+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleExperienceHistoryReadReturnsBlockedApplicabilityEnvelope"} +{"Time":"2026-07-11T03:35:55.9768068+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleExperienceHistoryReadReturnsBlockedApplicabilityEnvelope","Output":"=== RUN TestHandleExperienceHistoryReadReturnsBlockedApplicabilityEnvelope\n"} +{"Time":"2026-07-11T03:35:55.9773053+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleExperienceHistoryReadReturnsBlockedApplicabilityEnvelope","Output":"--- PASS: TestHandleExperienceHistoryReadReturnsBlockedApplicabilityEnvelope (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.9773053+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleExperienceHistoryReadReturnsBlockedApplicabilityEnvelope","Elapsed":0} +{"Time":"2026-07-11T03:35:55.9773053+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleExperienceHistoryReadRejectsInvalidArchiveTrigger"} +{"Time":"2026-07-11T03:35:55.9773053+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleExperienceHistoryReadRejectsInvalidArchiveTrigger","Output":"=== RUN TestHandleExperienceHistoryReadRejectsInvalidArchiveTrigger\n"} +{"Time":"2026-07-11T03:35:55.9773053+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleExperienceHistoryReadRejectsInvalidArchiveTrigger","Output":"--- PASS: TestHandleExperienceHistoryReadRejectsInvalidArchiveTrigger (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.9773053+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleExperienceHistoryReadRejectsInvalidArchiveTrigger","Elapsed":0} +{"Time":"2026-07-11T03:35:55.9773053+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_NotAdvertisedWhenFlagOff"} +{"Time":"2026-07-11T03:35:55.9773053+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_NotAdvertisedWhenFlagOff","Output":"=== RUN TestGovernanceTools_NotAdvertisedWhenFlagOff\n"} +{"Time":"2026-07-11T03:35:55.9773053+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_NotAdvertisedWhenFlagOff","Output":"--- PASS: TestGovernanceTools_NotAdvertisedWhenFlagOff (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.9773053+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_NotAdvertisedWhenFlagOff","Elapsed":0} +{"Time":"2026-07-11T03:35:55.9773053+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity"} +{"Time":"2026-07-11T03:35:55.9773053+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity","Output":"=== RUN TestGovernanceTools_AdminGate_NoIdentity\n"} +{"Time":"2026-07-11T03:35:55.9843054+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity/list_snapshots"} +{"Time":"2026-07-11T03:35:55.9843054+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity/list_snapshots","Output":"=== RUN TestGovernanceTools_AdminGate_NoIdentity/list_snapshots\n"} +{"Time":"2026-07-11T03:35:55.9843054+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity/list_snapshots","Output":"--- PASS: TestGovernanceTools_AdminGate_NoIdentity/list_snapshots (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.9843054+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity/list_snapshots","Elapsed":0} +{"Time":"2026-07-11T03:35:55.9843054+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity/rollback_snapshot"} +{"Time":"2026-07-11T03:35:55.9843054+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity/rollback_snapshot","Output":"=== RUN TestGovernanceTools_AdminGate_NoIdentity/rollback_snapshot\n"} +{"Time":"2026-07-11T03:35:55.9843054+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity/rollback_snapshot","Output":"--- PASS: TestGovernanceTools_AdminGate_NoIdentity/rollback_snapshot (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.9843054+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity/rollback_snapshot","Elapsed":0} +{"Time":"2026-07-11T03:35:55.9843054+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity/pin_snapshot"} +{"Time":"2026-07-11T03:35:55.9843054+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity/pin_snapshot","Output":"=== RUN TestGovernanceTools_AdminGate_NoIdentity/pin_snapshot\n"} +{"Time":"2026-07-11T03:35:55.9843054+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity/pin_snapshot","Output":"--- PASS: TestGovernanceTools_AdminGate_NoIdentity/pin_snapshot (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.9843054+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity/pin_snapshot","Elapsed":0} +{"Time":"2026-07-11T03:35:55.9843054+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity/redaction_rules_status"} +{"Time":"2026-07-11T03:35:55.9843054+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity/redaction_rules_status","Output":"=== RUN TestGovernanceTools_AdminGate_NoIdentity/redaction_rules_status\n"} +{"Time":"2026-07-11T03:35:55.9843054+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity/redaction_rules_status","Output":"--- PASS: TestGovernanceTools_AdminGate_NoIdentity/redaction_rules_status (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.9843054+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity/redaction_rules_status","Elapsed":0} +{"Time":"2026-07-11T03:35:55.9848052+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity","Output":"--- PASS: TestGovernanceTools_AdminGate_NoIdentity (0.01s)\n"} +{"Time":"2026-07-11T03:35:55.9848052+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity","Elapsed":0.01} +{"Time":"2026-07-11T03:35:55.9848052+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_ReadOnlyCaller"} +{"Time":"2026-07-11T03:35:55.9848052+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_ReadOnlyCaller","Output":"=== RUN TestGovernanceTools_AdminGate_ReadOnlyCaller\n"} +{"Time":"2026-07-11T03:35:55.9923052+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_ReadOnlyCaller","Output":"--- PASS: TestGovernanceTools_AdminGate_ReadOnlyCaller (0.01s)\n"} +{"Time":"2026-07-11T03:35:55.9923052+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_ReadOnlyCaller","Elapsed":0.01} +{"Time":"2026-07-11T03:35:55.9923052+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_RedactionRulesStatus_NoAdminRequired_WithAdmin"} +{"Time":"2026-07-11T03:35:55.9923052+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_RedactionRulesStatus_NoAdminRequired_WithAdmin","Output":"=== RUN TestGovernanceTools_RedactionRulesStatus_NoAdminRequired_WithAdmin\n"} +{"Time":"2026-07-11T03:35:55.9923052+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_RedactionRulesStatus_NoAdminRequired_WithAdmin","Output":"--- PASS: TestGovernanceTools_RedactionRulesStatus_NoAdminRequired_WithAdmin (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.9923052+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_RedactionRulesStatus_NoAdminRequired_WithAdmin","Elapsed":0} +{"Time":"2026-07-11T03:35:55.9923052+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_ListSnapshotsSchemaIncludesReviewActionOpTypes"} +{"Time":"2026-07-11T03:35:55.9923052+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_ListSnapshotsSchemaIncludesReviewActionOpTypes","Output":"=== RUN TestGovernanceTools_ListSnapshotsSchemaIncludesReviewActionOpTypes\n"} +{"Time":"2026-07-11T03:35:55.9923052+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_ListSnapshotsSchemaIncludesReviewActionOpTypes","Output":"--- PASS: TestGovernanceTools_ListSnapshotsSchemaIncludesReviewActionOpTypes (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.9923052+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_ListSnapshotsSchemaIncludesReviewActionOpTypes","Elapsed":0} +{"Time":"2026-07-11T03:35:55.9923052+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_ArgsShape"} +{"Time":"2026-07-11T03:35:55.9923052+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_ArgsShape","Output":"=== RUN TestGraphTool_T014_ArgsShape\n"} +{"Time":"2026-07-11T03:35:55.9923052+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_ArgsShape","Output":"--- PASS: TestGraphTool_T014_ArgsShape (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.9923052+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_ArgsShape","Elapsed":0} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeAction"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeAction","Output":"=== RUN TestGraphTool_T014_AddNodeAction\n"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeAction","Output":"--- PASS: TestGraphTool_T014_AddNodeAction (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeAction","Elapsed":0} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_GetEdgesNodeTypeFilter"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_GetEdgesNodeTypeFilter","Output":"=== RUN TestGraphTool_T014_GetEdgesNodeTypeFilter\n"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_GetEdgesNodeTypeFilter","Output":"--- PASS: TestGraphTool_T014_GetEdgesNodeTypeFilter (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_GetEdgesNodeTypeFilter","Elapsed":0} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_InvalidNodeTypeRejects"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_InvalidNodeTypeRejects","Output":"=== RUN TestGraphTool_T014_InvalidNodeTypeRejects\n"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_InvalidNodeTypeRejects","Output":"--- PASS: TestGraphTool_T014_InvalidNodeTypeRejects (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_InvalidNodeTypeRejects","Elapsed":0} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_NodeTypeFilterOffline"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_NodeTypeFilterOffline","Output":"=== RUN TestGraphTool_T014_NodeTypeFilterOffline\n"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_NodeTypeFilterOffline","Output":"--- PASS: TestGraphTool_T014_NodeTypeFilterOffline (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_NodeTypeFilterOffline","Elapsed":0} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline","Output":"=== RUN TestGraphTool_T014_AddNodeOffline\n"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline/invalid_node_type_returns_error_containing_invalid_node_type:"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline/invalid_node_type_returns_error_containing_invalid_node_type:","Output":"=== RUN TestGraphTool_T014_AddNodeOffline/invalid_node_type_returns_error_containing_invalid_node_type:\n"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline/invalid_node_type_returns_error_containing_invalid_node_type:","Output":"--- PASS: TestGraphTool_T014_AddNodeOffline/invalid_node_type_returns_error_containing_invalid_node_type: (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline/invalid_node_type_returns_error_containing_invalid_node_type:","Elapsed":0} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline/empty_external_ref_returns_error"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline/empty_external_ref_returns_error","Output":"=== RUN TestGraphTool_T014_AddNodeOffline/empty_external_ref_returns_error\n"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline/empty_external_ref_returns_error","Output":"--- PASS: TestGraphTool_T014_AddNodeOffline/empty_external_ref_returns_error (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline/empty_external_ref_returns_error","Elapsed":0} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline/empty_project_returns_error"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline/empty_project_returns_error","Output":"=== RUN TestGraphTool_T014_AddNodeOffline/empty_project_returns_error\n"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline/empty_project_returns_error","Output":"--- PASS: TestGraphTool_T014_AddNodeOffline/empty_project_returns_error (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline/empty_project_returns_error","Elapsed":0} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline/valid_input_store_receives_correct_node"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline/valid_input_store_receives_correct_node","Output":"=== RUN TestGraphTool_T014_AddNodeOffline/valid_input_store_receives_correct_node\n"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline/valid_input_store_receives_correct_node","Output":"--- PASS: TestGraphTool_T014_AddNodeOffline/valid_input_store_receives_correct_node (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline/valid_input_store_receives_correct_node","Elapsed":0} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline","Output":"--- PASS: TestGraphTool_T014_AddNodeOffline (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline","Elapsed":0} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline","Output":"=== RUN TestGraphTool_T014_AddEdgeGuardsOffline\n"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline/duplicate_edge_rejected_before_create"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline/duplicate_edge_rejected_before_create","Output":"=== RUN TestGraphTool_T014_AddEdgeGuardsOffline/duplicate_edge_rejected_before_create\n"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline/duplicate_edge_rejected_before_create","Output":"--- PASS: TestGraphTool_T014_AddEdgeGuardsOffline/duplicate_edge_rejected_before_create (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline/duplicate_edge_rejected_before_create","Elapsed":0} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline/orphan_edge_rejected_before_create"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline/orphan_edge_rejected_before_create","Output":"=== RUN TestGraphTool_T014_AddEdgeGuardsOffline/orphan_edge_rejected_before_create\n"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline/orphan_edge_rejected_before_create","Output":"--- PASS: TestGraphTool_T014_AddEdgeGuardsOffline/orphan_edge_rejected_before_create (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline/orphan_edge_rejected_before_create","Elapsed":0} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline/memory_orphan_edge_rejected_before_create"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline/memory_orphan_edge_rejected_before_create","Output":"=== RUN TestGraphTool_T014_AddEdgeGuardsOffline/memory_orphan_edge_rejected_before_create\n"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline/memory_orphan_edge_rejected_before_create","Output":"--- PASS: TestGraphTool_T014_AddEdgeGuardsOffline/memory_orphan_edge_rejected_before_create (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline/memory_orphan_edge_rejected_before_create","Elapsed":0} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline/valid_edge_creates_exactly_once"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline/valid_edge_creates_exactly_once","Output":"=== RUN TestGraphTool_T014_AddEdgeGuardsOffline/valid_edge_creates_exactly_once\n"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline/valid_edge_creates_exactly_once","Output":"--- PASS: TestGraphTool_T014_AddEdgeGuardsOffline/valid_edge_creates_exactly_once (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline/valid_edge_creates_exactly_once","Elapsed":0} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline","Output":"--- PASS: TestGraphTool_T014_AddEdgeGuardsOffline (0.00s)\n"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline","Elapsed":0} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleIssueCloseAcceptsExplicitLegacySourceProject"} +{"Time":"2026-07-11T03:35:55.9928048+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleIssueCloseAcceptsExplicitLegacySourceProject","Output":"=== RUN TestHandleIssueCloseAcceptsExplicitLegacySourceProject\n"} +{"Time":"2026-07-11T03:35:56.1299598+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleIssueCloseAcceptsExplicitLegacySourceProject","Output":"{\"level\":\"debug\",\"connections\":5,\"time\":\"2026-07-11T03:35:56+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:35:56.1694584+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleIssueCloseAcceptsExplicitLegacySourceProject","Output":"--- PASS: TestHandleIssueCloseAcceptsExplicitLegacySourceProject (0.18s)\n"} +{"Time":"2026-07-11T03:35:56.1694584+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleIssueCloseAcceptsExplicitLegacySourceProject","Elapsed":0.18} +{"Time":"2026-07-11T03:35:56.1694584+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleIssueCloseDoesNotLetExplicitDashboardBypassContext"} +{"Time":"2026-07-11T03:35:56.1694584+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleIssueCloseDoesNotLetExplicitDashboardBypassContext","Output":"=== RUN TestHandleIssueCloseDoesNotLetExplicitDashboardBypassContext\n"} +{"Time":"2026-07-11T03:35:56.2981115+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleIssueCloseDoesNotLetExplicitDashboardBypassContext","Output":"{\"level\":\"debug\",\"connections\":5,\"time\":\"2026-07-11T03:35:56+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:35:56.3296588+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleIssueCloseDoesNotLetExplicitDashboardBypassContext","Output":"--- PASS: TestHandleIssueCloseDoesNotLetExplicitDashboardBypassContext (0.16s)\n"} +{"Time":"2026-07-11T03:35:56.3296588+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleIssueCloseDoesNotLetExplicitDashboardBypassContext","Elapsed":0.16} +{"Time":"2026-07-11T03:35:56.3296588+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditCreate_LogCalledOnSuccess"} +{"Time":"2026-07-11T03:35:56.3296588+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditCreate_LogCalledOnSuccess","Output":"=== RUN TestAuditCreate_LogCalledOnSuccess\n"} +{"Time":"2026-07-11T03:35:56.3351573+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditCreate_LogCalledOnSuccess","Output":"--- PASS: TestAuditCreate_LogCalledOnSuccess (0.01s)\n"} +{"Time":"2026-07-11T03:35:56.3351573+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditCreate_LogCalledOnSuccess","Elapsed":0.01} +{"Time":"2026-07-11T03:35:56.3351573+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditCreate_SkippedWhenFlagOff"} +{"Time":"2026-07-11T03:35:56.3351573+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditCreate_SkippedWhenFlagOff","Output":"=== RUN TestAuditCreate_SkippedWhenFlagOff\n"} +{"Time":"2026-07-11T03:35:56.3653418+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditCreate_SkippedWhenFlagOff","Output":"--- PASS: TestAuditCreate_SkippedWhenFlagOff (0.03s)\n"} +{"Time":"2026-07-11T03:35:56.3653418+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditCreate_SkippedWhenFlagOff","Elapsed":0.03} +{"Time":"2026-07-11T03:35:56.3653418+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditCreate_SkippedWhenAuditStoreNil"} +{"Time":"2026-07-11T03:35:56.3653418+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditCreate_SkippedWhenAuditStoreNil","Output":"=== RUN TestAuditCreate_SkippedWhenAuditStoreNil\n"} +{"Time":"2026-07-11T03:35:56.3758421+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditCreate_SkippedWhenAuditStoreNil","Output":"--- PASS: TestAuditCreate_SkippedWhenAuditStoreNil (0.01s)\n"} +{"Time":"2026-07-11T03:35:56.3758421+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditCreate_SkippedWhenAuditStoreNil","Elapsed":0.01} +{"Time":"2026-07-11T03:35:56.3758421+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditEdit_LogCalledWithBeforeAndAfterState"} +{"Time":"2026-07-11T03:35:56.3758421+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditEdit_LogCalledWithBeforeAndAfterState","Output":"=== RUN TestAuditEdit_LogCalledWithBeforeAndAfterState\n"} +{"Time":"2026-07-11T03:35:56.3813431+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditEdit_LogCalledWithBeforeAndAfterState","Output":"--- PASS: TestAuditEdit_LogCalledWithBeforeAndAfterState (0.01s)\n"} +{"Time":"2026-07-11T03:35:56.3813431+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditEdit_LogCalledWithBeforeAndAfterState","Elapsed":0.01} +{"Time":"2026-07-11T03:35:56.3813431+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditDelete_LogCalledWithBeforeState"} +{"Time":"2026-07-11T03:35:56.3813431+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditDelete_LogCalledWithBeforeState","Output":"=== RUN TestAuditDelete_LogCalledWithBeforeState\n"} +{"Time":"2026-07-11T03:35:56.3868424+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditDelete_LogCalledWithBeforeState","Output":"--- PASS: TestAuditDelete_LogCalledWithBeforeState (0.01s)\n"} +{"Time":"2026-07-11T03:35:56.3868424+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditDelete_LogCalledWithBeforeState","Elapsed":0.01} +{"Time":"2026-07-11T03:35:56.3868424+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditSupersede_LogCalledWithSupersededID"} +{"Time":"2026-07-11T03:35:56.3868424+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditSupersede_LogCalledWithSupersededID","Output":"=== RUN TestAuditSupersede_LogCalledWithSupersededID\n"} +{"Time":"2026-07-11T03:35:56.3923422+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditSupersede_LogCalledWithSupersededID","Output":"--- PASS: TestAuditSupersede_LogCalledWithSupersededID (0.01s)\n"} +{"Time":"2026-07-11T03:35:56.3923422+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditSupersede_LogCalledWithSupersededID","Elapsed":0.01} +{"Time":"2026-07-11T03:35:56.3923422+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditEdit_SkippedWhenFlagOff"} +{"Time":"2026-07-11T03:35:56.3923422+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditEdit_SkippedWhenFlagOff","Output":"=== RUN TestAuditEdit_SkippedWhenFlagOff\n"} +{"Time":"2026-07-11T03:35:56.4225546+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditEdit_SkippedWhenFlagOff","Output":"--- PASS: TestAuditEdit_SkippedWhenFlagOff (0.03s)\n"} +{"Time":"2026-07-11T03:35:56.4225546+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditEdit_SkippedWhenFlagOff","Elapsed":0.03} +{"Time":"2026-07-11T03:35:56.4225546+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditDelete_SkippedWhenFlagOff"} +{"Time":"2026-07-11T03:35:56.4225546+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditDelete_SkippedWhenFlagOff","Output":"=== RUN TestAuditDelete_SkippedWhenFlagOff\n"} +{"Time":"2026-07-11T03:35:56.4531463+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditDelete_SkippedWhenFlagOff","Output":"--- PASS: TestAuditDelete_SkippedWhenFlagOff (0.03s)\n"} +{"Time":"2026-07-11T03:35:56.4531463+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditDelete_SkippedWhenFlagOff","Elapsed":0.03} +{"Time":"2026-07-11T03:35:56.4531463+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditSupersede_SkippedWhenFlagOff"} +{"Time":"2026-07-11T03:35:56.4531463+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditSupersede_SkippedWhenFlagOff","Output":"=== RUN TestAuditSupersede_SkippedWhenFlagOff\n"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditSupersede_SkippedWhenFlagOff","Output":"--- PASS: TestAuditSupersede_SkippedWhenFlagOff (0.03s)\n"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditSupersede_SkippedWhenFlagOff","Elapsed":0.03} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_EmptyDomainLegacyCompatible"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_EmptyDomainLegacyCompatible","Output":"=== RUN TestStoreMemoryDomainPolicy_EmptyDomainLegacyCompatible\n"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_EmptyDomainLegacyCompatible","Output":"=== PAUSE TestStoreMemoryDomainPolicy_EmptyDomainLegacyCompatible\n"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_EmptyDomainLegacyCompatible"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainRequiresPrincipal"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainRequiresPrincipal","Output":"=== RUN TestStoreMemoryDomainPolicy_NonEmptyDomainRequiresPrincipal\n"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainRequiresPrincipal","Output":"=== PAUSE TestStoreMemoryDomainPolicy_NonEmptyDomainRequiresPrincipal\n"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainRequiresPrincipal"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainAllowsPrincipalIdentity"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainAllowsPrincipalIdentity","Output":"=== RUN TestStoreMemoryDomainPolicy_NonEmptyDomainAllowsPrincipalIdentity\n"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainAllowsPrincipalIdentity","Output":"=== PAUSE TestStoreMemoryDomainPolicy_NonEmptyDomainAllowsPrincipalIdentity\n"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainAllowsPrincipalIdentity"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainRejectsInvalidPrincipalKind"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainRejectsInvalidPrincipalKind","Output":"=== RUN TestStoreMemoryDomainPolicy_NonEmptyDomainRejectsInvalidPrincipalKind\n"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainRejectsInvalidPrincipalKind","Output":"=== PAUSE TestStoreMemoryDomainPolicy_NonEmptyDomainRejectsInvalidPrincipalKind\n"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainRejectsInvalidPrincipalKind"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLintDomainPolicy_DomainOwnedCandidateHidden"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLintDomainPolicy_DomainOwnedCandidateHidden","Output":"=== RUN TestWriteLintDomainPolicy_DomainOwnedCandidateHidden\n"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLintDomainPolicy_DomainOwnedCandidateHidden","Output":"=== PAUSE TestWriteLintDomainPolicy_DomainOwnedCandidateHidden\n"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLintDomainPolicy_DomainOwnedCandidateHidden"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLintDomainPolicy_DomainOwnedTargetHidden"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLintDomainPolicy_DomainOwnedTargetHidden","Output":"=== RUN TestWriteLintDomainPolicy_DomainOwnedTargetHidden\n"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLintDomainPolicy_DomainOwnedTargetHidden","Output":"=== PAUSE TestWriteLintDomainPolicy_DomainOwnedTargetHidden\n"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLintDomainPolicy_DomainOwnedTargetHidden"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestLegacyWriteGateDomainPolicy_DomainOwnedCandidateHidden"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestLegacyWriteGateDomainPolicy_DomainOwnedCandidateHidden","Output":"=== RUN TestLegacyWriteGateDomainPolicy_DomainOwnedCandidateHidden\n"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestLegacyWriteGateDomainPolicy_DomainOwnedCandidateHidden","Output":"--- PASS: TestLegacyWriteGateDomainPolicy_DomainOwnedCandidateHidden (0.00s)\n"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestLegacyWriteGateDomainPolicy_DomainOwnedCandidateHidden","Elapsed":0} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryDomainPolicy_DomainOwnedRowHiddenFromMismatchedPrincipal"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryDomainPolicy_DomainOwnedRowHiddenFromMismatchedPrincipal","Output":"=== RUN TestRecallMemoryDomainPolicy_DomainOwnedRowHiddenFromMismatchedPrincipal\n"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryDomainPolicy_DomainOwnedRowHiddenFromMismatchedPrincipal","Output":"=== PAUSE TestRecallMemoryDomainPolicy_DomainOwnedRowHiddenFromMismatchedPrincipal\n"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryDomainPolicy_DomainOwnedRowHiddenFromMismatchedPrincipal"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryDomainPolicy_DomainOwnedRowVisibleToOwner"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryDomainPolicy_DomainOwnedRowVisibleToOwner","Output":"=== RUN TestRecallMemoryDomainPolicy_DomainOwnedRowVisibleToOwner\n"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryDomainPolicy_DomainOwnedRowVisibleToOwner","Output":"=== PAUSE TestRecallMemoryDomainPolicy_DomainOwnedRowVisibleToOwner\n"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryDomainPolicy_DomainOwnedRowVisibleToOwner"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility"} +{"Time":"2026-07-11T03:35:56.4836504+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility","Output":"=== RUN TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility\n"} +{"Time":"2026-07-11T03:35:56.5986502+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:35:56+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:35:56.5986502+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/missing_row_preserves_current_behavior"} +{"Time":"2026-07-11T03:35:56.5986502+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/missing_row_preserves_current_behavior","Output":"=== RUN TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/missing_row_preserves_current_behavior\n"} +{"Time":"2026-07-11T03:35:56.6116503+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/missing_row_preserves_current_behavior","Output":"--- PASS: TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/missing_row_preserves_current_behavior (0.01s)\n"} +{"Time":"2026-07-11T03:35:56.6116503+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/missing_row_preserves_current_behavior","Elapsed":0.01} +{"Time":"2026-07-11T03:35:56.6116503+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/off_allows_cross_owner"} +{"Time":"2026-07-11T03:35:56.6116503+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/off_allows_cross_owner","Output":"=== RUN TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/off_allows_cross_owner\n"} +{"Time":"2026-07-11T03:35:56.627652+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/off_allows_cross_owner","Output":"--- PASS: TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/off_allows_cross_owner (0.02s)\n"} +{"Time":"2026-07-11T03:35:56.627652+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/off_allows_cross_owner","Elapsed":0.02} +{"Time":"2026-07-11T03:35:56.627652+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/same_owner_allows_without_warning"} +{"Time":"2026-07-11T03:35:56.627652+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/same_owner_allows_without_warning","Output":"=== RUN TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/same_owner_allows_without_warning\n"} +{"Time":"2026-07-11T03:35:56.6441508+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/same_owner_allows_without_warning","Output":"--- PASS: TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/same_owner_allows_without_warning (0.02s)\n"} +{"Time":"2026-07-11T03:35:56.6441508+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/same_owner_allows_without_warning","Elapsed":0.02} +{"Time":"2026-07-11T03:35:56.6441508+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/warn_allows_with_structured_warning"} +{"Time":"2026-07-11T03:35:56.6441508+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/warn_allows_with_structured_warning","Output":"=== RUN TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/warn_allows_with_structured_warning\n"} +{"Time":"2026-07-11T03:35:56.6671508+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/warn_allows_with_structured_warning","Output":"--- PASS: TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/warn_allows_with_structured_warning (0.02s)\n"} +{"Time":"2026-07-11T03:35:56.6671508+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/warn_allows_with_structured_warning","Elapsed":0.02} +{"Time":"2026-07-11T03:35:56.6671508+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/reject_denies_before_persistence"} +{"Time":"2026-07-11T03:35:56.6671508+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/reject_denies_before_persistence","Output":"=== RUN TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/reject_denies_before_persistence\n"} +{"Time":"2026-07-11T03:35:56.6826519+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/reject_denies_before_persistence","Output":"--- PASS: TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/reject_denies_before_persistence (0.02s)\n"} +{"Time":"2026-07-11T03:35:56.6826519+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/reject_denies_before_persistence","Elapsed":0.02} +{"Time":"2026-07-11T03:35:56.7041504+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility","Output":"--- PASS: TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility (0.22s)\n"} +{"Time":"2026-07-11T03:35:56.7041504+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility","Elapsed":0.22} +{"Time":"2026-07-11T03:35:56.7041504+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_AuditFailureBlocksBeforePersistence"} +{"Time":"2026-07-11T03:35:56.7041504+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_AuditFailureBlocksBeforePersistence","Output":"=== RUN TestStoreMemoryDomainRegistry_AuditFailureBlocksBeforePersistence\n"} +{"Time":"2026-07-11T03:35:56.8286522+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_AuditFailureBlocksBeforePersistence","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:35:56+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:35:56.8446563+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_AuditFailureBlocksBeforePersistence","Output":"--- PASS: TestStoreMemoryDomainRegistry_AuditFailureBlocksBeforePersistence (0.14s)\n"} +{"Time":"2026-07-11T03:35:56.8446563+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_AuditFailureBlocksBeforePersistence","Elapsed":0.14} +{"Time":"2026-07-11T03:35:56.8446563+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_RejectionRunsBeforeSupersedeMutation"} +{"Time":"2026-07-11T03:35:56.8446563+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_RejectionRunsBeforeSupersedeMutation","Output":"=== RUN TestStoreMemoryDomainRegistry_RejectionRunsBeforeSupersedeMutation\n"} +{"Time":"2026-07-11T03:35:56.9706838+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_RejectionRunsBeforeSupersedeMutation","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:35:56+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:35:57.0227165+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_RejectionRunsBeforeSupersedeMutation","Output":"--- PASS: TestStoreMemoryDomainRegistry_RejectionRunsBeforeSupersedeMutation (0.18s)\n"} +{"Time":"2026-07-11T03:35:57.0227165+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_RejectionRunsBeforeSupersedeMutation","Elapsed":0.18} +{"Time":"2026-07-11T03:35:57.0227165+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_InvalidWriterKindRejectsBeforePersistence"} +{"Time":"2026-07-11T03:35:57.0227165+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_InvalidWriterKindRejectsBeforePersistence","Output":"=== RUN TestStoreMemoryDomainRegistry_InvalidWriterKindRejectsBeforePersistence\n"} +{"Time":"2026-07-11T03:35:57.1386979+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_InvalidWriterKindRejectsBeforePersistence","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:35:57+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:35:57.1507313+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_InvalidWriterKindRejectsBeforePersistence","Output":"--- PASS: TestStoreMemoryDomainRegistry_InvalidWriterKindRejectsBeforePersistence (0.13s)\n"} +{"Time":"2026-07-11T03:35:57.1507313+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_InvalidWriterKindRejectsBeforePersistence","Elapsed":0.13} +{"Time":"2026-07-11T03:35:57.1507313+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_HardLimitRejected"} +{"Time":"2026-07-11T03:35:57.1507313+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_HardLimitRejected","Output":"=== RUN TestEditMemory_HardLimitRejected\n"} +{"Time":"2026-07-11T03:35:57.1512306+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_HardLimitRejected","Output":"--- PASS: TestEditMemory_HardLimitRejected (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.1512306+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_HardLimitRejected","Elapsed":0} +{"Time":"2026-07-11T03:35:57.1512306+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_SoftLimitTruncates"} +{"Time":"2026-07-11T03:35:57.1512306+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_SoftLimitTruncates","Output":"=== RUN TestEditMemory_SoftLimitTruncates\n"} +{"Time":"2026-07-11T03:35:57.1517302+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_SoftLimitTruncates","Output":"{\"level\":\"debug\",\"soft_limit\":1000,\"time\":\"2026-07-11T03:35:57+03:00\",\"message\":\"edit_memory: content truncated to soft limit\"}\n"} +{"Time":"2026-07-11T03:35:57.1517302+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_SoftLimitTruncates","Output":"--- PASS: TestEditMemory_SoftLimitTruncates (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.1517302+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_SoftLimitTruncates","Elapsed":0} +{"Time":"2026-07-11T03:35:57.1517302+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_SecretRedacted"} +{"Time":"2026-07-11T03:35:57.1517302+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_SecretRedacted","Output":"=== RUN TestEditMemory_SecretRedacted\n"} +{"Time":"2026-07-11T03:35:57.1517302+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_SecretRedacted","Output":"{\"level\":\"warn\",\"time\":\"2026-07-11T03:35:57+03:00\",\"message\":\"edit_memory: content contains secrets — redacting before storage\"}\n"} +{"Time":"2026-07-11T03:35:57.1517302+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_SecretRedacted","Output":"--- PASS: TestEditMemory_SecretRedacted (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.152236+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_SecretRedacted","Elapsed":0} +{"Time":"2026-07-11T03:35:57.152236+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_CrossProjectDenied"} +{"Time":"2026-07-11T03:35:57.152236+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_CrossProjectDenied","Output":"=== RUN TestEditMemory_CrossProjectDenied\n"} +{"Time":"2026-07-11T03:35:57.152236+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_CrossProjectDenied","Output":"--- PASS: TestEditMemory_CrossProjectDenied (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.152236+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_CrossProjectDenied","Elapsed":0} +{"Time":"2026-07-11T03:35:57.152236+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_SameProjectAllowed"} +{"Time":"2026-07-11T03:35:57.152236+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_SameProjectAllowed","Output":"=== RUN TestEditMemory_SameProjectAllowed\n"} +{"Time":"2026-07-11T03:35:57.152236+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_SameProjectAllowed","Output":"--- PASS: TestEditMemory_SameProjectAllowed (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.152236+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_SameProjectAllowed","Elapsed":0} +{"Time":"2026-07-11T03:35:57.152236+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_DomainOwnedCrossPrincipalDenied"} +{"Time":"2026-07-11T03:35:57.152236+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_DomainOwnedCrossPrincipalDenied","Output":"=== RUN TestEditMemory_DomainOwnedCrossPrincipalDenied\n"} +{"Time":"2026-07-11T03:35:57.1527309+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_DomainOwnedCrossPrincipalDenied","Output":"--- PASS: TestEditMemory_DomainOwnedCrossPrincipalDenied (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.1527309+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_DomainOwnedCrossPrincipalDenied","Elapsed":0} +{"Time":"2026-07-11T03:35:57.1527309+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_CrossProjectAllowedWhenEnforcementOff"} +{"Time":"2026-07-11T03:35:57.1527309+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_CrossProjectAllowedWhenEnforcementOff","Output":"=== RUN TestEditMemory_CrossProjectAllowedWhenEnforcementOff\n"} +{"Time":"2026-07-11T03:35:57.1532301+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_CrossProjectAllowedWhenEnforcementOff","Output":"--- PASS: TestEditMemory_CrossProjectAllowedWhenEnforcementOff (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.1532301+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_CrossProjectAllowedWhenEnforcementOff","Elapsed":0} +{"Time":"2026-07-11T03:35:57.1532301+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_AuditSourceSessionIDFromContext"} +{"Time":"2026-07-11T03:35:57.1532301+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_AuditSourceSessionIDFromContext","Output":"=== RUN TestEditMemory_AuditSourceSessionIDFromContext\n"} +{"Time":"2026-07-11T03:35:57.158729+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_AuditSourceSessionIDFromContext","Output":"--- PASS: TestEditMemory_AuditSourceSessionIDFromContext (0.01s)\n"} +{"Time":"2026-07-11T03:35:57.158729+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_AuditSourceSessionIDFromContext","Elapsed":0.01} +{"Time":"2026-07-11T03:35:57.158729+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_AuditSourceSessionIDEmptyWhenNoSession"} +{"Time":"2026-07-11T03:35:57.158729+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_AuditSourceSessionIDEmptyWhenNoSession","Output":"=== RUN TestEditMemory_AuditSourceSessionIDEmptyWhenNoSession\n"} +{"Time":"2026-07-11T03:35:57.1642295+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_AuditSourceSessionIDEmptyWhenNoSession","Output":"--- PASS: TestEditMemory_AuditSourceSessionIDEmptyWhenNoSession (0.01s)\n"} +{"Time":"2026-07-11T03:35:57.1642295+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_AuditSourceSessionIDEmptyWhenNoSession","Elapsed":0.01} +{"Time":"2026-07-11T03:35:57.1642295+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_EmptyProjectContextDeniedWhenEnforced"} +{"Time":"2026-07-11T03:35:57.1642295+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_EmptyProjectContextDeniedWhenEnforced","Output":"=== RUN TestEditMemory_EmptyProjectContextDeniedWhenEnforced\n"} +{"Time":"2026-07-11T03:35:57.1642295+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_EmptyProjectContextDeniedWhenEnforced","Output":"--- PASS: TestEditMemory_EmptyProjectContextDeniedWhenEnforced (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.1642295+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_EmptyProjectContextDeniedWhenEnforced","Elapsed":0} +{"Time":"2026-07-11T03:35:57.1642295+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_TagsAbsent_KeepsExisting"} +{"Time":"2026-07-11T03:35:57.1642295+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_TagsAbsent_KeepsExisting","Output":"=== RUN TestEditMemory_TagsAbsent_KeepsExisting\n"} +{"Time":"2026-07-11T03:35:57.1647289+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_TagsAbsent_KeepsExisting","Output":"--- PASS: TestEditMemory_TagsAbsent_KeepsExisting (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.1647289+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_TagsAbsent_KeepsExisting","Elapsed":0} +{"Time":"2026-07-11T03:35:57.1647289+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_TagsExplicitEmpty_ClearsTags"} +{"Time":"2026-07-11T03:35:57.1647289+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_TagsExplicitEmpty_ClearsTags","Output":"=== RUN TestEditMemory_TagsExplicitEmpty_ClearsTags\n"} +{"Time":"2026-07-11T03:35:57.1647289+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_TagsExplicitEmpty_ClearsTags","Output":"--- PASS: TestEditMemory_TagsExplicitEmpty_ClearsTags (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.1647289+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_TagsExplicitEmpty_ClearsTags","Elapsed":0} +{"Time":"2026-07-11T03:35:57.1647289+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_TagsNonEmpty_ReplacesTags"} +{"Time":"2026-07-11T03:35:57.1647289+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_TagsNonEmpty_ReplacesTags","Output":"=== RUN TestEditMemory_TagsNonEmpty_ReplacesTags\n"} +{"Time":"2026-07-11T03:35:57.1647289+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_TagsNonEmpty_ReplacesTags","Output":"--- PASS: TestEditMemory_TagsNonEmpty_ReplacesTags (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.1647289+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_TagsNonEmpty_ReplacesTags","Elapsed":0} +{"Time":"2026-07-11T03:35:57.1647289+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRunAuditAsync_PanicRecovered"} +{"Time":"2026-07-11T03:35:57.1647289+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRunAuditAsync_PanicRecovered","Output":"=== RUN TestRunAuditAsync_PanicRecovered\n"} +{"Time":"2026-07-11T03:35:57.1652298+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRunAuditAsync_PanicRecovered","Output":"{\"level\":\"error\",\"audit_label\":\"test-panic\",\"memory_id\":99,\"panic\":\"simulated audit panic\",\"time\":\"2026-07-11T03:35:57+03:00\",\"message\":\"audit: goroutine panic recovered\"}\n"} +{"Time":"2026-07-11T03:35:57.2147978+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRunAuditAsync_PanicRecovered","Output":"--- PASS: TestRunAuditAsync_PanicRecovered (0.05s)\n"} +{"Time":"2026-07-11T03:35:57.2147978+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRunAuditAsync_PanicRecovered","Elapsed":0.05} +{"Time":"2026-07-11T03:35:57.2147978+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRunAuditAsync_ErrorLogged"} +{"Time":"2026-07-11T03:35:57.2147978+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRunAuditAsync_ErrorLogged","Output":"=== RUN TestRunAuditAsync_ErrorLogged\n"} +{"Time":"2026-07-11T03:35:57.2147978+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRunAuditAsync_ErrorLogged","Output":"{\"level\":\"error\",\"error\":\"simulated db error\",\"audit_label\":\"test-error\",\"memory_id\":88,\"time\":\"2026-07-11T03:35:57+03:00\",\"message\":\"audit: async write failed\"}\n"} +{"Time":"2026-07-11T03:35:57.2650569+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRunAuditAsync_ErrorLogged","Output":"--- PASS: TestRunAuditAsync_ErrorLogged (0.05s)\n"} +{"Time":"2026-07-11T03:35:57.2650569+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRunAuditAsync_ErrorLogged","Elapsed":0.05} +{"Time":"2026-07-11T03:35:57.2650569+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestMemoryStoreSignificanceUpdaterPersistsChangedFields"} +{"Time":"2026-07-11T03:35:57.2650569+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestMemoryStoreSignificanceUpdaterPersistsChangedFields","Output":"=== RUN TestMemoryStoreSignificanceUpdaterPersistsChangedFields\n"} +{"Time":"2026-07-11T03:35:57.2650569+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestMemoryStoreSignificanceUpdaterPersistsChangedFields/useful_persists_alpha_citation_and_streak"} +{"Time":"2026-07-11T03:35:57.2650569+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestMemoryStoreSignificanceUpdaterPersistsChangedFields/useful_persists_alpha_citation_and_streak","Output":"=== RUN TestMemoryStoreSignificanceUpdaterPersistsChangedFields/useful_persists_alpha_citation_and_streak\n"} +{"Time":"2026-07-11T03:35:57.2650569+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestMemoryStoreSignificanceUpdaterPersistsChangedFields/useful_persists_alpha_citation_and_streak","Output":"--- PASS: TestMemoryStoreSignificanceUpdaterPersistsChangedFields/useful_persists_alpha_citation_and_streak (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2650569+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestMemoryStoreSignificanceUpdaterPersistsChangedFields/useful_persists_alpha_citation_and_streak","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2650569+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestMemoryStoreSignificanceUpdaterPersistsChangedFields/not_useful_persists_beta_and_resets_streak"} +{"Time":"2026-07-11T03:35:57.2650569+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestMemoryStoreSignificanceUpdaterPersistsChangedFields/not_useful_persists_beta_and_resets_streak","Output":"=== RUN TestMemoryStoreSignificanceUpdaterPersistsChangedFields/not_useful_persists_beta_and_resets_streak\n"} +{"Time":"2026-07-11T03:35:57.2650569+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestMemoryStoreSignificanceUpdaterPersistsChangedFields/not_useful_persists_beta_and_resets_streak","Output":"--- PASS: TestMemoryStoreSignificanceUpdaterPersistsChangedFields/not_useful_persists_beta_and_resets_streak (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2650569+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestMemoryStoreSignificanceUpdaterPersistsChangedFields/not_useful_persists_beta_and_resets_streak","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2650569+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestMemoryStoreSignificanceUpdaterPersistsChangedFields","Output":"--- PASS: TestMemoryStoreSignificanceUpdaterPersistsChangedFields (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2650569+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestMemoryStoreSignificanceUpdaterPersistsChangedFields","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2650569+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent"} +{"Time":"2026-07-11T03:35:57.2650569+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent","Output":"=== RUN TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent\n"} +{"Time":"2026-07-11T03:35:57.2650569+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_off_s6_on_updater_present"} +{"Time":"2026-07-11T03:35:57.2650569+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_off_s6_on_updater_present","Output":"=== RUN TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_off_s6_on_updater_present\n"} +{"Time":"2026-07-11T03:35:57.2655575+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_off_s6_on_updater_present","Output":"--- PASS: TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_off_s6_on_updater_present (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2655575+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_off_s6_on_updater_present","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2655575+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_off_updater_present"} +{"Time":"2026-07-11T03:35:57.2655575+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_off_updater_present","Output":"=== RUN TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_off_updater_present\n"} +{"Time":"2026-07-11T03:35:57.2655575+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_off_updater_present","Output":"--- PASS: TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_off_updater_present (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2655575+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_off_updater_present","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2655575+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_on_updater_missing"} +{"Time":"2026-07-11T03:35:57.2655575+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_on_updater_missing","Output":"=== RUN TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_on_updater_missing\n"} +{"Time":"2026-07-11T03:35:57.2655575+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_on_updater_missing","Output":"--- PASS: TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_on_updater_missing (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2655575+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_on_updater_missing","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2655575+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_on_updater_present"} +{"Time":"2026-07-11T03:35:57.2655575+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_on_updater_present","Output":"=== RUN TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_on_updater_present\n"} +{"Time":"2026-07-11T03:35:57.2660575+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_on_updater_present","Output":"--- PASS: TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_on_updater_present (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2660575+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_on_updater_present","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2660575+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent","Output":"--- PASS: TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2660575+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2660575+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedWithDedicatedSchema"} +{"Time":"2026-07-11T03:35:57.2660575+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedWithDedicatedSchema","Output":"=== RUN TestRateMemorySignificanceToolAdvertisedWithDedicatedSchema\n"} +{"Time":"2026-07-11T03:35:57.2660575+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedWithDedicatedSchema","Output":"--- PASS: TestRateMemorySignificanceToolAdvertisedWithDedicatedSchema (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2665573+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedWithDedicatedSchema","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2665573+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful"} +{"Time":"2026-07-11T03:35:57.2665573+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful","Output":"=== RUN TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful\n"} +{"Time":"2026-07-11T03:35:57.2665573+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful/useful"} +{"Time":"2026-07-11T03:35:57.2665573+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful/useful","Output":"=== RUN TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful/useful\n"} +{"Time":"2026-07-11T03:35:57.2665573+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful/useful","Output":"--- PASS: TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful/useful (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2665573+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful/useful","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2665573+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful/not_useful"} +{"Time":"2026-07-11T03:35:57.2665573+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful/not_useful","Output":"=== RUN TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful/not_useful\n"} +{"Time":"2026-07-11T03:35:57.2665573+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful/not_useful","Output":"--- PASS: TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful/not_useful (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2665573+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful/not_useful","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2665573+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful","Output":"--- PASS: TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2665573+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2665573+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled"} +{"Time":"2026-07-11T03:35:57.2665573+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled","Output":"=== RUN TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled\n"} +{"Time":"2026-07-11T03:35:57.2665573+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled/master_off_s6_on_updater_present"} +{"Time":"2026-07-11T03:35:57.2665573+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled/master_off_s6_on_updater_present","Output":"=== RUN TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled/master_off_s6_on_updater_present\n"} +{"Time":"2026-07-11T03:35:57.2665573+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled/master_off_s6_on_updater_present","Output":"--- PASS: TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled/master_off_s6_on_updater_present (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2670588+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled/master_off_s6_on_updater_present","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2670588+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled/master_on_s6_off_updater_present"} +{"Time":"2026-07-11T03:35:57.2670588+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled/master_on_s6_off_updater_present","Output":"=== RUN TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled/master_on_s6_off_updater_present\n"} +{"Time":"2026-07-11T03:35:57.2670588+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled/master_on_s6_off_updater_present","Output":"--- PASS: TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled/master_on_s6_off_updater_present (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2670588+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled/master_on_s6_off_updater_present","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2670588+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled","Output":"--- PASS: TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2670588+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2670588+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidIDWithoutWrite"} +{"Time":"2026-07-11T03:35:57.2670588+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidIDWithoutWrite","Output":"=== RUN TestRateMemorySignificanceRejectsInvalidIDWithoutWrite\n"} +{"Time":"2026-07-11T03:35:57.2670588+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/missing_id"} +{"Time":"2026-07-11T03:35:57.2670588+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/missing_id","Output":"=== RUN TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/missing_id\n"} +{"Time":"2026-07-11T03:35:57.2670588+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/missing_id","Output":"--- PASS: TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/missing_id (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2670588+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/missing_id","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2670588+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/zero_id"} +{"Time":"2026-07-11T03:35:57.2670588+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/zero_id","Output":"=== RUN TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/zero_id\n"} +{"Time":"2026-07-11T03:35:57.2670588+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/zero_id","Output":"--- PASS: TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/zero_id (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2670588+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/zero_id","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2670588+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/negative_id"} +{"Time":"2026-07-11T03:35:57.2670588+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/negative_id","Output":"=== RUN TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/negative_id\n"} +{"Time":"2026-07-11T03:35:57.2670588+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/negative_id","Output":"--- PASS: TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/negative_id (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2670588+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/negative_id","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2670588+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidIDWithoutWrite","Output":"--- PASS: TestRateMemorySignificanceRejectsInvalidIDWithoutWrite (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2670588+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidIDWithoutWrite","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2670588+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite"} +{"Time":"2026-07-11T03:35:57.2670588+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite","Output":"=== RUN TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite\n"} +{"Time":"2026-07-11T03:35:57.2670588+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/missing_rating"} +{"Time":"2026-07-11T03:35:57.2670588+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/missing_rating","Output":"=== RUN TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/missing_rating\n"} +{"Time":"2026-07-11T03:35:57.2670588+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/missing_rating","Output":"--- PASS: TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/missing_rating (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2670588+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/missing_rating","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2670588+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/unknown_rating"} +{"Time":"2026-07-11T03:35:57.2670588+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/unknown_rating","Output":"=== RUN TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/unknown_rating\n"} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/unknown_rating","Output":"--- PASS: TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/unknown_rating (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/unknown_rating","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/empty_rating"} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/empty_rating","Output":"=== RUN TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/empty_rating\n"} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/empty_rating","Output":"--- PASS: TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/empty_rating (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/empty_rating","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite","Output":"--- PASS: TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceMissingUpdaterFailsExplicitly"} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceMissingUpdaterFailsExplicitly","Output":"=== RUN TestRateMemorySignificanceMissingUpdaterFailsExplicitly\n"} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceMissingUpdaterFailsExplicitly","Output":"--- PASS: TestRateMemorySignificanceMissingUpdaterFailsExplicitly (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceMissingUpdaterFailsExplicitly","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceLegacyRatePathsRemainUnsupported"} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceLegacyRatePathsRemainUnsupported","Output":"=== RUN TestRateMemorySignificanceLegacyRatePathsRemainUnsupported\n"} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceLegacyRatePathsRemainUnsupported/legacy_rate_memory_tool"} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceLegacyRatePathsRemainUnsupported/legacy_rate_memory_tool","Output":"=== RUN TestRateMemorySignificanceLegacyRatePathsRemainUnsupported/legacy_rate_memory_tool\n"} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceLegacyRatePathsRemainUnsupported/legacy_rate_memory_tool","Output":"--- PASS: TestRateMemorySignificanceLegacyRatePathsRemainUnsupported/legacy_rate_memory_tool (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceLegacyRatePathsRemainUnsupported/legacy_rate_memory_tool","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceLegacyRatePathsRemainUnsupported/consolidated_feedback_rate_action"} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceLegacyRatePathsRemainUnsupported/consolidated_feedback_rate_action","Output":"=== RUN TestRateMemorySignificanceLegacyRatePathsRemainUnsupported/consolidated_feedback_rate_action\n"} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceLegacyRatePathsRemainUnsupported/consolidated_feedback_rate_action","Output":"--- PASS: TestRateMemorySignificanceLegacyRatePathsRemainUnsupported/consolidated_feedback_rate_action (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceLegacyRatePathsRemainUnsupported/consolidated_feedback_rate_action","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceLegacyRatePathsRemainUnsupported","Output":"--- PASS: TestRateMemorySignificanceLegacyRatePathsRemainUnsupported (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceLegacyRatePathsRemainUnsupported","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryToolSchema_T005"} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryToolSchema_T005","Output":"=== RUN TestStoreMemoryToolSchema_T005\n"} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryToolSchema_T005","Output":"=== PAUSE TestStoreMemoryToolSchema_T005\n"} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryToolSchema_T005"} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryToolSchema_T005"} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryToolSchema_T005","Output":"=== RUN TestRecallMemoryToolSchema_T005\n"} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryToolSchema_T005","Output":"=== PAUSE TestRecallMemoryToolSchema_T005\n"} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryToolSchema_T005"} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemory_InvalidPrivacyScope_StructuredError"} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemory_InvalidPrivacyScope_StructuredError","Output":"=== RUN TestStoreMemory_InvalidPrivacyScope_StructuredError\n"} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemory_InvalidPrivacyScope_StructuredError","Output":"--- PASS: TestStoreMemory_InvalidPrivacyScope_StructuredError (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemory_InvalidPrivacyScope_StructuredError","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_InvalidIncludeScopes_StructuredError"} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_InvalidIncludeScopes_StructuredError","Output":"=== RUN TestRecallMemory_InvalidIncludeScopes_StructuredError\n"} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_InvalidIncludeScopes_StructuredError","Output":"--- PASS: TestRecallMemory_InvalidIncludeScopes_StructuredError (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_InvalidIncludeScopes_StructuredError","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryToolSchema_FlagOff_HasNewProperties_ButRuntimeIgnores"} +{"Time":"2026-07-11T03:35:57.2675564+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryToolSchema_FlagOff_HasNewProperties_ButRuntimeIgnores","Output":"=== RUN TestStoreMemoryToolSchema_FlagOff_HasNewProperties_ButRuntimeIgnores\n"} +{"Time":"2026-07-11T03:35:57.2680567+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryToolSchema_FlagOff_HasNewProperties_ButRuntimeIgnores","Output":"--- PASS: TestStoreMemoryToolSchema_FlagOff_HasNewProperties_ButRuntimeIgnores (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2680567+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryToolSchema_FlagOff_HasNewProperties_ButRuntimeIgnores","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2680567+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryToolSchema_B4_HasTierFilter"} +{"Time":"2026-07-11T03:35:57.2680567+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryToolSchema_B4_HasTierFilter","Output":"=== RUN TestRecallMemoryToolSchema_B4_HasTierFilter\n"} +{"Time":"2026-07-11T03:35:57.2680567+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryToolSchema_B4_HasTierFilter","Output":"--- PASS: TestRecallMemoryToolSchema_B4_HasTierFilter (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2680567+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryToolSchema_B4_HasTierFilter","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2680567+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryTierFilter_InvalidTier_B4"} +{"Time":"2026-07-11T03:35:57.2680567+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryTierFilter_InvalidTier_B4","Output":"=== RUN TestRecallMemoryTierFilter_InvalidTier_B4\n"} +{"Time":"2026-07-11T03:35:57.2685563+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryTierFilter_InvalidTier_B4","Output":"--- PASS: TestRecallMemoryTierFilter_InvalidTier_B4 (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2685563+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryTierFilter_InvalidTier_B4","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2685563+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryTierFilter_FlagOff_SchemaAbsent_B4"} +{"Time":"2026-07-11T03:35:57.2685563+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryTierFilter_FlagOff_SchemaAbsent_B4","Output":"=== RUN TestRecallMemoryTierFilter_FlagOff_SchemaAbsent_B4\n"} +{"Time":"2026-07-11T03:35:57.2685563+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryTierFilter_FlagOff_SchemaAbsent_B4","Output":"--- PASS: TestRecallMemoryTierFilter_FlagOff_SchemaAbsent_B4 (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2685563+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryTierFilter_FlagOff_SchemaAbsent_B4","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2685563+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDryRunValidatesPrincipalMetadata"} +{"Time":"2026-07-11T03:35:57.2685563+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDryRunValidatesPrincipalMetadata","Output":"=== RUN TestStoreMemoryDryRunValidatesPrincipalMetadata\n"} +{"Time":"2026-07-11T03:35:57.2685563+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDryRunValidatesPrincipalMetadata","Output":"--- PASS: TestStoreMemoryDryRunValidatesPrincipalMetadata (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2685563+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDryRunValidatesPrincipalMetadata","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2685563+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_PrincipalPrivateCandidatesHiddenFromPhase1"} +{"Time":"2026-07-11T03:35:57.2685563+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_PrincipalPrivateCandidatesHiddenFromPhase1","Output":"=== RUN TestWriteLint_PrincipalPrivateCandidatesHiddenFromPhase1\n"} +{"Time":"2026-07-11T03:35:57.2685563+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_PrincipalPrivateCandidatesHiddenFromPhase1","Output":"--- PASS: TestWriteLint_PrincipalPrivateCandidatesHiddenFromPhase1 (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2685563+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_PrincipalPrivateCandidatesHiddenFromPhase1","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2685563+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_PrincipalPrivateTargetHiddenFromPhase2"} +{"Time":"2026-07-11T03:35:57.2685563+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_PrincipalPrivateTargetHiddenFromPhase2","Output":"=== RUN TestWriteLint_PrincipalPrivateTargetHiddenFromPhase2\n"} +{"Time":"2026-07-11T03:35:57.2690575+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_PrincipalPrivateTargetHiddenFromPhase2","Output":"--- PASS: TestWriteLint_PrincipalPrivateTargetHiddenFromPhase2 (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2690575+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_PrincipalPrivateTargetHiddenFromPhase2","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2690575+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_DomainOwnedCandidateHiddenWithOrchestratorStoreFallback"} +{"Time":"2026-07-11T03:35:57.2690575+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_DomainOwnedCandidateHiddenWithOrchestratorStoreFallback","Output":"=== RUN TestWriteLint_DomainOwnedCandidateHiddenWithOrchestratorStoreFallback\n"} +{"Time":"2026-07-11T03:35:57.2690575+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_DomainOwnedCandidateHiddenWithOrchestratorStoreFallback","Output":"--- PASS: TestWriteLint_DomainOwnedCandidateHiddenWithOrchestratorStoreFallback (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2690575+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_DomainOwnedCandidateHiddenWithOrchestratorStoreFallback","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2690575+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_DomainOwnedTargetHiddenWithOrchestratorStoreFallback"} +{"Time":"2026-07-11T03:35:57.2690575+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_DomainOwnedTargetHiddenWithOrchestratorStoreFallback","Output":"=== RUN TestWriteLint_DomainOwnedTargetHiddenWithOrchestratorStoreFallback\n"} +{"Time":"2026-07-11T03:35:57.2690575+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_DomainOwnedTargetHiddenWithOrchestratorStoreFallback","Output":"--- PASS: TestWriteLint_DomainOwnedTargetHiddenWithOrchestratorStoreFallback (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2690575+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_DomainOwnedTargetHiddenWithOrchestratorStoreFallback","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2690575+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_FlagOff_LegacyPath"} +{"Time":"2026-07-11T03:35:57.2690575+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_FlagOff_LegacyPath","Output":"=== RUN TestWriteLint_T035_FlagOff_LegacyPath\n"} +{"Time":"2026-07-11T03:35:57.2690575+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_FlagOff_LegacyPath","Output":"--- PASS: TestWriteLint_T035_FlagOff_LegacyPath (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2695572+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_FlagOff_LegacyPath","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2695572+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_Phase1_SignalsReturned"} +{"Time":"2026-07-11T03:35:57.2695572+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_Phase1_SignalsReturned","Output":"=== RUN TestWriteLint_T035_Phase1_SignalsReturned\n"} +{"Time":"2026-07-11T03:35:57.2695572+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_Phase1_SignalsReturned","Output":"--- PASS: TestWriteLint_T035_Phase1_SignalsReturned (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2695572+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_Phase1_SignalsReturned","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2695572+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_Phase1_NoSignal_Stored"} +{"Time":"2026-07-11T03:35:57.2695572+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_Phase1_NoSignal_Stored","Output":"=== RUN TestWriteLint_T035_Phase1_NoSignal_Stored\n"} +{"Time":"2026-07-11T03:35:57.2695572+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_Phase1_NoSignal_Stored","Output":"--- PASS: TestWriteLint_T035_Phase1_NoSignal_Stored (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2695572+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_Phase1_NoSignal_Stored","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2695572+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_Phase2_MergeWith"} +{"Time":"2026-07-11T03:35:57.2695572+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_Phase2_MergeWith","Output":"=== RUN TestWriteLint_T035_Phase2_MergeWith\n"} +{"Time":"2026-07-11T03:35:57.2695572+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_Phase2_MergeWith","Output":"--- PASS: TestWriteLint_T035_Phase2_MergeWith (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2695572+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_Phase2_MergeWith","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2695572+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_ForceBypass"} +{"Time":"2026-07-11T03:35:57.2695572+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_ForceBypass","Output":"=== RUN TestWriteLint_T035_ForceBypass\n"} +{"Time":"2026-07-11T03:35:57.2700579+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_ForceBypass","Output":"--- PASS: TestWriteLint_T035_ForceBypass (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2700579+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_ForceBypass","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2700579+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_TokenExpired"} +{"Time":"2026-07-11T03:35:57.2700579+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_TokenExpired","Output":"=== RUN TestWriteLint_T035_TokenExpired\n"} +{"Time":"2026-07-11T03:35:57.2700579+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_TokenExpired","Output":"--- PASS: TestWriteLint_T035_TokenExpired (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2700579+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_TokenExpired","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2700579+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_PrivateScope_NoWorkstation_Rejected"} +{"Time":"2026-07-11T03:35:57.2700579+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_PrivateScope_NoWorkstation_Rejected","Output":"=== RUN TestWriteLint_T035_PrivateScope_NoWorkstation_Rejected\n"} +{"Time":"2026-07-11T03:35:57.2700579+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_PrivateScope_NoWorkstation_Rejected","Output":"--- PASS: TestWriteLint_T035_PrivateScope_NoWorkstation_Rejected (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2700579+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_PrivateScope_NoWorkstation_Rejected","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2700579+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_PrivateScope_WithWorkstation_Allowed"} +{"Time":"2026-07-11T03:35:57.2700579+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_PrivateScope_WithWorkstation_Allowed","Output":"=== RUN TestWriteLint_T035_PrivateScope_WithWorkstation_Allowed\n"} +{"Time":"2026-07-11T03:35:57.2700579+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_PrivateScope_WithWorkstation_Allowed","Output":"--- PASS: TestWriteLint_T035_PrivateScope_WithWorkstation_Allowed (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2700579+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_PrivateScope_WithWorkstation_Allowed","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2700579+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_PopulatedTopicReturnsContentFreeIndexHits"} +{"Time":"2026-07-11T03:35:57.2700579+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_PopulatedTopicReturnsContentFreeIndexHits","Output":"=== RUN TestKnowAbout_T005_PopulatedTopicReturnsContentFreeIndexHits\n"} +{"Time":"2026-07-11T03:35:57.2705577+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_PopulatedTopicReturnsContentFreeIndexHits","Output":"--- PASS: TestKnowAbout_T005_PopulatedTopicReturnsContentFreeIndexHits (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2705577+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_PopulatedTopicReturnsContentFreeIndexHits","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2705577+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_MissingTopicReturnsEmptyIndexPacket"} +{"Time":"2026-07-11T03:35:57.2705577+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_MissingTopicReturnsEmptyIndexPacket","Output":"=== RUN TestKnowAbout_T005_MissingTopicReturnsEmptyIndexPacket\n"} +{"Time":"2026-07-11T03:35:57.2705577+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_MissingTopicReturnsEmptyIndexPacket","Output":"--- PASS: TestKnowAbout_T005_MissingTopicReturnsEmptyIndexPacket (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2705577+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_MissingTopicReturnsEmptyIndexPacket","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2705577+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_ProjectFallbackFailureRequiresProjectScope"} +{"Time":"2026-07-11T03:35:57.2705577+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_ProjectFallbackFailureRequiresProjectScope","Output":"=== RUN TestKnowAbout_T005_ProjectFallbackFailureRequiresProjectScope\n"} +{"Time":"2026-07-11T03:35:57.2705577+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_ProjectFallbackFailureRequiresProjectScope","Output":"--- PASS: TestKnowAbout_T005_ProjectFallbackFailureRequiresProjectScope (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2705577+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_ProjectFallbackFailureRequiresProjectScope","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2705577+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_RequiresPrincipalScopedIdentity"} +{"Time":"2026-07-11T03:35:57.2705577+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_RequiresPrincipalScopedIdentity","Output":"=== RUN TestKnowAbout_T005_RequiresPrincipalScopedIdentity\n"} +{"Time":"2026-07-11T03:35:57.2705577+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_RequiresPrincipalScopedIdentity/master_token_without_principal_is_rejected"} +{"Time":"2026-07-11T03:35:57.2705577+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_RequiresPrincipalScopedIdentity/master_token_without_principal_is_rejected","Output":"=== RUN TestKnowAbout_T005_RequiresPrincipalScopedIdentity/master_token_without_principal_is_rejected\n"} +{"Time":"2026-07-11T03:35:57.2705577+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_RequiresPrincipalScopedIdentity/master_token_without_principal_is_rejected","Output":"--- PASS: TestKnowAbout_T005_RequiresPrincipalScopedIdentity/master_token_without_principal_is_rejected (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2705577+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_RequiresPrincipalScopedIdentity/master_token_without_principal_is_rejected","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2705577+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_RequiresPrincipalScopedIdentity/legacy_client_keycard_without_principal_is_rejected"} +{"Time":"2026-07-11T03:35:57.2705577+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_RequiresPrincipalScopedIdentity/legacy_client_keycard_without_principal_is_rejected","Output":"=== RUN TestKnowAbout_T005_RequiresPrincipalScopedIdentity/legacy_client_keycard_without_principal_is_rejected\n"} +{"Time":"2026-07-11T03:35:57.2705577+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_RequiresPrincipalScopedIdentity/legacy_client_keycard_without_principal_is_rejected","Output":"--- PASS: TestKnowAbout_T005_RequiresPrincipalScopedIdentity/legacy_client_keycard_without_principal_is_rejected (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2705577+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_RequiresPrincipalScopedIdentity/legacy_client_keycard_without_principal_is_rejected","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2705577+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_RequiresPrincipalScopedIdentity","Output":"--- PASS: TestKnowAbout_T005_RequiresPrincipalScopedIdentity (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.2705577+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_RequiresPrincipalScopedIdentity","Elapsed":0} +{"Time":"2026-07-11T03:35:57.2705577+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_ContextProjectFallbackAndLimitClamp"} +{"Time":"2026-07-11T03:35:57.2705577+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_ContextProjectFallbackAndLimitClamp","Output":"=== RUN TestKnowAbout_T005_ContextProjectFallbackAndLimitClamp\n"} +{"Time":"2026-07-11T03:35:57.271057+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_ContextProjectFallbackAndLimitClamp","Output":"--- PASS: TestKnowAbout_T005_ContextProjectFallbackAndLimitClamp (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.271057+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_ContextProjectFallbackAndLimitClamp","Elapsed":0} +{"Time":"2026-07-11T03:35:57.271057+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_RealStoreCanonicalShapeAndMissingTopicEmptyPacket"} +{"Time":"2026-07-11T03:35:57.271057+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_RealStoreCanonicalShapeAndMissingTopicEmptyPacket","Output":"=== RUN TestKnowAbout_T005_RealStoreCanonicalShapeAndMissingTopicEmptyPacket\n"} +{"Time":"2026-07-11T03:35:57.3963588+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_RealStoreCanonicalShapeAndMissingTopicEmptyPacket","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:35:57+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:35:57.4243625+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_RealStoreCanonicalShapeAndMissingTopicEmptyPacket","Output":"--- PASS: TestKnowAbout_T005_RealStoreCanonicalShapeAndMissingTopicEmptyPacket (0.15s)\n"} +{"Time":"2026-07-11T03:35:57.4243625+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_RealStoreCanonicalShapeAndMissingTopicEmptyPacket","Elapsed":0.15} +{"Time":"2026-07-11T03:35:57.4243625+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_DisabledS2NotAdvertised"} +{"Time":"2026-07-11T03:35:57.4243625+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_DisabledS2NotAdvertised","Output":"=== RUN TestKnowAbout_T005_DisabledS2NotAdvertised\n"} +{"Time":"2026-07-11T03:35:57.4243625+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_DisabledS2NotAdvertised","Output":"--- PASS: TestKnowAbout_T005_DisabledS2NotAdvertised (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.4243625+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_DisabledS2NotAdvertised","Elapsed":0} +{"Time":"2026-07-11T03:35:57.4243625+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags"} +{"Time":"2026-07-11T03:35:57.4243625+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags","Output":"=== RUN TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags\n"} +{"Time":"2026-07-11T03:35:57.4243625+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/master_and_s2_enabled_advertises_know_about"} +{"Time":"2026-07-11T03:35:57.4243625+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/master_and_s2_enabled_advertises_know_about","Output":"=== RUN TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/master_and_s2_enabled_advertises_know_about\n"} +{"Time":"2026-07-11T03:35:57.4248588+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/master_and_s2_enabled_advertises_know_about","Output":"--- PASS: TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/master_and_s2_enabled_advertises_know_about (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.4248588+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/master_and_s2_enabled_advertises_know_about","Elapsed":0} +{"Time":"2026-07-11T03:35:57.4248588+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/master_disabled_suppresses_know_about_even_when_s2_flag_is_set"} +{"Time":"2026-07-11T03:35:57.4248588+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/master_disabled_suppresses_know_about_even_when_s2_flag_is_set","Output":"=== RUN TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/master_disabled_suppresses_know_about_even_when_s2_flag_is_set\n"} +{"Time":"2026-07-11T03:35:57.4248588+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/master_disabled_suppresses_know_about_even_when_s2_flag_is_set","Output":"--- PASS: TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/master_disabled_suppresses_know_about_even_when_s2_flag_is_set (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.4248588+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/master_disabled_suppresses_know_about_even_when_s2_flag_is_set","Elapsed":0} +{"Time":"2026-07-11T03:35:57.4248588+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/s2_disabled_suppresses_know_about_even_when_master_is_set"} +{"Time":"2026-07-11T03:35:57.4248588+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/s2_disabled_suppresses_know_about_even_when_master_is_set","Output":"=== RUN TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/s2_disabled_suppresses_know_about_even_when_master_is_set\n"} +{"Time":"2026-07-11T03:35:57.4253592+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/s2_disabled_suppresses_know_about_even_when_master_is_set","Output":"--- PASS: TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/s2_disabled_suppresses_know_about_even_when_master_is_set (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.4253592+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/s2_disabled_suppresses_know_about_even_when_master_is_set","Elapsed":0} +{"Time":"2026-07-11T03:35:57.4253592+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags","Output":"--- PASS: TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.4253592+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags","Elapsed":0} +{"Time":"2026-07-11T03:35:57.4253592+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_IndexErrorsSurfaceAsToolErrors"} +{"Time":"2026-07-11T03:35:57.4253592+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_IndexErrorsSurfaceAsToolErrors","Output":"=== RUN TestKnowAbout_T005_IndexErrorsSurfaceAsToolErrors\n"} +{"Time":"2026-07-11T03:35:57.4253592+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_IndexErrorsSurfaceAsToolErrors","Output":"--- PASS: TestKnowAbout_T005_IndexErrorsSurfaceAsToolErrors (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.4253592+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_IndexErrorsSurfaceAsToolErrors","Elapsed":0} +{"Time":"2026-07-11T03:35:57.4253592+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_JSONNeverContainsContentKeysOrMemoryBodies"} +{"Time":"2026-07-11T03:35:57.4253592+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_JSONNeverContainsContentKeysOrMemoryBodies","Output":"=== RUN TestKnowAbout_T005_JSONNeverContainsContentKeysOrMemoryBodies\n"} +{"Time":"2026-07-11T03:35:57.4253592+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_JSONNeverContainsContentKeysOrMemoryBodies","Output":"--- PASS: TestKnowAbout_T005_JSONNeverContainsContentKeysOrMemoryBodies (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.4253592+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_JSONNeverContainsContentKeysOrMemoryBodies","Elapsed":0} +{"Time":"2026-07-11T03:35:57.4253592+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ToolSchemaAdvertised"} +{"Time":"2026-07-11T03:35:57.4253592+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ToolSchemaAdvertised","Output":"=== RUN TestQueryPrincipalMemory_ToolSchemaAdvertised\n"} +{"Time":"2026-07-11T03:35:57.4253592+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ToolSchemaAdvertised","Output":"--- PASS: TestQueryPrincipalMemory_ToolSchemaAdvertised (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.4253592+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ToolSchemaAdvertised","Elapsed":0} +{"Time":"2026-07-11T03:35:57.4253592+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation"} +{"Time":"2026-07-11T03:35:57.4253592+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation","Output":"=== RUN TestQueryPrincipalMemory_ResponseAndValidation\n"} +{"Time":"2026-07-11T03:35:57.4253592+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation/returns_attributed_bounded_principal_memory_response"} +{"Time":"2026-07-11T03:35:57.4253592+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation/returns_attributed_bounded_principal_memory_response","Output":"=== RUN TestQueryPrincipalMemory_ResponseAndValidation/returns_attributed_bounded_principal_memory_response\n"} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation/returns_attributed_bounded_principal_memory_response","Output":"--- PASS: TestQueryPrincipalMemory_ResponseAndValidation/returns_attributed_bounded_principal_memory_response (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation/returns_attributed_bounded_principal_memory_response","Elapsed":0} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation/rejects_invalid_principal_kind"} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation/rejects_invalid_principal_kind","Output":"=== RUN TestQueryPrincipalMemory_ResponseAndValidation/rejects_invalid_principal_kind\n"} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation/rejects_invalid_principal_kind","Output":"--- PASS: TestQueryPrincipalMemory_ResponseAndValidation/rejects_invalid_principal_kind (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation/rejects_invalid_principal_kind","Elapsed":0} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation/rejects_oversized_limit_clearly"} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation/rejects_oversized_limit_clearly","Output":"=== RUN TestQueryPrincipalMemory_ResponseAndValidation/rejects_oversized_limit_clearly\n"} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation/rejects_oversized_limit_clearly","Output":"--- PASS: TestQueryPrincipalMemory_ResponseAndValidation/rejects_oversized_limit_clearly (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation/rejects_oversized_limit_clearly","Elapsed":0} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation/rejects_non-admin_cross-principal_private_widening"} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation/rejects_non-admin_cross-principal_private_widening","Output":"=== RUN TestQueryPrincipalMemory_ResponseAndValidation/rejects_non-admin_cross-principal_private_widening\n"} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation/rejects_non-admin_cross-principal_private_widening","Output":"--- PASS: TestQueryPrincipalMemory_ResponseAndValidation/rejects_non-admin_cross-principal_private_widening (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation/rejects_non-admin_cross-principal_private_widening","Elapsed":0} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation","Output":"--- PASS: TestQueryPrincipalMemory_ResponseAndValidation (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation","Elapsed":0} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ServiceErrorsPropagate"} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ServiceErrorsPropagate","Output":"=== RUN TestQueryPrincipalMemory_ServiceErrorsPropagate\n"} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ServiceErrorsPropagate","Output":"--- PASS: TestQueryPrincipalMemory_ServiceErrorsPropagate (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ServiceErrorsPropagate","Elapsed":0} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagOFF_SchemaNoVnextParams"} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagOFF_SchemaNoVnextParams","Output":"=== RUN TestRecallMemory_FlagOFF_SchemaNoVnextParams\n"} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagOFF_SchemaNoVnextParams","Output":"--- PASS: TestRecallMemory_FlagOFF_SchemaNoVnextParams (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagOFF_SchemaNoVnextParams","Elapsed":0} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagON_SchemaHasVnextParams"} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagON_SchemaHasVnextParams","Output":"=== RUN TestRecallMemory_FlagON_SchemaHasVnextParams\n"} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagON_SchemaHasVnextParams","Output":"--- PASS: TestRecallMemory_FlagON_SchemaHasVnextParams (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagON_SchemaHasVnextParams","Elapsed":0} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagMatrix_FEnabled_SchemaHasScopeParams"} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagMatrix_FEnabled_SchemaHasScopeParams","Output":"=== RUN TestRecallMemory_FlagMatrix_FEnabled_SchemaHasScopeParams\n"} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagMatrix_FEnabled_SchemaHasScopeParams","Output":"--- PASS: TestRecallMemory_FlagMatrix_FEnabled_SchemaHasScopeParams (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagMatrix_FEnabled_SchemaHasScopeParams","Elapsed":0} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagMatrix_BothEnabled_SchemaCombinesParams"} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagMatrix_BothEnabled_SchemaCombinesParams","Output":"=== RUN TestRecallMemory_FlagMatrix_BothEnabled_SchemaCombinesParams\n"} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagMatrix_BothEnabled_SchemaCombinesParams","Output":"--- PASS: TestRecallMemory_FlagMatrix_BothEnabled_SchemaCombinesParams (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagMatrix_BothEnabled_SchemaCombinesParams","Elapsed":0} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagOFF_BehaviorIdentity"} +{"Time":"2026-07-11T03:35:57.4258587+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagOFF_BehaviorIdentity","Output":"=== RUN TestRecallMemory_FlagOFF_BehaviorIdentity\n"} +{"Time":"2026-07-11T03:35:57.4263585+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagOFF_BehaviorIdentity","Output":"--- PASS: TestRecallMemory_FlagOFF_BehaviorIdentity (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.4263585+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagOFF_BehaviorIdentity","Elapsed":0} +{"Time":"2026-07-11T03:35:57.4263585+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecall_FlagOFF_TombstoneStrings_Similar"} +{"Time":"2026-07-11T03:35:57.4263585+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecall_FlagOFF_TombstoneStrings_Similar","Output":"=== RUN TestRecall_FlagOFF_TombstoneStrings_Similar\n"} +{"Time":"2026-07-11T03:35:57.4263585+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecall_FlagOFF_TombstoneStrings_Similar","Output":"--- PASS: TestRecall_FlagOFF_TombstoneStrings_Similar (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.4263585+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecall_FlagOFF_TombstoneStrings_Similar","Elapsed":0} +{"Time":"2026-07-11T03:35:57.4263585+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecall_FlagOFF_TombstoneStrings_Explain"} +{"Time":"2026-07-11T03:35:57.4263585+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecall_FlagOFF_TombstoneStrings_Explain","Output":"=== RUN TestRecall_FlagOFF_TombstoneStrings_Explain\n"} +{"Time":"2026-07-11T03:35:57.4263585+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecall_FlagOFF_TombstoneStrings_Explain","Output":"--- PASS: TestRecall_FlagOFF_TombstoneStrings_Explain (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.4263585+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecall_FlagOFF_TombstoneStrings_Explain","Elapsed":0} +{"Time":"2026-07-11T03:35:57.4263585+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryPrincipalDefault_OwnSharedLegacyVisibleOtherPrivateHidden"} +{"Time":"2026-07-11T03:35:57.4263585+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryPrincipalDefault_OwnSharedLegacyVisibleOtherPrivateHidden","Output":"=== RUN TestRecallMemoryPrincipalDefault_OwnSharedLegacyVisibleOtherPrivateHidden\n"} +{"Time":"2026-07-11T03:35:57.54486+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryPrincipalDefault_OwnSharedLegacyVisibleOtherPrivateHidden","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:35:57+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:35:57.5888604+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryPrincipalDefault_OwnSharedLegacyVisibleOtherPrivateHidden","Output":"--- PASS: TestRecallMemoryPrincipalDefault_OwnSharedLegacyVisibleOtherPrivateHidden (0.16s)\n"} +{"Time":"2026-07-11T03:35:57.5888604+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryPrincipalDefault_OwnSharedLegacyVisibleOtherPrivateHidden","Elapsed":0.16} +{"Time":"2026-07-11T03:35:57.5888604+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_SchemaAdvertised"} +{"Time":"2026-07-11T03:35:57.5888604+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_SchemaAdvertised","Output":"=== RUN TestRecallMemoryIncludePrincipals_SchemaAdvertised\n"} +{"Time":"2026-07-11T03:35:57.5888604+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_SchemaAdvertised","Output":"--- PASS: TestRecallMemoryIncludePrincipals_SchemaAdvertised (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.5888604+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_SchemaAdvertised","Elapsed":0} +{"Time":"2026-07-11T03:35:57.5888604+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy"} +{"Time":"2026-07-11T03:35:57.5888604+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy","Output":"=== RUN TestRecallMemoryIncludePrincipals_ValidationAndPrivacy\n"} +{"Time":"2026-07-11T03:35:57.5888604+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/rejects_duplicate_principals"} +{"Time":"2026-07-11T03:35:57.5888604+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/rejects_duplicate_principals","Output":"=== RUN TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/rejects_duplicate_principals\n"} +{"Time":"2026-07-11T03:35:57.7084535+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/rejects_duplicate_principals","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:35:57+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:35:57.7154548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/rejects_duplicate_principals","Output":"--- PASS: TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/rejects_duplicate_principals (0.13s)\n"} +{"Time":"2026-07-11T03:35:57.7154548+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/rejects_duplicate_principals","Elapsed":0.13} +{"Time":"2026-07-11T03:35:57.7154548+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/rejects_blank_and_invalid_principals_clearly"} +{"Time":"2026-07-11T03:35:57.7154548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/rejects_blank_and_invalid_principals_clearly","Output":"=== RUN TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/rejects_blank_and_invalid_principals_clearly\n"} +{"Time":"2026-07-11T03:35:57.8339705+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/rejects_blank_and_invalid_principals_clearly","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:35:57+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:35:57.840971+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/rejects_blank_and_invalid_principals_clearly","Output":"--- PASS: TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/rejects_blank_and_invalid_principals_clearly (0.13s)\n"} +{"Time":"2026-07-11T03:35:57.840971+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/rejects_blank_and_invalid_principals_clearly","Elapsed":0.13} +{"Time":"2026-07-11T03:35:57.840971+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/empty_include_list_is_treated_as_absent"} +{"Time":"2026-07-11T03:35:57.840971+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/empty_include_list_is_treated_as_absent","Output":"=== RUN TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/empty_include_list_is_treated_as_absent\n"} +{"Time":"2026-07-11T03:35:57.840971+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/empty_include_list_is_treated_as_absent","Output":"--- PASS: TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/empty_include_list_is_treated_as_absent (0.00s)\n"} +{"Time":"2026-07-11T03:35:57.840971+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/empty_include_list_is_treated_as_absent","Elapsed":0} +{"Time":"2026-07-11T03:35:57.840971+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/self_include_is_allowed_and_deduplicated"} +{"Time":"2026-07-11T03:35:57.840971+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/self_include_is_allowed_and_deduplicated","Output":"=== RUN TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/self_include_is_allowed_and_deduplicated\n"} +{"Time":"2026-07-11T03:35:57.9571101+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/self_include_is_allowed_and_deduplicated","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:35:57+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:35:57.9816086+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/self_include_is_allowed_and_deduplicated","Output":"--- PASS: TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/self_include_is_allowed_and_deduplicated (0.14s)\n"} +{"Time":"2026-07-11T03:35:57.9816086+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/self_include_is_allowed_and_deduplicated","Elapsed":0.14} +{"Time":"2026-07-11T03:35:57.9816086+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/non-admin_cross-principal_include_skips_private_rows"} +{"Time":"2026-07-11T03:35:57.9816086+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/non-admin_cross-principal_include_skips_private_rows","Output":"=== RUN TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/non-admin_cross-principal_include_skips_private_rows\n"} +{"Time":"2026-07-11T03:35:58.0936376+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/non-admin_cross-principal_include_skips_private_rows","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:35:58+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:35:58.1161379+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/non-admin_cross-principal_include_skips_private_rows","Output":"--- PASS: TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/non-admin_cross-principal_include_skips_private_rows (0.13s)\n"} +{"Time":"2026-07-11T03:35:58.1161379+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/non-admin_cross-principal_include_skips_private_rows","Elapsed":0.13} +{"Time":"2026-07-11T03:35:58.1161379+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/non-admin_cross-principal_include_appends_shared_rows"} +{"Time":"2026-07-11T03:35:58.1161379+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/non-admin_cross-principal_include_appends_shared_rows","Output":"=== RUN TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/non-admin_cross-principal_include_appends_shared_rows\n"} +{"Time":"2026-07-11T03:35:58.2251161+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/non-admin_cross-principal_include_appends_shared_rows","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:35:58+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:35:58.2530347+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/non-admin_cross-principal_include_appends_shared_rows","Output":"--- PASS: TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/non-admin_cross-principal_include_appends_shared_rows (0.14s)\n"} +{"Time":"2026-07-11T03:35:58.2530347+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/non-admin_cross-principal_include_appends_shared_rows","Elapsed":0.14} +{"Time":"2026-07-11T03:35:58.2530347+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/admin_cross-private_include_writes_durable_audit_before_returning_private_row"} +{"Time":"2026-07-11T03:35:58.2530347+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/admin_cross-private_include_writes_durable_audit_before_returning_private_row","Output":"=== RUN TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/admin_cross-private_include_writes_durable_audit_before_returning_private_row\n"} +{"Time":"2026-07-11T03:35:58.3662824+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/admin_cross-private_include_writes_durable_audit_before_returning_private_row","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:35:58+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:35:58.4022825+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/admin_cross-private_include_writes_durable_audit_before_returning_private_row","Output":"--- PASS: TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/admin_cross-private_include_writes_durable_audit_before_returning_private_row (0.15s)\n"} +{"Time":"2026-07-11T03:35:58.4022825+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/admin_cross-private_include_writes_durable_audit_before_returning_private_row","Elapsed":0.15} +{"Time":"2026-07-11T03:35:58.4022825+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/admin_cross-private_include_reapplies_recall_filters"} +{"Time":"2026-07-11T03:35:58.4022825+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/admin_cross-private_include_reapplies_recall_filters","Output":"=== RUN TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/admin_cross-private_include_reapplies_recall_filters\n"} +{"Time":"2026-07-11T03:35:58.5168178+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/admin_cross-private_include_reapplies_recall_filters","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:35:58+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:35:58.5768205+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/admin_cross-private_include_reapplies_recall_filters","Output":"--- PASS: TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/admin_cross-private_include_reapplies_recall_filters (0.17s)\n"} +{"Time":"2026-07-11T03:35:58.5768205+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/admin_cross-private_include_reapplies_recall_filters","Elapsed":0.17} +{"Time":"2026-07-11T03:35:58.5768205+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy","Output":"--- PASS: TestRecallMemoryIncludePrincipals_ValidationAndPrivacy (0.99s)\n"} +{"Time":"2026-07-11T03:35:58.5768205+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy","Elapsed":0.99} +{"Time":"2026-07-11T03:35:58.5768205+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsAdvertisedWhenStoresWired"} +{"Time":"2026-07-11T03:35:58.5768205+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsAdvertisedWhenStoresWired","Output":"=== RUN TestRuleGovernanceReadToolsAdvertisedWhenStoresWired\n"} +{"Time":"2026-07-11T03:35:58.5768205+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsAdvertisedWhenStoresWired","Output":"--- PASS: TestRuleGovernanceReadToolsAdvertisedWhenStoresWired (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5768205+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsAdvertisedWhenStoresWired","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5768205+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsHiddenWhenStoreMissing"} +{"Time":"2026-07-11T03:35:58.5768205+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsHiddenWhenStoreMissing","Output":"=== RUN TestRuleGovernanceReadToolsHiddenWhenStoreMissing\n"} +{"Time":"2026-07-11T03:35:58.5773207+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsHiddenWhenStoreMissing","Output":"--- PASS: TestRuleGovernanceReadToolsHiddenWhenStoreMissing (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5773207+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsHiddenWhenStoreMissing","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5773207+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceHealthReadOnlyCallerGetsNoData"} +{"Time":"2026-07-11T03:35:58.5773207+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceHealthReadOnlyCallerGetsNoData","Output":"=== RUN TestRuleGovernanceHealthReadOnlyCallerGetsNoData\n"} +{"Time":"2026-07-11T03:35:58.5773207+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceHealthReadOnlyCallerGetsNoData","Output":"--- PASS: TestRuleGovernanceHealthReadOnlyCallerGetsNoData (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5773207+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceHealthReadOnlyCallerGetsNoData","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5773207+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceQueueAndSnapshotsReadModels"} +{"Time":"2026-07-11T03:35:58.5773207+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceQueueAndSnapshotsReadModels","Output":"=== RUN TestRuleGovernanceQueueAndSnapshotsReadModels\n"} +{"Time":"2026-07-11T03:35:58.5773207+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceQueueAndSnapshotsReadModels","Output":"--- PASS: TestRuleGovernanceQueueAndSnapshotsReadModels (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5773207+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceQueueAndSnapshotsReadModels","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5773207+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceUsefulnessNoDataAndProjectGuard"} +{"Time":"2026-07-11T03:35:58.5773207+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceUsefulnessNoDataAndProjectGuard","Output":"=== RUN TestRuleGovernanceUsefulnessNoDataAndProjectGuard\n"} +{"Time":"2026-07-11T03:35:58.5773207+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceUsefulnessNoDataAndProjectGuard","Output":"--- PASS: TestRuleGovernanceUsefulnessNoDataAndProjectGuard (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5773207+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceUsefulnessNoDataAndProjectGuard","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5773207+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsRequireProjectForNonAdminAllProjectReads"} +{"Time":"2026-07-11T03:35:58.5773207+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsRequireProjectForNonAdminAllProjectReads","Output":"=== RUN TestRuleGovernanceReadToolsRequireProjectForNonAdminAllProjectReads\n"} +{"Time":"2026-07-11T03:35:58.5773207+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsRequireProjectForNonAdminAllProjectReads","Output":"--- PASS: TestRuleGovernanceReadToolsRequireProjectForNonAdminAllProjectReads (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5773207+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsRequireProjectForNonAdminAllProjectReads","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5773207+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsNilStoreErrors"} +{"Time":"2026-07-11T03:35:58.5773207+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsNilStoreErrors","Output":"=== RUN TestRuleGovernanceReadToolsNilStoreErrors\n"} +{"Time":"2026-07-11T03:35:58.5773207+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsNilStoreErrors","Output":"--- PASS: TestRuleGovernanceReadToolsNilStoreErrors (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5773207+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsNilStoreErrors","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5773207+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsRequireIdentityWhenAuthEnabled"} +{"Time":"2026-07-11T03:35:58.5773207+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsRequireIdentityWhenAuthEnabled","Output":"=== RUN TestRuleGovernanceReadToolsRequireIdentityWhenAuthEnabled\n"} +{"Time":"2026-07-11T03:35:58.5773207+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsRequireIdentityWhenAuthEnabled","Output":"--- PASS: TestRuleGovernanceReadToolsRequireIdentityWhenAuthEnabled (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5773207+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsRequireIdentityWhenAuthEnabled","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5773207+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsRejectZeroIdentity"} +{"Time":"2026-07-11T03:35:58.5773207+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsRejectZeroIdentity","Output":"=== RUN TestRuleGovernanceReadToolsRejectZeroIdentity\n"} +{"Time":"2026-07-11T03:35:58.5773207+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsRejectZeroIdentity","Output":"--- PASS: TestRuleGovernanceReadToolsRejectZeroIdentity (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5773207+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsRejectZeroIdentity","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5773207+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceMutationToolsRequireAdmin"} +{"Time":"2026-07-11T03:35:58.5773207+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceMutationToolsRequireAdmin","Output":"=== RUN TestRuleGovernanceMutationToolsRequireAdmin\n"} +{"Time":"2026-07-11T03:35:58.5773207+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceMutationToolsRequireAdmin","Output":"--- PASS: TestRuleGovernanceMutationToolsRequireAdmin (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5773207+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceMutationToolsRequireAdmin","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5773207+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceTransitionToolUsesStateMachineStore"} +{"Time":"2026-07-11T03:35:58.5773207+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceTransitionToolUsesStateMachineStore","Output":"=== RUN TestRuleGovernanceTransitionToolUsesStateMachineStore\n"} +{"Time":"2026-07-11T03:35:58.5778205+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceTransitionToolUsesStateMachineStore","Output":"--- PASS: TestRuleGovernanceTransitionToolUsesStateMachineStore (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5778205+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceTransitionToolUsesStateMachineStore","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5778205+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernancePinSnapshotAndRollbackUseRuleGovernanceSnapshots"} +{"Time":"2026-07-11T03:35:58.5778205+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernancePinSnapshotAndRollbackUseRuleGovernanceSnapshots","Output":"=== RUN TestRuleGovernancePinSnapshotAndRollbackUseRuleGovernanceSnapshots\n"} +{"Time":"2026-07-11T03:35:58.5778205+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernancePinSnapshotAndRollbackUseRuleGovernanceSnapshots","Output":"--- PASS: TestRuleGovernancePinSnapshotAndRollbackUseRuleGovernanceSnapshots (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5778205+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernancePinSnapshotAndRollbackUseRuleGovernanceSnapshots","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5778205+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceRollbackReturnsStructuredConflictResult"} +{"Time":"2026-07-11T03:35:58.5778205+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceRollbackReturnsStructuredConflictResult","Output":"=== RUN TestRuleGovernanceRollbackReturnsStructuredConflictResult\n"} +{"Time":"2026-07-11T03:35:58.5778205+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceRollbackReturnsStructuredConflictResult","Output":"--- PASS: TestRuleGovernanceRollbackReturnsStructuredConflictResult (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5778205+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceRollbackReturnsStructuredConflictResult","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5778205+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSettings_SetRequiresAdmin"} +{"Time":"2026-07-11T03:35:58.5778205+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSettings_SetRequiresAdmin","Output":"=== RUN TestSettings_SetRequiresAdmin\n"} +{"Time":"2026-07-11T03:35:58.5778205+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSettings_SetRequiresAdmin","Output":"--- PASS: TestSettings_SetRequiresAdmin (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5778205+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSettings_SetRequiresAdmin","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5778205+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSettings_DeleteRequiresAdmin"} +{"Time":"2026-07-11T03:35:58.5778205+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSettings_DeleteRequiresAdmin","Output":"=== RUN TestSettings_DeleteRequiresAdmin\n"} +{"Time":"2026-07-11T03:35:58.5778205+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSettings_DeleteRequiresAdmin","Output":"--- PASS: TestSettings_DeleteRequiresAdmin (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5778205+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSettings_DeleteRequiresAdmin","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5778205+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSettings_SetMissingArgs"} +{"Time":"2026-07-11T03:35:58.5778205+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSettings_SetMissingArgs","Output":"=== RUN TestSettings_SetMissingArgs\n"} +{"Time":"2026-07-11T03:35:58.5778205+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSettings_SetMissingArgs","Output":"--- PASS: TestSettings_SetMissingArgs (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5778205+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSettings_SetMissingArgs","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5778205+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSettings_UnknownAction"} +{"Time":"2026-07-11T03:35:58.5778205+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSettings_UnknownAction","Output":"=== RUN TestSettings_UnknownAction\n"} +{"Time":"2026-07-11T03:35:58.5778205+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSettings_UnknownAction","Output":"--- PASS: TestSettings_UnknownAction (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5778205+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSettings_UnknownAction","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5778205+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestIsSecretSettingKey"} +{"Time":"2026-07-11T03:35:58.5778205+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestIsSecretSettingKey","Output":"=== RUN TestIsSecretSettingKey\n"} +{"Time":"2026-07-11T03:35:58.5778205+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestIsSecretSettingKey","Output":"--- PASS: TestIsSecretSettingKey (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5778205+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestIsSecretSettingKey","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5778205+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireAdmin"} +{"Time":"2026-07-11T03:35:58.5778205+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireAdmin","Output":"=== RUN TestRequireAdmin\n"} +{"Time":"2026-07-11T03:35:58.5778205+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireAdmin","Output":"--- PASS: TestRequireAdmin (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5778205+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireAdmin","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5778205+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStateToolsAdvertisedOnlyWhenNativeStoreIsReachable"} +{"Time":"2026-07-11T03:35:58.5778205+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStateToolsAdvertisedOnlyWhenNativeStoreIsReachable","Output":"=== RUN TestStateToolsAdvertisedOnlyWhenNativeStoreIsReachable\n"} +{"Time":"2026-07-11T03:35:58.5783206+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStateToolsAdvertisedOnlyWhenNativeStoreIsReachable","Output":"--- PASS: TestStateToolsAdvertisedOnlyWhenNativeStoreIsReachable (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5783206+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStateToolsAdvertisedOnlyWhenNativeStoreIsReachable","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5783206+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateToolWritesNativeSessionAndProjectState"} +{"Time":"2026-07-11T03:35:58.5783206+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateToolWritesNativeSessionAndProjectState","Output":"=== RUN TestSetStateToolWritesNativeSessionAndProjectState\n"} +{"Time":"2026-07-11T03:35:58.5783206+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateToolWritesNativeSessionAndProjectState","Output":"--- PASS: TestSetStateToolWritesNativeSessionAndProjectState (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5783206+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateToolWritesNativeSessionAndProjectState","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5783206+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateToolRejectsNonAgentProjectWriter"} +{"Time":"2026-07-11T03:35:58.5783206+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateToolRejectsNonAgentProjectWriter","Output":"=== RUN TestSetStateToolRejectsNonAgentProjectWriter\n"} +{"Time":"2026-07-11T03:35:58.5783206+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateToolRejectsNonAgentProjectWriter","Output":"--- PASS: TestSetStateToolRejectsNonAgentProjectWriter (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5783206+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateToolRejectsNonAgentProjectWriter","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5783206+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateToolRejectsNonObjectSessionSlots"} +{"Time":"2026-07-11T03:35:58.5783206+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateToolRejectsNonObjectSessionSlots","Output":"=== RUN TestSetStateToolRejectsNonObjectSessionSlots\n"} +{"Time":"2026-07-11T03:35:58.5783206+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateToolRejectsNonObjectSessionSlots","Output":"--- PASS: TestSetStateToolRejectsNonObjectSessionSlots (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5783206+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateToolRejectsNonObjectSessionSlots","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5783206+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateToolRejectsSessionPayloadOver32KB"} +{"Time":"2026-07-11T03:35:58.5783206+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateToolRejectsSessionPayloadOver32KB","Output":"=== RUN TestSetStateToolRejectsSessionPayloadOver32KB\n"} +{"Time":"2026-07-11T03:35:58.579321+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateToolRejectsSessionPayloadOver32KB","Output":"--- PASS: TestSetStateToolRejectsSessionPayloadOver32KB (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.579321+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateToolRejectsSessionPayloadOver32KB","Elapsed":0} +{"Time":"2026-07-11T03:35:58.579321+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateThenGetStateResumeUsesServerCallPath"} +{"Time":"2026-07-11T03:35:58.579321+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateThenGetStateResumeUsesServerCallPath","Output":"=== RUN TestSetStateThenGetStateResumeUsesServerCallPath\n"} +{"Time":"2026-07-11T03:35:58.579321+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateThenGetStateResumeUsesServerCallPath","Output":"--- PASS: TestSetStateThenGetStateResumeUsesServerCallPath (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.579321+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateThenGetStateResumeUsesServerCallPath","Elapsed":0} +{"Time":"2026-07-11T03:35:58.579321+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolSessionDoesNotRequirePrincipal"} +{"Time":"2026-07-11T03:35:58.579321+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolSessionDoesNotRequirePrincipal","Output":"=== RUN TestGetStateToolSessionDoesNotRequirePrincipal\n"} +{"Time":"2026-07-11T03:35:58.579321+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolSessionDoesNotRequirePrincipal","Output":"--- PASS: TestGetStateToolSessionDoesNotRequirePrincipal (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.579321+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolSessionDoesNotRequirePrincipal","Elapsed":0} +{"Time":"2026-07-11T03:35:58.579321+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolProjectDoesNotRequirePrincipal"} +{"Time":"2026-07-11T03:35:58.579321+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolProjectDoesNotRequirePrincipal","Output":"=== RUN TestGetStateToolProjectDoesNotRequirePrincipal\n"} +{"Time":"2026-07-11T03:35:58.579321+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolProjectDoesNotRequirePrincipal","Output":"--- PASS: TestGetStateToolProjectDoesNotRequirePrincipal (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.579321+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolProjectDoesNotRequirePrincipal","Elapsed":0} +{"Time":"2026-07-11T03:35:58.579321+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeReturnsNativePacket"} +{"Time":"2026-07-11T03:35:58.579321+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeReturnsNativePacket","Output":"=== RUN TestGetStateToolResumeReturnsNativePacket\n"} +{"Time":"2026-07-11T03:35:58.579321+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeReturnsNativePacket","Output":"--- PASS: TestGetStateToolResumeReturnsNativePacket (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.579321+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeReturnsNativePacket","Elapsed":0} +{"Time":"2026-07-11T03:35:58.579321+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeSupportsExplicitProjectOnlyScope"} +{"Time":"2026-07-11T03:35:58.579321+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeSupportsExplicitProjectOnlyScope","Output":"=== RUN TestGetStateToolResumeSupportsExplicitProjectOnlyScope\n"} +{"Time":"2026-07-11T03:35:58.579321+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeSupportsExplicitProjectOnlyScope","Output":"--- PASS: TestGetStateToolResumeSupportsExplicitProjectOnlyScope (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.579321+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeSupportsExplicitProjectOnlyScope","Elapsed":0} +{"Time":"2026-07-11T03:35:58.579321+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsFallbackMasqueradingAsNative"} +{"Time":"2026-07-11T03:35:58.579321+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsFallbackMasqueradingAsNative","Output":"=== RUN TestGetStateToolResumeRejectsFallbackMasqueradingAsNative\n"} +{"Time":"2026-07-11T03:35:58.579321+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsFallbackMasqueradingAsNative","Output":"--- PASS: TestGetStateToolResumeRejectsFallbackMasqueradingAsNative (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.579321+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsFallbackMasqueradingAsNative","Elapsed":0} +{"Time":"2026-07-11T03:35:58.579321+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsMissingEvidenceRefs"} +{"Time":"2026-07-11T03:35:58.579321+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsMissingEvidenceRefs","Output":"=== RUN TestGetStateToolResumeRejectsMissingEvidenceRefs\n"} +{"Time":"2026-07-11T03:35:58.579321+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsMissingEvidenceRefs","Output":"--- PASS: TestGetStateToolResumeRejectsMissingEvidenceRefs (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.579321+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsMissingEvidenceRefs","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsPacketIdentityMismatch"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsPacketIdentityMismatch","Output":"=== RUN TestGetStateToolResumeRejectsPacketIdentityMismatch\n"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsPacketIdentityMismatch","Output":"--- PASS: TestGetStateToolResumeRejectsPacketIdentityMismatch (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsPacketIdentityMismatch","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches","Output":"=== RUN TestGetStateToolResumeRejectsAdditionalIdentityMismatches\n"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/project_mismatch"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/project_mismatch","Output":"=== RUN TestGetStateToolResumeRejectsAdditionalIdentityMismatches/project_mismatch\n"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/project_mismatch","Output":"--- PASS: TestGetStateToolResumeRejectsAdditionalIdentityMismatches/project_mismatch (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/project_mismatch","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/session_mismatch"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/session_mismatch","Output":"=== RUN TestGetStateToolResumeRejectsAdditionalIdentityMismatches/session_mismatch\n"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/session_mismatch","Output":"--- PASS: TestGetStateToolResumeRejectsAdditionalIdentityMismatches/session_mismatch (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/session_mismatch","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/goal_mismatch"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/goal_mismatch","Output":"=== RUN TestGetStateToolResumeRejectsAdditionalIdentityMismatches/goal_mismatch\n"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/goal_mismatch","Output":"--- PASS: TestGetStateToolResumeRejectsAdditionalIdentityMismatches/goal_mismatch (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/goal_mismatch","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/task_mismatch"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/task_mismatch","Output":"=== RUN TestGetStateToolResumeRejectsAdditionalIdentityMismatches/task_mismatch\n"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/task_mismatch","Output":"--- PASS: TestGetStateToolResumeRejectsAdditionalIdentityMismatches/task_mismatch (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/task_mismatch","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_action_kind"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_action_kind","Output":"=== RUN TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_action_kind\n"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_action_kind","Output":"--- PASS: TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_action_kind (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_action_kind","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_action_command"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_action_command","Output":"=== RUN TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_action_command\n"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_action_command","Output":"--- PASS: TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_action_command (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_action_command","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_verification_kind"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_verification_kind","Output":"=== RUN TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_verification_kind\n"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_verification_kind","Output":"--- PASS: TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_verification_kind (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_verification_kind","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_verification_command"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_verification_command","Output":"=== RUN TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_verification_command\n"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_verification_command","Output":"--- PASS: TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_verification_command (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_verification_command","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches","Output":"--- PASS: TestGetStateToolResumeRejectsAdditionalIdentityMismatches (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolRejectsFilesystemFallbackOption"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolRejectsFilesystemFallbackOption","Output":"=== RUN TestGetStateToolRejectsFilesystemFallbackOption\n"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolRejectsFilesystemFallbackOption","Output":"--- PASS: TestGetStateToolRejectsFilesystemFallbackOption (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolRejectsFilesystemFallbackOption","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRequiresPrincipal"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRequiresPrincipal","Output":"=== RUN TestGetStateToolResumeRequiresPrincipal\n"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRequiresPrincipal","Output":"--- PASS: TestGetStateToolResumeRequiresPrincipal (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRequiresPrincipal","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeDoesNotInjectContextProjectWhenOmitted"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeDoesNotInjectContextProjectWhenOmitted","Output":"=== RUN TestGetStateToolResumeDoesNotInjectContextProjectWhenOmitted\n"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeDoesNotInjectContextProjectWhenOmitted","Output":"--- PASS: TestGetStateToolResumeDoesNotInjectContextProjectWhenOmitted (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeDoesNotInjectContextProjectWhenOmitted","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthToolAdvertisedWhenProviderWiredAndFlagOn"} +{"Time":"2026-07-11T03:35:58.5798208+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthToolAdvertisedWhenProviderWiredAndFlagOn","Output":"=== RUN TestTemporalTruthToolAdvertisedWhenProviderWiredAndFlagOn\n"} +{"Time":"2026-07-11T03:35:58.5803244+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthToolAdvertisedWhenProviderWiredAndFlagOn","Output":"--- PASS: TestTemporalTruthToolAdvertisedWhenProviderWiredAndFlagOn (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5803244+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthToolAdvertisedWhenProviderWiredAndFlagOn","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5803244+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthRefreshToolAdvertisedWhenProviderWiredAndFlagOn"} +{"Time":"2026-07-11T03:35:58.5803244+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthRefreshToolAdvertisedWhenProviderWiredAndFlagOn","Output":"=== RUN TestTemporalTruthRefreshToolAdvertisedWhenProviderWiredAndFlagOn\n"} +{"Time":"2026-07-11T03:35:58.5803244+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthRefreshToolAdvertisedWhenProviderWiredAndFlagOn","Output":"--- PASS: TestTemporalTruthRefreshToolAdvertisedWhenProviderWiredAndFlagOn (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5803244+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthRefreshToolAdvertisedWhenProviderWiredAndFlagOn","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5803244+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthToolsAbsentWhenFlagOff"} +{"Time":"2026-07-11T03:35:58.5803244+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthToolsAbsentWhenFlagOff","Output":"=== RUN TestTemporalTruthToolsAbsentWhenFlagOff\n"} +{"Time":"2026-07-11T03:35:58.5803244+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthToolsAbsentWhenFlagOff","Output":"--- PASS: TestTemporalTruthToolsAbsentWhenFlagOff (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5803244+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthToolsAbsentWhenFlagOff","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5803244+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthDirectCallFailsClosedWhenFeatureGateUnsatisfied"} +{"Time":"2026-07-11T03:35:58.5803244+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthDirectCallFailsClosedWhenFeatureGateUnsatisfied","Output":"=== RUN TestTemporalTruthDirectCallFailsClosedWhenFeatureGateUnsatisfied\n"} +{"Time":"2026-07-11T03:35:58.5803244+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthDirectCallFailsClosedWhenFeatureGateUnsatisfied","Output":"{\"level\":\"error\",\"error\":\"temporal truth feature flag required\",\"tool\":\"temporal_truth\",\"args\":\"{\\\"fact_id\\\":\\\"42\\\",\\\"project\\\":\\\"engram\\\"}\",\"time\":\"2026-07-11T03:35:58+03:00\",\"message\":\"Tool call failed\"}\n"} +{"Time":"2026-07-11T03:35:58.5803244+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthDirectCallFailsClosedWhenFeatureGateUnsatisfied","Output":"{\"level\":\"error\",\"error\":\"temporal truth provider not configured\",\"tool\":\"temporal_truth\",\"args\":\"{\\\"fact_id\\\":\\\"42\\\",\\\"project\\\":\\\"engram\\\"}\",\"time\":\"2026-07-11T03:35:58+03:00\",\"message\":\"Tool call failed\"}\n"} +{"Time":"2026-07-11T03:35:58.5803244+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthDirectCallFailsClosedWhenFeatureGateUnsatisfied","Output":"--- PASS: TestTemporalTruthDirectCallFailsClosedWhenFeatureGateUnsatisfied (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5803244+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthDirectCallFailsClosedWhenFeatureGateUnsatisfied","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5803244+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthRefreshDirectCallFailsClosedWhenFeatureGateUnsatisfied"} +{"Time":"2026-07-11T03:35:58.5803244+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthRefreshDirectCallFailsClosedWhenFeatureGateUnsatisfied","Output":"=== RUN TestTemporalTruthRefreshDirectCallFailsClosedWhenFeatureGateUnsatisfied\n"} +{"Time":"2026-07-11T03:35:58.5803244+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthRefreshDirectCallFailsClosedWhenFeatureGateUnsatisfied","Output":"{\"level\":\"error\",\"error\":\"temporal truth feature flag required\",\"tool\":\"temporal_truth_refresh\",\"args\":\"{\\\"project\\\":\\\"engram\\\"}\",\"time\":\"2026-07-11T03:35:58+03:00\",\"message\":\"Tool call failed\"}\n"} +{"Time":"2026-07-11T03:35:58.5803244+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthRefreshDirectCallFailsClosedWhenFeatureGateUnsatisfied","Output":"{\"level\":\"error\",\"error\":\"temporal truth provider not configured\",\"tool\":\"temporal_truth_refresh\",\"args\":\"{\\\"project\\\":\\\"engram\\\"}\",\"time\":\"2026-07-11T03:35:58+03:00\",\"message\":\"Tool call failed\"}\n"} +{"Time":"2026-07-11T03:35:58.5803244+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthRefreshDirectCallFailsClosedWhenFeatureGateUnsatisfied","Output":"--- PASS: TestTemporalTruthRefreshDirectCallFailsClosedWhenFeatureGateUnsatisfied (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5803244+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthRefreshDirectCallFailsClosedWhenFeatureGateUnsatisfied","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5803244+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthReturnsBoundedResponse"} +{"Time":"2026-07-11T03:35:58.5803244+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthReturnsBoundedResponse","Output":"=== RUN TestHandleTemporalTruthReturnsBoundedResponse\n"} +{"Time":"2026-07-11T03:35:58.5808217+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthReturnsBoundedResponse","Output":"--- PASS: TestHandleTemporalTruthReturnsBoundedResponse (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5808217+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthReturnsBoundedResponse","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5808217+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRefreshReturnsAdmissionResult"} +{"Time":"2026-07-11T03:35:58.5808217+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRefreshReturnsAdmissionResult","Output":"=== RUN TestHandleTemporalTruthRefreshReturnsAdmissionResult\n"} +{"Time":"2026-07-11T03:35:58.5808217+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRefreshReturnsAdmissionResult","Output":"--- PASS: TestHandleTemporalTruthRefreshReturnsAdmissionResult (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5808217+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRefreshReturnsAdmissionResult","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5808217+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRefreshRequiresProject"} +{"Time":"2026-07-11T03:35:58.5808217+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRefreshRequiresProject","Output":"=== RUN TestHandleTemporalTruthRefreshRequiresProject\n"} +{"Time":"2026-07-11T03:35:58.5808217+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRefreshRequiresProject","Output":"--- PASS: TestHandleTemporalTruthRefreshRequiresProject (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5808217+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRefreshRequiresProject","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5808217+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRequiresProject"} +{"Time":"2026-07-11T03:35:58.5808217+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRequiresProject","Output":"=== RUN TestHandleTemporalTruthRequiresProject\n"} +{"Time":"2026-07-11T03:35:58.5808217+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRequiresProject/missing_project"} +{"Time":"2026-07-11T03:35:58.5808217+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRequiresProject/missing_project","Output":"=== RUN TestHandleTemporalTruthRequiresProject/missing_project\n"} +{"Time":"2026-07-11T03:35:58.5808217+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRequiresProject/missing_project","Output":"--- PASS: TestHandleTemporalTruthRequiresProject/missing_project (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5808217+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRequiresProject/missing_project","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5808217+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRequiresProject/blank_project"} +{"Time":"2026-07-11T03:35:58.5808217+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRequiresProject/blank_project","Output":"=== RUN TestHandleTemporalTruthRequiresProject/blank_project\n"} +{"Time":"2026-07-11T03:35:58.5808217+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRequiresProject/blank_project","Output":"--- PASS: TestHandleTemporalTruthRequiresProject/blank_project (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5808217+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRequiresProject/blank_project","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5808217+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRequiresProject","Output":"--- PASS: TestHandleTemporalTruthRequiresProject (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5808217+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRequiresProject","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5808217+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRejectsInvalidAsOf"} +{"Time":"2026-07-11T03:35:58.5808217+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRejectsInvalidAsOf","Output":"=== RUN TestHandleTemporalTruthRejectsInvalidAsOf\n"} +{"Time":"2026-07-11T03:35:58.5808217+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRejectsInvalidAsOf","Output":"--- PASS: TestHandleTemporalTruthRejectsInvalidAsOf (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5808217+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRejectsInvalidAsOf","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5808217+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_LifecycleTool_AppearsWhenStoresSetAndFlagOn"} +{"Time":"2026-07-11T03:35:58.5808217+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_LifecycleTool_AppearsWhenStoresSetAndFlagOn","Output":"=== RUN TestWiring_LifecycleTool_AppearsWhenStoresSetAndFlagOn\n"} +{"Time":"2026-07-11T03:35:58.5813214+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_LifecycleTool_AppearsWhenStoresSetAndFlagOn","Output":"--- PASS: TestWiring_LifecycleTool_AppearsWhenStoresSetAndFlagOn (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5813214+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_LifecycleTool_AppearsWhenStoresSetAndFlagOn","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5813214+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_LifecycleTool_AbsentWhenFlagOff"} +{"Time":"2026-07-11T03:35:58.5813214+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_LifecycleTool_AbsentWhenFlagOff","Output":"=== RUN TestWiring_LifecycleTool_AbsentWhenFlagOff\n"} +{"Time":"2026-07-11T03:35:58.5813214+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_LifecycleTool_AbsentWhenFlagOff","Output":"--- PASS: TestWiring_LifecycleTool_AbsentWhenFlagOff (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5813214+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_LifecycleTool_AbsentWhenFlagOff","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5813214+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_LifecycleTool_AbsentWhenStoresNil"} +{"Time":"2026-07-11T03:35:58.5813214+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_LifecycleTool_AbsentWhenStoresNil","Output":"=== RUN TestWiring_LifecycleTool_AbsentWhenStoresNil\n"} +{"Time":"2026-07-11T03:35:58.5813214+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_LifecycleTool_AbsentWhenStoresNil","Output":"--- PASS: TestWiring_LifecycleTool_AbsentWhenStoresNil (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5813214+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_LifecycleTool_AbsentWhenStoresNil","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5813214+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_GraphTool_AppearsWhenStoreSetAndFlagOn"} +{"Time":"2026-07-11T03:35:58.5813214+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_GraphTool_AppearsWhenStoreSetAndFlagOn","Output":"=== RUN TestWiring_GraphTool_AppearsWhenStoreSetAndFlagOn\n"} +{"Time":"2026-07-11T03:35:58.5818214+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_GraphTool_AppearsWhenStoreSetAndFlagOn","Output":"--- PASS: TestWiring_GraphTool_AppearsWhenStoreSetAndFlagOn (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5818214+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_GraphTool_AppearsWhenStoreSetAndFlagOn","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5818214+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_GraphTool_AbsentWhenFlagOff"} +{"Time":"2026-07-11T03:35:58.5818214+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_GraphTool_AbsentWhenFlagOff","Output":"=== RUN TestWiring_GraphTool_AbsentWhenFlagOff\n"} +{"Time":"2026-07-11T03:35:58.5818214+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_GraphTool_AbsentWhenFlagOff","Output":"--- PASS: TestWiring_GraphTool_AbsentWhenFlagOff (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5818214+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_GraphTool_AbsentWhenFlagOff","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5818214+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_GraphTool_AbsentWhenStoreNil"} +{"Time":"2026-07-11T03:35:58.5818214+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_GraphTool_AbsentWhenStoreNil","Output":"=== RUN TestWiring_GraphTool_AbsentWhenStoreNil\n"} +{"Time":"2026-07-11T03:35:58.5818214+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_GraphTool_AbsentWhenStoreNil","Output":"--- PASS: TestWiring_GraphTool_AbsentWhenStoreNil (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5818214+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_GraphTool_AbsentWhenStoreNil","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5818214+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_BothToolsOff_FlagsUnset"} +{"Time":"2026-07-11T03:35:58.5818214+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_BothToolsOff_FlagsUnset","Output":"=== RUN TestWiring_BothToolsOff_FlagsUnset\n"} +{"Time":"2026-07-11T03:35:58.5818214+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_BothToolsOff_FlagsUnset","Output":"--- PASS: TestWiring_BothToolsOff_FlagsUnset (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5818214+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_BothToolsOff_FlagsUnset","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5818214+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCodeIntelFlag_Off_ToolsAbsentFromList"} +{"Time":"2026-07-11T03:35:58.5818214+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCodeIntelFlag_Off_ToolsAbsentFromList","Output":"=== RUN TestCodeIntelFlag_Off_ToolsAbsentFromList\n"} +{"Time":"2026-07-11T03:35:58.5823218+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCodeIntelFlag_Off_ToolsAbsentFromList","Output":"--- PASS: TestCodeIntelFlag_Off_ToolsAbsentFromList (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5823218+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCodeIntelFlag_Off_ToolsAbsentFromList","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5823218+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCodeIntelFlag_On_StoreNil_ToolsAbsentFromList"} +{"Time":"2026-07-11T03:35:58.5823218+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCodeIntelFlag_On_StoreNil_ToolsAbsentFromList","Output":"=== RUN TestCodeIntelFlag_On_StoreNil_ToolsAbsentFromList\n"} +{"Time":"2026-07-11T03:35:58.5823218+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCodeIntelFlag_On_StoreNil_ToolsAbsentFromList","Output":"--- PASS: TestCodeIntelFlag_On_StoreNil_ToolsAbsentFromList (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5823218+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCodeIntelFlag_On_StoreNil_ToolsAbsentFromList","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5823218+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCodeIntelFlag_On_ServerAdvertisesSearchNotStatus"} +{"Time":"2026-07-11T03:35:58.5823218+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCodeIntelFlag_On_ServerAdvertisesSearchNotStatus","Output":"=== RUN TestCodeIntelFlag_On_ServerAdvertisesSearchNotStatus\n"} +{"Time":"2026-07-11T03:35:58.5823218+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCodeIntelFlag_On_ServerAdvertisesSearchNotStatus","Output":"--- PASS: TestCodeIntelFlag_On_ServerAdvertisesSearchNotStatus (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5823218+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCodeIntelFlag_On_ServerAdvertisesSearchNotStatus","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5823218+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCodebaseSearch_FlagOff_ReturnsError"} +{"Time":"2026-07-11T03:35:58.5823218+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCodebaseSearch_FlagOff_ReturnsError","Output":"=== RUN TestCodebaseSearch_FlagOff_ReturnsError\n"} +{"Time":"2026-07-11T03:35:58.5823218+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCodebaseSearch_FlagOff_ReturnsError","Output":"{\"level\":\"error\",\"error\":\"codebase_search requires ENGRAM_CODE_INTEL_ENABLED=true\",\"tool\":\"codebase_search\",\"args\":\"{\\\"query\\\":\\\"hello\\\",\\\"project\\\":\\\"test\\\"}\",\"time\":\"2026-07-11T03:35:58+03:00\",\"message\":\"Tool call failed\"}\n"} +{"Time":"2026-07-11T03:35:58.5823218+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCodebaseSearch_FlagOff_ReturnsError","Output":"--- PASS: TestCodebaseSearch_FlagOff_ReturnsError (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5823218+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCodebaseSearch_FlagOff_ReturnsError","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5823218+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table"} +{"Time":"2026-07-11T03:35:58.5823218+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table","Output":"=== CONT TestRequest_Marshal_Table\n"} +{"Time":"2026-07-11T03:35:58.5823218+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/initialize"} +{"Time":"2026-07-11T03:35:58.5823218+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/initialize","Output":"=== RUN TestRequest_Marshal_Table/initialize\n"} +{"Time":"2026-07-11T03:35:58.5823218+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/initialize","Output":"=== PAUSE TestRequest_Marshal_Table/initialize\n"} +{"Time":"2026-07-11T03:35:58.5823218+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/initialize"} +{"Time":"2026-07-11T03:35:58.5823218+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/string_id"} +{"Time":"2026-07-11T03:35:58.5823218+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/string_id","Output":"=== RUN TestRequest_Marshal_Table/string_id\n"} +{"Time":"2026-07-11T03:35:58.5823218+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/string_id","Output":"=== PAUSE TestRequest_Marshal_Table/string_id\n"} +{"Time":"2026-07-11T03:35:58.5823218+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/string_id"} +{"Time":"2026-07-11T03:35:58.5823218+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/with_params"} +{"Time":"2026-07-11T03:35:58.5823218+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/with_params","Output":"=== RUN TestRequest_Marshal_Table/with_params\n"} +{"Time":"2026-07-11T03:35:58.5823218+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/with_params","Output":"=== PAUSE TestRequest_Marshal_Table/with_params\n"} +{"Time":"2026-07-11T03:35:58.5823218+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/with_params"} +{"Time":"2026-07-11T03:35:58.5823218+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/null_id"} +{"Time":"2026-07-11T03:35:58.5823218+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/null_id","Output":"=== RUN TestRequest_Marshal_Table/null_id\n"} +{"Time":"2026-07-11T03:35:58.5828216+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/null_id","Output":"=== PAUSE TestRequest_Marshal_Table/null_id\n"} +{"Time":"2026-07-11T03:35:58.5828216+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/null_id"} +{"Time":"2026-07-11T03:35:58.5828216+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSanitizeToolCallArgs_OtherToolsStillRedactSecrets"} +{"Time":"2026-07-11T03:35:58.5828216+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSanitizeToolCallArgs_OtherToolsStillRedactSecrets","Output":"=== CONT TestSanitizeToolCallArgs_OtherToolsStillRedactSecrets\n"} +{"Time":"2026-07-11T03:35:58.5828216+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSanitizeToolCallArgs_OtherToolsStillRedactSecrets","Output":"--- PASS: TestSanitizeToolCallArgs_OtherToolsStillRedactSecrets (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5828216+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSanitizeToolCallArgs_OtherToolsStillRedactSecrets","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5828216+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryToolSchema_T005"} +{"Time":"2026-07-11T03:35:58.5828216+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryToolSchema_T005","Output":"=== CONT TestRecallMemoryToolSchema_T005\n"} +{"Time":"2026-07-11T03:35:58.5828216+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryToolSchema_T005","Output":"--- PASS: TestRecallMemoryToolSchema_T005 (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5828216+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryToolSchema_T005","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5828216+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryToolSchema_T005"} +{"Time":"2026-07-11T03:35:58.5828216+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryToolSchema_T005","Output":"=== CONT TestStoreMemoryToolSchema_T005\n"} +{"Time":"2026-07-11T03:35:58.5838211+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryToolSchema_T005","Output":"--- PASS: TestStoreMemoryToolSchema_T005 (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5838211+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryToolSchema_T005","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5838211+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryDomainPolicy_DomainOwnedRowVisibleToOwner"} +{"Time":"2026-07-11T03:35:58.5838211+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryDomainPolicy_DomainOwnedRowVisibleToOwner","Output":"=== CONT TestRecallMemoryDomainPolicy_DomainOwnedRowVisibleToOwner\n"} +{"Time":"2026-07-11T03:35:58.5838211+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryDomainPolicy_DomainOwnedRowVisibleToOwner","Output":"--- PASS: TestRecallMemoryDomainPolicy_DomainOwnedRowVisibleToOwner (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5838211+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryDomainPolicy_DomainOwnedRowVisibleToOwner","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5838211+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryDomainPolicy_DomainOwnedRowHiddenFromMismatchedPrincipal"} +{"Time":"2026-07-11T03:35:58.5838211+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryDomainPolicy_DomainOwnedRowHiddenFromMismatchedPrincipal","Output":"=== CONT TestRecallMemoryDomainPolicy_DomainOwnedRowHiddenFromMismatchedPrincipal\n"} +{"Time":"2026-07-11T03:35:58.5838211+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryDomainPolicy_DomainOwnedRowHiddenFromMismatchedPrincipal","Output":"--- PASS: TestRecallMemoryDomainPolicy_DomainOwnedRowHiddenFromMismatchedPrincipal (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5838211+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryDomainPolicy_DomainOwnedRowHiddenFromMismatchedPrincipal","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5838211+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLintDomainPolicy_DomainOwnedTargetHidden"} +{"Time":"2026-07-11T03:35:58.5838211+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLintDomainPolicy_DomainOwnedTargetHidden","Output":"=== CONT TestWriteLintDomainPolicy_DomainOwnedTargetHidden\n"} +{"Time":"2026-07-11T03:35:58.5838211+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLintDomainPolicy_DomainOwnedTargetHidden","Output":"--- PASS: TestWriteLintDomainPolicy_DomainOwnedTargetHidden (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5838211+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLintDomainPolicy_DomainOwnedTargetHidden","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5838211+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLintDomainPolicy_DomainOwnedCandidateHidden"} +{"Time":"2026-07-11T03:35:58.5838211+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLintDomainPolicy_DomainOwnedCandidateHidden","Output":"=== CONT TestWriteLintDomainPolicy_DomainOwnedCandidateHidden\n"} +{"Time":"2026-07-11T03:35:58.5838211+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainRejectsInvalidPrincipalKind"} +{"Time":"2026-07-11T03:35:58.5838211+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainRejectsInvalidPrincipalKind","Output":"=== CONT TestStoreMemoryDomainPolicy_NonEmptyDomainRejectsInvalidPrincipalKind\n"} +{"Time":"2026-07-11T03:35:58.5838211+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLintDomainPolicy_DomainOwnedCandidateHidden","Output":"--- PASS: TestWriteLintDomainPolicy_DomainOwnedCandidateHidden (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5838211+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLintDomainPolicy_DomainOwnedCandidateHidden","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5838211+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainRejectsInvalidPrincipalKind","Output":"--- PASS: TestStoreMemoryDomainPolicy_NonEmptyDomainRejectsInvalidPrincipalKind (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5838211+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainRejectsInvalidPrincipalKind","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5838211+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainAllowsPrincipalIdentity"} +{"Time":"2026-07-11T03:35:58.5838211+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainAllowsPrincipalIdentity","Output":"=== CONT TestStoreMemoryDomainPolicy_NonEmptyDomainAllowsPrincipalIdentity\n"} +{"Time":"2026-07-11T03:35:58.5838211+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainAllowsPrincipalIdentity","Output":"--- PASS: TestStoreMemoryDomainPolicy_NonEmptyDomainAllowsPrincipalIdentity (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5838211+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainAllowsPrincipalIdentity","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainRequiresPrincipal"} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainRequiresPrincipal","Output":"=== CONT TestStoreMemoryDomainPolicy_NonEmptyDomainRequiresPrincipal\n"} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainRequiresPrincipal","Output":"--- PASS: TestStoreMemoryDomainPolicy_NonEmptyDomainRequiresPrincipal (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainRequiresPrincipal","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_EmptyDomainLegacyCompatible"} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_EmptyDomainLegacyCompatible","Output":"=== CONT TestStoreMemoryDomainPolicy_EmptyDomainLegacyCompatible\n"} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_EmptyDomainLegacyCompatible","Output":"--- PASS: TestStoreMemoryDomainPolicy_EmptyDomainLegacyCompatible (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_EmptyDomainLegacyCompatible","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTierConstants"} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTierConstants","Output":"=== CONT TestTierConstants\n"} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTierConstants","Output":"--- PASS: TestTierConstants (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTierConstants","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table"} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table","Output":"=== CONT TestJSONRPCErrorCodes_Table\n"} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Parse_error"} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Parse_error","Output":"=== RUN TestJSONRPCErrorCodes_Table/Parse_error\n"} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Parse_error","Output":"=== PAUSE TestJSONRPCErrorCodes_Table/Parse_error\n"} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Parse_error"} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Invalid_Request"} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Invalid_Request","Output":"=== RUN TestJSONRPCErrorCodes_Table/Invalid_Request\n"} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Invalid_Request","Output":"=== PAUSE TestJSONRPCErrorCodes_Table/Invalid_Request\n"} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Invalid_Request"} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Method_not_found"} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Method_not_found","Output":"=== RUN TestJSONRPCErrorCodes_Table/Method_not_found\n"} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Method_not_found","Output":"=== PAUSE TestJSONRPCErrorCodes_Table/Method_not_found\n"} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Method_not_found"} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Invalid_params"} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Invalid_params","Output":"=== RUN TestJSONRPCErrorCodes_Table/Invalid_params\n"} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Invalid_params","Output":"=== PAUSE TestJSONRPCErrorCodes_Table/Invalid_params\n"} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Invalid_params"} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Internal_error"} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Internal_error","Output":"=== RUN TestJSONRPCErrorCodes_Table/Internal_error\n"} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Internal_error","Output":"=== PAUSE TestJSONRPCErrorCodes_Table/Internal_error\n"} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Internal_error"} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_NotificationNoResponse"} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_NotificationNoResponse","Output":"=== CONT TestRun_NotificationNoResponse\n"} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_NotificationNoResponse","Output":"{\"level\":\"debug\",\"method\":\"initialized\",\"time\":\"2026-07-11T03:35:58+03:00\",\"message\":\"MCP client initialized\"}\n"} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_NotificationNoResponse","Output":"--- PASS: TestRun_NotificationNoResponse (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_NotificationNoResponse","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_MixedValidAndInvalid"} +{"Time":"2026-07-11T03:35:58.5843218+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_MixedValidAndInvalid","Output":"=== CONT TestRun_MixedValidAndInvalid\n"} +{"Time":"2026-07-11T03:35:58.5848235+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_MixedValidAndInvalid","Output":"--- PASS: TestRun_MixedValidAndInvalid (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5848235+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_MixedValidAndInvalid","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5848235+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_PrimaryToolsPresent"} +{"Time":"2026-07-11T03:35:58.5848235+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_PrimaryToolsPresent","Output":"=== CONT TestHandleToolsList_PrimaryToolsPresent\n"} +{"Time":"2026-07-11T03:35:58.5848235+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_PrimaryToolsPresent","Output":"--- PASS: TestHandleToolsList_PrimaryToolsPresent (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5848235+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_PrimaryToolsPresent","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5848235+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_MultipleRequests"} +{"Time":"2026-07-11T03:35:58.5848235+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_MultipleRequests","Output":"=== CONT TestRun_MultipleRequests\n"} +{"Time":"2026-07-11T03:35:58.5848235+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_MultipleRequests","Output":"--- PASS: TestRun_MultipleRequests (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5848235+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_MultipleRequests","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5848235+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSanitizeToolCallArgs_RememberDirectiveRedactsRawLogArguments"} +{"Time":"2026-07-11T03:35:58.5848235+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSanitizeToolCallArgs_RememberDirectiveRedactsRawLogArguments","Output":"=== CONT TestSanitizeToolCallArgs_RememberDirectiveRedactsRawLogArguments\n"} +{"Time":"2026-07-11T03:35:58.5848235+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSanitizeToolCallArgs_RememberDirectiveRedactsRawLogArguments","Output":"--- PASS: TestSanitizeToolCallArgs_RememberDirectiveRedactsRawLogArguments (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5848235+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSanitizeToolCallArgs_RememberDirectiveRedactsRawLogArguments","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5848235+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_ValidInitialize"} +{"Time":"2026-07-11T03:35:58.5848235+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_ValidInitialize","Output":"=== CONT TestRun_ValidInitialize\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_ValidInitialize","Output":"--- PASS: TestRun_ValidInitialize (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_ValidInitialize","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_EmptyLinesSkipped"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_EmptyLinesSkipped","Output":"=== CONT TestRun_EmptyLinesSkipped\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_EmptyLinesSkipped","Output":"--- PASS: TestRun_EmptyLinesSkipped (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_EmptyLinesSkipped","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_UnknownTool"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_UnknownTool","Output":"=== CONT TestHandleToolsCall_UnknownTool\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_UnknownTool","Output":"{\"level\":\"error\",\"error\":\"unknown tool: no_such_tool\",\"tool\":\"no_such_tool\",\"args\":\"{}\",\"time\":\"2026-07-11T03:35:58+03:00\",\"message\":\"Tool call failed\"}\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_UnknownTool","Output":"--- PASS: TestHandleToolsCall_UnknownTool (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_UnknownTool","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_ParseError"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_ParseError","Output":"=== CONT TestRun_ParseError\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_ParseError","Output":"--- PASS: TestRun_ParseError (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_ParseError","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_EmptyParams"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_EmptyParams","Output":"=== CONT TestHandleToolsCall_EmptyParams\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_EmptyParams","Output":"{\"level\":\"error\",\"error\":\"unknown tool: \",\"tool\":\"\",\"args\":\"\",\"time\":\"2026-07-11T03:35:58+03:00\",\"message\":\"Tool call failed\"}\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_EmptyParams","Output":"--- PASS: TestHandleToolsCall_EmptyParams (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_EmptyParams","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendError_OutputShape"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendError_OutputShape","Output":"=== CONT TestSendError_OutputShape\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendError_OutputShape","Output":"--- PASS: TestSendError_OutputShape (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendError_OutputShape","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_VariousIDTypes"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_VariousIDTypes","Output":"=== CONT TestSendResponse_VariousIDTypes\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_VariousIDTypes","Output":"--- PASS: TestSendResponse_VariousIDTypes (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_VariousIDTypes","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_NilID"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_NilID","Output":"=== CONT TestSendResponse_NilID\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_NilID","Output":"--- PASS: TestSendResponse_NilID (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_NilID","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_ErrorResponse"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_ErrorResponse","Output":"=== CONT TestSendResponse_ErrorResponse\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_ErrorResponse","Output":"--- PASS: TestSendResponse_ErrorResponse (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_ErrorResponse","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_InvalidParamsJSON"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_InvalidParamsJSON","Output":"=== CONT TestHandleToolsCall_InvalidParamsJSON\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_InvalidParamsJSON","Output":"--- PASS: TestHandleToolsCall_InvalidParamsJSON (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_InvalidParamsJSON","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_ContainsJSONRPC"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_ContainsJSONRPC","Output":"=== CONT TestSendResponse_ContainsJSONRPC\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_ContainsJSONRPC","Output":"--- PASS: TestSendResponse_ContainsJSONRPC (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_ContainsJSONRPC","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs","Output":"=== CONT TestHandleRequest_CapabilityStubs\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/resources/list"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/resources/list","Output":"=== RUN TestHandleRequest_CapabilityStubs/resources/list\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/resources/list","Output":"=== PAUSE TestHandleRequest_CapabilityStubs/resources/list\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/resources/list"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/resources/templates/list"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/resources/templates/list","Output":"=== RUN TestHandleRequest_CapabilityStubs/resources/templates/list\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/resources/templates/list","Output":"=== PAUSE TestHandleRequest_CapabilityStubs/resources/templates/list\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/resources/templates/list"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/prompts/list"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/prompts/list","Output":"=== RUN TestHandleRequest_CapabilityStubs/prompts/list\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/prompts/list","Output":"=== PAUSE TestHandleRequest_CapabilityStubs/prompts/list\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/prompts/list"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/completion/complete"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/completion/complete","Output":"=== RUN TestHandleRequest_CapabilityStubs/completion/complete\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/completion/complete","Output":"=== PAUSE TestHandleRequest_CapabilityStubs/completion/complete\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/completion/complete"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleAnalyzeSearchPatterns_InvalidJSON"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleAnalyzeSearchPatterns_InvalidJSON","Output":"=== CONT TestHandleAnalyzeSearchPatterns_InvalidJSON\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleAnalyzeSearchPatterns_InvalidJSON","Output":"--- PASS: TestHandleAnalyzeSearchPatterns_InvalidJSON (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleAnalyzeSearchPatterns_InvalidJSON","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_NotificationReturnsNil"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_NotificationReturnsNil","Output":"=== CONT TestHandleRequest_NotificationReturnsNil\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_NotificationReturnsNil","Output":"{\"level\":\"debug\",\"method\":\"initialized\",\"time\":\"2026-07-11T03:35:58+03:00\",\"message\":\"MCP client initialized\"}\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_NotificationReturnsNil","Output":"--- PASS: TestHandleRequest_NotificationReturnsNil (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_NotificationReturnsNil","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleFindSimilarObservations_EmptyResultInV5"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleFindSimilarObservations_EmptyResultInV5","Output":"=== CONT TestHandleFindSimilarObservations_EmptyResultInV5\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleFindSimilarObservations_EmptyResultInV5","Output":"--- PASS: TestHandleFindSimilarObservations_EmptyResultInV5 (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleFindSimilarObservations_EmptyResultInV5","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_UnknownMethodError"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_UnknownMethodError","Output":"=== CONT TestHandleRequest_UnknownMethodError\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_UnknownMethodError","Output":"--- PASS: TestHandleRequest_UnknownMethodError (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_UnknownMethodError","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleFindSimilarObservations_Validation"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleFindSimilarObservations_Validation","Output":"=== CONT TestHandleFindSimilarObservations_Validation\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleFindSimilarObservations_Validation","Output":"--- PASS: TestHandleFindSimilarObservations_Validation (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleFindSimilarObservations_Validation","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_ToolsListRoute"} +{"Time":"2026-07-11T03:35:58.5853241+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_ToolsListRoute","Output":"=== CONT TestHandleRequest_ToolsListRoute\n"} +{"Time":"2026-07-11T03:35:58.5858229+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_ToolsListRoute","Output":"--- PASS: TestHandleRequest_ToolsListRoute (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.5858229+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_ToolsListRoute","Elapsed":0} +{"Time":"2026-07-11T03:35:58.5858229+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleCheckSystemHealth_NilStores_StructuredResponse"} +{"Time":"2026-07-11T03:35:58.5858229+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleCheckSystemHealth_NilStores_StructuredResponse","Output":"=== CONT TestHandleCheckSystemHealth_NilStores_StructuredResponse\n"} +{"Time":"2026-07-11T03:35:58.7078222+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleCheckSystemHealth_NilStores_StructuredResponse","Output":"{\"level\":\"debug\",\"connections\":5,\"time\":\"2026-07-11T03:35:58+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:35:58.7123246+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleCheckSystemHealth_NilStores_StructuredResponse","Output":"--- PASS: TestHandleCheckSystemHealth_NilStores_StructuredResponse (0.13s)\n"} +{"Time":"2026-07-11T03:35:58.7123246+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleCheckSystemHealth_NilStores_StructuredResponse","Elapsed":0.13} +{"Time":"2026-07-11T03:35:58.7123246+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_InitializeRoute"} +{"Time":"2026-07-11T03:35:58.7123246+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_InitializeRoute","Output":"=== CONT TestHandleRequest_InitializeRoute\n"} +{"Time":"2026-07-11T03:35:58.7123246+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_InitializeRoute","Output":"--- PASS: TestHandleRequest_InitializeRoute (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.7123246+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_InitializeRoute","Elapsed":0} +{"Time":"2026-07-11T03:35:58.7123246+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleGetMemoryStats_NilStores_ValidJSON"} +{"Time":"2026-07-11T03:35:58.7123246+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleGetMemoryStats_NilStores_ValidJSON","Output":"=== CONT TestHandleGetMemoryStats_NilStores_ValidJSON\n"} +{"Time":"2026-07-11T03:35:58.7123246+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleGetMemoryStats_NilStores_ValidJSON","Output":"--- PASS: TestHandleGetMemoryStats_NilStores_ValidJSON (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.7123246+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleGetMemoryStats_NilStores_ValidJSON","Elapsed":0} +{"Time":"2026-07-11T03:35:58.7123246+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_StoreTypeEnumCorrect"} +{"Time":"2026-07-11T03:35:58.7123246+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_StoreTypeEnumCorrect","Output":"=== CONT TestHandleToolsList_StoreTypeEnumCorrect\n"} +{"Time":"2026-07-11T03:35:58.7123246+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_StoreTypeEnumCorrect","Output":"--- PASS: TestHandleToolsList_StoreTypeEnumCorrect (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.7123246+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_StoreTypeEnumCorrect","Elapsed":0} +{"Time":"2026-07-11T03:35:58.7123246+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table"} +{"Time":"2026-07-11T03:35:58.7123246+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table","Output":"=== CONT TestCallTool_ParameterValidation_Table\n"} +{"Time":"2026-07-11T03:35:58.7123246+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/find_similar_observations/{invalid"} +{"Time":"2026-07-11T03:35:58.7123246+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/find_similar_observations/{invalid","Output":"=== RUN TestCallTool_ParameterValidation_Table/find_similar_observations/{invalid\n"} +{"Time":"2026-07-11T03:35:58.7123246+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/find_similar_observations/{invalid","Output":"=== PAUSE TestCallTool_ParameterValidation_Table/find_similar_observations/{invalid\n"} +{"Time":"2026-07-11T03:35:58.7123246+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/find_similar_observations/{invalid"} +{"Time":"2026-07-11T03:35:58.7123246+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/find_similar_observations/{}"} +{"Time":"2026-07-11T03:35:58.7123246+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/find_similar_observations/{}","Output":"=== RUN TestCallTool_ParameterValidation_Table/find_similar_observations/{}\n"} +{"Time":"2026-07-11T03:35:58.7123246+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/find_similar_observations/{}","Output":"=== PAUSE TestCallTool_ParameterValidation_Table/find_similar_observations/{}\n"} +{"Time":"2026-07-11T03:35:58.7123246+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/find_similar_observations/{}"} +{"Time":"2026-07-11T03:35:58.7123246+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/analyze_search_patterns/{invalid"} +{"Time":"2026-07-11T03:35:58.7123246+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/analyze_search_patterns/{invalid","Output":"=== RUN TestCallTool_ParameterValidation_Table/analyze_search_patterns/{invalid\n"} +{"Time":"2026-07-11T03:35:58.7123246+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/analyze_search_patterns/{invalid","Output":"=== PAUSE TestCallTool_ParameterValidation_Table/analyze_search_patterns/{invalid\n"} +{"Time":"2026-07-11T03:35:58.7123246+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/analyze_search_patterns/{invalid"} +{"Time":"2026-07-11T03:35:58.7123246+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_FeedbackSchemaCorrect"} +{"Time":"2026-07-11T03:35:58.7123246+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_FeedbackSchemaCorrect","Output":"=== CONT TestHandleToolsList_FeedbackSchemaCorrect\n"} +{"Time":"2026-07-11T03:35:58.7123246+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_FeedbackSchemaCorrect","Output":"--- PASS: TestHandleToolsList_FeedbackSchemaCorrect (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.7123246+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_FeedbackSchemaCorrect","Elapsed":0} +{"Time":"2026-07-11T03:35:58.7123246+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_CheckSystemHealth_NilStores"} +{"Time":"2026-07-11T03:35:58.7123246+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_CheckSystemHealth_NilStores","Output":"=== CONT TestCallTool_CheckSystemHealth_NilStores\n"} +{"Time":"2026-07-11T03:35:58.8369086+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_CheckSystemHealth_NilStores","Output":"{\"level\":\"debug\",\"connections\":5,\"time\":\"2026-07-11T03:35:58+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:35:58.8414105+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_CheckSystemHealth_NilStores","Output":"--- PASS: TestCallTool_CheckSystemHealth_NilStores (0.13s)\n"} +{"Time":"2026-07-11T03:35:58.8414105+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_CheckSystemHealth_NilStores","Elapsed":0.13} +{"Time":"2026-07-11T03:35:58.8414105+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_AllToolSchemasHaveTypeAndProperties"} +{"Time":"2026-07-11T03:35:58.8414105+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_AllToolSchemasHaveTypeAndProperties","Output":"=== CONT TestHandleToolsList_AllToolSchemasHaveTypeAndProperties\n"} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_AllToolSchemasHaveTypeAndProperties","Output":"--- PASS: TestHandleToolsList_AllToolSchemasHaveTypeAndProperties (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_AllToolSchemasHaveTypeAndProperties","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryStats_NilDB_NoMemoryOrVnextSections"} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryStats_NilDB_NoMemoryOrVnextSections","Output":"=== CONT TestGetMemoryStats_NilDB_NoMemoryOrVnextSections\n"} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryStats_NilDB_NoMemoryOrVnextSections","Output":"--- PASS: TestGetMemoryStats_NilDB_NoMemoryOrVnextSections (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryStats_NilDB_NoMemoryOrVnextSections","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_SchemaCompliance_NoForbiddenTopLevelKeys"} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_SchemaCompliance_NoForbiddenTopLevelKeys","Output":"=== CONT TestHandleToolsList_SchemaCompliance_NoForbiddenTopLevelKeys\n"} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_SchemaCompliance_NoForbiddenTopLevelKeys","Output":"--- PASS: TestHandleToolsList_SchemaCompliance_NoForbiddenTopLevelKeys (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_SchemaCompliance_NoForbiddenTopLevelKeys","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_GetMemoryStats_NilStores"} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_GetMemoryStats_NilStores","Output":"=== CONT TestCallTool_GetMemoryStats_NilStores\n"} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_GetMemoryStats_NilStores","Output":"--- PASS: TestCallTool_GetMemoryStats_NilStores (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_GetMemoryStats_NilStores","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_FindByFile_Removed"} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_FindByFile_Removed","Output":"=== CONT TestCallTool_FindByFile_Removed\n"} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_FindByFile_Removed","Output":"--- PASS: TestCallTool_FindByFile_Removed (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_FindByFile_Removed","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table"} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table","Output":"=== CONT TestCallTool_UnknownToolNames_Table\n"} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/invalid_tool"} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/invalid_tool","Output":"=== RUN TestCallTool_UnknownToolNames_Table/invalid_tool\n"} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/invalid_tool","Output":"=== PAUSE TestCallTool_UnknownToolNames_Table/invalid_tool\n"} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/invalid_tool"} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/nonexistent"} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/nonexistent","Output":"=== RUN TestCallTool_UnknownToolNames_Table/nonexistent\n"} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/nonexistent","Output":"=== PAUSE TestCallTool_UnknownToolNames_Table/nonexistent\n"} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/nonexistent"} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/search_v2"} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/search_v2","Output":"=== RUN TestCallTool_UnknownToolNames_Table/search_v2\n"} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/search_v2","Output":"=== PAUSE TestCallTool_UnknownToolNames_Table/search_v2\n"} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/search_v2"} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/timeline_x"} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/timeline_x","Output":"=== RUN TestCallTool_UnknownToolNames_Table/timeline_x\n"} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/timeline_x","Output":"=== PAUSE TestCallTool_UnknownToolNames_Table/timeline_x\n"} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/timeline_x"} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_RemovedToolsAbsent"} +{"Time":"2026-07-11T03:35:58.8419078+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_RemovedToolsAbsent","Output":"=== CONT TestHandleToolsList_RemovedToolsAbsent\n"} +{"Time":"2026-07-11T03:35:58.8424091+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_RemovedToolsAbsent","Output":"--- PASS: TestHandleToolsList_RemovedToolsAbsent (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8424091+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_RemovedToolsAbsent","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8424091+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolReturnsError"} +{"Time":"2026-07-11T03:35:58.8424091+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolReturnsError","Output":"=== CONT TestCallTool_UnknownToolReturnsError\n"} +{"Time":"2026-07-11T03:35:58.8424091+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolReturnsError","Output":"--- PASS: TestCallTool_UnknownToolReturnsError (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8424091+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolReturnsError","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8424091+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_IncludeAllContainsLegacy"} +{"Time":"2026-07-11T03:35:58.8424091+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_IncludeAllContainsLegacy","Output":"=== CONT TestHandleToolsList_IncludeAllContainsLegacy\n"} +{"Time":"2026-07-11T03:35:58.8424091+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_IncludeAllContainsLegacy","Output":"--- PASS: TestHandleToolsList_IncludeAllContainsLegacy (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8424091+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_IncludeAllContainsLegacy","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8424091+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_IncludeAllReturnsMore"} +{"Time":"2026-07-11T03:35:58.8424091+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_IncludeAllReturnsMore","Output":"=== CONT TestHandleToolsList_IncludeAllReturnsMore\n"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_IncludeAllReturnsMore","Output":"--- PASS: TestHandleToolsList_IncludeAllReturnsMore (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_IncludeAllReturnsMore","Elapsed":0} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_DefaultCountMatchesPrimary"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_DefaultCountMatchesPrimary","Output":"=== CONT TestHandleToolsList_DefaultCountMatchesPrimary\n"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_DefaultCountMatchesPrimary","Output":"--- PASS: TestHandleToolsList_DefaultCountMatchesPrimary (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_DefaultCountMatchesPrimary","Elapsed":0} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table","Output":"=== CONT TestTimelineParams_Unmarshal_Table\n"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/anchor_id"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/anchor_id","Output":"=== RUN TestTimelineParams_Unmarshal_Table/anchor_id\n"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/anchor_id","Output":"=== PAUSE TestTimelineParams_Unmarshal_Table/anchor_id\n"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/anchor_id"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/query_only"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/query_only","Output":"=== RUN TestTimelineParams_Unmarshal_Table/query_only\n"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/query_only","Output":"=== PAUSE TestTimelineParams_Unmarshal_Table/query_only\n"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/query_only"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/invalid_json"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/invalid_json","Output":"=== RUN TestTimelineParams_Unmarshal_Table/invalid_json\n"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/invalid_json","Output":"=== PAUSE TestTimelineParams_Unmarshal_Table/invalid_json\n"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/invalid_json"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/empty_object_valid"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/empty_object_valid","Output":"=== RUN TestTimelineParams_Unmarshal_Table/empty_object_valid\n"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/empty_object_valid","Output":"=== PAUSE TestTimelineParams_Unmarshal_Table/empty_object_valid\n"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/empty_object_valid"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestServer_FieldsInjected"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestServer_FieldsInjected","Output":"=== CONT TestServer_FieldsInjected\n"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestServer_FieldsInjected","Output":"--- PASS: TestServer_FieldsInjected (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestServer_FieldsInjected","Elapsed":0} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestVersion_ReturnsVersion"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestVersion_ReturnsVersion","Output":"=== CONT TestVersion_ReturnsVersion\n"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestVersion_ReturnsVersion","Output":"--- PASS: TestVersion_ReturnsVersion (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestVersion_ReturnsVersion","Elapsed":0} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_IDEchoed"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_IDEchoed","Output":"=== CONT TestHandleInitialize_IDEchoed\n"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_IDEchoed","Output":"--- PASS: TestHandleInitialize_IDEchoed (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_IDEchoed","Elapsed":0} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestNewServer_HasStdinStdout"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestNewServer_HasStdinStdout","Output":"=== CONT TestNewServer_HasStdinStdout\n"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestNewServer_HasStdinStdout","Output":"--- PASS: TestNewServer_HasStdinStdout (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestNewServer_HasStdinStdout","Elapsed":0} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_CapabilitiesPresent"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_CapabilitiesPresent","Output":"=== CONT TestHandleInitialize_CapabilitiesPresent\n"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_CapabilitiesPresent","Output":"--- PASS: TestHandleInitialize_CapabilitiesPresent (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_CapabilitiesPresent","Elapsed":0} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestNewServer_CreatesWithVersion"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestNewServer_CreatesWithVersion","Output":"=== CONT TestNewServer_CreatesWithVersion\n"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestNewServer_CreatesWithVersion","Output":"--- PASS: TestNewServer_CreatesWithVersion (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestNewServer_CreatesWithVersion","Elapsed":0} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_ProtocolAndVersion"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_ProtocolAndVersion","Output":"=== CONT TestHandleInitialize_ProtocolAndVersion\n"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_ProtocolAndVersion","Output":"--- PASS: TestHandleInitialize_ProtocolAndVersion (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_ProtocolAndVersion","Elapsed":0} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_AllFields"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_AllFields","Output":"=== CONT TestTimelineParams_AllFields\n"} +{"Time":"2026-07-11T03:35:58.842911+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_AllFields","Output":"--- PASS: TestTimelineParams_AllFields (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_AllFields","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_NilData_NotInOutput"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_NilData_NotInOutput","Output":"=== CONT TestError_NilData_NotInOutput\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_NilData_NotInOutput","Output":"--- PASS: TestError_NilData_NotInOutput (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_NilData_NotInOutput","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table","Output":"=== CONT TestResponse_Marshal_Table\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/success_result"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/success_result","Output":"=== RUN TestResponse_Marshal_Table/success_result\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/success_result","Output":"=== PAUSE TestResponse_Marshal_Table/success_result\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/success_result"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/error_response"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/error_response","Output":"=== RUN TestResponse_Marshal_Table/error_response\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/error_response","Output":"=== PAUSE TestResponse_Marshal_Table/error_response\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/error_response"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/error_with_data"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/error_with_data","Output":"=== RUN TestResponse_Marshal_Table/error_with_data\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/error_with_data","Output":"=== PAUSE TestResponse_Marshal_Table/error_with_data\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/error_with_data"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/nil_id"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/nil_id","Output":"=== RUN TestResponse_Marshal_Table/nil_id\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/nil_id","Output":"=== PAUSE TestResponse_Marshal_Table/nil_id\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/nil_id"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTool_Marshal_RoundTrip"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTool_Marshal_RoundTrip","Output":"=== CONT TestTool_Marshal_RoundTrip\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTool_Marshal_RoundTrip","Output":"--- PASS: TestTool_Marshal_RoundTrip (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTool_Marshal_RoundTrip","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table","Output":"=== CONT TestError_Marshal_Table\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/parse_error"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/parse_error","Output":"=== RUN TestError_Marshal_Table/parse_error\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/parse_error","Output":"=== PAUSE TestError_Marshal_Table/parse_error\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/parse_error"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/method_not_found"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/method_not_found","Output":"=== RUN TestError_Marshal_Table/method_not_found\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/method_not_found","Output":"=== PAUSE TestError_Marshal_Table/method_not_found\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/method_not_found"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/with_data"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/with_data","Output":"=== RUN TestError_Marshal_Table/with_data\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/with_data","Output":"=== PAUSE TestError_Marshal_Table/with_data\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/with_data"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/nil_data_omitted"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/nil_data_omitted","Output":"=== RUN TestError_Marshal_Table/nil_data_omitted\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/nil_data_omitted","Output":"=== PAUSE TestError_Marshal_Table/nil_data_omitted\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/nil_data_omitted"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_ComplexArgs"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_ComplexArgs","Output":"=== CONT TestToolCallParams_ComplexArgs\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_ComplexArgs","Output":"--- PASS: TestToolCallParams_ComplexArgs (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_ComplexArgs","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Unmarshal_NullID"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Unmarshal_NullID","Output":"=== CONT TestRequest_Unmarshal_NullID\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Unmarshal_NullID","Output":"--- PASS: TestRequest_Unmarshal_NullID (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Unmarshal_NullID","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal","Output":"=== CONT TestToolCallParams_Unmarshal\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/recall"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/recall","Output":"=== RUN TestToolCallParams_Unmarshal/recall\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/recall","Output":"=== PAUSE TestToolCallParams_Unmarshal/recall\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/recall"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/store"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/store","Output":"=== RUN TestToolCallParams_Unmarshal/store\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/store","Output":"=== PAUSE TestToolCallParams_Unmarshal/store\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/store"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/no-args"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/no-args","Output":"=== RUN TestToolCallParams_Unmarshal/no-args\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/no-args","Output":"=== PAUSE TestToolCallParams_Unmarshal/no-args\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/no-args"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Unmarshal_RoundTrip"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Unmarshal_RoundTrip","Output":"=== CONT TestRequest_Unmarshal_RoundTrip\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Unmarshal_RoundTrip","Output":"--- PASS: TestRequest_Unmarshal_RoundTrip (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Unmarshal_RoundTrip","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/initialize"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/initialize","Output":"=== CONT TestRequest_Marshal_Table/initialize\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/initialize","Output":"--- PASS: TestRequest_Marshal_Table/initialize (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/initialize","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/with_params"} +{"Time":"2026-07-11T03:35:58.8434076+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/with_params","Output":"=== CONT TestRequest_Marshal_Table/with_params\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/with_params","Output":"--- PASS: TestRequest_Marshal_Table/with_params (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/with_params","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/null_id"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/null_id","Output":"=== CONT TestRequest_Marshal_Table/null_id\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/null_id","Output":"--- PASS: TestRequest_Marshal_Table/null_id (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/null_id","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/string_id"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/string_id","Output":"=== CONT TestRequest_Marshal_Table/string_id\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/string_id","Output":"--- PASS: TestRequest_Marshal_Table/string_id (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/string_id","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table","Output":"--- PASS: TestRequest_Marshal_Table (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Parse_error"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Parse_error","Output":"=== CONT TestJSONRPCErrorCodes_Table/Parse_error\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Parse_error","Output":"--- PASS: TestJSONRPCErrorCodes_Table/Parse_error (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Parse_error","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Invalid_params"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Invalid_params","Output":"=== CONT TestJSONRPCErrorCodes_Table/Invalid_params\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Invalid_params","Output":"--- PASS: TestJSONRPCErrorCodes_Table/Invalid_params (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Invalid_params","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Method_not_found"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Method_not_found","Output":"=== CONT TestJSONRPCErrorCodes_Table/Method_not_found\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Method_not_found","Output":"--- PASS: TestJSONRPCErrorCodes_Table/Method_not_found (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Method_not_found","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Invalid_Request"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Invalid_Request","Output":"=== CONT TestJSONRPCErrorCodes_Table/Invalid_Request\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Invalid_Request","Output":"--- PASS: TestJSONRPCErrorCodes_Table/Invalid_Request (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Invalid_Request","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Internal_error"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Internal_error","Output":"=== CONT TestJSONRPCErrorCodes_Table/Internal_error\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Internal_error","Output":"--- PASS: TestJSONRPCErrorCodes_Table/Internal_error (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Internal_error","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table","Output":"--- PASS: TestJSONRPCErrorCodes_Table (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/resources/list"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/resources/list","Output":"=== CONT TestHandleRequest_CapabilityStubs/resources/list\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/resources/list","Output":"--- PASS: TestHandleRequest_CapabilityStubs/resources/list (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/resources/list","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/prompts/list"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/prompts/list","Output":"=== CONT TestHandleRequest_CapabilityStubs/prompts/list\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/prompts/list","Output":"--- PASS: TestHandleRequest_CapabilityStubs/prompts/list (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/prompts/list","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/completion/complete"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/completion/complete","Output":"=== CONT TestHandleRequest_CapabilityStubs/completion/complete\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/completion/complete","Output":"--- PASS: TestHandleRequest_CapabilityStubs/completion/complete (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/completion/complete","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/resources/templates/list"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/resources/templates/list","Output":"=== CONT TestHandleRequest_CapabilityStubs/resources/templates/list\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/resources/templates/list","Output":"--- PASS: TestHandleRequest_CapabilityStubs/resources/templates/list (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/resources/templates/list","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs","Output":"--- PASS: TestHandleRequest_CapabilityStubs (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/find_similar_observations/{invalid"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/find_similar_observations/{invalid","Output":"=== CONT TestCallTool_ParameterValidation_Table/find_similar_observations/{invalid\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/find_similar_observations/{invalid","Output":"--- PASS: TestCallTool_ParameterValidation_Table/find_similar_observations/{invalid (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/find_similar_observations/{invalid","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/analyze_search_patterns/{invalid"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/analyze_search_patterns/{invalid","Output":"=== CONT TestCallTool_ParameterValidation_Table/analyze_search_patterns/{invalid\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/analyze_search_patterns/{invalid","Output":"--- PASS: TestCallTool_ParameterValidation_Table/analyze_search_patterns/{invalid (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/analyze_search_patterns/{invalid","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/find_similar_observations/{}"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/find_similar_observations/{}","Output":"=== CONT TestCallTool_ParameterValidation_Table/find_similar_observations/{}\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/find_similar_observations/{}","Output":"--- PASS: TestCallTool_ParameterValidation_Table/find_similar_observations/{} (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/find_similar_observations/{}","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/invalid_tool"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/invalid_tool","Output":"=== CONT TestCallTool_UnknownToolNames_Table/invalid_tool\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table","Output":"--- PASS: TestCallTool_ParameterValidation_Table (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/invalid_tool","Output":"--- PASS: TestCallTool_UnknownToolNames_Table/invalid_tool (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/invalid_tool","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/search_v2"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/search_v2","Output":"=== CONT TestCallTool_UnknownToolNames_Table/search_v2\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/search_v2","Output":"--- PASS: TestCallTool_UnknownToolNames_Table/search_v2 (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/search_v2","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/timeline_x"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/timeline_x","Output":"=== CONT TestCallTool_UnknownToolNames_Table/timeline_x\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/timeline_x","Output":"--- PASS: TestCallTool_UnknownToolNames_Table/timeline_x (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/timeline_x","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/nonexistent"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/nonexistent","Output":"=== CONT TestCallTool_UnknownToolNames_Table/nonexistent\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/nonexistent","Output":"--- PASS: TestCallTool_UnknownToolNames_Table/nonexistent (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/nonexistent","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table","Output":"--- PASS: TestCallTool_UnknownToolNames_Table (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/anchor_id"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/anchor_id","Output":"=== CONT TestTimelineParams_Unmarshal_Table/anchor_id\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/anchor_id","Output":"--- PASS: TestTimelineParams_Unmarshal_Table/anchor_id (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/anchor_id","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/invalid_json"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/invalid_json","Output":"=== CONT TestTimelineParams_Unmarshal_Table/invalid_json\n"} +{"Time":"2026-07-11T03:35:58.8439089+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/invalid_json","Output":"--- PASS: TestTimelineParams_Unmarshal_Table/invalid_json (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/invalid_json","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/empty_object_valid"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/empty_object_valid","Output":"=== CONT TestTimelineParams_Unmarshal_Table/empty_object_valid\n"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/empty_object_valid","Output":"--- PASS: TestTimelineParams_Unmarshal_Table/empty_object_valid (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/empty_object_valid","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/query_only"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/query_only","Output":"=== CONT TestTimelineParams_Unmarshal_Table/query_only\n"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/query_only","Output":"--- PASS: TestTimelineParams_Unmarshal_Table/query_only (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/query_only","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table","Output":"--- PASS: TestTimelineParams_Unmarshal_Table (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/success_result"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/success_result","Output":"=== CONT TestResponse_Marshal_Table/success_result\n"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/success_result","Output":"--- PASS: TestResponse_Marshal_Table/success_result (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/success_result","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/error_with_data"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/error_with_data","Output":"=== CONT TestResponse_Marshal_Table/error_with_data\n"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/error_with_data","Output":"--- PASS: TestResponse_Marshal_Table/error_with_data (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/error_with_data","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/nil_id"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/nil_id","Output":"=== CONT TestResponse_Marshal_Table/nil_id\n"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/nil_id","Output":"--- PASS: TestResponse_Marshal_Table/nil_id (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/nil_id","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/error_response"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/error_response","Output":"=== CONT TestResponse_Marshal_Table/error_response\n"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/error_response","Output":"--- PASS: TestResponse_Marshal_Table/error_response (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/error_response","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table","Output":"--- PASS: TestResponse_Marshal_Table (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/parse_error"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/parse_error","Output":"=== CONT TestError_Marshal_Table/parse_error\n"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/parse_error","Output":"--- PASS: TestError_Marshal_Table/parse_error (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/parse_error","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/with_data"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/with_data","Output":"=== CONT TestError_Marshal_Table/with_data\n"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/with_data","Output":"--- PASS: TestError_Marshal_Table/with_data (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/with_data","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/nil_data_omitted"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/nil_data_omitted","Output":"=== CONT TestError_Marshal_Table/nil_data_omitted\n"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/nil_data_omitted","Output":"--- PASS: TestError_Marshal_Table/nil_data_omitted (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/nil_data_omitted","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/method_not_found"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/method_not_found","Output":"=== CONT TestError_Marshal_Table/method_not_found\n"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/method_not_found","Output":"--- PASS: TestError_Marshal_Table/method_not_found (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/method_not_found","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table","Output":"--- PASS: TestError_Marshal_Table (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/recall"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/recall","Output":"=== CONT TestToolCallParams_Unmarshal/recall\n"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/recall","Output":"--- PASS: TestToolCallParams_Unmarshal/recall (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/recall","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/no-args"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/no-args","Output":"=== CONT TestToolCallParams_Unmarshal/no-args\n"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/no-args","Output":"--- PASS: TestToolCallParams_Unmarshal/no-args (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/no-args","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/store"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/store","Output":"=== CONT TestToolCallParams_Unmarshal/store\n"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/store","Output":"--- PASS: TestToolCallParams_Unmarshal/store (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/store","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal","Output":"--- PASS: TestToolCallParams_Unmarshal (0.00s)\n"} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal","Elapsed":0} +{"Time":"2026-07-11T03:35:58.8444092+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"FAIL\n"} +{"Time":"2026-07-11T03:35:58.8664078+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"coverage: 46.2% of statements\n"} +{"Time":"2026-07-11T03:35:58.8949072+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"FAIL\tgithub.com/thebtf/engram/internal/mcp\t9.616s\n"} +{"Time":"2026-07-11T03:35:58.8949072+03:00","Action":"fail","Package":"github.com/thebtf/engram/internal/mcp","Elapsed":9.626} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/pg-stat-activity-after.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/pg-stat-activity-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/pg-stat-activity-after.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/pg-stat-activity-after.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/pg-stat-activity-after.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/pg-stat-activity-before.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/pg-stat-activity-before.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/repeat-summary.json b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/repeat-summary.json new file mode 100644 index 00000000..caba6896 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/repeat-summary.json @@ -0,0 +1,36 @@ +{ + "repeat": 1, + "verdict": "FAIL", + "database": "engram_prc_rg_test_4a8d23a359bc81a6_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_4a8d23a359bc81a6_r1.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": false, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 1, + "json_parser_exit": 1, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\cleanup\\cleanup.json", + "errors": [ + "go test failed with exit 1", + "go test JSON assertion failed with exit 1" + ], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01" +} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/server-connection-count-after.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/server-connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/server-connection-count-after.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/server-connection-count-after.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/server-connection-count-after.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/server-connection-count-before.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/server-connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/server-connection-count-before.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/server-connection-count-before.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/server-connection-count-before.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/targeted-coverage.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/targeted-coverage.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/targeted-coverage.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/targeted-coverage.stdout.log new file mode 100644 index 00000000..0707546e --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/repeat-01/targeted-coverage.stdout.log @@ -0,0 +1,352 @@ +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33: effectiveAuditWriter 80.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44: isAuditEnabled 100.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52: runAuditAsync 100.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77: marshalState 62.5% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92: logAuditCreate 100.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117: logAuditEdit 90.9% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142: logAuditDelete 90.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166: logAuditGeneric 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189: logAuditSupersede 90.0% +github.com/thebtf/engram/internal/mcp/coerce.go:30: parseArgs 87.5% +github.com/thebtf/engram/internal/mcp/coerce.go:46: coerceString 100.0% +github.com/thebtf/engram/internal/mcp/coerce.go:67: coerceInt 93.3% +github.com/thebtf/engram/internal/mcp/coerce.go:97: coerceInt64 86.7% +github.com/thebtf/engram/internal/mcp/coerce.go:127: coerceFloat64 81.8% +github.com/thebtf/engram/internal/mcp/coerce.go:151: coerceBool 66.7% +github.com/thebtf/engram/internal/mcp/coerce.go:177: coerceStringSlice 84.6% +github.com/thebtf/engram/internal/mcp/coerce.go:204: coerceInt64Slice 100.0% +github.com/thebtf/engram/internal/mcp/coerce.go:222: clampToInt 100.0% +github.com/thebtf/engram/internal/mcp/coerce.go:236: clampInt64ToInt 60.0% +github.com/thebtf/engram/internal/mcp/context.go:17: extractProjectFromHeader 100.0% +github.com/thebtf/engram/internal/mcp/context.go:22: contextWithProject 100.0% +github.com/thebtf/engram/internal/mcp/context.go:29: ContextWithProject 100.0% +github.com/thebtf/engram/internal/mcp/context.go:35: projectFromContext 100.0% +github.com/thebtf/engram/internal/mcp/context.go:41: contextWithSession 100.0% +github.com/thebtf/engram/internal/mcp/context.go:48: ContextWithSession 100.0% +github.com/thebtf/engram/internal/mcp/context.go:54: sessionFromContext 100.0% +github.com/thebtf/engram/internal/mcp/context.go:61: actorFromContext 100.0% +github.com/thebtf/engram/internal/mcp/health.go:22: NewMCPHealth 0.0% +github.com/thebtf/engram/internal/mcp/health.go:29: RecordRequest 0.0% +github.com/thebtf/engram/internal/mcp/health.go:36: RecordError 0.0% +github.com/thebtf/engram/internal/mcp/health.go:42: rotateWindowIfNeeded 0.0% +github.com/thebtf/engram/internal/mcp/health.go:55: HandleHealth 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28: ruleGovernanceCaptureEnabled 50.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39: captureActiveRuleIntent 80.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104: ruleIntentFingerprint 100.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113: marshalRuleCandidateIntentResponse 85.7% +github.com/thebtf/engram/internal/mcp/server.go:127: NewServer 100.0% +github.com/thebtf/engram/internal/mcp/server.go:141: SetBackfillStatusFunc 0.0% +github.com/thebtf/engram/internal/mcp/server.go:146: SetVersionedDocumentStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:151: SetIssueStore 100.0% +github.com/thebtf/engram/internal/mcp/server.go:156: SetMemoryStore 100.0% +github.com/thebtf/engram/internal/mcp/server.go:161: SetMetaMemoryIndex 100.0% +github.com/thebtf/engram/internal/mcp/server.go:166: SetHintQueue 100.0% +github.com/thebtf/engram/internal/mcp/server.go:171: SetStateStore 100.0% +github.com/thebtf/engram/internal/mcp/server.go:176: SetDirectiveCaptureService 100.0% +github.com/thebtf/engram/internal/mcp/server.go:181: SetBehavioralRulesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:186: SetRuleGovernanceStore 100.0% +github.com/thebtf/engram/internal/mcp/server.go:191: SetRuleInjectionTelemetryStore 100.0% +github.com/thebtf/engram/internal/mcp/server.go:195: SetPromotionStore 100.0% +github.com/thebtf/engram/internal/mcp/server.go:199: SetGraphStore 100.0% +github.com/thebtf/engram/internal/mcp/server.go:204: SetNodesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:211: SetAuditStore 100.0% +github.com/thebtf/engram/internal/mcp/server.go:216: SetPurgeStore 100.0% +github.com/thebtf/engram/internal/mcp/server.go:222: SetCandidateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:228: SetSnapshotStore 100.0% +github.com/thebtf/engram/internal/mcp/server.go:234: SetBulkFacade 0.0% +github.com/thebtf/engram/internal/mcp/server.go:240: setTestAuditWriter 100.0% +github.com/thebtf/engram/internal/mcp/server.go:246: setTestMemoryEditor 100.0% +github.com/thebtf/engram/internal/mcp/server.go:252: setTestMemorySignificanceUpdater 100.0% +github.com/thebtf/engram/internal/mcp/server.go:260: SetWriteLintOrchestrator 100.0% +github.com/thebtf/engram/internal/mcp/server.go:269: SetRedactionRules 0.0% +github.com/thebtf/engram/internal/mcp/server.go:274: SetEmbeddingStores 0.0% +github.com/thebtf/engram/internal/mcp/server.go:282: SetRerankClient 0.0% +github.com/thebtf/engram/internal/mcp/server.go:290: SetStatsDB 0.0% +github.com/thebtf/engram/internal/mcp/server.go:297: HandleRequest 100.0% +github.com/thebtf/engram/internal/mcp/server.go:303: ListTools 71.4% +github.com/thebtf/engram/internal/mcp/server.go:332: Version 100.0% +github.com/thebtf/engram/internal/mcp/server.go:383: Run 81.8% +github.com/thebtf/engram/internal/mcp/server.go:427: handleRequest 100.0% +github.com/thebtf/engram/internal/mcp/server.go:461: handleNotification 50.0% +github.com/thebtf/engram/internal/mcp/server.go:473: handleInitialize 100.0% +github.com/thebtf/engram/internal/mcp/server.go:496: buildInstructions 25.0% +github.com/thebtf/engram/internal/mcp/server.go:660: storeMemoryTool 100.0% +github.com/thebtf/engram/internal/mcp/server.go:712: recallMemoryTool 100.0% +github.com/thebtf/engram/internal/mcp/server.go:805: primaryTools 100.0% +github.com/thebtf/engram/internal/mcp/server.go:942: handleToolsList 85.9% +github.com/thebtf/engram/internal/mcp/server.go:1612: handleToolsCall 100.0% +github.com/thebtf/engram/internal/mcp/server.go:1644: sanitizeToolCallArgs 83.3% +github.com/thebtf/engram/internal/mcp/server.go:1656: callTool 33.0% +github.com/thebtf/engram/internal/mcp/server.go:1874: sendResponse 60.0% +github.com/thebtf/engram/internal/mcp/server.go:1884: sendError 100.0% +github.com/thebtf/engram/internal/mcp/server.go:1896: handleFindSimilarObservations 92.3% +github.com/thebtf/engram/internal/mcp/server.go:1927: handleGetMemoryStats 12.3% +github.com/thebtf/engram/internal/mcp/server.go:2055: handleBackfillStatus 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2071: handleCheckSystemHealth 64.1% +github.com/thebtf/engram/internal/mcp/server.go:2216: handleAnalyzeSearchPatterns 30.0% +github.com/thebtf/engram/internal/mcp/server.go:2246: handleSearchSessions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2251: handleListSessions 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:18: buildAdminTool 100.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:68: adminActionsForEnv 100.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:80: vnextEnabled 100.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:84: handleAdmin 57.1% +github.com/thebtf/engram/internal/mcp/tools_admin.go:120: handlePurgeProject 88.2% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27: ambientHintsEnabledFromEnv 100.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32: ambientHintsTool 100.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48: handleGetAmbientHints 79.2% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86: normalizeAmbientHintsToolLimit 80.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96: ambientHintItems 83.3% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114: errMissingSessionID 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:31: handleGetMemoryBrief 31.4% +github.com/thebtf/engram/internal/mcp/tools_brief.go:107: memoryBriefUsesPrincipalScope 100.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:115: handlePrincipalMemoryBrief 73.8% +github.com/thebtf/engram/internal/mcp/tools_brief.go:259: truncateBriefContent 75.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:270: filterInjectionByScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25: bulkOpsTools 100.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95: handleBulkPromote 52.4% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154: handleBulkDelete 47.6% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211: handleBulkSupersede 47.6% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31: candidateItemFromDomain 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51: newCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59: requireCandidateReviewSnapshot 100.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68: candidateTools 100.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165: handleListCandidates 28.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208: handleGetCandidate 35.3% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239: handlePromoteCandidate 23.5% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348: handleRejectCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402: handleSupersedeCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34: codeIntelEnabled 100.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42: SetCodeChunkStore 100.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48: codebaseSearchTool 100.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79: codebaseStatusTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100: handleCodebaseSearch 6.9% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194: handleCodebaseStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:21: getVault 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:35: credentialStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:49: handleStoreCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:130: handleGetCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:192: handleListCredentials 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:243: handleDeleteCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:302: handleVaultStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:338: expandTagHierarchy 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:16: directivesCaptureEnabledFromEnv 100.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:20: rememberDirectiveTool 100.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:38: currentDirectiveCaptureService 100.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:48: handleRememberDirective 87.5% +github.com/thebtf/engram/internal/mcp/tools_directives.go:72: parseRememberDirectiveArgs 75.0% +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10: handleDocsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:15: handleListCollections 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:61: handleListDocuments 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:121: handleGetDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:165: handleRemoveDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:197: handleIngestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:235: handleSearchCollection 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15: handleDocCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61: handleDocRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117: handleDocUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122: handleDocList 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175: handleDocHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232: handleDocComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19: SetExperienceProvider 100.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23: experienceHistoryTools 100.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40: experienceHistoryReadSchema 100.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65: experienceHistoryDetailSchema 100.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82: experienceHistoryTriggerEnum 100.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91: handleExperienceHistoryRead 85.7% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103: handleExperienceHistoryDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115: parseExperienceHistoryReadArgs 75.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142: parseExperienceHistoryDetailArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157: experienceHistoryTriggersFromArgs 93.3% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180: marshalExperienceHistory 75.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12: handleFeedbackConsolidated 54.5% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36: handleSetSessionOutcome 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:27: governanceTools 100.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:98: handleListSnapshots 10.7% +github.com/thebtf/engram/internal/mcp/tools_governance.go:167: handleRollbackSnapshot 13.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:215: handlePinSnapshot 16.7% +github.com/thebtf/engram/internal/mcp/tools_governance.go:258: handleRedactionRulesStatus 76.9% +github.com/thebtf/engram/internal/mcp/tools_governance.go:284: resolveGovernanceActor 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:64: handleGraph 12.5% +github.com/thebtf/engram/internal/mcp/tools_graph.go:100: graphAddEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:216: mcpGraphEndpointExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:243: mcpGraphEdgeAlreadyExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:276: graphAddNode 85.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:317: graphRemoveEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:332: graphGetEdges 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:397: filterEdgesByNodeType 80.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:457: graphTraverse 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:480: graphFindPath 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:502: graphSynonyms 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23: graphCreateEdgeWithGuards 80.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80: graphEndpointExistsWithGuards 71.4% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114: graphDuplicateEdgeExists 57.9% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25: handleIngest 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43: ingestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20: handleImportInstincts 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:19: issuesToolSchema 100.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:109: validateIssueActionParams 60.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:143: handleIssues 41.2% +github.com/thebtf/engram/internal/mcp/tools_issues.go:189: resolveSourceProject 77.8% +github.com/thebtf/engram/internal/mcp/tools_issues.go:205: handleIssueCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:250: handleIssueList 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:311: handleIssueGet 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:344: handleIssueUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:382: handleIssueComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:408: handleIssueReopen 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:425: handleIssueClose 90.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22: handleLifecycle 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48: lifecycleInfo 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87: lifecyclePromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118: lifecycleDemote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149: lifecycleSetConfidence 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172: lifecycleSetDefeasibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191: lifecycleSleepStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197: lifecycleDecayPreview 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233: marshalJSON 75.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:35: vnextFEnabled 100.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:42: isValidPrivacyScope 100.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:54: derivePrivacyScopeFromLegacy 75.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:82: deriveLegacyScopeFromPrivacy 50.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:93: applyPrincipalMemoryMetadata 95.7% +github.com/thebtf/engram/internal/mcp/tools_memory.go:135: addPrincipalMemoryFields 100.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:161: newScopedWriteLintMemoryStore 66.7% +github.com/thebtf/engram/internal/mcp/tools_memory.go:172: writeLintVisibilityCaller 100.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:186: writeLintVisibilityOptions 100.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:192: scopedWriteLintMemoryStore 83.3% +github.com/thebtf/engram/internal/mcp/tools_memory.go:202: filterVisibleWriteGateCandidates 100.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:214: domainManageAllowed 100.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:218: List 28.6% +github.com/thebtf/engram/internal/mcp/tools_memory.go:272: writeLintVisibilityFetchLimit 75.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:286: Get 83.3% +github.com/thebtf/engram/internal/mcp/tools_memory.go:297: Create 100.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:301: Update 100.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:305: MarkSuperseded 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:319: effectiveMemoryEditor 40.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:329: isValidStoreObservationType 66.7% +github.com/thebtf/engram/internal/mcp/tools_memory.go:354: handleStoreMemory 56.4% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111: handleEditMemory 81.1% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218: computeTTLDays 35.3% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258: truncateTitle 100.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270: keepRecallMemory 100.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280: keepRecallMemoryFilters 40.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342: handleRecallMemory 69.3% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690: staleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700: marshalWithStaleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727: Rank 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1751: handleRecallMemoryHybrid 26.6% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252: handleRateMemory 53.3% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281: handleSuppressMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17: SetDomainRegistryService 100.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21: checkDomainWriteMCP 90.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43: addDomainWriteDecisionFields 100.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51: marshalStoreMemoryAugmented 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26: newMemoryStoreSignificanceUpdater 66.7% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33: s6OutcomeEnabledFromEnv 100.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37: effectiveMemorySignificanceUpdater 80.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47: currentMemorySignificanceUpdater 100.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58: rateMemorySignificanceTool 100.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74: handleRateMemorySignificance 82.4% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109: RateMemorySignificance 61.5% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18: s2MetaMemoryEnabled 100.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22: knowAboutTool 100.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39: handleKnowAbout 82.4% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104: parseKnowAboutLimit 75.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118: summarizeMetaIndexTags 95.2% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153: summarizeMetaIndexDateRange 100.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23: SetPrincipalMemoryQueryService 100.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27: principalMemoryQueryTool 100.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52: handleQueryPrincipalMemory 73.2% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134: principalMemoryQueryCaller 88.9% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149: parsePrincipalMemoryQueryLimit 100.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160: principalMemoryQueryText 100.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167: parsePrincipalMemoryQueryVisibility 60.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179: parsePrincipalMemoryQueryOffset 33.3% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190: parsePrincipalMemoryQueryInt 23.1% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215: parsePrincipalMemoryQueryBool 66.7% +github.com/thebtf/engram/internal/mcp/tools_recall.go:28: handleRecall 24.3% +github.com/thebtf/engram/internal/mcp/tools_recall.go:125: parseRecallIncludedPrincipals 88.9% +github.com/thebtf/engram/internal/mcp/tools_recall.go:165: appendRecallIncludedPrincipalMemories 80.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:223: recallIncludeTargetMatchesCaller 100.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:231: recallPrincipalQueryItemToMemory 100.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:247: handleRecallSearch 64.4% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20: currentReviewLoopCandidateLister 80.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30: reviewLoopCandidateTools 100.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65: reviewLoopReadSchema 100.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78: reviewPacketIDSchema 100.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91: handleReviewMetricsRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110: handleReviewQueueRead 80.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140: handleReviewPacketDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151: handleReviewPacketPreviewAction 30.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167: handleReviewPacketApplyAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189: parseReviewLoopReadArgs 73.3% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212: reviewLoopMCPPacketTypeSupported 100.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217: reviewLoopActionFromArgs 75.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225: reviewLoopReasonFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233: loadReviewPacketCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256: applyReviewPacketPreserve 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278: applyReviewPacketSuppress 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296: reviewLoopMemoryFromCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320: filterRiskyMCPReviewCandidates 100.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330: marshalReviewLoop 75.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17: ruleGovernanceReadTools 100.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126: handleRuleGovernanceHealth 85.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176: handleRuleGovernanceQueue 81.8% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233: handleRuleGovernanceSnapshots 76.5% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278: handleRuleGovernanceUsefulness 73.1% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338: handleRuleGovernanceTransition 76.5% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373: handleRuleGovernancePinSnapshot 72.2% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406: handleRuleGovernanceRollback 70.6% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483: requireRuleGovernanceReadAccess 83.3% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495: requireRuleGovernanceProjectOrAdmin 100.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505: ruleGovernanceCallerIsAdmin 100.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510: requireRuleGovernanceAdminAccess 100.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518: redactRuleGovernanceEvidenceHandles 90.9% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535: redactRuleGovernanceEvidenceHandle 90.9% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553: ruleGovernanceEvidenceHandleHasSensitiveText 100.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559: isCanonicalRuleGovernanceEvidenceHandle 75.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580: isSafeRuleGovernanceEvidenceID 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594: parseRuleGovernanceTransitionRequest 100.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604: parseRuleGovernanceSince 58.3% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623: boundedRuleGovernanceLimit 66.7% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634: formatRuleGovernanceTime 100.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641: formatRuleGovernanceTimePtr 50.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649: stringRuleCandidateStatusCounts 75.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657: stringRuleVersionStateCounts 75.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665: stringRuleArbiterRunStatusCounts 75.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673: stringRuleInjectionEventTypeCounts 75.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:17: handleStoreRule 56.6% +github.com/thebtf/engram/internal/mcp/tools_rules.go:133: handleListRules 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:22: handleSettingsConsolidated 75.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:51: SetSettingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:57: settingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:67: isSecretSettingKey 100.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:74: requireAdmin 100.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:85: handleSetSetting 28.6% +github.com/thebtf/engram/internal/mcp/tools_settings.go:145: handleGetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:181: handleListSettings 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:216: handleDeleteSetting 15.4% +github.com/thebtf/engram/internal/mcp/tools_state.go:35: resumeScopesFromFields 100.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:52: stateTool 100.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:82: setStateTool 100.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:142: handleGetState 75.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:219: handleSetState 77.8% +github.com/thebtf/engram/internal/mcp/tools_state.go:274: decodeSessionStateForWrite 80.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:292: validateSessionStateBudget 83.3% +github.com/thebtf/engram/internal/mcp/tools_state.go:303: validateNativeResumePacket 89.7% +github.com/thebtf/engram/internal/mcp/tools_state.go:349: decodeProjectStateForWrite 75.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:364: requireStateObject 63.6% +github.com/thebtf/engram/internal/mcp/tools_state.go:383: requireNestedObject 83.3% +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10: handleStoreConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21: SetTemporalTruthProvider 100.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25: temporalTruthEnabledFromEnv 100.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30: temporalTruthTool 100.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39: temporalTruthRefreshTool 100.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48: temporalTruthRefreshSchema 100.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58: temporalTruthSchema 100.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72: currentTemporalTruthProvider 100.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82: handleTemporalTruth 84.6% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102: handleTemporalTruthRefresh 84.6% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122: parseTemporalTruthArgs 87.5% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151: parseTemporalTruthRefreshProject 85.7% +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10: handleVaultConsolidated 0.0% +total: (statements) 46.2% diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/summary.json b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/summary.json new file mode 100644 index 00000000..ce7bd586 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-full-mcp/summary.json @@ -0,0 +1,67 @@ +{ + "schema_version": 1, + "gate": "release-gates-foundation", + "run_id": "t007-maker-full-mcp", + "started_at": "2026-07-11T00:35:42.4341012+00:00", + "finished_at": "2026-07-11T00:36:05.2708116+00:00", + "duration_seconds": 22.837, + "verdict": "FAIL", + "counts": { + "requested_repeats": 1, + "completed_repeats": 1, + "passed_repeats": 0, + "failed_repeats": 1, + "child_commands": 16, + "nonzero_child_commands": 2 + }, + "packages": [ + "./internal/mcp" + ], + "run_pattern": null, + "coverage_policy": "Targeted", + "connection_budget": 20, + "race": false, + "database_dsn": "REDACTED_DATABASE_DSN", + "environment": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\environment.json", + "commands": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\commands.json", + "repeats": [ + { + "repeat": 1, + "verdict": "FAIL", + "database": "engram_prc_rg_test_4a8d23a359bc81a6_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_4a8d23a359bc81a6_r1.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": false, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 1, + "json_parser_exit": 1, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01\\cleanup\\cleanup.json", + "errors": [ + "go test failed with exit 1", + "go test JSON assertion failed with exit 1" + ], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp\\repeat-01" + } + ], + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-full-mcp" +} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/commands.json b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/commands.json new file mode 100644 index 00000000..0146ca25 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/commands.json @@ -0,0 +1,444 @@ +[ + { + "name": "go-version", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "version" + ], + "environment_keys": [], + "command": "C:\\Program Files\\Go\\bin\\go.exe version", + "started_at": "2026-07-11T00:38:39.4056550+00:00", + "finished_at": "2026-07-11T00:38:39.6226005+00:00", + "duration_seconds": 0.217, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\go-version.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\go-version.stderr.log" + }, + { + "name": "postgres-container-identity", + "executable": "docker", + "arguments": [ + "inspect", + "--format", + "{{.Name}}|{{.Config.Image}}|{{.Image}}|{{.State.Running}}", + "engram-prc-postgres" + ], + "environment_keys": [], + "command": "docker inspect --format {{.Name}}|{{.Config.Image}}|{{.Image}}|{{.State.Running}} engram-prc-postgres", + "started_at": "2026-07-11T00:38:39.6790962+00:00", + "finished_at": "2026-07-11T00:38:39.9635602+00:00", + "duration_seconds": 0.284, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\postgres-container-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\postgres-container-identity.stderr.log" + }, + { + "name": "postgres-server-identity", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT json_build_object('server_version', current_setting('server_version'), 'server_version_num', current_setting('server_version_num'), 'version', version(), 'max_connections', current_setting('max_connections'), 'superuser_reserved_connections', current_setting('superuser_reserved_connections'), 'reserved_connections', COALESCE(NULLIF(current_setting('reserved_connections', true), ''), '0'), 'current_connections', (SELECT count(*)::text FROM pg_stat_activity), 'database', current_database(), 'schema', current_schema(), 'user', current_user)::text;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT json_build_object('server_version', current_setting('server_version'), 'server_version_num', current_setting('server_version_num'), 'version', version(), 'max_connections', current_setting('max_connections'), 'superuser_reserved_connections', current_setting('superuser_reserved_connections'), 'reserved_connections', COALESCE(NULLIF(current_setting('reserved_connections', true), ''), '0'), 'current_connections', (SELECT count(*)::text FROM pg_stat_activity), 'database', current_database(), 'schema', current_schema(), 'user', current_user)::text;", + "started_at": "2026-07-11T00:38:39.9744086+00:00", + "finished_at": "2026-07-11T00:38:40.4393987+00:00", + "duration_seconds": 0.465, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\postgres-server-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\postgres-server-identity.stderr.log" + }, + { + "name": "repeat-1-create-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "CREATE DATABASE \"engram_prc_rg_test_8a461b2905076235_r1\" OWNER \"engram\";" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c CREATE DATABASE \"engram_prc_rg_test_8a461b2905076235_r1\" OWNER \"engram\";", + "started_at": "2026-07-11T00:38:40.4715604+00:00", + "finished_at": "2026-07-11T00:38:40.9083262+00:00", + "duration_seconds": 0.437, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\create-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\create-database.stderr.log" + }, + { + "name": "repeat-1-create-pgvector", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_8a461b2905076235_r1", + "-At", + "-F", + "|", + "-c", + "CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_8a461b2905076235_r1 -At -F | -c CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;", + "started_at": "2026-07-11T00:38:40.9118425+00:00", + "finished_at": "2026-07-11T00:38:41.3035556+00:00", + "duration_seconds": 0.392, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\create-pgvector.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\create-pgvector.stderr.log" + }, + { + "name": "repeat-1-database-identity", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_8a461b2905076235_r1", + "-At", + "-F", + "|", + "-c", + "SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_8a461b2905076235_r1 -At -F | -c SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;", + "started_at": "2026-07-11T00:38:41.3061420+00:00", + "finished_at": "2026-07-11T00:38:41.6898050+00:00", + "duration_seconds": 0.384, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\database-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\database-identity.stderr.log" + }, + { + "name": "repeat-1-pg-stat-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8a461b2905076235_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8a461b2905076235_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:38:41.6937891+00:00", + "finished_at": "2026-07-11T00:38:42.0080540+00:00", + "duration_seconds": 0.314, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\pg-stat-activity-before.stderr.log" + }, + { + "name": "repeat-1-server-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T00:38:42.0104621+00:00", + "finished_at": "2026-07-11T00:38:42.3818887+00:00", + "duration_seconds": 0.371, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\server-connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\server-connection-count-before.stderr.log" + }, + { + "name": "repeat-1-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8a461b2905076235_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8a461b2905076235_r1';", + "started_at": "2026-07-11T00:38:42.3913766+00:00", + "finished_at": "2026-07-11T00:38:42.7692414+00:00", + "duration_seconds": 0.378, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\connection-count-before.stderr.log" + }, + { + "name": "repeat-1-go-test", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "test", + "-json", + "-p", + "1", + "-parallel", + "1", + "-count=1", + "-timeout", + "30m", + "-covermode=atomic", + "-coverprofile=.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\coverage.out", + "-run", + "^TestEC_F1_TagDerivedBackfill_T007$", + "./internal/mcp" + ], + "environment_keys": [ + "DATABASE_DSN", + "DATABASE_MAX_CONNS", + "ENGRAM_RELEASE_GATE_REPEAT", + "ENGRAM_RELEASE_GATE_RUN_ID", + "ENGRAM_TEST_DSN", + "TEST_DATABASE_DSN" + ], + "command": "C:\\Program Files\\Go\\bin\\go.exe test -json -p 1 -parallel 1 -count=1 -timeout 30m -covermode=atomic -coverprofile=.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\coverage.out -run ^TestEC_F1_TagDerivedBackfill_T007$ ./internal/mcp", + "started_at": "2026-07-11T00:38:42.7765391+00:00", + "finished_at": "2026-07-11T00:38:48.3431940+00:00", + "duration_seconds": 5.567, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\go-test.stdout.jsonl", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\go-test.stderr.log" + }, + { + "name": "repeat-1-assert-go-test-json", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-current-contract\\scripts\\production-gates\\assert-go-test-json.ps1", + "-InputPath", + ".agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\go-test.stdout.jsonl", + "-SummaryPath", + ".agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\go-test-summary.json", + "-FailOnUnexpectedSkip" + ], + "environment_keys": [], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-current-contract\\scripts\\production-gates\\assert-go-test-json.ps1 -InputPath .agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\go-test.stdout.jsonl -SummaryPath .agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\go-test-summary.json -FailOnUnexpectedSkip", + "started_at": "2026-07-11T00:38:48.3481831+00:00", + "finished_at": "2026-07-11T00:38:49.0468567+00:00", + "duration_seconds": 0.699, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\assert-go-test-json.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\assert-go-test-json.stderr.log" + }, + { + "name": "repeat-1-targeted-coverage-report", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "tool", + "cover", + "-func=.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\coverage.out" + ], + "environment_keys": [], + "command": "C:\\Program Files\\Go\\bin\\go.exe tool cover -func=.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\coverage.out", + "started_at": "2026-07-11T00:38:49.0523387+00:00", + "finished_at": "2026-07-11T00:38:49.6069690+00:00", + "duration_seconds": 0.555, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\targeted-coverage.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\targeted-coverage.stderr.log" + }, + { + "name": "repeat-1-pg-stat-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8a461b2905076235_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8a461b2905076235_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:38:49.6079059+00:00", + "finished_at": "2026-07-11T00:38:50.1525425+00:00", + "duration_seconds": 0.545, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\pg-stat-activity-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\pg-stat-activity-after.stderr.log" + }, + { + "name": "repeat-1-server-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T00:38:50.1544278+00:00", + "finished_at": "2026-07-11T00:38:50.5342088+00:00", + "duration_seconds": 0.38, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\server-connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\server-connection-count-after.stderr.log" + }, + { + "name": "repeat-1-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8a461b2905076235_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8a461b2905076235_r1';", + "started_at": "2026-07-11T00:38:50.5365620+00:00", + "finished_at": "2026-07-11T00:38:50.8891678+00:00", + "duration_seconds": 0.353, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\connection-count-after.stderr.log" + }, + { + "name": "repeat-1-cleanup", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-current-contract\\scripts\\production-gates\\cleanup-db-sessions.ps1", + "-DatabaseName", + "engram_prc_rg_test_8a461b2905076235_r1", + "-SchemaName", + "public", + "-ArtifactRoot", + ".agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01", + "-RunId", + "t007-maker-post-prove-green-repeat-1", + "-PostgresContainer", + "engram-prc-postgres" + ], + "environment_keys": [ + "ENGRAM_TEST_ADMIN_DSN" + ], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-current-contract\\scripts\\production-gates\\cleanup-db-sessions.ps1 -DatabaseName engram_prc_rg_test_8a461b2905076235_r1 -SchemaName public -ArtifactRoot .agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01 -RunId t007-maker-post-prove-green-repeat-1 -PostgresContainer engram-prc-postgres", + "started_at": "2026-07-11T00:38:50.8932344+00:00", + "finished_at": "2026-07-11T00:38:53.8913888+00:00", + "duration_seconds": 2.998, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\cleanup-process.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\cleanup-process.stderr.log" + } +] diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/environment.json b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/environment.json new file mode 100644 index 00000000..35d1be54 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/environment.json @@ -0,0 +1,52 @@ +{ + "schema_version": 1, + "run_id": "t007-maker-post-prove-green", + "timestamp": "2026-07-11T00:38:39.3860044+00:00", + "go_version": "go version go1.25.11 windows/amd64", + "postgres": { + "declared_image": "pgvector/pgvector:pg17", + "container": { + "name": "/engram-prc-postgres", + "configured_image": "pgvector/pgvector:pg17", + "image_id": "sha256:feb68f4f15446397d8cac7f4fe48fe4586de83160d1fc48b46283312d1a33966", + "running": true + }, + "server": { + "server_version": "17.10 (Debian 17.10-1.pgdg12+1)", + "server_version_num": "170010", + "version": "PostgreSQL 17.10 (Debian 17.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit", + "max_connections": "100", + "superuser_reserved_connections": "3", + "reserved_connections": "0", + "current_connections": "6", + "database": "postgres", + "schema": "public", + "user": "engram" + }, + "admin_dsn": "postgres://engram:REDACTED@127.0.0.1:55432/postgres?sslmode=disable" + }, + "packages": [ + "./internal/mcp" + ], + "run_pattern": "^TestEC_F1_TagDerivedBackfill_T007$", + "repeat": 1, + "fail_on_unexpected_skip": true, + "allowed_skip_identities": [], + "coverage_policy": "Targeted", + "connection_budget": 20, + "race": false, + "require_session_start_execution": false, + "required_session_start_test_count": 12, + "sequential_execution": { + "go_package_parallelism": 1, + "go_test_parallelism": 1, + "database_max_connections": 20 + }, + "govulncheck_policy": { + "authoritative": [ + "source scan with tests", + "unstripped binary scan" + ], + "non_authoritative": "stripped binary scan (module-level fallback when symbols are absent)" + } +} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/go-version.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/go-version.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/go-version.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/go-version.stdout.log new file mode 100644 index 00000000..a857be3f --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/go-version.stdout.log @@ -0,0 +1 @@ +go version go1.25.11 windows/amd64 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/postgres-container-identity.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/postgres-container-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/postgres-container-identity.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/postgres-container-identity.stdout.log new file mode 100644 index 00000000..c110d492 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/postgres-container-identity.stdout.log @@ -0,0 +1 @@ +/engram-prc-postgres|pgvector/pgvector:pg17|sha256:feb68f4f15446397d8cac7f4fe48fe4586de83160d1fc48b46283312d1a33966|true diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/postgres-server-identity.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/postgres-server-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/postgres-server-identity.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/postgres-server-identity.stdout.log new file mode 100644 index 00000000..2e33d56e --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/postgres-server-identity.stdout.log @@ -0,0 +1 @@ +{"server_version" : "17.10 (Debian 17.10-1.pgdg12+1)", "server_version_num" : "170010", "version" : "PostgreSQL 17.10 (Debian 17.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit", "max_connections" : "100", "superuser_reserved_connections" : "3", "reserved_connections" : "0", "current_connections" : "6", "database" : "postgres", "schema" : "public", "user" : "engram"} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/assert-go-test-json.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/assert-go-test-json.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/assert-go-test-json.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/assert-go-test-json.stdout.log new file mode 100644 index 00000000..e09d7b20 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/assert-go-test-json.stdout.log @@ -0,0 +1,2 @@ +go test JSON verdict=PASS packages=1 tests=1 passed=1 failed=0 skipped=0 unexpected_skips=0 malformed=0 +summary=D:\Dev\engram\.w\t007-current-contract\.agent\reports\evidence\production-ready\t007-compat\t007-maker-post-prove-green\repeat-01\go-test-summary.json diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/cleanup-process.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/cleanup-process.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/cleanup-process.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/cleanup-process.stdout.log new file mode 100644 index 00000000..eddc3069 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/cleanup-process.stdout.log @@ -0,0 +1,2 @@ +cleanup verdict=PASS database=engram_prc_rg_test_8a461b2905076235_r1 schema=public terminated_sessions=0 remaining_database_count=0 +summary=D:\Dev\engram\.w\t007-current-contract\.agent\reports\evidence\production-ready\t007-compat\t007-maker-post-prove-green\repeat-01\cleanup\cleanup.json diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/cleanup/cleanup.json b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/cleanup/cleanup.json new file mode 100644 index 00000000..febc5d1d --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/cleanup/cleanup.json @@ -0,0 +1,170 @@ +{ + "schema_version": 1, + "run_id": "t007-maker-post-prove-green-repeat-1", + "timestamp": "2026-07-11T00:38:53.7886769+00:00", + "verdict": "PASS", + "database": "engram_prc_rg_test_8a461b2905076235_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_8a461b2905076235_r1.public", + "admin_dsn": "postgres://engram:REDACTED@127.0.0.1:55432/postgres?sslmode=disable", + "postgres_container": "engram-prc-postgres", + "cleanup_status": "PASS", + "cleanup_attempted": true, + "database_existed_before": true, + "absence_verified": true, + "terminated_sessions": 0, + "remaining_database_count": 0, + "commands": [ + { + "name": "database-exists-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_8a461b2905076235_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_8a461b2905076235_r1';", + "started_at": "2026-07-11T00:38:51.5531725+00:00", + "finished_at": "2026-07-11T00:38:51.9713580+00:00", + "duration_seconds": 0.418, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\cleanup\\database-exists-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\cleanup\\database-exists-before.stderr.log" + }, + { + "name": "pg-stat-activity-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8a461b2905076235_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8a461b2905076235_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:38:52.0332298+00:00", + "finished_at": "2026-07-11T00:38:52.3903789+00:00", + "duration_seconds": 0.357, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\cleanup\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\cleanup\\pg-stat-activity-before.stderr.log" + }, + { + "name": "terminate-database-sessions", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8a461b2905076235_r1' AND pid <> pg_backend_pid() ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_8a461b2905076235_r1' AND pid <> pg_backend_pid() ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:38:52.3950800+00:00", + "finished_at": "2026-07-11T00:38:52.7982718+00:00", + "duration_seconds": 0.403, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\cleanup\\terminate-sessions.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\cleanup\\terminate-sessions.stderr.log" + }, + { + "name": "drop-fresh-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "DROP DATABASE IF EXISTS \"engram_prc_rg_test_8a461b2905076235_r1\" WITH (FORCE);" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c DROP DATABASE IF EXISTS \"engram_prc_rg_test_8a461b2905076235_r1\" WITH (FORCE);", + "started_at": "2026-07-11T00:38:52.8052455+00:00", + "finished_at": "2026-07-11T00:38:53.3757638+00:00", + "duration_seconds": 0.571, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\cleanup\\drop-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\cleanup\\drop-database.stderr.log" + }, + { + "name": "verify-database-absent", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_8a461b2905076235_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_8a461b2905076235_r1';", + "started_at": "2026-07-11T00:38:53.3794323+00:00", + "finished_at": "2026-07-11T00:38:53.7820866+00:00", + "duration_seconds": 0.403, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\cleanup\\verify-database-absent.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\cleanup\\verify-database-absent.stderr.log" + } + ], + "errors": [] +} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/cleanup/database-exists-before.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/cleanup/database-exists-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/cleanup/database-exists-before.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/cleanup/database-exists-before.stdout.log new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/cleanup/database-exists-before.stdout.log @@ -0,0 +1 @@ +1 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/cleanup/drop-database.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/cleanup/drop-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/cleanup/drop-database.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/cleanup/drop-database.stdout.log new file mode 100644 index 00000000..ca12dce0 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/cleanup/drop-database.stdout.log @@ -0,0 +1 @@ +DROP DATABASE diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/cleanup/pg-stat-activity-before.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/cleanup/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/cleanup/pg-stat-activity-before.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/cleanup/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/cleanup/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/cleanup/terminate-sessions.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/cleanup/terminate-sessions.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/cleanup/terminate-sessions.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/cleanup/terminate-sessions.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/cleanup/terminate-sessions.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/cleanup/verify-database-absent.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/cleanup/verify-database-absent.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/cleanup/verify-database-absent.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/cleanup/verify-database-absent.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/cleanup/verify-database-absent.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/connection-count-after.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/connection-count-after.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/connection-count-after.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/connection-count-after.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/connection-count-before.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/connection-count-before.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/connection-count-before.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/connection-count-before.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/coverage.out b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/coverage.out new file mode 100644 index 00000000..52335d8a --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/coverage.out @@ -0,0 +1,3472 @@ +mode: atomic +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33.53,34.30 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:34.30,36.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.2,37.25 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.25,39.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:40.2,40.12 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44.28,46.2 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52.83,53.12 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:53.12,54.16 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:54.16,55.32 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:55.32,61.5 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:63.3,65.33 3 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:65.33,71.4 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77.54,78.14 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:78.14,80.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:81.2,82.16 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:82.16,85.3 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:86.2,87.13 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92.91,93.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:93.23,95.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:96.2,97.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:97.15,99.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:100.2,105.65 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:105.65,113.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117.95,118.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:118.23,120.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:121.2,122.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:122.15,124.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:125.2,129.65 5 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:129.65,138.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142.87,143.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:143.23,145.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:146.2,147.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:150.2,153.65 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:153.65,161.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166.96,167.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:167.23,169.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:170.2,171.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:171.15,173.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:174.2,177.63 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:177.63,185.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189.97,190.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:190.23,192.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:193.2,194.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:194.15,196.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:197.2,200.68 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:200.68,208.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:30.62,31.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:31.20,33.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:34.2,35.49 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:35.49,37.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:38.2,38.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:38.14,40.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:41.2,41.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:46.52,47.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:47.14,49.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:50.2,50.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:51.14,52.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:53.19,54.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:55.15,56.45 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:57.12,58.31 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:59.10,60.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:67.43,68.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:68.14,70.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:71.2,71.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:72.15,73.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:74.19,75.38 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:75.38,77.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:78.3,78.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:78.40,80.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:81.3,81.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:82.14,83.56 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:83.56,85.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:86.3,86.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:86.54,88.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:89.3,89.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:90.10,91.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:97.49,98.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:98.14,100.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:101.2,101.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:102.15,103.18 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:104.19,105.38 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:105.38,107.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:108.3,108.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:108.40,110.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:111.3,111.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:112.14,113.56 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:113.56,115.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:116.3,116.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:116.54,118.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:119.3,119.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:120.10,121.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:127.55,128.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:128.14,130.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:131.2,131.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:132.15,133.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:134.19,135.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:135.40,137.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:138.3,138.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:139.14,140.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:140.54,142.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:143.3,143.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:144.10,145.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:151.46,152.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:152.14,154.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:155.2,155.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:156.12,157.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:158.14,159.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:159.54,161.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:162.3,162.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:163.15,164.16 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:165.19,166.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:166.40,168.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:169.3,169.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:170.10,171.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:177.40,178.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:178.14,180.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:181.2,181.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:182.13,184.26 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:184.26,185.36 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:185.36,187.5 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:189.3,189.16 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:190.16,191.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:192.14,193.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:193.14,195.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:196.3,196.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:197.10,198.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:204.38,205.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:205.14,207.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:208.2,209.9 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:209.9,211.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:212.2,213.27 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:213.27,214.42 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:214.42,216.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:218.2,218.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:222.32,223.39 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:223.39,225.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:226.2,226.30 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:226.30,228.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:229.2,229.30 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:229.30,231.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:232.2,232.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:236.35,237.28 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:237.28,239.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.2,240.28 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.28,242.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:243.2,243.15 1 0 +github.com/thebtf/engram/internal/mcp/context.go:17.55,19.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:22.78,24.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:29.78,31.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:35.53,38.2 2 0 +github.com/thebtf/engram/internal/mcp/context.go:41.80,43.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:48.80,50.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:54.53,57.2 2 0 +github.com/thebtf/engram/internal/mcp/context.go:61.51,62.43 1 0 +github.com/thebtf/engram/internal/mcp/context.go:62.43,64.3 1 0 +github.com/thebtf/engram/internal/mcp/context.go:65.2,65.16 1 0 +github.com/thebtf/engram/internal/mcp/health.go:22.32,26.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:29.37,33.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:36.35,40.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:42.44,45.25 3 0 +github.com/thebtf/engram/internal/mcp/health.go:45.25,47.50 1 0 +github.com/thebtf/engram/internal/mcp/health.go:47.50,50.4 2 0 +github.com/thebtf/engram/internal/mcp/health.go:55.74,60.16 5 0 +github.com/thebtf/engram/internal/mcp/health.go:60.16,62.3 1 0 +github.com/thebtf/engram/internal/mcp/health.go:63.2,71.4 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28.42,29.65 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:29.65,32.3 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.2,33.40 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.40,35.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:36.2,36.14 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39.120,40.69 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:40.69,42.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:43.2,44.19 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:44.19,46.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:47.2,48.17 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:48.17,50.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:51.2,52.59 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:52.59,54.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:55.2,56.20 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:56.20,58.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:59.2,60.17 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:60.17,62.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:63.2,64.21 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:64.21,66.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:67.2,68.22 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:68.22,70.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:71.2,72.23 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:76.2,98.19 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:98.19,100.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:101.2,101.66 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104.52,106.29 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:106.29,108.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:109.2,110.46 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113.113,123.27 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:123.27,125.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:130.2,130.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:127.44,138.2 1 1 +github.com/thebtf/engram/internal/mcp/server.go:141.64,143.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:146.78,148.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:151.53,153.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:156.55,158.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:161.58,163.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:166.62,168.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:171.50,173.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:176.78,178.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:181.74,183.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:186.71,189.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:191.85,193.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:195.61,197.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:199.49,201.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:204.54,206.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:211.53,213.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:216.53,218.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:222.61,224.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:228.59,230.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:234.51,236.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:240.52,242.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:246.55,248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:252.82,254.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:260.70,262.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:269.68,271.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:274.87,277.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:282.60,284.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:290.45,292.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:297.77,299.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:303.37,313.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:313.38,315.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:316.2,317.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:317.9,319.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:320.2,321.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:321.9,323.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:324.2,325.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:325.9,327.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:328.2,328.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:332.35,334.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:383.49,387.12 3 0 +github.com/thebtf/engram/internal/mcp/server.go:387.12,388.22 1 0 +github.com/thebtf/engram/internal/mcp/server.go:388.22,389.11 1 0 +github.com/thebtf/engram/internal/mcp/server.go:390.22,392.11 2 0 +github.com/thebtf/engram/internal/mcp/server.go:393.12,393.12 0 0 +github.com/thebtf/engram/internal/mcp/server.go:396.4,397.18 2 0 +github.com/thebtf/engram/internal/mcp/server.go:397.18,398.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:401.4,402.61 2 0 +github.com/thebtf/engram/internal/mcp/server.go:402.61,404.13 2 0 +github.com/thebtf/engram/internal/mcp/server.go:407.4,407.55 1 0 +github.com/thebtf/engram/internal/mcp/server.go:407.55,409.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:411.3,411.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:414.2,414.9 1 0 +github.com/thebtf/engram/internal/mcp/server.go:415.20,416.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:417.25,418.17 1 0 +github.com/thebtf/engram/internal/mcp/server.go:418.17,420.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:421.3,421.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:427.77,428.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:428.19,431.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:433.2,433.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:434.20,435.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:436.20,437.32 1 0 +github.com/thebtf/engram/internal/mcp/server.go:438.20,439.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:443.24,444.93 1 0 +github.com/thebtf/engram/internal/mcp/server.go:445.34,446.101 1 0 +github.com/thebtf/engram/internal/mcp/server.go:447.22,448.91 1 0 +github.com/thebtf/engram/internal/mcp/server.go:449.29,450.120 1 0 +github.com/thebtf/engram/internal/mcp/server.go:451.10,456.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:461.51,462.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:463.50,464.70 1 0 +github.com/thebtf/engram/internal/mcp/server.go:465.46,466.79 1 0 +github.com/thebtf/engram/internal/mcp/server.go:467.10,468.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:473.59,485.63 2 0 +github.com/thebtf/engram/internal/mcp/server.go:485.63,487.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:489.2,493.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:496.45,503.33 3 0 +github.com/thebtf/engram/internal/mcp/server.go:503.33,505.57 2 0 +github.com/thebtf/engram/internal/mcp/server.go:505.57,506.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:506.76,507.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.4,509.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.18,511.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:511.10,513.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:514.4,518.11 5 0 +github.com/thebtf/engram/internal/mcp/server.go:522.2,522.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:660.29,683.21 2 0 +github.com/thebtf/engram/internal/mcp/server.go:683.21,689.3 5 0 +github.com/thebtf/engram/internal/mcp/server.go:690.2,699.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:712.30,765.49 3 0 +github.com/thebtf/engram/internal/mcp/server.go:765.49,789.3 5 0 +github.com/thebtf/engram/internal/mcp/server.go:790.2,799.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:805.40,936.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:942.58,1048.35 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1048.35,1077.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.2,1080.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.33,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.2,1093.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.26,1123.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1124.2,1124.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1124.80,1126.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1127.2,1127.55 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1127.55,1129.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1130.2,1130.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1130.38,1132.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1134.2,1134.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1134.25,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1138.2,1138.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1138.33,1140.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1141.2,1141.69 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1141.69,1143.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1144.2,1144.75 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1144.75,1146.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1148.2,1148.27 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1148.27,1165.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.2,1168.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.76,1191.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1195.2,1195.48 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1195.48,1197.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.2,1201.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.47,1203.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.2,1205.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.38,1207.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1212.2,1212.21 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1212.21,1214.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1228.2,1228.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1228.51,1230.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1233.2,1233.56 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1233.56,1235.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1238.2,1238.71 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1238.71,1298.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1302.2,1302.104 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1302.104,1321.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1324.2,1324.72 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1324.72,1333.154 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1333.154,1334.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1334.26,1336.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1337.7,1337.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1338.35,1340.26 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1340.26,1342.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1343.7,1343.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1371.2,1371.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1371.26,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1393.2,1393.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1393.28,1443.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.2,1446.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.28,1478.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.2,1481.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.37,1561.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1564.2,1568.23 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1568.23,1570.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1572.2,1588.57 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1588.57,1591.29 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1591.29,1593.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1594.3,1594.27 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1594.27,1595.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1595.29,1597.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1601.2,1607.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1612.79,1614.60 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1614.60,1620.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1622.2,1623.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1623.16,1631.3 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1633.2,1641.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1644.69,1645.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1645.34,1647.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1648.2,1649.22 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1649.22,1651.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1652.2,1652.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1656.99,1658.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1659.16,1660.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1661.15,1662.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1663.18,1664.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1665.15,1666.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1667.18,1668.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1669.14,1670.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1671.15,1672.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1676.2,1676.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1677.35,1678.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1679.26,1680.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1681.20,1682.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1683.20,1684.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1685.16,1686.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1687.29,1688.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1689.33,1690.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1691.25,1692.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1693.23,1694.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1696.26,1697.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1698.24,1699.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1700.22,1701.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1702.25,1703.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1704.27,1705.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1706.25,1707.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1709.30,1710.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1711.28,1712.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1713.17,1714.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1715.20,1716.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1717.20,1718.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1719.20,1720.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1722.20,1723.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1724.18,1725.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1726.20,1727.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1728.18,1729.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1730.21,1731.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1732.21,1733.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1734.26,1735.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1736.25,1737.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1738.26,1739.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1740.24,1741.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1742.26,1743.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1744.27,1745.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1746.22,1747.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1748.19,1749.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1750.15,1751.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1752.16,1753.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1755.21,1756.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1757.19,1758.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1759.20,1760.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1761.22,1762.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1763.22,1764.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1765.23,1766.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1767.20,1768.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1769.32,1770.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1771.19,1772.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1773.19,1774.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1775.33,1776.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1777.35,1778.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1779.24,1780.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1781.32,1782.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1783.28,1784.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1785.21,1786.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1787.34,1788.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1789.25,1790.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1791.29,1792.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1793.26,1794.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1795.27,1796.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1798.25,1799.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1800.23,1801.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1802.27,1803.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1804.26,1805.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1806.29,1807.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1809.29,1810.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1811.27,1812.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1813.30,1814.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1815.38,1816.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1817.36,1818.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1820.24,1821.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1822.27,1823.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1824.22,1825.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1826.32,1827.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1828.32,1829.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1830.31,1831.48 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1832.35,1833.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1834.36,1835.53 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1836.36,1837.53 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1838.38,1839.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1840.34,1841.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1843.22,1844.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1845.21,1846.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1847.24,1848.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1850.25,1851.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1852.25,1853.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1859.2,1859.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1860.22,1863.131 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1866.51,1867.123 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1868.10,1869.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1874.47,1876.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1876.16,1879.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1880.2,1880.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1884.72,1890.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1896.105,1898.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1898.16,1900.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1902.2,1903.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1903.17,1905.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1907.2,1908.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1908.17,1910.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1912.2,1918.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1918.16,1920.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1921.2,1921.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1927.76,1933.15 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1933.15,1936.17 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1936.17,1938.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1939.3,1939.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1943.2,1950.36 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1950.36,1952.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1952.8,1955.29 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1955.29,1958.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1959.3,1962.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.2,1966.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.20,1977.20 6 0 +github.com/thebtf/engram/internal/mcp/server.go:1977.20,1979.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.3,1980.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.20,1982.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.3,1985.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.37,1987.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1987.30,1988.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1988.16,1990.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1990.11,1992.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1994.4,1995.56 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1995.56,1997.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1998.4,2003.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.2,2008.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.29,2009.63 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2009.63,2011.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2011.9,2013.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.2,2021.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.29,2029.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2029.38,2031.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2031.9,2033.31 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2033.31,2035.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2035.30,2037.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2039.4,2042.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2046.2,2047.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2047.16,2049.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2050.2,2050.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2055.57,2056.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2056.33,2058.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2059.2,2060.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2060.16,2062.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2063.2,2064.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2064.16,2066.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2067.2,2067.23 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2071.79,2105.15 6 0 +github.com/thebtf/engram/internal/mcp/server.go:2105.15,2107.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2107.17,2111.4 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2111.9,2112.17 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2112.17,2114.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2115.4,2117.26 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2117.26,2119.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2119.10,2121.29 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2121.29,2123.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2125.4,2129.25 5 0 +github.com/thebtf/engram/internal/mcp/server.go:2130.19,2130.19 0 0 +github.com/thebtf/engram/internal/mcp/server.go:2132.20,2134.106 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2135.12,2137.103 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2140.8,2143.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2144.2,2150.49 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2150.49,2152.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2152.8,2154.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2155.2,2168.27 4 0 +github.com/thebtf/engram/internal/mcp/server.go:2168.27,2170.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2170.17,2173.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2173.9,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2177.2,2182.40 4 0 +github.com/thebtf/engram/internal/mcp/server.go:2182.40,2183.21 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2184.20,2185.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2186.19,2187.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.2,2191.24 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.24,2193.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.8,2193.30 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.30,2195.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.2,2198.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.28,2200.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.2,2203.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.29,2205.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2207.2,2208.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2208.16,2210.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2211.2,2211.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2216.103,2218.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2218.16,2220.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2222.2,2223.15 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2223.15,2225.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2227.2,2239.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2239.16,2241.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2242.2,2242.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2246.93,2248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2251.91,2253.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:18.28,29.20 4 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:29.20,33.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:35.2,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:68.36,69.49 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:69.49,74.3 4 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:75.2,75.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:80.26,82.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:84.89,86.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:89.2,90.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:90.18,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:94.2,94.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:95.15,96.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:97.26,98.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:99.25,100.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:101.23,105.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:105.22,107.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:108.3,108.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:109.10,110.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:120.92,126.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:126.26,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:130.2,131.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:131.19,133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:134.2,135.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:135.19,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.2,138.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.24,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.2,142.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.25,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:146.2,147.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:151.2,151.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27.40,30.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32.30,46.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48.99,49.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:49.34,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.2,52.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.69,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:56.2,57.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:60.2,61.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:61.21,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:64.2,67.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:67.26,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:70.2,71.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:71.25,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:75.2,77.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:77.44,79.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.2,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.33,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:83.2,83.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86.52,87.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:87.16,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.2,90.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.15,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:93.2,93.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96.73,97.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:97.21,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:100.2,101.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:101.29,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:111.2,111.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114.34,116.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:31.98,32.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:32.52,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.2,35.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.26,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:39.2,40.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:40.49,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.2,43.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.21,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.2,46.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.21,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.2,49.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.18,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.2,52.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.18,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.2,56.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.38,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:60.2,61.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:61.16,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:68.2,70.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:70.26,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:79.2,81.36 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:81.36,84.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:86.2,89.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:89.28,90.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:90.39,91.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:93.3,97.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:100.2,104.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:107.60,113.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:115.101,116.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:116.38,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:120.2,122.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:122.21,123.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:123.26,125.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.3,126.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.23,128.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:129.8,130.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:130.26,132.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.3,133.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.68,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:137.2,140.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:141.17,142.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:143.67,143.67 0 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:144.10,145.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:148.2,162.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:162.16,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.2,165.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.2,174.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.30,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.2,177.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.31,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:181.2,182.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:182.36,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:198.2,199.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:199.19,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:202.2,203.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:203.18,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:206.2,207.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:207.21,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:210.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:211.25,213.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:214.2,225.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:225.21,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.25,230.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.2,231.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.18,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:235.2,244.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:244.21,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.2,247.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.25,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.2,250.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.18,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.2,253.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:256.2,256.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:259.50,261.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:261.22,263.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:264.2,264.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:270.90,272.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:272.42,276.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:277.2,281.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:281.27,282.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:282.45,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:286.2,286.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25.28,88.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95.95,96.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:96.22,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:99.2,100.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:100.32,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:104.2,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:109.2,114.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:114.35,121.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.2,123.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.25,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:127.2,134.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:138.2,146.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154.94,155.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:155.22,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:158.2,159.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:159.32,161.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:163.2,164.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:164.16,166.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:168.2,172.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:172.35,179.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.2,181.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.25,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:185.2,192.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:192.16,194.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:196.2,203.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211.97,212.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:212.22,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:215.2,216.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:216.32,218.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:220.2,221.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:221.16,223.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:225.2,229.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:229.35,236.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.2,238.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.25,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:242.2,249.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:249.16,251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:253.2,260.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31.80,32.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:32.14,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:35.2,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51.136,53.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:53.51,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:56.2,56.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59.94,60.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:60.21,62.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:63.2,63.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68.30,162.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165.98,166.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:166.49,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:169.2,170.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:170.16,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:173.2,174.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:174.19,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:177.2,179.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:179.17,181.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:188.2,189.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:189.31,190.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:190.15,191.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:193.3,193.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:196.2,201.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:201.16,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:204.2,204.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208.96,209.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:209.49,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:212.2,213.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:213.16,215.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:216.2,217.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:217.13,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.2,225.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.22,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:229.2,230.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:230.16,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:233.2,233.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239.100,240.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:240.22,242.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:243.2,244.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:244.16,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:247.2,248.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:248.13,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:255.2,256.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:256.12,263.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:263.30,264.77 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:264.77,269.5 4 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:271.3,272.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:272.21,274.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:275.3,275.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.2,279.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.29,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:284.2,285.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:285.16,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.2,288.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.22,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.2,291.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.55,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.2,294.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.74,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:297.2,298.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:298.16,300.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:306.2,307.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:307.41,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:310.2,324.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:324.16,325.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:325.50,327.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:328.3,328.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.2,330.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.38,332.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:334.2,341.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:341.16,343.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:344.2,344.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348.99,349.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:349.49,351.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:352.2,353.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:353.16,355.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:356.2,357.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:357.13,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:360.2,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.2,365.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.22,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.2,368.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.74,370.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:371.2,372.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:372.16,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.2,375.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.85,377.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:379.2,380.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:380.16,381.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:381.50,383.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:384.3,384.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.2,386.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.20,388.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:390.2,395.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:395.16,397.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:398.2,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402.102,403.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:403.49,405.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:406.2,407.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:407.16,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:410.2,411.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:411.13,413.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:414.2,415.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:415.16,417.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.2,418.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.22,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.2,421.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.74,423.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:424.2,425.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:425.16,427.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.2,428.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.88,430.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:432.2,433.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:433.16,434.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:434.50,436.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:437.3,437.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.2,439.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.20,441.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:443.2,448.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:448.16,450.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:451.2,451.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34.30,36.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42.61,44.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48.32,75.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79.32,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100.98,101.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:101.25,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.2,104.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.29,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:108.2,113.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:113.17,114.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:114.55,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.2,118.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.24,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.2,121.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.23,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.2,124.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.23,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:134.2,135.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:135.21,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:142.2,147.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:154.2,165.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:165.25,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:177.2,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:186.2,186.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194.98,195.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:195.25,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.2,198.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.29,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:202.2,205.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:205.17,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:208.2,209.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:209.21,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:213.2,214.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:214.16,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:217.2,218.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:218.16,220.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:226.2,231.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:231.11,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:21.52,22.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:22.24,25.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:25.28,27.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:29.2,29.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:35.72,37.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:37.15,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:45.2,45.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:49.99,51.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:51.16,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:55.2,56.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:56.16,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:60.2,72.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.2,75.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.24,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.2,78.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.24,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:81.2,81.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:82.27,82.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:84.10,85.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.2,87.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.30,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.2,90.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.26,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:104.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:116.2,123.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:126.2,126.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:130.97,132.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:132.16,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:136.2,137.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:141.2,147.23 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:147.23,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.2,150.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.26,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:154.2,155.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:155.16,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:160.16,161.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:161.47,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:164.3,164.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.2,167.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.97,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:174.2,175.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:175.16,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:179.2,185.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:185.16,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:188.2,188.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:192.99,194.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:194.16,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:198.2,199.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:199.16,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:203.2,207.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:207.26,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:211.2,212.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:212.16,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:216.2,223.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:223.26,229.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:229.28,231.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:232.3,232.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:243.100,245.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:245.16,247.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:249.2,250.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:250.16,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:254.2,262.23 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:262.23,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.2,265.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.24,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:268.2,268.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:269.27,269.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:271.10,272.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.2,274.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.30,276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.2,277.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.26,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.2,281.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.71,282.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:282.47,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:285.3,285.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:288.2,293.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:293.16,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:296.2,296.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:302.92,309.19 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:309.19,310.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:310.53,313.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:316.2,317.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:317.51,318.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:318.66,320.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:323.2,331.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:331.16,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:334.2,334.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:338.46,342.32 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:342.32,343.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:343.20,346.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:348.2,350.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:350.26,352.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:352.27,353.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:353.13,355.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:356.4,356.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:358.3,358.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:360.2,360.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:16.45,18.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:20.35,36.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:38.84,39.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:39.40,41.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.2,42.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.50,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:45.2,45.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:48.101,50.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:50.16,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:53.2,54.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:57.2,58.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:58.19,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:61.2,62.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:62.21,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:65.2,66.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:66.16,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:69.2,69.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:72.102,74.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:77.2,82.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10.100,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:22.16,23.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:24.14,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:26.14,27.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:28.17,29.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:30.17,31.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:32.21,33.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:34.19,35.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:36.17,37.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:38.16,39.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:40.16,41.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:42.21,43.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:44.10,45.167 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:15.77,16.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:16.33,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:20.2,21.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:21.27,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:25.2,26.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:26.28,29.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:29.17,31.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:34.2,41.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:41.32,46.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:46.20,48.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:49.3,49.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:61.97,62.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:62.28,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:71.2,75.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:75.29,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:79.2,80.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:80.16,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.2,84.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.20,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:88.2,97.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:97.25,103.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:103.20,105.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.3,106.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.19,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:109.3,109.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:112.2,113.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:113.16,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:117.2,117.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:121.95,122.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:122.28,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:131.2,137.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:137.50,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:141.2,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.2,145.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.16,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.2,149.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.21,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:153.2,154.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:154.16,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.2,157.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.20,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:161.2,161.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:165.98,166.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:166.28,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:170.2,171.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:171.16,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:175.2,181.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:181.50,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.2,185.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.96,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:189.2,189.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:197.98,198.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:198.28,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:207.2,217.74 6 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:217.74,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:222.2,223.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:223.16,225.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:227.2,229.156 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:235.98,237.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:237.16,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:241.2,247.24 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:247.24,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:252.2,253.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:253.29,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:256.2,256.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15.93,16.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:16.37,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:20.2,21.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:21.16,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:25.2,32.16 7 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:32.16,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.2,35.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.19,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.2,38.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.19,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:42.2,43.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:43.16,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:47.2,54.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61.91,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:62.37,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:71.2,73.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:73.16,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.2,76.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.19,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:80.2,81.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:81.43,83.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:83.19,85.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:86.3,86.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:87.8,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.2,90.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.16,91.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:91.45,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:94.3,94.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:97.2,110.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:110.16,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:113.2,113.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117.93,119.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122.91,123.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:123.37,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:132.2,133.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:133.19,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:136.2,141.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:141.16,143.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:145.2,155.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:155.25,165.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:167.2,168.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:168.16,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:171.2,171.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175.94,176.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:176.37,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:180.2,181.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:181.16,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:185.2,187.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:187.16,189.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.2,190.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.19,192.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:193.2,196.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:200.2,208.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:208.25,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:218.2,225.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232.94,233.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:233.37,235.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:242.2,243.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:243.21,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:246.2,248.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:248.19,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:252.2,253.46 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:253.46,255.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:255.13,257.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.2,259.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.44,261.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:261.13,263.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:266.2,267.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:267.16,269.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:271.2,278.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:278.16,280.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:281.2,281.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19.69,21.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23.38,38.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40.51,63.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65.53,80.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82.46,85.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:85.32,87.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:88.2,88.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91.105,93.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:93.16,95.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:96.2,97.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:100.2,100.70 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103.107,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:108.2,109.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:109.16,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:112.2,112.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115.101,117.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:117.16,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:120.2,121.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:121.17,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:124.2,139.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142.109,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:147.2,154.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157.100,159.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:159.28,161.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:161.18,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:164.3,164.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:166.2,167.72 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:167.72,169.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.2,170.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.53,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:173.2,174.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:174.26,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:177.2,177.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180.73,182.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:182.16,184.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:185.2,185.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12.104,14.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:14.16,16.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:18.2,19.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:19.18,21.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:23.2,23.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:24.14,25.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:26.18,27.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:28.17,29.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:30.10,31.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36.101,37.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:37.27,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:46.2,47.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:47.21,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:50.2,51.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:51.19,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:54.2,54.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:55.52,55.52 0 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:56.10,57.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:59.2,61.93 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:61.93,64.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:66.2,70.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:27.31,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:98.97,100.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:100.26,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.2,103.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.28,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:112.2,115.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:115.15,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.2,118.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.17,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:122.2,123.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:127.2,140.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:140.29,151.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:151.31,154.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:155.3,155.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:158.2,162.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:167.100,169.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:169.26,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.2,172.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.28,174.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.2,175.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.26,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:179.2,180.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:184.2,185.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:185.22,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:189.2,190.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:190.20,191.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:191.54,199.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.3,200.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.61,202.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:203.3,203.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:206.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:215.95,217.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:217.32,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.2,220.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.28,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:224.2,225.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:229.2,230.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:230.22,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.2,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.25,246.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:248.2,252.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:258.104,260.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:260.26,262.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:267.2,271.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:271.20,275.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:275.8,279.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:280.2,280.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:284.60,285.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:285.30,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.2,288.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.42,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:291.2,291.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:64.89,65.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:65.25,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:69.2,70.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:70.49,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:74.2,74.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:75.18,76.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:77.21,78.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:79.19,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:81.18,82.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:83.19,84.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:85.18,86.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:87.18,91.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:91.23,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:94.3,94.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:95.10,96.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:100.81,103.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:103.19,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:106.2,107.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:107.19,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.2,112.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.46,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.2,115.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.46,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.2,122.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.66,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.25,128.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:128.22,130.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:131.8,132.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:132.26,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.2,138.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.25,139.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:139.22,141.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:142.8,143.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:143.26,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.2,148.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.22,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.2,151.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.38,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.2,154.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.19,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:159.2,161.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:161.25,164.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.2,165.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.25,168.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:169.2,171.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:171.23,174.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.2,175.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.23,178.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:180.2,193.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:193.16,195.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:198.2,199.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:199.29,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.2,202.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.29,204.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:205.2,213.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:216.121,217.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:217.28,218.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:218.26,220.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:221.3,222.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:222.17,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:223.49,225.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:226.4,226.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:228.3,228.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.2,230.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.26,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:233.2,234.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:234.16,235.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:235.48,237.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:238.3,238.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:240.2,240.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:243.101,248.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:248.36,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:250.8,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.2,253.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.16,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.2,256.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.32,257.128 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:257.128,262.72 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:262.72,264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:267.2,267.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:276.81,277.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:277.25,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.2,280.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.22,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.2,283.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.39,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.2,286.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.25,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.2,289.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.21,291.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:292.2,293.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:293.14,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:296.2,305.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:305.16,307.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:308.2,314.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:317.84,318.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:318.19,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:321.2,323.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:323.63,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:326.2,329.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:332.82,333.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:333.38,335.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:336.2,337.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:338.18,339.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:340.18,341.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.2,345.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.59,347.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:349.2,351.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:351.21,353.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:353.8,356.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.2,357.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:366.2,367.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:367.41,369.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:371.2,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:397.115,398.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:398.15,400.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:403.2,404.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:404.26,405.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:405.28,407.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.3,408.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.28,410.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.2,412.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.23,415.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:420.2,426.12 4 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:426.12,427.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:427.27,429.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:429.18,431.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.4,433.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.33,435.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:440.2,441.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:441.26,442.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:442.28,443.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:443.49,445.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.3,448.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.28,449.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:449.49,451.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:454.2,454.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:457.82,458.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:458.21,460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:461.2,462.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:462.16,464.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.2,465.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.36,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:468.2,469.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:469.16,471.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:472.2,477.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:480.82,481.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:481.40,483.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:484.2,485.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:485.19,487.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:488.2,489.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:489.16,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:492.2,499.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:502.82,503.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:503.21,505.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:506.2,507.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:507.16,509.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:510.2,514.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23.179,24.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:24.22,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:28.2,32.22 4 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:32.22,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:35.2,36.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:36.22,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:40.2,41.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:41.26,43.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.2,44.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.26,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.2,47.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.30,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.2,50.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.30,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:54.2,55.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:55.16,57.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.2,58.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.13,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:61.2,62.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:62.16,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.2,65.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.13,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:69.2,70.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:70.16,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.2,73.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.15,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:77.2,77.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80.172,81.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:81.28,82.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:82.23,84.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.3,85.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.18,87.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:88.3,89.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:89.17,90.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:90.49,92.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:93.4,93.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:95.3,95.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.2,98.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.24,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.2,101.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.19,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:104.2,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:105.16,106.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:106.48,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:109.3,109.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:111.2,111.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114.119,116.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:116.22,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:119.2,120.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:120.22,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:124.2,126.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:126.26,127.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:127.36,129.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:130.3,130.105 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:131.8,132.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:132.32,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:135.3,135.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.2,137.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.2,141.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.32,143.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:143.27,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:146.3,147.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:147.27,149.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.3,150.106 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.106,151.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.3,153.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.27,154.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:154.114,155.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.9,157.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.104,158.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.3,160.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.27,161.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:161.114,162.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.9,164.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.104,165.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:167.3,167.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:169.2,169.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25.90,26.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:26.26,28.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:30.2,31.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:31.49,33.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:35.2,35.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:36.16,37.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:38.10,39.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43.84,44.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:44.21,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.2,47.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.25,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.2,50.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.21,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.2,53.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.21,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:57.2,58.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:59.18,60.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:61.15,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:63.24,64.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:65.10,66.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:69.2,70.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:70.22,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:73.2,74.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:74.29,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.2,78.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.14,85.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:87.2,89.37 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:89.37,92.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:92.21,94.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:97.2,100.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:100.31,102.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:102.38,104.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:104.37,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:109.3,122.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:122.26,124.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.3,125.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.19,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:131.3,133.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:133.39,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:135.9,137.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.3,138.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.17,140.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.3,142.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.34,144.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:145.3,145.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:148.2,155.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20.99,22.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:22.16,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:26.2,31.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:31.44,32.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:32.33,33.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:33.43,38.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.2,43.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.49,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.2,46.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.48,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:50.2,52.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:52.27,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:55.8,60.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:60.24,62.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.3,64.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.57,66.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:68.3,68.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.2,71.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.16,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:75.2,76.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:76.23,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:80.2,80.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:19.40,89.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:109.71,111.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:111.9,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:115.2,116.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:116.38,117.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:118.13,119.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:119.41,121.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:122.17,123.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:123.43,125.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:126.11,127.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:127.40,129.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.2,133.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.22,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:139.2,139.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:143.90,144.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:144.25,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:148.2,149.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:149.16,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:153.2,157.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:157.61,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:161.2,161.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:162.16,163.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:164.14,165.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:166.13,167.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:168.16,169.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:170.17,171.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:172.16,173.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:174.15,175.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:176.10,177.120 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:189.85,191.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:191.39,192.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:192.44,194.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.2,196.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.15,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.2,199.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.15,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:202.2,202.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:205.91,207.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:207.17,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:211.2,215.25 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:215.25,217.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:218.2,224.25 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:224.25,226.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.2,227.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.25,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:231.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:247.2,247.139 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:250.89,252.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:252.19,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:255.2,256.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:256.25,258.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:259.2,264.52 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:264.52,266.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:266.14,268.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:271.2,277.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:277.25,280.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:282.2,283.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:283.16,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.2,287.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.22,288.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:288.20,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:291.3,291.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:294.2,297.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:297.31,300.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:300.29,302.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:303.3,305.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:308.2,308.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:311.88,313.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:313.13,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:317.2,318.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:318.16,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:322.2,328.22 6 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:328.22,331.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.2,333.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.23,335.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:335.30,338.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:341.2,341.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:344.91,346.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:346.13,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:350.2,353.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:353.18,354.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:354.27,356.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.3,357.73 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.73,359.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.2,362.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.19,370.17 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:370.17,372.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:375.2,376.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:376.26,378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:379.2,379.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:382.92,384.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:384.13,386.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:388.2,389.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:389.16,391.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:393.2,401.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:401.16,403.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:405.2,405.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:408.91,410.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:410.13,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:414.2,418.95 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:418.95,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:422.2,422.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:425.90,427.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:427.13,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:431.2,433.167 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:433.167,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.2,437.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.89,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:441.2,441.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22.93,24.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:24.49,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:28.2,28.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:29.14,30.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:31.17,32.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:33.16,34.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:35.24,36.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:37.27,38.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:39.22,40.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:41.23,42.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:43.10,44.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48.79,49.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:49.13,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:57.2,58.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:58.32,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:61.2,84.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87.101,88.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:88.13,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.2,91.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.38,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.2,98.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.53,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:102.2,104.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:104.17,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.2,107.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.29,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:110.2,115.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118.100,119.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:119.13,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.2,122.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.38,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.2,129.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.53,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:133.2,135.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:135.17,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.2,138.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.29,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:141.2,146.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149.123,150.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:150.13,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.2,153.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.18,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.2,156.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.38,158.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:159.2,161.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:161.17,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:164.2,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172.113,173.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:173.13,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.2,176.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.50,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:179.2,181.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:181.17,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:184.2,188.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191.57,195.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197.102,198.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:198.13,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.2,201.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.20,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:204.2,205.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:205.16,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:209.2,210.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:210.32,212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:214.2,217.56 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:217.56,223.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:225.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233.41,235.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:235.16,237.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:238.2,238.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:35.27,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:42.41,43.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:44.48,45.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:46.10,47.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:54.57,55.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:56.17,57.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:58.16,59.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:60.10,61.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:82.58,83.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:84.28,85.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:86.26,87.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:88.10,89.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:93.114,95.68 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:95.68,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:99.2,101.42 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:101.42,102.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:102.71,105.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:107.2,117.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:117.23,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:121.2,124.22 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:124.22,125.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:125.31,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:128.3,128.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.8,129.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.37,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:132.2,132.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:135.74,136.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:136.30,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.2,139.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.34,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.2,142.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.31,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.2,145.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.22,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:161.169,162.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:162.17,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:165.2,166.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:166.51,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:169.2,169.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:172.92,174.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:174.42,177.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:177.63,179.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:179.9,181.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:183.2,183.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:186.65,190.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:192.115,194.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:194.26,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.8,196.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.31,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:199.2,199.117 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:202.122,206.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:206.31,207.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:207.45,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:211.2,211.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:214.72,216.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:218.117,219.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:222.2,223.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:223.20,225.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:225.17,227.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.3,228.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.27,229.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:229.50,231.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:231.30,232.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:236.3,236.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:239.2,241.60 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:241.60,243.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:243.61,245.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.3,246.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.24,247.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:249.3,250.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:250.17,252.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.3,253.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.22,254.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.3,256.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.29,257.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:257.50,259.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:259.30,260.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:264.3,265.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:265.32,266.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:269.2,269.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:272.51,273.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:273.16,275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:276.2,277.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:277.18,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.2,280.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.19,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:283.2,283.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:286.97,288.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:288.30,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.2,291.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.49,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:294.2,294.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:297.108,299.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:301.108,303.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:305.102,307.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:319.55,320.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:320.31,322.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.2,323.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.26,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:326.2,326.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:329.71,330.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:343.26,344.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:345.10,346.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:354.95,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:366.2,397.39 14 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:397.39,399.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:399.27,401.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:402.8,404.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:405.2,407.46 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:407.46,410.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.2,411.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.44,413.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:413.12,415.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.2,417.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.26,419.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.2,420.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.84,422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.2,427.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.65,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:431.2,433.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:433.20,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:436.2,437.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:437.20,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.2,440.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.56,442.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.2,443.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.56,448.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.2,450.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.45,453.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.2,459.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.31,461.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:461.22,462.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:462.62,465.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:466.4,466.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:468.3,468.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:471.2,472.115 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:472.115,474.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.2,491.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.19,493.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:493.23,495.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:496.3,508.21 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:508.21,510.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:511.3,511.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.2,522.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.43,535.34 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:535.34,556.30 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:556.30,558.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.4,559.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.44,561.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.4,562.106 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.106,564.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.4,575.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.74,577.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:578.4,579.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:579.18,581.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:583.4,584.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:584.28,586.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.4,588.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.31,599.57 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:599.57,601.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:601.17,604.7 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:606.5,607.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:607.21,609.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.5,615.138 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.138,617.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:617.27,619.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:620.6,620.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:622.5,623.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:623.26,625.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:626.5,626.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:630.4,631.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:631.20,633.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.4,634.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.22,637.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:637.26,639.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:640.5,640.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:645.4,660.77 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:660.77,662.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:663.4,664.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:664.25,666.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:667.4,667.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.2,673.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.26,675.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:677.2,678.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:678.25,680.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.2,681.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.97,683.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:690.2,691.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:691.21,693.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:693.33,695.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.3,696.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.33,698.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.3,699.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.49,704.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.3,721.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.54,722.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:722.84,724.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.2,728.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.99,730.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:732.2,733.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:733.22,735.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:736.109,737.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:738.100,739.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:740.114,741.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:742.107,743.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:744.11,745.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:748.2,749.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:749.43,751.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:753.2,755.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:755.34,756.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:756.48,757.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:757.19,760.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.2,764.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.31,767.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.2,768.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.35,771.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.2,772.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.76,776.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:778.2,780.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:780.16,782.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:782.20,785.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.2,788.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.25,798.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:798.18,800.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.9,800.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.30,807.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.3,808.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.36,810.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:811.3,812.50 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:812.50,815.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:816.3,822.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:822.17,824.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:826.3,836.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:836.17,838.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:839.3,839.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:842.2,843.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:843.30,844.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:844.52,846.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:846.9,848.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:851.2,869.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:869.21,871.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:871.43,873.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.3,874.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.29,876.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.3,886.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.76,888.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.2,890.105 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.105,892.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:893.2,894.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:894.16,896.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:901.2,904.40 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:904.40,905.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:905.15,906.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:909.3,910.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:910.63,912.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:912.9,914.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.3,916.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.43,918.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:919.3,920.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:920.20,922.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.3,925.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.23,928.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:929.3,931.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:931.33,934.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:934.39,936.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:939.2,948.42 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:948.42,950.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:950.21,952.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:952.9,955.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.2,959.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.53,960.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:960.54,961.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:961.33,963.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:964.9,972.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.3,973.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.60,974.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:974.40,976.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.3,978.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.61,979.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:979.41,981.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.3,983.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.28,985.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:986.3,987.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.2,989.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.51,991.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:995.2,997.53 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:997.53,999.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:999.8,1001.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.2,1002.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.22,1004.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1008.2,1014.76 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1014.76,1016.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.2,1021.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.57,1026.13 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1026.13,1029.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1029.21,1032.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.4,1033.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.49,1035.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1036.4,1043.89 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1043.89,1046.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1048.4,1048.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1052.2,1063.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1063.21,1065.40 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1065.40,1067.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.3,1068.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.38,1070.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1072.2,1074.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1074.18,1081.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.2,1082.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.28,1084.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.2,1085.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.16,1087.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.2,1088.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.30,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.2,1091.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.30,1093.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.2,1098.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.76,1100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1101.2,1102.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1102.16,1104.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1105.2,1105.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111.94,1113.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1113.15,1115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1117.2,1118.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1118.16,1120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1122.2,1123.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1123.13,1125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1126.2,1131.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1131.16,1133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.2,1134.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.19,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.2,1146.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.39,1148.55 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1148.55,1150.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.2,1152.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.39,1154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1157.2,1158.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1158.21,1163.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1163.21,1165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1166.3,1167.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1167.21,1169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.3,1170.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.52,1172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.3,1173.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.52,1178.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.3,1179.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.41,1182.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1183.3,1183.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.2,1188.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.46,1190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.2,1191.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.27,1193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1195.2,1196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1196.16,1198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1201.2,1210.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1210.16,1212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1213.2,1213.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218.59,1220.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1220.38,1222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1225.2,1226.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1226.29,1227.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1227.22,1229.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.2,1232.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.18,1234.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1237.2,1244.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1244.29,1245.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1245.67,1247.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.2,1249.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.16,1251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1254.2,1254.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258.55,1260.47 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1260.47,1262.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1263.2,1264.58 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1264.58,1266.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1267.2,1267.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270.252,1271.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1271.108,1273.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.2,1274.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.55,1276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1277.2,1277.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280.184,1282.69 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1282.69,1284.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1284.32,1285.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1285.58,1287.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.3,1290.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.18,1292.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.2,1294.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.19,1297.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1297.32,1298.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1298.39,1300.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.3,1303.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.19,1305.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.2,1307.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.21,1309.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1309.32,1310.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1310.49,1312.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.3,1315.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.18,1317.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.2,1319.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.28,1321.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1321.17,1323.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.3,1324.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.27,1326.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.2,1328.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.76,1330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1331.2,1331.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342.96,1343.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1343.26,1345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1347.2,1348.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1348.16,1350.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1352.2,1363.23 9 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1363.23,1364.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1364.58,1365.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1365.31,1367.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1367.10,1369.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.2,1373.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.17,1375.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.2,1376.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.16,1378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.2,1379.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.16,1381.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.2,1382.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.18,1384.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.2,1385.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.19,1387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.2,1388.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.19,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1396.2,1399.18 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1399.18,1400.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1400.61,1401.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1402.50,1403.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1404.12,1405.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1409.2,1410.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1410.42,1414.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1415.2,1420.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1420.16,1422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1429.2,1444.43 6 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1444.43,1446.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1449.2,1451.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1451.27,1453.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.2,1458.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.46,1460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.2,1461.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.63,1463.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1465.2,1466.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1466.15,1472.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1472.29,1479.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1479.18,1481.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.4,1482.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.23,1483.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.4,1485.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.30,1486.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1486.24,1488.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1488.32,1489.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1493.4,1494.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1494.30,1495.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1498.8,1504.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1504.29,1506.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1506.18,1508.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.4,1509.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.23,1510.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.4,1512.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.30,1513.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1513.24,1515.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1515.32,1516.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1520.4,1521.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1521.30,1522.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.2,1526.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.26,1528.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1528.17,1530.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.2,1535.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.74,1536.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1536.13,1537.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1537.33,1542.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1542.26,1544.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1544.39,1546.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1548.5,1548.82 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.2,1565.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.38,1569.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1569.27,1571.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.3,1572.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.27,1574.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1576.3,1581.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1581.32,1586.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1588.3,1592.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1592.18,1594.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1595.3,1596.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1596.17,1598.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1599.3,1599.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1602.2,1602.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1603.15,1618.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1618.32,1620.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1620.33,1621.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1621.40,1623.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1626.4,1638.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1640.3,1641.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1641.17,1643.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1644.3,1644.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1646.18,1648.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1648.17,1650.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1651.3,1651.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1653.10,1654.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1654.25,1656.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1657.3,1659.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1659.32,1661.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1661.33,1662.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1662.40,1664.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1667.4,1669.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1669.26,1671.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1672.4,1673.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1673.25,1675.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1676.4,1676.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1678.3,1678.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690.51,1695.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700.73,1702.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1702.16,1704.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1705.2,1706.48 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1706.48,1710.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1711.2,1713.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1713.16,1715.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1716.2,1716.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727.117,1731.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1731.21,1733.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1734.2,1735.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1735.16,1737.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1738.2,1739.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1739.27,1741.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1742.2,1742.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1764.19,1775.30 7 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1775.30,1777.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1777.37,1779.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.3,1781.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.20,1783.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.2,1797.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.39,1799.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1801.2,1811.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1811.25,1813.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1815.2,1816.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1816.29,1818.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.2,1824.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.27,1826.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1831.2,1833.22 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1833.22,1835.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1837.2,1846.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1846.16,1848.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1853.2,1855.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1855.27,1857.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1859.2,1876.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1876.33,1878.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1880.2,1881.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1881.28,1885.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1885.20,1888.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1888.33,1889.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1889.40,1891.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.4,1894.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.20,1895.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.3,1900.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.22,1902.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1902.33,1903.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1903.50,1905.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.4,1908.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.19,1909.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.3,1918.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.56,1919.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.3,1927.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.64,1928.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1932.3,1935.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1935.32,1936.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1936.39,1938.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1942.3,1956.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1956.14,1957.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1957.37,1959.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1961.3,1962.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1962.26,1963.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.2,1975.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.59,1986.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1986.17,1988.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1990.3,1991.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1991.34,1993.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1995.3,1996.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1996.29,1998.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1998.21,2001.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2001.34,2002.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2002.41,2004.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.5,2007.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.21,2008.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.4,2011.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.23,2013.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2013.34,2014.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2014.51,2016.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.5,2019.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.20,2020.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.4,2023.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.57,2024.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.4,2027.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.65,2028.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2030.4,2031.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2031.33,2032.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2032.40,2034.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2037.4,2051.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2051.15,2052.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2052.38,2054.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2056.4,2057.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2057.27,2058.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2065.2,2066.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2066.28,2068.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.2,2072.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.71,2080.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2080.30,2081.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2081.41,2087.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.3,2089.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.13,2090.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2090.31,2095.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2095.25,2097.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2097.38,2099.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2101.5,2101.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.2,2112.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.38,2115.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2115.27,2117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2121.3,2138.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2138.30,2140.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2140.11,2141.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2143.4,2160.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2160.15,2161.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2161.39,2163.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2165.4,2165.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2167.3,2173.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2173.24,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2176.3,2176.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2179.2,2179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2180.15,2182.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2182.24,2184.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2185.3,2185.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2187.18,2199.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2199.30,2201.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2201.11,2202.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2204.4,2208.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2208.15,2209.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2209.39,2211.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2213.4,2213.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2215.3,2216.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2216.24,2218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2219.3,2219.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2220.10,2221.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2221.22,2223.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2224.3,2226.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2226.27,2228.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2228.20,2230.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2231.4,2233.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2233.26,2235.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2236.4,2237.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2237.23,2239.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.4,2240.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.46,2244.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2245.4,2245.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2247.3,2247.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252.94,2254.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2254.16,2256.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2258.2,2260.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2260.18,2261.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2261.59,2262.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2262.36,2264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2264.10,2266.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.2,2270.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.13,2272.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.2,2273.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.50,2275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2277.2,2277.98 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281.98,2282.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2282.26,2284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2286.2,2287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2287.16,2289.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2291.2,2292.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2292.13,2294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2297.2,2298.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2298.19,2299.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2299.51,2301.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2302.3,2302.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.2,2304.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.42,2306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.2,2308.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.54,2309.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2309.48,2311.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2312.3,2312.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2316.2,2318.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17.82,19.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21.149,22.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:22.55,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.2,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.36,27.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:28.2,34.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:34.16,36.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.2,37.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.42,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:40.2,40.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43.105,44.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:44.48,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:47.2,48.54 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51.129,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:56.2,57.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:57.53,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:60.2,61.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:61.25,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:64.2,65.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:65.16,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:68.2,68.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26.97,27.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:27.18,29.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:30.2,30.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33.37,35.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37.81,38.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:38.44,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.2,41.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.38,43.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:44.2,44.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47.88,48.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:48.32,50.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:51.2,52.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:52.20,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:55.2,55.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58.40,72.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74.106,75.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:75.34,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:78.2,79.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:79.16,81.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:83.2,84.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:88.2,89.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:89.13,91.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:93.2,94.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:94.63,96.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.2,98.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.72,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:102.2,106.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109.117,110.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:110.32,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.2,113.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.34,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:117.2,118.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:118.16,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.2,121.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.19,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:125.2,126.69 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:126.69,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:130.2,136.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18.33,20.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22.27,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39.93,40.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:40.30,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.2,43.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.28,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:46.2,47.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:47.16,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:51.2,52.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:52.17,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:55.2,56.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:56.19,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.2,59.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.19,61.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:62.2,63.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:63.16,65.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:67.2,74.9 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:74.9,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:77.2,78.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:78.15,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:81.2,85.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:85.16,87.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.2,88.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.17,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:92.2,101.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104.48,105.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:108.2,109.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:109.29,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.2,112.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.31,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:115.2,115.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118.75,120.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:120.27,121.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:121.32,123.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:123.17,124.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:126.4,126.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:129.2,134.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:134.33,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.2,137.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.40,138.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:138.39,140.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:141.3,141.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.2,143.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.34,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:146.2,147.35 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:147.35,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:150.2,150.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153.77,154.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:154.20,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:157.2,159.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:159.31,160.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:160.33,162.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.3,163.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.30,165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:167.2,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23.91,25.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27.38,50.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52.104,53.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:53.38,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:56.2,57.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:61.2,62.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:62.26,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:65.2,66.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:66.30,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.2,69.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.72,71.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:73.2,74.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:77.2,78.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:78.16,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:81.2,82.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:82.16,84.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:85.2,86.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:90.2,105.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.2,109.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.19,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.2,118.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.25,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.2,121.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.30,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.2,124.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.31,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:131.2,131.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134.91,136.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:136.9,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:139.2,140.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:140.15,141.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:141.19,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:144.3,144.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:146.2,146.94 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149.59,150.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:150.16,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:153.2,154.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:154.61,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:157.2,157.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160.56,161.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:161.75,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:164.2,164.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167.67,169.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:170.17,171.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:172.67,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:174.10,175.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179.60,180.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:183.2,184.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:184.25,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:187.2,187.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190.57,191.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:192.15,193.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:193.81,195.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:196.3,196.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:197.19,199.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:199.17,201.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.3,202.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.55,204.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:205.3,205.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:206.14,207.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:208.11,209.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:210.10,211.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215.59,216.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:216.16,218.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:219.2,219.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:220.12,221.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:222.14,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:224.10,225.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:28.90,30.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:30.16,32.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:34.2,36.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:37.16,38.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:40.16,42.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:44.20,46.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:48.17,50.142 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:52.17,56.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:56.50,62.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:62.63,64.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.4,66.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.45,68.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:72.4,74.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:74.25,76.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:77.4,77.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:80.3,80.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:82.18,84.141 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:86.18,88.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:88.18,90.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:91.3,91.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:93.17,96.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:96.50,99.59 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:99.59,101.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:102.4,104.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:104.25,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:107.4,107.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:110.3,110.98 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:112.10,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:125.86,126.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:129.2,130.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:130.9,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.2,133.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.22,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:137.2,139.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:139.31,141.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:141.10,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:144.3,145.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:145.22,147.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:148.3,149.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:149.26,151.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.3,152.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.68,154.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:155.3,156.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:156.37,158.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:159.3,160.107 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:162.2,162.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:165.249,166.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:166.24,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.2,169.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.38,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:173.2,174.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:174.31,175.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:175.32,177.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:180.2,181.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:181.34,182.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:182.29,183.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:185.3,197.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:197.17,199.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.3,200.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.20,201.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.3,203.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.37,205.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:205.33,206.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.4,208.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.19,209.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:209.43,210.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:212.5,212.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:214.4,215.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:215.30,216.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:220.2,220.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:223.113,229.2 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:231.101,233.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:247.92,251.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:251.16,253.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.8,253.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:259.2,272.51 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:272.51,274.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:274.38,275.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:276.50,277.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:278.12,279.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:287.2,292.26 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:292.26,294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.2,297.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.19,301.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:303.2,311.42 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:311.42,315.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:316.2,341.64 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:341.64,342.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:342.86,344.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.3,345.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.56,347.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:348.3,360.19 6 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:360.19,364.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:365.3,365.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:369.2,370.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:370.15,372.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:372.27,374.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.3,375.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.27,377.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:380.2,381.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:381.15,387.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:387.28,395.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:395.18,397.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.4,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.23,399.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.4,401.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.30,402.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:402.66,403.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:405.5,406.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:406.12,407.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.5,409.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.28,413.6 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:414.5,415.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:415.30,416.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:419.4,420.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:420.30,421.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:424.8,432.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:432.28,438.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:438.18,440.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.4,441.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.23,442.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.4,444.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.30,445.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:445.40,447.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:447.31,448.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:452.4,455.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:455.30,456.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:461.2,465.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:465.17,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:469.2,470.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:470.16,472.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:473.2,473.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20.79,21.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:21.43,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.2,24.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.29,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:27.2,27.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30.40,63.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65.68,71.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:71.25,74.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:75.2,75.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78.62,83.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:83.19,87.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:88.2,88.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91.101,92.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:92.22,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:95.2,96.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:96.18,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:103.2,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:107.2,107.119 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110.99,111.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:111.22,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:114.2,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:115.18,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:118.2,119.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:119.16,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.2,122.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.51,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:129.2,131.15 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:131.15,132.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:132.69,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:135.3,135.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:137.2,137.130 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140.102,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.2,145.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.64,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:148.2,148.113 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151.109,153.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:157.16,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:160.2,161.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:161.16,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:164.2,164.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167.107,169.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:169.16,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:172.2,173.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:173.16,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.2,176.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.107,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:179.2,179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:180.41,181.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:182.41,183.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:184.10,185.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189.111,191.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:191.16,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:194.2,195.57 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:195.57,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:198.2,199.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:199.23,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.2,206.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.17,208.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:209.2,209.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212.63,215.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217.69,219.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:222.2,222.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225.60,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:230.2,230.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233.137,234.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:234.49,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:241.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:246.2,247.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:247.16,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.2,250.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.22,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:253.2,253.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256.142,258.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:258.16,260.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:261.2,262.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:262.16,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.2,265.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.47,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:268.2,269.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:269.16,270.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:270.50,272.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:273.3,273.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:275.2,275.173 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278.157,280.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:280.16,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.2,283.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.47,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:286.2,287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:287.16,288.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:288.50,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:291.3,291.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:293.2,293.169 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296.104,297.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:297.22,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:300.2,301.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:301.61,303.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:303.20,304.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.2,307.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.19,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:310.2,317.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320.119,322.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:322.39,323.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:323.81,325.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:327.2,327.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330.71,332.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:332.16,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:335.2,335.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17.61,105.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:105.23,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:123.2,123.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126.104,127.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:127.61,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.2,130.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.38,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:133.2,134.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:137.2,138.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:138.16,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:141.2,147.107 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:147.107,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:150.2,151.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:151.16,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:154.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:170.19,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:173.2,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176.103,177.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:177.61,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.2,180.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.38,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:187.2,191.106 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:191.106,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:194.2,195.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:195.16,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:198.2,200.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:200.31,207.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:207.36,218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:219.3,220.35 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:222.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233.107,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.2,237.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.38,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:240.2,241.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:241.16,243.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:244.2,248.110 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:248.110,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:251.2,252.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:252.16,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:255.2,256.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:256.33,266.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:267.2,275.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278.108,279.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:279.61,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.2,282.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.37,284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:285.2,286.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:286.16,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:289.2,290.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:290.19,292.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.2,293.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.104,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:296.2,297.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:297.16,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:300.2,307.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:307.16,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:310.2,311.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:311.43,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:319.2,332.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:332.22,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:335.2,335.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338.108,339.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:339.62,341.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.2,342.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.38,344.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:345.2,346.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:346.9,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:349.2,350.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:350.16,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:353.2,357.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:360.2,370.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373.109,374.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:374.62,376.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.2,377.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.38,379.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:380.2,381.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:381.9,383.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:384.2,385.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:385.16,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:388.2,390.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:390.32,392.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:393.2,394.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:394.16,396.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:397.2,403.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406.106,407.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:407.62,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.2,410.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.38,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:413.2,414.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:414.9,416.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:417.2,418.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:418.16,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:421.2,423.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:423.16,424.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:424.41,434.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:435.3,435.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:437.2,445.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483.65,484.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:484.42,485.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:485.39,487.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.2,489.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.85,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:492.2,492.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495.102,496.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:496.38,498.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.2,499.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.58,501.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:502.2,502.90 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505.60,508.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510.66,512.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:512.26,514.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:515.2,515.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518.69,521.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:521.33,523.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:523.21,524.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.3,526.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.34,527.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:529.3,530.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:532.2,532.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535.63,537.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:537.19,539.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:540.2,541.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:541.42,543.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.2,544.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.57,546.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.2,547.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.54,549.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:550.2,550.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553.70,557.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559.66,561.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:561.9,563.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:564.2,566.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:566.17,568.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:569.2,569.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:570.103,572.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:573.34,574.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:575.10,576.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580.56,581.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:581.37,583.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.2,584.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.26,586.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:586.37,587.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:589.3,589.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:591.2,591.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594.90,602.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604.68,605.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:605.71,607.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:607.17,609.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:610.3,610.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:612.2,613.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:613.16,615.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:616.2,617.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:617.41,619.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:620.2,620.78 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623.65,625.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:625.16,627.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.2,628.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.17,630.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:631.2,631.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634.51,635.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:635.16,637.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:638.2,638.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641.56,642.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:642.28,644.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:645.2,646.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649.92,651.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:651.29,653.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:654.2,654.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657.86,659.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:659.29,661.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:662.2,662.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665.94,667.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:667.29,669.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:670.2,670.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673.98,675.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:675.29,677.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:678.2,678.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:17.93,18.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:18.104,20.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:22.2,23.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:23.16,25.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:27.2,28.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:28.19,30.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:32.2,35.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:35.33,36.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:36.47,39.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:42.2,44.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:44.20,47.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:48.2,49.68 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:49.68,50.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:50.48,52.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.3,53.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.32,55.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:55.23,56.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:56.63,58.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:59.5,59.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:61.4,61.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:64.2,71.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:71.17,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.8,73.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.29,75.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:75.36,77.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:78.3,83.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.2,86.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.35,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:90.2,97.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:101.2,110.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:110.28,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:113.2,124.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:133.93,134.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:134.35,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:138.2,139.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:139.16,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:143.2,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.2,147.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.17,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:151.2,152.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:152.33,153.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:153.47,156.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:160.16,162.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:164.2,176.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:176.26,178.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:178.23,180.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:181.3,192.5 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:195.2,196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:199.2,199.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:22.104,24.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:24.16,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:28.2,29.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:29.18,31.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:33.2,33.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:34.13,35.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:36.13,37.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:38.14,39.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:40.16,41.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:42.10,43.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:51.67,53.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:57.68,58.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:58.33,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:61.2,61.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:67.42,69.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:74.61,76.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:76.26,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:79.2,79.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:85.90,86.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:86.49,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:90.2,91.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:91.15,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:94.2,95.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:95.17,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:100.2,103.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:103.16,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:107.2,113.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:113.12,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:115.18,117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:118.3,119.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:119.20,121.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:122.3,124.48 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:125.8,127.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:129.2,130.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:130.16,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:134.2,139.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:145.90,147.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:151.2,152.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:152.16,154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:157.16,158.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:158.47,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:161.3,161.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:164.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:170.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:173.8,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:176.2,176.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:181.92,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:187.2,188.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:188.16,190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:192.2,200.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:200.25,207.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:207.28,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:210.3,210.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:212.2,212.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:216.93,217.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:217.52,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:221.2,222.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:222.15,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:226.2,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.2,231.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.47,232.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:232.47,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:235.3,235.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:238.2,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:35.127,36.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:36.23,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:39.2,40.40 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:40.40,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.2,43.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.37,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.2,46.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.37,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:49.2,49.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:52.23,80.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:82.26,140.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:142.92,143.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:143.25,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:147.2,148.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:148.49,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:152.2,152.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:153.17,154.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:154.24,156.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:157.3,158.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:158.17,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:161.3,165.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:166.17,167.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:167.22,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.3,170.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.22,172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:173.3,174.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:174.17,176.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:177.3,181.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:182.16,189.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:189.23,191.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.3,192.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.24,194.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.3,195.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.39,197.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:198.3,207.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:207.17,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.3,210.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.69,212.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:213.3,213.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:214.10,215.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:219.92,220.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:220.25,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:224.2,225.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:225.49,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:229.2,229.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:230.17,232.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:232.24,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:235.3,236.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:236.17,238.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.3,239.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.59,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.3,242.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.81,244.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:245.3,250.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:251.17,253.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:253.22,255.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:256.3,257.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:257.17,259.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.3,260.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.79,262.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:263.3,268.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:269.10,270.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:274.91,276.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:276.16,278.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.2,279.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.67,280.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:280.76,282.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:285.2,286.52 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:286.52,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:289.2,289.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:292.74,294.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:294.16,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.2,297.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.62,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:300.2,300.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:303.109,304.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:304.56,306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.2,307.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.25,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.2,310.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.81,312.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.2,313.102 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.102,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.2,316.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.108,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.2,319.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.99,321.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.2,322.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.99,324.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.2,325.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.60,327.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.2,328.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.34,330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.2,331.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.114,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.2,334.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.66,336.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.2,337.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.40,339.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.2,340.132 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.132,342.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.2,343.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.35,345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:346.2,346.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:349.92,350.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:350.103,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:354.2,355.52 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:355.52,357.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.2,358.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.32,360.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:361.2,361.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:364.108,365.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:365.19,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:368.2,369.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:369.53,371.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.2,372.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.19,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.2,375.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.39,376.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:376.34,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:380.2,380.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:383.66,385.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:385.53,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.2,388.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.19,390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:391.2,391.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:16.2,18.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:19.16,20.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:21.14,22.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:23.15,24.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:25.16,26.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:27.10,28.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21.75,23.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25.41,28.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30.31,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39.38,46.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48.50,56.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58.43,70.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72.80,73.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:73.36,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.2,76.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.48,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:79.2,79.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82.97,84.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:87.2,88.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:88.16,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:91.2,92.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:92.16,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:95.2,96.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:96.16,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:99.2,99.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102.104,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:111.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:115.2,116.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:116.16,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:119.2,119.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122.96,124.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:127.2,128.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:128.19,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:131.2,132.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:132.18,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:135.2,141.79 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:141.79,143.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:143.17,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:146.3,146.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:148.2,148.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151.77,153.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:156.2,157.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:157.19,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:160.2,160.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:22.15,23.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:24.13,25.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:26.14,27.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:28.16,29.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:30.16,31.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:32.10,33.102 1 0 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/create-database.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/create-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/create-database.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/create-database.stdout.log new file mode 100644 index 00000000..4b15bd57 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/create-database.stdout.log @@ -0,0 +1 @@ +CREATE DATABASE diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/create-pgvector.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/create-pgvector.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/create-pgvector.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/create-pgvector.stdout.log new file mode 100644 index 00000000..d26bad14 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/create-pgvector.stdout.log @@ -0,0 +1 @@ +CREATE EXTENSION diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/database-identity.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/database-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/database-identity.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/database-identity.stdout.log new file mode 100644 index 00000000..f46e1a07 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/database-identity.stdout.log @@ -0,0 +1 @@ +{"database" : "engram_prc_rg_test_8a461b2905076235_r1", "schema" : "public", "server_version" : "17.10 (Debian 17.10-1.pgdg12+1)", "user" : "engram"} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/go-test-summary.json b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/go-test-summary.json new file mode 100644 index 00000000..a7f9cb26 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/go-test-summary.json @@ -0,0 +1,40 @@ +{ + "schema_version": 1, + "verdict": "PASS", + "input_path": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\go-test.stdout.jsonl", + "fail_on_unexpected_skip": true, + "allowed_skip_identities": [], + "counts": { + "packages": 1, + "tests": 1, + "passed": 1, + "failed": 0, + "skipped": 0, + "no_tests": 0, + "zero_tests": 0, + "incomplete": 0, + "unexpected_skips": 0, + "malformed_lines": 0 + }, + "packages": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "outcome": "pass", + "elapsed_seconds": 3.8890000000000002, + "last_output": "ok \tgithub.com/thebtf/engram/internal/mcp\t3.879s\tcoverage: 0.1% of statements", + "tests_observed": 1 + } + ], + "tests": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEC_F1_TagDerivedBackfill_T007", + "outcome": "pass", + "elapsed_seconds": 3.76, + "last_output": "--- PASS: TestEC_F1_TagDerivedBackfill_T007 (3.76s)", + "skip_allowed": false + } + ], + "unexpected_skips": [], + "errors": [] +} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/go-test.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/go-test.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/go-test.stdout.jsonl b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/go-test.stdout.jsonl new file mode 100644 index 00000000..55f23530 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/go-test.stdout.jsonl @@ -0,0 +1,16 @@ +{"Time":"2026-07-11T03:38:44.3653921+03:00","Action":"start","Package":"github.com/thebtf/engram/internal/mcp"} +{"Time":"2026-07-11T03:38:44.4553914+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007"} +{"Time":"2026-07-11T03:38:44.4553914+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"=== RUN TestEC_F1_TagDerivedBackfill_T007\n"} +{"Time":"2026-07-11T03:38:45.3183256+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"warn\",\"error\":\"ERROR: relation \\\"observation_vectors\\\" does not exist (SQLSTATE 42P01)\",\"time\":\"2026-07-11T03:38:45+03:00\",\"message\":\"migration 040: orphan vector cleanup failed (non-fatal)\"}\n"} +{"Time":"2026-07-11T03:38:45.3183256+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"garbage_deleted\":0,\"orphan_vectors_deleted\":0,\"time\":\"2026-07-11T03:38:45+03:00\",\"message\":\"migration 040: garbage cleanup complete\"}\n"} +{"Time":"2026-07-11T03:38:45.3268248+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"orphan_vectors_deleted\":0,\"time\":\"2026-07-11T03:38:45+03:00\",\"message\":\"migration 041: orphan vector purge complete\"}\n"} +{"Time":"2026-07-11T03:38:45.3348275+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"patterns_deleted\":0,\"time\":\"2026-07-11T03:38:45+03:00\",\"message\":\"migration 042: low-quality pattern purge complete\"}\n"} +{"Time":"2026-07-11T03:38:45.3693248+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"total_deleted\":0,\"time\":\"2026-07-11T03:38:45+03:00\",\"message\":\"migration 043: radical observation cleanup complete\"}\n"} +{"Time":"2026-07-11T03:38:46.6611206+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"warn\",\"error\":\"ERROR: extension \\\"vectorscale\\\" is not available (SQLSTATE 0A000)\",\"time\":\"2026-07-11T03:38:46+03:00\",\"message\":\"migration 109: vectorscale extension not available, skipping DiskANN index\"}\n"} +{"Time":"2026-07-11T03:38:47.8613841+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:38:47+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:38:48.2142452+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"--- PASS: TestEC_F1_TagDerivedBackfill_T007 (3.76s)\n"} +{"Time":"2026-07-11T03:38:48.2142452+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Elapsed":3.76} +{"Time":"2026-07-11T03:38:48.2142452+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"PASS\n"} +{"Time":"2026-07-11T03:38:48.229745+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"coverage: 0.1% of statements\n"} +{"Time":"2026-07-11T03:38:48.2542451+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"ok \tgithub.com/thebtf/engram/internal/mcp\t3.879s\tcoverage: 0.1% of statements\n"} +{"Time":"2026-07-11T03:38:48.2542451+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Elapsed":3.8890000000000002} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/pg-stat-activity-after.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/pg-stat-activity-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/pg-stat-activity-after.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/pg-stat-activity-after.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/pg-stat-activity-after.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/pg-stat-activity-before.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/pg-stat-activity-before.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/repeat-summary.json b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/repeat-summary.json new file mode 100644 index 00000000..8a05a25c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/repeat-summary.json @@ -0,0 +1,33 @@ +{ + "repeat": 1, + "verdict": "PASS", + "database": "engram_prc_rg_test_8a461b2905076235_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_8a461b2905076235_r1.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": false, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 0, + "json_parser_exit": 0, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\cleanup\\cleanup.json", + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01" +} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/server-connection-count-after.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/server-connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/server-connection-count-after.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/server-connection-count-after.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/server-connection-count-after.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/server-connection-count-before.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/server-connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/server-connection-count-before.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/server-connection-count-before.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/server-connection-count-before.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/targeted-coverage.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/targeted-coverage.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/targeted-coverage.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/targeted-coverage.stdout.log new file mode 100644 index 00000000..c958686c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/repeat-01/targeted-coverage.stdout.log @@ -0,0 +1,352 @@ +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33: effectiveAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44: isAuditEnabled 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52: runAuditAsync 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77: marshalState 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92: logAuditCreate 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117: logAuditEdit 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142: logAuditDelete 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166: logAuditGeneric 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189: logAuditSupersede 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:30: parseArgs 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:46: coerceString 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:67: coerceInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:97: coerceInt64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:127: coerceFloat64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:151: coerceBool 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:177: coerceStringSlice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:204: coerceInt64Slice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:222: clampToInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:236: clampInt64ToInt 0.0% +github.com/thebtf/engram/internal/mcp/context.go:17: extractProjectFromHeader 0.0% +github.com/thebtf/engram/internal/mcp/context.go:22: contextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:29: ContextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:35: projectFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:41: contextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:48: ContextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:54: sessionFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:61: actorFromContext 0.0% +github.com/thebtf/engram/internal/mcp/health.go:22: NewMCPHealth 0.0% +github.com/thebtf/engram/internal/mcp/health.go:29: RecordRequest 0.0% +github.com/thebtf/engram/internal/mcp/health.go:36: RecordError 0.0% +github.com/thebtf/engram/internal/mcp/health.go:42: rotateWindowIfNeeded 0.0% +github.com/thebtf/engram/internal/mcp/health.go:55: HandleHealth 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28: ruleGovernanceCaptureEnabled 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39: captureActiveRuleIntent 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104: ruleIntentFingerprint 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113: marshalRuleCandidateIntentResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:127: NewServer 100.0% +github.com/thebtf/engram/internal/mcp/server.go:141: SetBackfillStatusFunc 0.0% +github.com/thebtf/engram/internal/mcp/server.go:146: SetVersionedDocumentStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:151: SetIssueStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:156: SetMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:161: SetMetaMemoryIndex 0.0% +github.com/thebtf/engram/internal/mcp/server.go:166: SetHintQueue 0.0% +github.com/thebtf/engram/internal/mcp/server.go:171: SetStateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:176: SetDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/server.go:181: SetBehavioralRulesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:186: SetRuleGovernanceStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:191: SetRuleInjectionTelemetryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:195: SetPromotionStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:199: SetGraphStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:204: SetNodesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:211: SetAuditStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:216: SetPurgeStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:222: SetCandidateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:228: SetSnapshotStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:234: SetBulkFacade 0.0% +github.com/thebtf/engram/internal/mcp/server.go:240: setTestAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/server.go:246: setTestMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/server.go:252: setTestMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/server.go:260: SetWriteLintOrchestrator 0.0% +github.com/thebtf/engram/internal/mcp/server.go:269: SetRedactionRules 0.0% +github.com/thebtf/engram/internal/mcp/server.go:274: SetEmbeddingStores 0.0% +github.com/thebtf/engram/internal/mcp/server.go:282: SetRerankClient 0.0% +github.com/thebtf/engram/internal/mcp/server.go:290: SetStatsDB 0.0% +github.com/thebtf/engram/internal/mcp/server.go:297: HandleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:303: ListTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:332: Version 0.0% +github.com/thebtf/engram/internal/mcp/server.go:383: Run 0.0% +github.com/thebtf/engram/internal/mcp/server.go:427: handleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:461: handleNotification 0.0% +github.com/thebtf/engram/internal/mcp/server.go:473: handleInitialize 0.0% +github.com/thebtf/engram/internal/mcp/server.go:496: buildInstructions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:660: storeMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:712: recallMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:805: primaryTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:942: handleToolsList 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1612: handleToolsCall 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1644: sanitizeToolCallArgs 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1656: callTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1874: sendResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1884: sendError 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1896: handleFindSimilarObservations 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1927: handleGetMemoryStats 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2055: handleBackfillStatus 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2071: handleCheckSystemHealth 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2216: handleAnalyzeSearchPatterns 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2246: handleSearchSessions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2251: handleListSessions 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:18: buildAdminTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:68: adminActionsForEnv 33.3% +github.com/thebtf/engram/internal/mcp/tools_admin.go:80: vnextEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:84: handleAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:120: handlePurgeProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27: ambientHintsEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32: ambientHintsTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48: handleGetAmbientHints 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86: normalizeAmbientHintsToolLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96: ambientHintItems 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114: errMissingSessionID 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:31: handleGetMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:107: memoryBriefUsesPrincipalScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:115: handlePrincipalMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:259: truncateBriefContent 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:270: filterInjectionByScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25: bulkOpsTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95: handleBulkPromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154: handleBulkDelete 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211: handleBulkSupersede 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31: candidateItemFromDomain 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51: newCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59: requireCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68: candidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165: handleListCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208: handleGetCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239: handlePromoteCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348: handleRejectCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402: handleSupersedeCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34: codeIntelEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42: SetCodeChunkStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48: codebaseSearchTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79: codebaseStatusTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100: handleCodebaseSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194: handleCodebaseStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:21: getVault 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:35: credentialStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:49: handleStoreCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:130: handleGetCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:192: handleListCredentials 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:243: handleDeleteCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:302: handleVaultStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:338: expandTagHierarchy 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:16: directivesCaptureEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:20: rememberDirectiveTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:38: currentDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:48: handleRememberDirective 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:72: parseRememberDirectiveArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10: handleDocsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:15: handleListCollections 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:61: handleListDocuments 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:121: handleGetDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:165: handleRemoveDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:197: handleIngestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:235: handleSearchCollection 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15: handleDocCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61: handleDocRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117: handleDocUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122: handleDocList 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175: handleDocHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232: handleDocComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19: SetExperienceProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23: experienceHistoryTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40: experienceHistoryReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65: experienceHistoryDetailSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82: experienceHistoryTriggerEnum 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91: handleExperienceHistoryRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103: handleExperienceHistoryDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115: parseExperienceHistoryReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142: parseExperienceHistoryDetailArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157: experienceHistoryTriggersFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180: marshalExperienceHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12: handleFeedbackConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36: handleSetSessionOutcome 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:27: governanceTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:98: handleListSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:167: handleRollbackSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:215: handlePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:258: handleRedactionRulesStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:284: resolveGovernanceActor 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:64: handleGraph 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:100: graphAddEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:216: mcpGraphEndpointExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:243: mcpGraphEdgeAlreadyExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:276: graphAddNode 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:317: graphRemoveEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:332: graphGetEdges 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:397: filterEdgesByNodeType 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:457: graphTraverse 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:480: graphFindPath 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:502: graphSynonyms 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23: graphCreateEdgeWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80: graphEndpointExistsWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114: graphDuplicateEdgeExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25: handleIngest 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43: ingestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20: handleImportInstincts 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:19: issuesToolSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:109: validateIssueActionParams 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:143: handleIssues 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:189: resolveSourceProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:205: handleIssueCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:250: handleIssueList 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:311: handleIssueGet 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:344: handleIssueUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:382: handleIssueComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:408: handleIssueReopen 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:425: handleIssueClose 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22: handleLifecycle 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48: lifecycleInfo 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87: lifecyclePromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118: lifecycleDemote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149: lifecycleSetConfidence 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172: lifecycleSetDefeasibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191: lifecycleSleepStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197: lifecycleDecayPreview 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233: marshalJSON 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:35: vnextFEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:42: isValidPrivacyScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:54: derivePrivacyScopeFromLegacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:82: deriveLegacyScopeFromPrivacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:93: applyPrincipalMemoryMetadata 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:135: addPrincipalMemoryFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:161: newScopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:172: writeLintVisibilityCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:186: writeLintVisibilityOptions 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:192: scopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:202: filterVisibleWriteGateCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:214: domainManageAllowed 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:218: List 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:272: writeLintVisibilityFetchLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:286: Get 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:297: Create 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:301: Update 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:305: MarkSuperseded 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:319: effectiveMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:329: isValidStoreObservationType 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:354: handleStoreMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111: handleEditMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218: computeTTLDays 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258: truncateTitle 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270: keepRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280: keepRecallMemoryFilters 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342: handleRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690: staleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700: marshalWithStaleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727: Rank 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1751: handleRecallMemoryHybrid 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252: handleRateMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281: handleSuppressMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17: SetDomainRegistryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21: checkDomainWriteMCP 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43: addDomainWriteDecisionFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51: marshalStoreMemoryAugmented 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26: newMemoryStoreSignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33: s6OutcomeEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37: effectiveMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47: currentMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58: rateMemorySignificanceTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74: handleRateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109: RateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18: s2MetaMemoryEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22: knowAboutTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39: handleKnowAbout 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104: parseKnowAboutLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118: summarizeMetaIndexTags 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153: summarizeMetaIndexDateRange 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23: SetPrincipalMemoryQueryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27: principalMemoryQueryTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52: handleQueryPrincipalMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134: principalMemoryQueryCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149: parsePrincipalMemoryQueryLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160: principalMemoryQueryText 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167: parsePrincipalMemoryQueryVisibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179: parsePrincipalMemoryQueryOffset 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190: parsePrincipalMemoryQueryInt 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215: parsePrincipalMemoryQueryBool 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:28: handleRecall 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:125: parseRecallIncludedPrincipals 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:165: appendRecallIncludedPrincipalMemories 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:223: recallIncludeTargetMatchesCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:231: recallPrincipalQueryItemToMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:247: handleRecallSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20: currentReviewLoopCandidateLister 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30: reviewLoopCandidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65: reviewLoopReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78: reviewPacketIDSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91: handleReviewMetricsRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110: handleReviewQueueRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140: handleReviewPacketDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151: handleReviewPacketPreviewAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167: handleReviewPacketApplyAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189: parseReviewLoopReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212: reviewLoopMCPPacketTypeSupported 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217: reviewLoopActionFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225: reviewLoopReasonFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233: loadReviewPacketCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256: applyReviewPacketPreserve 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278: applyReviewPacketSuppress 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296: reviewLoopMemoryFromCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320: filterRiskyMCPReviewCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330: marshalReviewLoop 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17: ruleGovernanceReadTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126: handleRuleGovernanceHealth 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176: handleRuleGovernanceQueue 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233: handleRuleGovernanceSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278: handleRuleGovernanceUsefulness 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338: handleRuleGovernanceTransition 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373: handleRuleGovernancePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406: handleRuleGovernanceRollback 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483: requireRuleGovernanceReadAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495: requireRuleGovernanceProjectOrAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505: ruleGovernanceCallerIsAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510: requireRuleGovernanceAdminAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518: redactRuleGovernanceEvidenceHandles 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535: redactRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553: ruleGovernanceEvidenceHandleHasSensitiveText 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559: isCanonicalRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580: isSafeRuleGovernanceEvidenceID 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594: parseRuleGovernanceTransitionRequest 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604: parseRuleGovernanceSince 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623: boundedRuleGovernanceLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634: formatRuleGovernanceTime 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641: formatRuleGovernanceTimePtr 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649: stringRuleCandidateStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657: stringRuleVersionStateCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665: stringRuleArbiterRunStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673: stringRuleInjectionEventTypeCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:17: handleStoreRule 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:133: handleListRules 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:22: handleSettingsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:51: SetSettingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:57: settingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:67: isSecretSettingKey 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:74: requireAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:85: handleSetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:145: handleGetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:181: handleListSettings 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:216: handleDeleteSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:35: resumeScopesFromFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:52: stateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:82: setStateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:142: handleGetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:219: handleSetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:274: decodeSessionStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:292: validateSessionStateBudget 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:303: validateNativeResumePacket 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:349: decodeProjectStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:364: requireStateObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:383: requireNestedObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10: handleStoreConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21: SetTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25: temporalTruthEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30: temporalTruthTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39: temporalTruthRefreshTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48: temporalTruthRefreshSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58: temporalTruthSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72: currentTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82: handleTemporalTruth 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102: handleTemporalTruthRefresh 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122: parseTemporalTruthArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151: parseTemporalTruthRefreshProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10: handleVaultConsolidated 0.0% +total: (statements) 0.1% diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/summary.json b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/summary.json new file mode 100644 index 00000000..e97ab0ce --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-post-prove-green/summary.json @@ -0,0 +1,64 @@ +{ + "schema_version": 1, + "gate": "release-gates-foundation", + "run_id": "t007-maker-post-prove-green", + "started_at": "2026-07-11T00:38:39.3860044+00:00", + "finished_at": "2026-07-11T00:38:53.9170617+00:00", + "duration_seconds": 14.531, + "verdict": "PASS", + "counts": { + "requested_repeats": 1, + "completed_repeats": 1, + "passed_repeats": 1, + "failed_repeats": 0, + "child_commands": 16, + "nonzero_child_commands": 0 + }, + "packages": [ + "./internal/mcp" + ], + "run_pattern": "^TestEC_F1_TagDerivedBackfill_T007$", + "coverage_policy": "Targeted", + "connection_budget": 20, + "race": false, + "database_dsn": "REDACTED_DATABASE_DSN", + "environment": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\environment.json", + "commands": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\commands.json", + "repeats": [ + { + "repeat": 1, + "verdict": "PASS", + "database": "engram_prc_rg_test_8a461b2905076235_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_8a461b2905076235_r1.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": false, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 0, + "json_parser_exit": 0, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01\\cleanup\\cleanup.json", + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green\\repeat-01" + } + ], + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-post-prove-green" +} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/commands.json b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/commands.json new file mode 100644 index 00000000..4ef86028 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/commands.json @@ -0,0 +1,444 @@ +[ + { + "name": "go-version", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "version" + ], + "environment_keys": [], + "command": "C:\\Program Files\\Go\\bin\\go.exe version", + "started_at": "2026-07-11T00:37:29.5873228+00:00", + "finished_at": "2026-07-11T00:37:29.7793634+00:00", + "duration_seconds": 0.192, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\go-version.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\go-version.stderr.log" + }, + { + "name": "postgres-container-identity", + "executable": "docker", + "arguments": [ + "inspect", + "--format", + "{{.Name}}|{{.Config.Image}}|{{.Image}}|{{.State.Running}}", + "engram-prc-postgres" + ], + "environment_keys": [], + "command": "docker inspect --format {{.Name}}|{{.Config.Image}}|{{.Image}}|{{.State.Running}} engram-prc-postgres", + "started_at": "2026-07-11T00:37:29.8378010+00:00", + "finished_at": "2026-07-11T00:37:30.1902995+00:00", + "duration_seconds": 0.352, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\postgres-container-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\postgres-container-identity.stderr.log" + }, + { + "name": "postgres-server-identity", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT json_build_object('server_version', current_setting('server_version'), 'server_version_num', current_setting('server_version_num'), 'version', version(), 'max_connections', current_setting('max_connections'), 'superuser_reserved_connections', current_setting('superuser_reserved_connections'), 'reserved_connections', COALESCE(NULLIF(current_setting('reserved_connections', true), ''), '0'), 'current_connections', (SELECT count(*)::text FROM pg_stat_activity), 'database', current_database(), 'schema', current_schema(), 'user', current_user)::text;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT json_build_object('server_version', current_setting('server_version'), 'server_version_num', current_setting('server_version_num'), 'version', version(), 'max_connections', current_setting('max_connections'), 'superuser_reserved_connections', current_setting('superuser_reserved_connections'), 'reserved_connections', COALESCE(NULLIF(current_setting('reserved_connections', true), ''), '0'), 'current_connections', (SELECT count(*)::text FROM pg_stat_activity), 'database', current_database(), 'schema', current_schema(), 'user', current_user)::text;", + "started_at": "2026-07-11T00:37:30.2001555+00:00", + "finished_at": "2026-07-11T00:37:30.5492137+00:00", + "duration_seconds": 0.349, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\postgres-server-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\postgres-server-identity.stderr.log" + }, + { + "name": "repeat-1-create-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "CREATE DATABASE \"engram_prc_rg_test_9a720e1716717962_r1\" OWNER \"engram\";" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c CREATE DATABASE \"engram_prc_rg_test_9a720e1716717962_r1\" OWNER \"engram\";", + "started_at": "2026-07-11T00:37:30.5805592+00:00", + "finished_at": "2026-07-11T00:37:30.9277907+00:00", + "duration_seconds": 0.347, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\create-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\create-database.stderr.log" + }, + { + "name": "repeat-1-create-pgvector", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_9a720e1716717962_r1", + "-At", + "-F", + "|", + "-c", + "CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_9a720e1716717962_r1 -At -F | -c CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;", + "started_at": "2026-07-11T00:37:30.9331841+00:00", + "finished_at": "2026-07-11T00:37:31.2878804+00:00", + "duration_seconds": 0.355, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\create-pgvector.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\create-pgvector.stderr.log" + }, + { + "name": "repeat-1-database-identity", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_9a720e1716717962_r1", + "-At", + "-F", + "|", + "-c", + "SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_9a720e1716717962_r1 -At -F | -c SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;", + "started_at": "2026-07-11T00:37:31.2903345+00:00", + "finished_at": "2026-07-11T00:37:31.8184278+00:00", + "duration_seconds": 0.528, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\database-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\database-identity.stderr.log" + }, + { + "name": "repeat-1-pg-stat-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_9a720e1716717962_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_9a720e1716717962_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:37:31.8236399+00:00", + "finished_at": "2026-07-11T00:37:32.1880578+00:00", + "duration_seconds": 0.364, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\pg-stat-activity-before.stderr.log" + }, + { + "name": "repeat-1-server-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T00:37:32.1902070+00:00", + "finished_at": "2026-07-11T00:37:32.5616049+00:00", + "duration_seconds": 0.371, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\server-connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\server-connection-count-before.stderr.log" + }, + { + "name": "repeat-1-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_9a720e1716717962_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_9a720e1716717962_r1';", + "started_at": "2026-07-11T00:37:32.5712856+00:00", + "finished_at": "2026-07-11T00:37:32.9477576+00:00", + "duration_seconds": 0.376, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\connection-count-before.stderr.log" + }, + { + "name": "repeat-1-go-test", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "test", + "-json", + "-p", + "1", + "-parallel", + "1", + "-count=1", + "-timeout", + "30m", + "-covermode=atomic", + "-coverprofile=.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\coverage.out", + "-run", + "^TestEC_F1_TagDerivedBackfill_T007$", + "./internal/mcp" + ], + "environment_keys": [ + "DATABASE_DSN", + "DATABASE_MAX_CONNS", + "ENGRAM_RELEASE_GATE_REPEAT", + "ENGRAM_RELEASE_GATE_RUN_ID", + "ENGRAM_TEST_DSN", + "TEST_DATABASE_DSN" + ], + "command": "C:\\Program Files\\Go\\bin\\go.exe test -json -p 1 -parallel 1 -count=1 -timeout 30m -covermode=atomic -coverprofile=.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\coverage.out -run ^TestEC_F1_TagDerivedBackfill_T007$ ./internal/mcp", + "started_at": "2026-07-11T00:37:32.9533591+00:00", + "finished_at": "2026-07-11T00:37:40.4458627+00:00", + "duration_seconds": 7.493, + "exit_code": 1, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\go-test.stdout.jsonl", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\go-test.stderr.log" + }, + { + "name": "repeat-1-assert-go-test-json", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-current-contract\\scripts\\production-gates\\assert-go-test-json.ps1", + "-InputPath", + ".agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\go-test.stdout.jsonl", + "-SummaryPath", + ".agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\go-test-summary.json", + "-FailOnUnexpectedSkip" + ], + "environment_keys": [], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-current-contract\\scripts\\production-gates\\assert-go-test-json.ps1 -InputPath .agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\go-test.stdout.jsonl -SummaryPath .agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\go-test-summary.json -FailOnUnexpectedSkip", + "started_at": "2026-07-11T00:37:40.4513588+00:00", + "finished_at": "2026-07-11T00:37:41.1650840+00:00", + "duration_seconds": 0.714, + "exit_code": 1, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\assert-go-test-json.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\assert-go-test-json.stderr.log" + }, + { + "name": "repeat-1-targeted-coverage-report", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "tool", + "cover", + "-func=.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\coverage.out" + ], + "environment_keys": [], + "command": "C:\\Program Files\\Go\\bin\\go.exe tool cover -func=.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\coverage.out", + "started_at": "2026-07-11T00:37:41.1713469+00:00", + "finished_at": "2026-07-11T00:37:41.7013653+00:00", + "duration_seconds": 0.53, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\targeted-coverage.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\targeted-coverage.stderr.log" + }, + { + "name": "repeat-1-pg-stat-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_9a720e1716717962_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_9a720e1716717962_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:37:41.7022442+00:00", + "finished_at": "2026-07-11T00:37:42.0483858+00:00", + "duration_seconds": 0.346, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\pg-stat-activity-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\pg-stat-activity-after.stderr.log" + }, + { + "name": "repeat-1-server-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T00:37:42.0506090+00:00", + "finished_at": "2026-07-11T00:37:42.3900009+00:00", + "duration_seconds": 0.339, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\server-connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\server-connection-count-after.stderr.log" + }, + { + "name": "repeat-1-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_9a720e1716717962_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_9a720e1716717962_r1';", + "started_at": "2026-07-11T00:37:42.3925203+00:00", + "finished_at": "2026-07-11T00:37:42.9842345+00:00", + "duration_seconds": 0.592, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\connection-count-after.stderr.log" + }, + { + "name": "repeat-1-cleanup", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-current-contract\\scripts\\production-gates\\cleanup-db-sessions.ps1", + "-DatabaseName", + "engram_prc_rg_test_9a720e1716717962_r1", + "-SchemaName", + "public", + "-ArtifactRoot", + ".agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01", + "-RunId", + "t007-maker-prove-it-old-assertion-repeat-1", + "-PostgresContainer", + "engram-prc-postgres" + ], + "environment_keys": [ + "ENGRAM_TEST_ADMIN_DSN" + ], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-current-contract\\scripts\\production-gates\\cleanup-db-sessions.ps1 -DatabaseName engram_prc_rg_test_9a720e1716717962_r1 -SchemaName public -ArtifactRoot .agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01 -RunId t007-maker-prove-it-old-assertion-repeat-1 -PostgresContainer engram-prc-postgres", + "started_at": "2026-07-11T00:37:42.9877523+00:00", + "finished_at": "2026-07-11T00:37:45.7794120+00:00", + "duration_seconds": 2.792, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\cleanup-process.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\cleanup-process.stderr.log" + } +] diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/environment.json b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/environment.json new file mode 100644 index 00000000..96b0cbf4 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/environment.json @@ -0,0 +1,52 @@ +{ + "schema_version": 1, + "run_id": "t007-maker-prove-it-old-assertion", + "timestamp": "2026-07-11T00:37:29.5703459+00:00", + "go_version": "go version go1.25.11 windows/amd64", + "postgres": { + "declared_image": "pgvector/pgvector:pg17", + "container": { + "name": "/engram-prc-postgres", + "configured_image": "pgvector/pgvector:pg17", + "image_id": "sha256:feb68f4f15446397d8cac7f4fe48fe4586de83160d1fc48b46283312d1a33966", + "running": true + }, + "server": { + "server_version": "17.10 (Debian 17.10-1.pgdg12+1)", + "server_version_num": "170010", + "version": "PostgreSQL 17.10 (Debian 17.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit", + "max_connections": "100", + "superuser_reserved_connections": "3", + "reserved_connections": "0", + "current_connections": "6", + "database": "postgres", + "schema": "public", + "user": "engram" + }, + "admin_dsn": "postgres://engram:REDACTED@127.0.0.1:55432/postgres?sslmode=disable" + }, + "packages": [ + "./internal/mcp" + ], + "run_pattern": "^TestEC_F1_TagDerivedBackfill_T007$", + "repeat": 1, + "fail_on_unexpected_skip": true, + "allowed_skip_identities": [], + "coverage_policy": "Targeted", + "connection_budget": 20, + "race": false, + "require_session_start_execution": false, + "required_session_start_test_count": 12, + "sequential_execution": { + "go_package_parallelism": 1, + "go_test_parallelism": 1, + "database_max_connections": 20 + }, + "govulncheck_policy": { + "authoritative": [ + "source scan with tests", + "unstripped binary scan" + ], + "non_authoritative": "stripped binary scan (module-level fallback when symbols are absent)" + } +} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/go-version.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/go-version.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/go-version.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/go-version.stdout.log new file mode 100644 index 00000000..a857be3f --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/go-version.stdout.log @@ -0,0 +1 @@ +go version go1.25.11 windows/amd64 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/postgres-container-identity.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/postgres-container-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/postgres-container-identity.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/postgres-container-identity.stdout.log new file mode 100644 index 00000000..c110d492 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/postgres-container-identity.stdout.log @@ -0,0 +1 @@ +/engram-prc-postgres|pgvector/pgvector:pg17|sha256:feb68f4f15446397d8cac7f4fe48fe4586de83160d1fc48b46283312d1a33966|true diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/postgres-server-identity.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/postgres-server-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/postgres-server-identity.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/postgres-server-identity.stdout.log new file mode 100644 index 00000000..2e33d56e --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/postgres-server-identity.stdout.log @@ -0,0 +1 @@ +{"server_version" : "17.10 (Debian 17.10-1.pgdg12+1)", "server_version_num" : "170010", "version" : "PostgreSQL 17.10 (Debian 17.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit", "max_connections" : "100", "superuser_reserved_connections" : "3", "reserved_connections" : "0", "current_connections" : "6", "database" : "postgres", "schema" : "public", "user" : "engram"} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/assert-go-test-json.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/assert-go-test-json.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/assert-go-test-json.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/assert-go-test-json.stdout.log new file mode 100644 index 00000000..b98595ec --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/assert-go-test-json.stdout.log @@ -0,0 +1,2 @@ +go test JSON verdict=FAIL packages=1 tests=1 passed=0 failed=1 skipped=0 unexpected_skips=0 malformed=0 +summary=D:\Dev\engram\.w\t007-current-contract\.agent\reports\evidence\production-ready\t007-compat\t007-maker-prove-it-old-assertion\repeat-01\go-test-summary.json diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/cleanup-process.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/cleanup-process.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/cleanup-process.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/cleanup-process.stdout.log new file mode 100644 index 00000000..b437b549 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/cleanup-process.stdout.log @@ -0,0 +1,2 @@ +cleanup verdict=PASS database=engram_prc_rg_test_9a720e1716717962_r1 schema=public terminated_sessions=0 remaining_database_count=0 +summary=D:\Dev\engram\.w\t007-current-contract\.agent\reports\evidence\production-ready\t007-compat\t007-maker-prove-it-old-assertion\repeat-01\cleanup\cleanup.json diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/cleanup/cleanup.json b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/cleanup/cleanup.json new file mode 100644 index 00000000..e54b0ec3 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/cleanup/cleanup.json @@ -0,0 +1,170 @@ +{ + "schema_version": 1, + "run_id": "t007-maker-prove-it-old-assertion-repeat-1", + "timestamp": "2026-07-11T00:37:45.6850903+00:00", + "verdict": "PASS", + "database": "engram_prc_rg_test_9a720e1716717962_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_9a720e1716717962_r1.public", + "admin_dsn": "postgres://engram:REDACTED@127.0.0.1:55432/postgres?sslmode=disable", + "postgres_container": "engram-prc-postgres", + "cleanup_status": "PASS", + "cleanup_attempted": true, + "database_existed_before": true, + "absence_verified": true, + "terminated_sessions": 0, + "remaining_database_count": 0, + "commands": [ + { + "name": "database-exists-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_9a720e1716717962_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_9a720e1716717962_r1';", + "started_at": "2026-07-11T00:37:43.5063686+00:00", + "finished_at": "2026-07-11T00:37:43.9407761+00:00", + "duration_seconds": 0.434, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\cleanup\\database-exists-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\cleanup\\database-exists-before.stderr.log" + }, + { + "name": "pg-stat-activity-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_9a720e1716717962_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_9a720e1716717962_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:37:44.0052037+00:00", + "finished_at": "2026-07-11T00:37:44.4387338+00:00", + "duration_seconds": 0.434, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\cleanup\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\cleanup\\pg-stat-activity-before.stderr.log" + }, + { + "name": "terminate-database-sessions", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_9a720e1716717962_r1' AND pid <> pg_backend_pid() ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_9a720e1716717962_r1' AND pid <> pg_backend_pid() ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:37:44.4441325+00:00", + "finished_at": "2026-07-11T00:37:44.8216127+00:00", + "duration_seconds": 0.377, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\cleanup\\terminate-sessions.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\cleanup\\terminate-sessions.stderr.log" + }, + { + "name": "drop-fresh-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "DROP DATABASE IF EXISTS \"engram_prc_rg_test_9a720e1716717962_r1\" WITH (FORCE);" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c DROP DATABASE IF EXISTS \"engram_prc_rg_test_9a720e1716717962_r1\" WITH (FORCE);", + "started_at": "2026-07-11T00:37:44.8295111+00:00", + "finished_at": "2026-07-11T00:37:45.2760240+00:00", + "duration_seconds": 0.447, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\cleanup\\drop-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\cleanup\\drop-database.stderr.log" + }, + { + "name": "verify-database-absent", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_9a720e1716717962_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_9a720e1716717962_r1';", + "started_at": "2026-07-11T00:37:45.2813847+00:00", + "finished_at": "2026-07-11T00:37:45.6776807+00:00", + "duration_seconds": 0.396, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\cleanup\\verify-database-absent.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\cleanup\\verify-database-absent.stderr.log" + } + ], + "errors": [] +} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/cleanup/database-exists-before.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/cleanup/database-exists-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/cleanup/database-exists-before.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/cleanup/database-exists-before.stdout.log new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/cleanup/database-exists-before.stdout.log @@ -0,0 +1 @@ +1 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/cleanup/drop-database.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/cleanup/drop-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/cleanup/drop-database.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/cleanup/drop-database.stdout.log new file mode 100644 index 00000000..ca12dce0 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/cleanup/drop-database.stdout.log @@ -0,0 +1 @@ +DROP DATABASE diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/cleanup/pg-stat-activity-before.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/cleanup/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/cleanup/pg-stat-activity-before.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/cleanup/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/cleanup/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/cleanup/terminate-sessions.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/cleanup/terminate-sessions.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/cleanup/terminate-sessions.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/cleanup/terminate-sessions.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/cleanup/terminate-sessions.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/cleanup/verify-database-absent.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/cleanup/verify-database-absent.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/cleanup/verify-database-absent.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/cleanup/verify-database-absent.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/cleanup/verify-database-absent.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/connection-count-after.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/connection-count-after.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/connection-count-after.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/connection-count-after.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/connection-count-before.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/connection-count-before.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/connection-count-before.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/connection-count-before.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/coverage.out b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/coverage.out new file mode 100644 index 00000000..52335d8a --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/coverage.out @@ -0,0 +1,3472 @@ +mode: atomic +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33.53,34.30 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:34.30,36.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.2,37.25 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.25,39.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:40.2,40.12 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44.28,46.2 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52.83,53.12 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:53.12,54.16 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:54.16,55.32 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:55.32,61.5 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:63.3,65.33 3 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:65.33,71.4 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77.54,78.14 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:78.14,80.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:81.2,82.16 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:82.16,85.3 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:86.2,87.13 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92.91,93.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:93.23,95.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:96.2,97.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:97.15,99.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:100.2,105.65 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:105.65,113.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117.95,118.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:118.23,120.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:121.2,122.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:122.15,124.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:125.2,129.65 5 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:129.65,138.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142.87,143.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:143.23,145.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:146.2,147.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:150.2,153.65 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:153.65,161.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166.96,167.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:167.23,169.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:170.2,171.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:171.15,173.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:174.2,177.63 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:177.63,185.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189.97,190.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:190.23,192.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:193.2,194.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:194.15,196.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:197.2,200.68 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:200.68,208.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:30.62,31.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:31.20,33.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:34.2,35.49 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:35.49,37.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:38.2,38.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:38.14,40.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:41.2,41.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:46.52,47.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:47.14,49.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:50.2,50.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:51.14,52.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:53.19,54.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:55.15,56.45 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:57.12,58.31 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:59.10,60.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:67.43,68.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:68.14,70.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:71.2,71.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:72.15,73.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:74.19,75.38 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:75.38,77.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:78.3,78.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:78.40,80.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:81.3,81.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:82.14,83.56 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:83.56,85.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:86.3,86.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:86.54,88.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:89.3,89.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:90.10,91.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:97.49,98.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:98.14,100.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:101.2,101.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:102.15,103.18 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:104.19,105.38 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:105.38,107.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:108.3,108.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:108.40,110.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:111.3,111.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:112.14,113.56 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:113.56,115.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:116.3,116.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:116.54,118.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:119.3,119.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:120.10,121.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:127.55,128.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:128.14,130.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:131.2,131.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:132.15,133.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:134.19,135.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:135.40,137.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:138.3,138.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:139.14,140.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:140.54,142.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:143.3,143.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:144.10,145.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:151.46,152.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:152.14,154.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:155.2,155.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:156.12,157.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:158.14,159.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:159.54,161.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:162.3,162.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:163.15,164.16 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:165.19,166.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:166.40,168.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:169.3,169.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:170.10,171.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:177.40,178.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:178.14,180.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:181.2,181.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:182.13,184.26 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:184.26,185.36 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:185.36,187.5 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:189.3,189.16 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:190.16,191.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:192.14,193.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:193.14,195.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:196.3,196.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:197.10,198.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:204.38,205.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:205.14,207.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:208.2,209.9 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:209.9,211.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:212.2,213.27 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:213.27,214.42 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:214.42,216.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:218.2,218.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:222.32,223.39 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:223.39,225.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:226.2,226.30 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:226.30,228.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:229.2,229.30 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:229.30,231.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:232.2,232.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:236.35,237.28 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:237.28,239.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.2,240.28 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.28,242.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:243.2,243.15 1 0 +github.com/thebtf/engram/internal/mcp/context.go:17.55,19.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:22.78,24.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:29.78,31.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:35.53,38.2 2 0 +github.com/thebtf/engram/internal/mcp/context.go:41.80,43.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:48.80,50.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:54.53,57.2 2 0 +github.com/thebtf/engram/internal/mcp/context.go:61.51,62.43 1 0 +github.com/thebtf/engram/internal/mcp/context.go:62.43,64.3 1 0 +github.com/thebtf/engram/internal/mcp/context.go:65.2,65.16 1 0 +github.com/thebtf/engram/internal/mcp/health.go:22.32,26.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:29.37,33.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:36.35,40.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:42.44,45.25 3 0 +github.com/thebtf/engram/internal/mcp/health.go:45.25,47.50 1 0 +github.com/thebtf/engram/internal/mcp/health.go:47.50,50.4 2 0 +github.com/thebtf/engram/internal/mcp/health.go:55.74,60.16 5 0 +github.com/thebtf/engram/internal/mcp/health.go:60.16,62.3 1 0 +github.com/thebtf/engram/internal/mcp/health.go:63.2,71.4 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28.42,29.65 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:29.65,32.3 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.2,33.40 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.40,35.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:36.2,36.14 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39.120,40.69 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:40.69,42.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:43.2,44.19 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:44.19,46.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:47.2,48.17 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:48.17,50.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:51.2,52.59 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:52.59,54.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:55.2,56.20 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:56.20,58.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:59.2,60.17 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:60.17,62.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:63.2,64.21 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:64.21,66.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:67.2,68.22 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:68.22,70.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:71.2,72.23 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:76.2,98.19 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:98.19,100.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:101.2,101.66 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104.52,106.29 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:106.29,108.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:109.2,110.46 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113.113,123.27 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:123.27,125.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:130.2,130.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:127.44,138.2 1 1 +github.com/thebtf/engram/internal/mcp/server.go:141.64,143.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:146.78,148.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:151.53,153.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:156.55,158.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:161.58,163.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:166.62,168.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:171.50,173.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:176.78,178.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:181.74,183.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:186.71,189.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:191.85,193.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:195.61,197.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:199.49,201.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:204.54,206.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:211.53,213.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:216.53,218.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:222.61,224.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:228.59,230.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:234.51,236.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:240.52,242.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:246.55,248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:252.82,254.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:260.70,262.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:269.68,271.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:274.87,277.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:282.60,284.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:290.45,292.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:297.77,299.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:303.37,313.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:313.38,315.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:316.2,317.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:317.9,319.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:320.2,321.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:321.9,323.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:324.2,325.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:325.9,327.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:328.2,328.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:332.35,334.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:383.49,387.12 3 0 +github.com/thebtf/engram/internal/mcp/server.go:387.12,388.22 1 0 +github.com/thebtf/engram/internal/mcp/server.go:388.22,389.11 1 0 +github.com/thebtf/engram/internal/mcp/server.go:390.22,392.11 2 0 +github.com/thebtf/engram/internal/mcp/server.go:393.12,393.12 0 0 +github.com/thebtf/engram/internal/mcp/server.go:396.4,397.18 2 0 +github.com/thebtf/engram/internal/mcp/server.go:397.18,398.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:401.4,402.61 2 0 +github.com/thebtf/engram/internal/mcp/server.go:402.61,404.13 2 0 +github.com/thebtf/engram/internal/mcp/server.go:407.4,407.55 1 0 +github.com/thebtf/engram/internal/mcp/server.go:407.55,409.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:411.3,411.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:414.2,414.9 1 0 +github.com/thebtf/engram/internal/mcp/server.go:415.20,416.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:417.25,418.17 1 0 +github.com/thebtf/engram/internal/mcp/server.go:418.17,420.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:421.3,421.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:427.77,428.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:428.19,431.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:433.2,433.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:434.20,435.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:436.20,437.32 1 0 +github.com/thebtf/engram/internal/mcp/server.go:438.20,439.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:443.24,444.93 1 0 +github.com/thebtf/engram/internal/mcp/server.go:445.34,446.101 1 0 +github.com/thebtf/engram/internal/mcp/server.go:447.22,448.91 1 0 +github.com/thebtf/engram/internal/mcp/server.go:449.29,450.120 1 0 +github.com/thebtf/engram/internal/mcp/server.go:451.10,456.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:461.51,462.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:463.50,464.70 1 0 +github.com/thebtf/engram/internal/mcp/server.go:465.46,466.79 1 0 +github.com/thebtf/engram/internal/mcp/server.go:467.10,468.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:473.59,485.63 2 0 +github.com/thebtf/engram/internal/mcp/server.go:485.63,487.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:489.2,493.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:496.45,503.33 3 0 +github.com/thebtf/engram/internal/mcp/server.go:503.33,505.57 2 0 +github.com/thebtf/engram/internal/mcp/server.go:505.57,506.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:506.76,507.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.4,509.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.18,511.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:511.10,513.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:514.4,518.11 5 0 +github.com/thebtf/engram/internal/mcp/server.go:522.2,522.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:660.29,683.21 2 0 +github.com/thebtf/engram/internal/mcp/server.go:683.21,689.3 5 0 +github.com/thebtf/engram/internal/mcp/server.go:690.2,699.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:712.30,765.49 3 0 +github.com/thebtf/engram/internal/mcp/server.go:765.49,789.3 5 0 +github.com/thebtf/engram/internal/mcp/server.go:790.2,799.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:805.40,936.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:942.58,1048.35 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1048.35,1077.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.2,1080.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.33,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.2,1093.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.26,1123.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1124.2,1124.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1124.80,1126.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1127.2,1127.55 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1127.55,1129.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1130.2,1130.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1130.38,1132.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1134.2,1134.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1134.25,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1138.2,1138.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1138.33,1140.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1141.2,1141.69 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1141.69,1143.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1144.2,1144.75 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1144.75,1146.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1148.2,1148.27 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1148.27,1165.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.2,1168.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.76,1191.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1195.2,1195.48 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1195.48,1197.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.2,1201.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.47,1203.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.2,1205.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.38,1207.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1212.2,1212.21 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1212.21,1214.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1228.2,1228.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1228.51,1230.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1233.2,1233.56 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1233.56,1235.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1238.2,1238.71 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1238.71,1298.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1302.2,1302.104 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1302.104,1321.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1324.2,1324.72 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1324.72,1333.154 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1333.154,1334.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1334.26,1336.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1337.7,1337.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1338.35,1340.26 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1340.26,1342.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1343.7,1343.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1371.2,1371.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1371.26,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1393.2,1393.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1393.28,1443.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.2,1446.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.28,1478.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.2,1481.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.37,1561.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1564.2,1568.23 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1568.23,1570.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1572.2,1588.57 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1588.57,1591.29 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1591.29,1593.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1594.3,1594.27 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1594.27,1595.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1595.29,1597.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1601.2,1607.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1612.79,1614.60 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1614.60,1620.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1622.2,1623.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1623.16,1631.3 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1633.2,1641.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1644.69,1645.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1645.34,1647.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1648.2,1649.22 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1649.22,1651.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1652.2,1652.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1656.99,1658.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1659.16,1660.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1661.15,1662.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1663.18,1664.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1665.15,1666.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1667.18,1668.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1669.14,1670.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1671.15,1672.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1676.2,1676.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1677.35,1678.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1679.26,1680.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1681.20,1682.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1683.20,1684.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1685.16,1686.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1687.29,1688.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1689.33,1690.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1691.25,1692.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1693.23,1694.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1696.26,1697.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1698.24,1699.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1700.22,1701.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1702.25,1703.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1704.27,1705.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1706.25,1707.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1709.30,1710.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1711.28,1712.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1713.17,1714.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1715.20,1716.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1717.20,1718.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1719.20,1720.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1722.20,1723.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1724.18,1725.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1726.20,1727.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1728.18,1729.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1730.21,1731.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1732.21,1733.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1734.26,1735.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1736.25,1737.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1738.26,1739.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1740.24,1741.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1742.26,1743.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1744.27,1745.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1746.22,1747.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1748.19,1749.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1750.15,1751.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1752.16,1753.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1755.21,1756.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1757.19,1758.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1759.20,1760.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1761.22,1762.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1763.22,1764.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1765.23,1766.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1767.20,1768.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1769.32,1770.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1771.19,1772.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1773.19,1774.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1775.33,1776.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1777.35,1778.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1779.24,1780.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1781.32,1782.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1783.28,1784.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1785.21,1786.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1787.34,1788.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1789.25,1790.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1791.29,1792.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1793.26,1794.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1795.27,1796.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1798.25,1799.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1800.23,1801.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1802.27,1803.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1804.26,1805.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1806.29,1807.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1809.29,1810.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1811.27,1812.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1813.30,1814.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1815.38,1816.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1817.36,1818.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1820.24,1821.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1822.27,1823.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1824.22,1825.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1826.32,1827.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1828.32,1829.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1830.31,1831.48 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1832.35,1833.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1834.36,1835.53 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1836.36,1837.53 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1838.38,1839.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1840.34,1841.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1843.22,1844.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1845.21,1846.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1847.24,1848.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1850.25,1851.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1852.25,1853.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1859.2,1859.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1860.22,1863.131 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1866.51,1867.123 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1868.10,1869.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1874.47,1876.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1876.16,1879.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1880.2,1880.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1884.72,1890.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1896.105,1898.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1898.16,1900.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1902.2,1903.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1903.17,1905.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1907.2,1908.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1908.17,1910.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1912.2,1918.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1918.16,1920.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1921.2,1921.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1927.76,1933.15 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1933.15,1936.17 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1936.17,1938.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1939.3,1939.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1943.2,1950.36 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1950.36,1952.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1952.8,1955.29 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1955.29,1958.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1959.3,1962.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.2,1966.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.20,1977.20 6 0 +github.com/thebtf/engram/internal/mcp/server.go:1977.20,1979.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.3,1980.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.20,1982.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.3,1985.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.37,1987.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1987.30,1988.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1988.16,1990.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1990.11,1992.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1994.4,1995.56 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1995.56,1997.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1998.4,2003.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.2,2008.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.29,2009.63 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2009.63,2011.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2011.9,2013.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.2,2021.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.29,2029.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2029.38,2031.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2031.9,2033.31 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2033.31,2035.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2035.30,2037.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2039.4,2042.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2046.2,2047.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2047.16,2049.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2050.2,2050.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2055.57,2056.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2056.33,2058.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2059.2,2060.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2060.16,2062.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2063.2,2064.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2064.16,2066.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2067.2,2067.23 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2071.79,2105.15 6 0 +github.com/thebtf/engram/internal/mcp/server.go:2105.15,2107.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2107.17,2111.4 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2111.9,2112.17 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2112.17,2114.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2115.4,2117.26 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2117.26,2119.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2119.10,2121.29 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2121.29,2123.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2125.4,2129.25 5 0 +github.com/thebtf/engram/internal/mcp/server.go:2130.19,2130.19 0 0 +github.com/thebtf/engram/internal/mcp/server.go:2132.20,2134.106 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2135.12,2137.103 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2140.8,2143.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2144.2,2150.49 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2150.49,2152.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2152.8,2154.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2155.2,2168.27 4 0 +github.com/thebtf/engram/internal/mcp/server.go:2168.27,2170.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2170.17,2173.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2173.9,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2177.2,2182.40 4 0 +github.com/thebtf/engram/internal/mcp/server.go:2182.40,2183.21 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2184.20,2185.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2186.19,2187.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.2,2191.24 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.24,2193.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.8,2193.30 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.30,2195.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.2,2198.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.28,2200.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.2,2203.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.29,2205.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2207.2,2208.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2208.16,2210.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2211.2,2211.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2216.103,2218.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2218.16,2220.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2222.2,2223.15 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2223.15,2225.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2227.2,2239.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2239.16,2241.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2242.2,2242.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2246.93,2248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2251.91,2253.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:18.28,29.20 4 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:29.20,33.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:35.2,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:68.36,69.49 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:69.49,74.3 4 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:75.2,75.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:80.26,82.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:84.89,86.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:89.2,90.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:90.18,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:94.2,94.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:95.15,96.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:97.26,98.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:99.25,100.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:101.23,105.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:105.22,107.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:108.3,108.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:109.10,110.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:120.92,126.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:126.26,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:130.2,131.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:131.19,133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:134.2,135.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:135.19,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.2,138.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.24,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.2,142.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.25,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:146.2,147.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:151.2,151.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27.40,30.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32.30,46.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48.99,49.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:49.34,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.2,52.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.69,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:56.2,57.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:60.2,61.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:61.21,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:64.2,67.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:67.26,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:70.2,71.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:71.25,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:75.2,77.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:77.44,79.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.2,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.33,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:83.2,83.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86.52,87.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:87.16,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.2,90.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.15,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:93.2,93.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96.73,97.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:97.21,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:100.2,101.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:101.29,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:111.2,111.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114.34,116.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:31.98,32.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:32.52,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.2,35.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.26,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:39.2,40.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:40.49,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.2,43.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.21,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.2,46.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.21,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.2,49.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.18,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.2,52.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.18,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.2,56.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.38,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:60.2,61.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:61.16,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:68.2,70.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:70.26,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:79.2,81.36 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:81.36,84.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:86.2,89.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:89.28,90.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:90.39,91.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:93.3,97.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:100.2,104.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:107.60,113.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:115.101,116.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:116.38,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:120.2,122.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:122.21,123.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:123.26,125.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.3,126.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.23,128.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:129.8,130.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:130.26,132.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.3,133.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.68,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:137.2,140.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:141.17,142.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:143.67,143.67 0 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:144.10,145.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:148.2,162.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:162.16,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.2,165.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.2,174.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.30,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.2,177.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.31,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:181.2,182.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:182.36,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:198.2,199.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:199.19,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:202.2,203.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:203.18,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:206.2,207.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:207.21,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:210.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:211.25,213.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:214.2,225.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:225.21,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.25,230.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.2,231.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.18,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:235.2,244.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:244.21,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.2,247.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.25,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.2,250.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.18,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.2,253.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:256.2,256.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:259.50,261.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:261.22,263.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:264.2,264.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:270.90,272.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:272.42,276.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:277.2,281.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:281.27,282.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:282.45,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:286.2,286.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25.28,88.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95.95,96.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:96.22,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:99.2,100.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:100.32,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:104.2,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:109.2,114.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:114.35,121.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.2,123.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.25,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:127.2,134.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:138.2,146.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154.94,155.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:155.22,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:158.2,159.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:159.32,161.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:163.2,164.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:164.16,166.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:168.2,172.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:172.35,179.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.2,181.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.25,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:185.2,192.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:192.16,194.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:196.2,203.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211.97,212.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:212.22,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:215.2,216.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:216.32,218.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:220.2,221.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:221.16,223.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:225.2,229.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:229.35,236.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.2,238.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.25,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:242.2,249.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:249.16,251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:253.2,260.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31.80,32.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:32.14,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:35.2,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51.136,53.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:53.51,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:56.2,56.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59.94,60.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:60.21,62.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:63.2,63.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68.30,162.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165.98,166.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:166.49,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:169.2,170.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:170.16,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:173.2,174.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:174.19,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:177.2,179.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:179.17,181.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:188.2,189.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:189.31,190.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:190.15,191.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:193.3,193.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:196.2,201.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:201.16,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:204.2,204.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208.96,209.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:209.49,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:212.2,213.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:213.16,215.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:216.2,217.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:217.13,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.2,225.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.22,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:229.2,230.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:230.16,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:233.2,233.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239.100,240.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:240.22,242.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:243.2,244.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:244.16,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:247.2,248.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:248.13,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:255.2,256.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:256.12,263.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:263.30,264.77 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:264.77,269.5 4 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:271.3,272.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:272.21,274.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:275.3,275.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.2,279.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.29,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:284.2,285.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:285.16,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.2,288.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.22,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.2,291.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.55,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.2,294.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.74,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:297.2,298.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:298.16,300.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:306.2,307.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:307.41,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:310.2,324.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:324.16,325.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:325.50,327.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:328.3,328.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.2,330.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.38,332.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:334.2,341.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:341.16,343.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:344.2,344.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348.99,349.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:349.49,351.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:352.2,353.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:353.16,355.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:356.2,357.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:357.13,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:360.2,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.2,365.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.22,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.2,368.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.74,370.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:371.2,372.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:372.16,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.2,375.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.85,377.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:379.2,380.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:380.16,381.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:381.50,383.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:384.3,384.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.2,386.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.20,388.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:390.2,395.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:395.16,397.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:398.2,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402.102,403.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:403.49,405.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:406.2,407.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:407.16,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:410.2,411.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:411.13,413.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:414.2,415.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:415.16,417.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.2,418.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.22,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.2,421.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.74,423.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:424.2,425.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:425.16,427.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.2,428.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.88,430.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:432.2,433.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:433.16,434.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:434.50,436.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:437.3,437.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.2,439.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.20,441.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:443.2,448.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:448.16,450.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:451.2,451.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34.30,36.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42.61,44.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48.32,75.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79.32,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100.98,101.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:101.25,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.2,104.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.29,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:108.2,113.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:113.17,114.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:114.55,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.2,118.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.24,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.2,121.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.23,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.2,124.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.23,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:134.2,135.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:135.21,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:142.2,147.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:154.2,165.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:165.25,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:177.2,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:186.2,186.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194.98,195.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:195.25,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.2,198.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.29,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:202.2,205.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:205.17,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:208.2,209.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:209.21,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:213.2,214.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:214.16,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:217.2,218.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:218.16,220.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:226.2,231.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:231.11,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:21.52,22.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:22.24,25.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:25.28,27.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:29.2,29.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:35.72,37.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:37.15,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:45.2,45.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:49.99,51.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:51.16,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:55.2,56.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:56.16,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:60.2,72.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.2,75.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.24,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.2,78.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.24,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:81.2,81.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:82.27,82.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:84.10,85.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.2,87.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.30,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.2,90.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.26,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:104.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:116.2,123.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:126.2,126.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:130.97,132.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:132.16,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:136.2,137.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:141.2,147.23 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:147.23,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.2,150.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.26,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:154.2,155.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:155.16,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:160.16,161.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:161.47,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:164.3,164.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.2,167.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.97,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:174.2,175.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:175.16,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:179.2,185.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:185.16,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:188.2,188.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:192.99,194.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:194.16,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:198.2,199.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:199.16,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:203.2,207.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:207.26,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:211.2,212.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:212.16,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:216.2,223.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:223.26,229.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:229.28,231.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:232.3,232.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:243.100,245.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:245.16,247.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:249.2,250.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:250.16,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:254.2,262.23 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:262.23,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.2,265.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.24,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:268.2,268.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:269.27,269.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:271.10,272.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.2,274.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.30,276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.2,277.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.26,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.2,281.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.71,282.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:282.47,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:285.3,285.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:288.2,293.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:293.16,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:296.2,296.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:302.92,309.19 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:309.19,310.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:310.53,313.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:316.2,317.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:317.51,318.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:318.66,320.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:323.2,331.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:331.16,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:334.2,334.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:338.46,342.32 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:342.32,343.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:343.20,346.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:348.2,350.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:350.26,352.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:352.27,353.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:353.13,355.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:356.4,356.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:358.3,358.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:360.2,360.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:16.45,18.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:20.35,36.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:38.84,39.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:39.40,41.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.2,42.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.50,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:45.2,45.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:48.101,50.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:50.16,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:53.2,54.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:57.2,58.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:58.19,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:61.2,62.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:62.21,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:65.2,66.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:66.16,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:69.2,69.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:72.102,74.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:77.2,82.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10.100,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:22.16,23.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:24.14,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:26.14,27.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:28.17,29.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:30.17,31.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:32.21,33.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:34.19,35.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:36.17,37.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:38.16,39.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:40.16,41.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:42.21,43.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:44.10,45.167 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:15.77,16.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:16.33,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:20.2,21.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:21.27,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:25.2,26.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:26.28,29.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:29.17,31.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:34.2,41.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:41.32,46.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:46.20,48.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:49.3,49.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:61.97,62.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:62.28,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:71.2,75.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:75.29,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:79.2,80.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:80.16,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.2,84.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.20,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:88.2,97.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:97.25,103.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:103.20,105.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.3,106.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.19,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:109.3,109.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:112.2,113.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:113.16,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:117.2,117.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:121.95,122.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:122.28,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:131.2,137.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:137.50,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:141.2,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.2,145.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.16,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.2,149.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.21,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:153.2,154.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:154.16,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.2,157.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.20,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:161.2,161.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:165.98,166.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:166.28,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:170.2,171.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:171.16,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:175.2,181.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:181.50,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.2,185.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.96,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:189.2,189.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:197.98,198.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:198.28,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:207.2,217.74 6 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:217.74,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:222.2,223.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:223.16,225.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:227.2,229.156 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:235.98,237.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:237.16,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:241.2,247.24 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:247.24,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:252.2,253.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:253.29,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:256.2,256.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15.93,16.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:16.37,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:20.2,21.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:21.16,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:25.2,32.16 7 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:32.16,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.2,35.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.19,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.2,38.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.19,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:42.2,43.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:43.16,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:47.2,54.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61.91,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:62.37,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:71.2,73.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:73.16,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.2,76.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.19,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:80.2,81.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:81.43,83.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:83.19,85.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:86.3,86.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:87.8,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.2,90.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.16,91.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:91.45,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:94.3,94.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:97.2,110.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:110.16,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:113.2,113.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117.93,119.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122.91,123.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:123.37,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:132.2,133.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:133.19,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:136.2,141.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:141.16,143.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:145.2,155.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:155.25,165.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:167.2,168.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:168.16,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:171.2,171.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175.94,176.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:176.37,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:180.2,181.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:181.16,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:185.2,187.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:187.16,189.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.2,190.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.19,192.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:193.2,196.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:200.2,208.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:208.25,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:218.2,225.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232.94,233.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:233.37,235.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:242.2,243.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:243.21,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:246.2,248.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:248.19,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:252.2,253.46 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:253.46,255.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:255.13,257.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.2,259.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.44,261.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:261.13,263.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:266.2,267.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:267.16,269.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:271.2,278.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:278.16,280.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:281.2,281.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19.69,21.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23.38,38.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40.51,63.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65.53,80.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82.46,85.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:85.32,87.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:88.2,88.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91.105,93.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:93.16,95.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:96.2,97.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:100.2,100.70 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103.107,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:108.2,109.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:109.16,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:112.2,112.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115.101,117.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:117.16,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:120.2,121.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:121.17,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:124.2,139.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142.109,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:147.2,154.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157.100,159.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:159.28,161.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:161.18,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:164.3,164.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:166.2,167.72 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:167.72,169.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.2,170.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.53,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:173.2,174.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:174.26,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:177.2,177.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180.73,182.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:182.16,184.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:185.2,185.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12.104,14.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:14.16,16.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:18.2,19.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:19.18,21.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:23.2,23.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:24.14,25.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:26.18,27.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:28.17,29.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:30.10,31.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36.101,37.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:37.27,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:46.2,47.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:47.21,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:50.2,51.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:51.19,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:54.2,54.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:55.52,55.52 0 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:56.10,57.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:59.2,61.93 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:61.93,64.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:66.2,70.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:27.31,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:98.97,100.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:100.26,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.2,103.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.28,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:112.2,115.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:115.15,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.2,118.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.17,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:122.2,123.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:127.2,140.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:140.29,151.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:151.31,154.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:155.3,155.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:158.2,162.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:167.100,169.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:169.26,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.2,172.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.28,174.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.2,175.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.26,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:179.2,180.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:184.2,185.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:185.22,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:189.2,190.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:190.20,191.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:191.54,199.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.3,200.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.61,202.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:203.3,203.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:206.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:215.95,217.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:217.32,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.2,220.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.28,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:224.2,225.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:229.2,230.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:230.22,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.2,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.25,246.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:248.2,252.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:258.104,260.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:260.26,262.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:267.2,271.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:271.20,275.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:275.8,279.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:280.2,280.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:284.60,285.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:285.30,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.2,288.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.42,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:291.2,291.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:64.89,65.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:65.25,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:69.2,70.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:70.49,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:74.2,74.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:75.18,76.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:77.21,78.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:79.19,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:81.18,82.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:83.19,84.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:85.18,86.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:87.18,91.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:91.23,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:94.3,94.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:95.10,96.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:100.81,103.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:103.19,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:106.2,107.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:107.19,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.2,112.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.46,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.2,115.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.46,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.2,122.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.66,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.25,128.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:128.22,130.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:131.8,132.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:132.26,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.2,138.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.25,139.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:139.22,141.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:142.8,143.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:143.26,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.2,148.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.22,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.2,151.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.38,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.2,154.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.19,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:159.2,161.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:161.25,164.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.2,165.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.25,168.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:169.2,171.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:171.23,174.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.2,175.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.23,178.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:180.2,193.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:193.16,195.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:198.2,199.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:199.29,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.2,202.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.29,204.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:205.2,213.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:216.121,217.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:217.28,218.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:218.26,220.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:221.3,222.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:222.17,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:223.49,225.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:226.4,226.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:228.3,228.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.2,230.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.26,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:233.2,234.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:234.16,235.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:235.48,237.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:238.3,238.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:240.2,240.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:243.101,248.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:248.36,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:250.8,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.2,253.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.16,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.2,256.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.32,257.128 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:257.128,262.72 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:262.72,264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:267.2,267.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:276.81,277.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:277.25,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.2,280.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.22,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.2,283.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.39,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.2,286.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.25,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.2,289.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.21,291.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:292.2,293.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:293.14,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:296.2,305.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:305.16,307.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:308.2,314.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:317.84,318.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:318.19,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:321.2,323.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:323.63,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:326.2,329.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:332.82,333.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:333.38,335.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:336.2,337.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:338.18,339.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:340.18,341.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.2,345.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.59,347.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:349.2,351.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:351.21,353.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:353.8,356.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.2,357.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:366.2,367.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:367.41,369.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:371.2,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:397.115,398.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:398.15,400.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:403.2,404.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:404.26,405.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:405.28,407.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.3,408.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.28,410.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.2,412.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.23,415.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:420.2,426.12 4 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:426.12,427.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:427.27,429.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:429.18,431.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.4,433.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.33,435.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:440.2,441.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:441.26,442.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:442.28,443.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:443.49,445.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.3,448.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.28,449.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:449.49,451.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:454.2,454.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:457.82,458.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:458.21,460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:461.2,462.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:462.16,464.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.2,465.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.36,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:468.2,469.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:469.16,471.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:472.2,477.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:480.82,481.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:481.40,483.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:484.2,485.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:485.19,487.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:488.2,489.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:489.16,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:492.2,499.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:502.82,503.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:503.21,505.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:506.2,507.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:507.16,509.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:510.2,514.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23.179,24.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:24.22,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:28.2,32.22 4 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:32.22,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:35.2,36.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:36.22,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:40.2,41.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:41.26,43.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.2,44.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.26,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.2,47.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.30,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.2,50.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.30,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:54.2,55.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:55.16,57.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.2,58.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.13,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:61.2,62.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:62.16,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.2,65.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.13,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:69.2,70.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:70.16,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.2,73.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.15,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:77.2,77.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80.172,81.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:81.28,82.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:82.23,84.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.3,85.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.18,87.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:88.3,89.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:89.17,90.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:90.49,92.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:93.4,93.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:95.3,95.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.2,98.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.24,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.2,101.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.19,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:104.2,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:105.16,106.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:106.48,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:109.3,109.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:111.2,111.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114.119,116.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:116.22,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:119.2,120.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:120.22,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:124.2,126.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:126.26,127.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:127.36,129.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:130.3,130.105 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:131.8,132.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:132.32,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:135.3,135.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.2,137.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.2,141.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.32,143.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:143.27,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:146.3,147.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:147.27,149.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.3,150.106 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.106,151.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.3,153.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.27,154.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:154.114,155.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.9,157.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.104,158.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.3,160.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.27,161.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:161.114,162.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.9,164.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.104,165.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:167.3,167.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:169.2,169.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25.90,26.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:26.26,28.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:30.2,31.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:31.49,33.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:35.2,35.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:36.16,37.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:38.10,39.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43.84,44.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:44.21,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.2,47.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.25,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.2,50.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.21,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.2,53.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.21,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:57.2,58.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:59.18,60.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:61.15,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:63.24,64.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:65.10,66.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:69.2,70.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:70.22,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:73.2,74.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:74.29,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.2,78.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.14,85.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:87.2,89.37 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:89.37,92.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:92.21,94.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:97.2,100.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:100.31,102.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:102.38,104.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:104.37,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:109.3,122.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:122.26,124.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.3,125.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.19,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:131.3,133.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:133.39,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:135.9,137.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.3,138.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.17,140.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.3,142.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.34,144.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:145.3,145.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:148.2,155.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20.99,22.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:22.16,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:26.2,31.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:31.44,32.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:32.33,33.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:33.43,38.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.2,43.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.49,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.2,46.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.48,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:50.2,52.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:52.27,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:55.8,60.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:60.24,62.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.3,64.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.57,66.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:68.3,68.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.2,71.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.16,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:75.2,76.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:76.23,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:80.2,80.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:19.40,89.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:109.71,111.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:111.9,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:115.2,116.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:116.38,117.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:118.13,119.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:119.41,121.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:122.17,123.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:123.43,125.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:126.11,127.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:127.40,129.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.2,133.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.22,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:139.2,139.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:143.90,144.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:144.25,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:148.2,149.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:149.16,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:153.2,157.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:157.61,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:161.2,161.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:162.16,163.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:164.14,165.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:166.13,167.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:168.16,169.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:170.17,171.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:172.16,173.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:174.15,175.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:176.10,177.120 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:189.85,191.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:191.39,192.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:192.44,194.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.2,196.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.15,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.2,199.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.15,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:202.2,202.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:205.91,207.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:207.17,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:211.2,215.25 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:215.25,217.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:218.2,224.25 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:224.25,226.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.2,227.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.25,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:231.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:247.2,247.139 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:250.89,252.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:252.19,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:255.2,256.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:256.25,258.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:259.2,264.52 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:264.52,266.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:266.14,268.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:271.2,277.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:277.25,280.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:282.2,283.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:283.16,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.2,287.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.22,288.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:288.20,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:291.3,291.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:294.2,297.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:297.31,300.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:300.29,302.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:303.3,305.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:308.2,308.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:311.88,313.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:313.13,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:317.2,318.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:318.16,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:322.2,328.22 6 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:328.22,331.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.2,333.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.23,335.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:335.30,338.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:341.2,341.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:344.91,346.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:346.13,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:350.2,353.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:353.18,354.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:354.27,356.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.3,357.73 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.73,359.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.2,362.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.19,370.17 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:370.17,372.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:375.2,376.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:376.26,378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:379.2,379.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:382.92,384.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:384.13,386.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:388.2,389.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:389.16,391.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:393.2,401.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:401.16,403.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:405.2,405.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:408.91,410.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:410.13,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:414.2,418.95 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:418.95,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:422.2,422.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:425.90,427.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:427.13,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:431.2,433.167 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:433.167,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.2,437.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.89,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:441.2,441.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22.93,24.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:24.49,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:28.2,28.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:29.14,30.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:31.17,32.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:33.16,34.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:35.24,36.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:37.27,38.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:39.22,40.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:41.23,42.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:43.10,44.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48.79,49.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:49.13,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:57.2,58.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:58.32,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:61.2,84.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87.101,88.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:88.13,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.2,91.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.38,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.2,98.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.53,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:102.2,104.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:104.17,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.2,107.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.29,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:110.2,115.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118.100,119.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:119.13,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.2,122.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.38,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.2,129.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.53,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:133.2,135.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:135.17,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.2,138.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.29,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:141.2,146.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149.123,150.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:150.13,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.2,153.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.18,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.2,156.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.38,158.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:159.2,161.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:161.17,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:164.2,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172.113,173.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:173.13,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.2,176.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.50,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:179.2,181.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:181.17,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:184.2,188.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191.57,195.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197.102,198.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:198.13,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.2,201.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.20,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:204.2,205.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:205.16,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:209.2,210.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:210.32,212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:214.2,217.56 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:217.56,223.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:225.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233.41,235.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:235.16,237.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:238.2,238.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:35.27,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:42.41,43.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:44.48,45.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:46.10,47.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:54.57,55.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:56.17,57.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:58.16,59.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:60.10,61.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:82.58,83.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:84.28,85.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:86.26,87.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:88.10,89.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:93.114,95.68 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:95.68,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:99.2,101.42 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:101.42,102.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:102.71,105.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:107.2,117.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:117.23,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:121.2,124.22 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:124.22,125.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:125.31,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:128.3,128.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.8,129.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.37,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:132.2,132.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:135.74,136.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:136.30,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.2,139.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.34,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.2,142.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.31,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.2,145.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.22,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:161.169,162.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:162.17,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:165.2,166.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:166.51,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:169.2,169.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:172.92,174.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:174.42,177.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:177.63,179.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:179.9,181.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:183.2,183.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:186.65,190.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:192.115,194.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:194.26,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.8,196.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.31,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:199.2,199.117 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:202.122,206.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:206.31,207.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:207.45,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:211.2,211.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:214.72,216.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:218.117,219.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:222.2,223.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:223.20,225.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:225.17,227.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.3,228.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.27,229.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:229.50,231.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:231.30,232.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:236.3,236.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:239.2,241.60 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:241.60,243.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:243.61,245.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.3,246.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.24,247.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:249.3,250.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:250.17,252.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.3,253.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.22,254.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.3,256.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.29,257.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:257.50,259.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:259.30,260.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:264.3,265.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:265.32,266.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:269.2,269.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:272.51,273.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:273.16,275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:276.2,277.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:277.18,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.2,280.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.19,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:283.2,283.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:286.97,288.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:288.30,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.2,291.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.49,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:294.2,294.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:297.108,299.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:301.108,303.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:305.102,307.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:319.55,320.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:320.31,322.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.2,323.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.26,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:326.2,326.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:329.71,330.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:343.26,344.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:345.10,346.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:354.95,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:366.2,397.39 14 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:397.39,399.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:399.27,401.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:402.8,404.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:405.2,407.46 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:407.46,410.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.2,411.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.44,413.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:413.12,415.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.2,417.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.26,419.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.2,420.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.84,422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.2,427.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.65,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:431.2,433.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:433.20,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:436.2,437.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:437.20,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.2,440.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.56,442.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.2,443.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.56,448.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.2,450.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.45,453.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.2,459.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.31,461.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:461.22,462.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:462.62,465.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:466.4,466.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:468.3,468.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:471.2,472.115 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:472.115,474.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.2,491.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.19,493.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:493.23,495.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:496.3,508.21 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:508.21,510.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:511.3,511.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.2,522.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.43,535.34 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:535.34,556.30 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:556.30,558.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.4,559.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.44,561.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.4,562.106 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.106,564.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.4,575.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.74,577.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:578.4,579.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:579.18,581.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:583.4,584.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:584.28,586.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.4,588.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.31,599.57 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:599.57,601.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:601.17,604.7 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:606.5,607.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:607.21,609.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.5,615.138 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.138,617.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:617.27,619.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:620.6,620.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:622.5,623.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:623.26,625.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:626.5,626.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:630.4,631.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:631.20,633.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.4,634.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.22,637.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:637.26,639.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:640.5,640.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:645.4,660.77 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:660.77,662.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:663.4,664.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:664.25,666.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:667.4,667.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.2,673.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.26,675.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:677.2,678.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:678.25,680.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.2,681.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.97,683.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:690.2,691.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:691.21,693.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:693.33,695.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.3,696.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.33,698.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.3,699.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.49,704.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.3,721.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.54,722.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:722.84,724.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.2,728.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.99,730.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:732.2,733.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:733.22,735.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:736.109,737.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:738.100,739.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:740.114,741.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:742.107,743.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:744.11,745.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:748.2,749.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:749.43,751.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:753.2,755.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:755.34,756.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:756.48,757.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:757.19,760.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.2,764.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.31,767.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.2,768.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.35,771.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.2,772.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.76,776.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:778.2,780.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:780.16,782.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:782.20,785.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.2,788.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.25,798.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:798.18,800.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.9,800.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.30,807.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.3,808.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.36,810.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:811.3,812.50 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:812.50,815.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:816.3,822.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:822.17,824.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:826.3,836.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:836.17,838.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:839.3,839.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:842.2,843.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:843.30,844.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:844.52,846.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:846.9,848.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:851.2,869.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:869.21,871.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:871.43,873.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.3,874.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.29,876.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.3,886.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.76,888.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.2,890.105 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.105,892.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:893.2,894.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:894.16,896.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:901.2,904.40 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:904.40,905.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:905.15,906.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:909.3,910.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:910.63,912.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:912.9,914.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.3,916.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.43,918.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:919.3,920.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:920.20,922.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.3,925.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.23,928.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:929.3,931.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:931.33,934.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:934.39,936.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:939.2,948.42 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:948.42,950.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:950.21,952.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:952.9,955.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.2,959.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.53,960.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:960.54,961.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:961.33,963.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:964.9,972.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.3,973.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.60,974.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:974.40,976.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.3,978.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.61,979.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:979.41,981.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.3,983.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.28,985.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:986.3,987.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.2,989.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.51,991.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:995.2,997.53 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:997.53,999.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:999.8,1001.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.2,1002.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.22,1004.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1008.2,1014.76 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1014.76,1016.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.2,1021.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.57,1026.13 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1026.13,1029.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1029.21,1032.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.4,1033.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.49,1035.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1036.4,1043.89 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1043.89,1046.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1048.4,1048.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1052.2,1063.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1063.21,1065.40 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1065.40,1067.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.3,1068.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.38,1070.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1072.2,1074.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1074.18,1081.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.2,1082.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.28,1084.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.2,1085.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.16,1087.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.2,1088.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.30,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.2,1091.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.30,1093.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.2,1098.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.76,1100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1101.2,1102.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1102.16,1104.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1105.2,1105.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111.94,1113.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1113.15,1115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1117.2,1118.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1118.16,1120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1122.2,1123.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1123.13,1125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1126.2,1131.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1131.16,1133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.2,1134.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.19,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.2,1146.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.39,1148.55 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1148.55,1150.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.2,1152.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.39,1154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1157.2,1158.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1158.21,1163.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1163.21,1165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1166.3,1167.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1167.21,1169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.3,1170.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.52,1172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.3,1173.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.52,1178.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.3,1179.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.41,1182.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1183.3,1183.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.2,1188.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.46,1190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.2,1191.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.27,1193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1195.2,1196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1196.16,1198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1201.2,1210.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1210.16,1212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1213.2,1213.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218.59,1220.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1220.38,1222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1225.2,1226.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1226.29,1227.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1227.22,1229.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.2,1232.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.18,1234.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1237.2,1244.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1244.29,1245.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1245.67,1247.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.2,1249.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.16,1251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1254.2,1254.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258.55,1260.47 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1260.47,1262.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1263.2,1264.58 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1264.58,1266.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1267.2,1267.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270.252,1271.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1271.108,1273.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.2,1274.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.55,1276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1277.2,1277.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280.184,1282.69 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1282.69,1284.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1284.32,1285.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1285.58,1287.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.3,1290.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.18,1292.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.2,1294.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.19,1297.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1297.32,1298.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1298.39,1300.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.3,1303.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.19,1305.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.2,1307.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.21,1309.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1309.32,1310.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1310.49,1312.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.3,1315.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.18,1317.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.2,1319.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.28,1321.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1321.17,1323.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.3,1324.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.27,1326.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.2,1328.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.76,1330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1331.2,1331.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342.96,1343.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1343.26,1345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1347.2,1348.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1348.16,1350.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1352.2,1363.23 9 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1363.23,1364.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1364.58,1365.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1365.31,1367.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1367.10,1369.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.2,1373.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.17,1375.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.2,1376.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.16,1378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.2,1379.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.16,1381.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.2,1382.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.18,1384.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.2,1385.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.19,1387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.2,1388.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.19,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1396.2,1399.18 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1399.18,1400.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1400.61,1401.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1402.50,1403.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1404.12,1405.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1409.2,1410.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1410.42,1414.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1415.2,1420.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1420.16,1422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1429.2,1444.43 6 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1444.43,1446.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1449.2,1451.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1451.27,1453.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.2,1458.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.46,1460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.2,1461.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.63,1463.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1465.2,1466.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1466.15,1472.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1472.29,1479.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1479.18,1481.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.4,1482.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.23,1483.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.4,1485.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.30,1486.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1486.24,1488.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1488.32,1489.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1493.4,1494.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1494.30,1495.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1498.8,1504.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1504.29,1506.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1506.18,1508.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.4,1509.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.23,1510.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.4,1512.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.30,1513.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1513.24,1515.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1515.32,1516.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1520.4,1521.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1521.30,1522.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.2,1526.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.26,1528.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1528.17,1530.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.2,1535.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.74,1536.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1536.13,1537.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1537.33,1542.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1542.26,1544.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1544.39,1546.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1548.5,1548.82 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.2,1565.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.38,1569.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1569.27,1571.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.3,1572.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.27,1574.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1576.3,1581.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1581.32,1586.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1588.3,1592.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1592.18,1594.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1595.3,1596.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1596.17,1598.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1599.3,1599.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1602.2,1602.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1603.15,1618.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1618.32,1620.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1620.33,1621.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1621.40,1623.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1626.4,1638.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1640.3,1641.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1641.17,1643.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1644.3,1644.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1646.18,1648.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1648.17,1650.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1651.3,1651.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1653.10,1654.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1654.25,1656.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1657.3,1659.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1659.32,1661.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1661.33,1662.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1662.40,1664.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1667.4,1669.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1669.26,1671.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1672.4,1673.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1673.25,1675.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1676.4,1676.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1678.3,1678.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690.51,1695.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700.73,1702.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1702.16,1704.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1705.2,1706.48 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1706.48,1710.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1711.2,1713.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1713.16,1715.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1716.2,1716.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727.117,1731.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1731.21,1733.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1734.2,1735.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1735.16,1737.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1738.2,1739.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1739.27,1741.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1742.2,1742.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1764.19,1775.30 7 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1775.30,1777.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1777.37,1779.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.3,1781.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.20,1783.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.2,1797.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.39,1799.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1801.2,1811.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1811.25,1813.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1815.2,1816.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1816.29,1818.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.2,1824.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.27,1826.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1831.2,1833.22 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1833.22,1835.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1837.2,1846.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1846.16,1848.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1853.2,1855.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1855.27,1857.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1859.2,1876.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1876.33,1878.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1880.2,1881.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1881.28,1885.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1885.20,1888.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1888.33,1889.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1889.40,1891.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.4,1894.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.20,1895.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.3,1900.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.22,1902.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1902.33,1903.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1903.50,1905.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.4,1908.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.19,1909.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.3,1918.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.56,1919.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.3,1927.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.64,1928.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1932.3,1935.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1935.32,1936.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1936.39,1938.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1942.3,1956.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1956.14,1957.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1957.37,1959.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1961.3,1962.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1962.26,1963.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.2,1975.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.59,1986.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1986.17,1988.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1990.3,1991.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1991.34,1993.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1995.3,1996.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1996.29,1998.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1998.21,2001.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2001.34,2002.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2002.41,2004.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.5,2007.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.21,2008.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.4,2011.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.23,2013.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2013.34,2014.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2014.51,2016.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.5,2019.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.20,2020.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.4,2023.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.57,2024.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.4,2027.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.65,2028.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2030.4,2031.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2031.33,2032.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2032.40,2034.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2037.4,2051.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2051.15,2052.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2052.38,2054.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2056.4,2057.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2057.27,2058.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2065.2,2066.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2066.28,2068.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.2,2072.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.71,2080.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2080.30,2081.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2081.41,2087.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.3,2089.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.13,2090.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2090.31,2095.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2095.25,2097.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2097.38,2099.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2101.5,2101.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.2,2112.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.38,2115.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2115.27,2117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2121.3,2138.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2138.30,2140.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2140.11,2141.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2143.4,2160.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2160.15,2161.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2161.39,2163.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2165.4,2165.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2167.3,2173.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2173.24,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2176.3,2176.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2179.2,2179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2180.15,2182.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2182.24,2184.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2185.3,2185.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2187.18,2199.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2199.30,2201.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2201.11,2202.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2204.4,2208.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2208.15,2209.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2209.39,2211.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2213.4,2213.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2215.3,2216.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2216.24,2218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2219.3,2219.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2220.10,2221.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2221.22,2223.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2224.3,2226.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2226.27,2228.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2228.20,2230.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2231.4,2233.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2233.26,2235.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2236.4,2237.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2237.23,2239.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.4,2240.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.46,2244.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2245.4,2245.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2247.3,2247.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252.94,2254.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2254.16,2256.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2258.2,2260.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2260.18,2261.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2261.59,2262.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2262.36,2264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2264.10,2266.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.2,2270.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.13,2272.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.2,2273.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.50,2275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2277.2,2277.98 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281.98,2282.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2282.26,2284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2286.2,2287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2287.16,2289.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2291.2,2292.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2292.13,2294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2297.2,2298.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2298.19,2299.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2299.51,2301.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2302.3,2302.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.2,2304.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.42,2306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.2,2308.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.54,2309.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2309.48,2311.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2312.3,2312.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2316.2,2318.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17.82,19.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21.149,22.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:22.55,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.2,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.36,27.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:28.2,34.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:34.16,36.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.2,37.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.42,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:40.2,40.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43.105,44.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:44.48,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:47.2,48.54 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51.129,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:56.2,57.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:57.53,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:60.2,61.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:61.25,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:64.2,65.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:65.16,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:68.2,68.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26.97,27.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:27.18,29.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:30.2,30.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33.37,35.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37.81,38.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:38.44,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.2,41.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.38,43.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:44.2,44.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47.88,48.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:48.32,50.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:51.2,52.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:52.20,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:55.2,55.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58.40,72.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74.106,75.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:75.34,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:78.2,79.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:79.16,81.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:83.2,84.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:88.2,89.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:89.13,91.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:93.2,94.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:94.63,96.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.2,98.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.72,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:102.2,106.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109.117,110.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:110.32,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.2,113.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.34,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:117.2,118.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:118.16,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.2,121.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.19,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:125.2,126.69 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:126.69,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:130.2,136.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18.33,20.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22.27,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39.93,40.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:40.30,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.2,43.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.28,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:46.2,47.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:47.16,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:51.2,52.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:52.17,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:55.2,56.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:56.19,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.2,59.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.19,61.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:62.2,63.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:63.16,65.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:67.2,74.9 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:74.9,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:77.2,78.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:78.15,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:81.2,85.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:85.16,87.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.2,88.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.17,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:92.2,101.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104.48,105.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:108.2,109.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:109.29,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.2,112.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.31,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:115.2,115.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118.75,120.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:120.27,121.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:121.32,123.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:123.17,124.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:126.4,126.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:129.2,134.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:134.33,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.2,137.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.40,138.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:138.39,140.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:141.3,141.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.2,143.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.34,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:146.2,147.35 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:147.35,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:150.2,150.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153.77,154.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:154.20,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:157.2,159.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:159.31,160.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:160.33,162.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.3,163.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.30,165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:167.2,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23.91,25.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27.38,50.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52.104,53.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:53.38,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:56.2,57.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:61.2,62.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:62.26,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:65.2,66.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:66.30,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.2,69.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.72,71.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:73.2,74.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:77.2,78.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:78.16,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:81.2,82.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:82.16,84.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:85.2,86.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:90.2,105.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.2,109.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.19,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.2,118.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.25,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.2,121.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.30,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.2,124.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.31,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:131.2,131.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134.91,136.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:136.9,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:139.2,140.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:140.15,141.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:141.19,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:144.3,144.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:146.2,146.94 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149.59,150.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:150.16,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:153.2,154.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:154.61,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:157.2,157.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160.56,161.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:161.75,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:164.2,164.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167.67,169.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:170.17,171.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:172.67,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:174.10,175.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179.60,180.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:183.2,184.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:184.25,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:187.2,187.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190.57,191.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:192.15,193.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:193.81,195.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:196.3,196.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:197.19,199.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:199.17,201.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.3,202.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.55,204.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:205.3,205.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:206.14,207.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:208.11,209.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:210.10,211.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215.59,216.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:216.16,218.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:219.2,219.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:220.12,221.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:222.14,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:224.10,225.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:28.90,30.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:30.16,32.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:34.2,36.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:37.16,38.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:40.16,42.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:44.20,46.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:48.17,50.142 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:52.17,56.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:56.50,62.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:62.63,64.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.4,66.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.45,68.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:72.4,74.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:74.25,76.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:77.4,77.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:80.3,80.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:82.18,84.141 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:86.18,88.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:88.18,90.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:91.3,91.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:93.17,96.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:96.50,99.59 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:99.59,101.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:102.4,104.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:104.25,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:107.4,107.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:110.3,110.98 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:112.10,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:125.86,126.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:129.2,130.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:130.9,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.2,133.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.22,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:137.2,139.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:139.31,141.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:141.10,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:144.3,145.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:145.22,147.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:148.3,149.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:149.26,151.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.3,152.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.68,154.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:155.3,156.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:156.37,158.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:159.3,160.107 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:162.2,162.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:165.249,166.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:166.24,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.2,169.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.38,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:173.2,174.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:174.31,175.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:175.32,177.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:180.2,181.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:181.34,182.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:182.29,183.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:185.3,197.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:197.17,199.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.3,200.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.20,201.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.3,203.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.37,205.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:205.33,206.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.4,208.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.19,209.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:209.43,210.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:212.5,212.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:214.4,215.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:215.30,216.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:220.2,220.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:223.113,229.2 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:231.101,233.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:247.92,251.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:251.16,253.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.8,253.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:259.2,272.51 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:272.51,274.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:274.38,275.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:276.50,277.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:278.12,279.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:287.2,292.26 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:292.26,294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.2,297.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.19,301.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:303.2,311.42 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:311.42,315.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:316.2,341.64 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:341.64,342.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:342.86,344.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.3,345.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.56,347.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:348.3,360.19 6 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:360.19,364.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:365.3,365.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:369.2,370.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:370.15,372.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:372.27,374.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.3,375.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.27,377.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:380.2,381.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:381.15,387.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:387.28,395.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:395.18,397.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.4,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.23,399.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.4,401.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.30,402.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:402.66,403.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:405.5,406.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:406.12,407.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.5,409.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.28,413.6 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:414.5,415.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:415.30,416.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:419.4,420.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:420.30,421.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:424.8,432.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:432.28,438.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:438.18,440.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.4,441.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.23,442.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.4,444.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.30,445.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:445.40,447.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:447.31,448.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:452.4,455.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:455.30,456.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:461.2,465.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:465.17,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:469.2,470.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:470.16,472.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:473.2,473.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20.79,21.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:21.43,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.2,24.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.29,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:27.2,27.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30.40,63.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65.68,71.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:71.25,74.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:75.2,75.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78.62,83.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:83.19,87.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:88.2,88.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91.101,92.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:92.22,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:95.2,96.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:96.18,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:103.2,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:107.2,107.119 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110.99,111.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:111.22,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:114.2,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:115.18,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:118.2,119.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:119.16,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.2,122.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.51,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:129.2,131.15 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:131.15,132.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:132.69,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:135.3,135.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:137.2,137.130 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140.102,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.2,145.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.64,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:148.2,148.113 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151.109,153.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:157.16,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:160.2,161.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:161.16,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:164.2,164.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167.107,169.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:169.16,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:172.2,173.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:173.16,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.2,176.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.107,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:179.2,179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:180.41,181.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:182.41,183.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:184.10,185.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189.111,191.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:191.16,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:194.2,195.57 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:195.57,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:198.2,199.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:199.23,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.2,206.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.17,208.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:209.2,209.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212.63,215.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217.69,219.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:222.2,222.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225.60,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:230.2,230.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233.137,234.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:234.49,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:241.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:246.2,247.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:247.16,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.2,250.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.22,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:253.2,253.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256.142,258.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:258.16,260.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:261.2,262.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:262.16,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.2,265.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.47,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:268.2,269.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:269.16,270.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:270.50,272.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:273.3,273.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:275.2,275.173 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278.157,280.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:280.16,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.2,283.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.47,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:286.2,287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:287.16,288.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:288.50,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:291.3,291.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:293.2,293.169 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296.104,297.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:297.22,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:300.2,301.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:301.61,303.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:303.20,304.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.2,307.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.19,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:310.2,317.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320.119,322.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:322.39,323.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:323.81,325.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:327.2,327.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330.71,332.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:332.16,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:335.2,335.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17.61,105.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:105.23,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:123.2,123.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126.104,127.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:127.61,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.2,130.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.38,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:133.2,134.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:137.2,138.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:138.16,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:141.2,147.107 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:147.107,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:150.2,151.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:151.16,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:154.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:170.19,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:173.2,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176.103,177.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:177.61,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.2,180.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.38,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:187.2,191.106 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:191.106,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:194.2,195.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:195.16,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:198.2,200.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:200.31,207.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:207.36,218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:219.3,220.35 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:222.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233.107,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.2,237.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.38,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:240.2,241.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:241.16,243.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:244.2,248.110 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:248.110,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:251.2,252.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:252.16,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:255.2,256.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:256.33,266.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:267.2,275.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278.108,279.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:279.61,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.2,282.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.37,284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:285.2,286.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:286.16,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:289.2,290.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:290.19,292.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.2,293.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.104,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:296.2,297.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:297.16,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:300.2,307.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:307.16,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:310.2,311.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:311.43,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:319.2,332.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:332.22,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:335.2,335.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338.108,339.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:339.62,341.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.2,342.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.38,344.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:345.2,346.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:346.9,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:349.2,350.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:350.16,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:353.2,357.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:360.2,370.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373.109,374.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:374.62,376.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.2,377.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.38,379.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:380.2,381.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:381.9,383.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:384.2,385.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:385.16,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:388.2,390.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:390.32,392.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:393.2,394.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:394.16,396.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:397.2,403.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406.106,407.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:407.62,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.2,410.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.38,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:413.2,414.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:414.9,416.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:417.2,418.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:418.16,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:421.2,423.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:423.16,424.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:424.41,434.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:435.3,435.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:437.2,445.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483.65,484.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:484.42,485.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:485.39,487.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.2,489.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.85,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:492.2,492.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495.102,496.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:496.38,498.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.2,499.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.58,501.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:502.2,502.90 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505.60,508.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510.66,512.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:512.26,514.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:515.2,515.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518.69,521.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:521.33,523.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:523.21,524.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.3,526.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.34,527.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:529.3,530.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:532.2,532.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535.63,537.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:537.19,539.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:540.2,541.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:541.42,543.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.2,544.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.57,546.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.2,547.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.54,549.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:550.2,550.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553.70,557.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559.66,561.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:561.9,563.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:564.2,566.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:566.17,568.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:569.2,569.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:570.103,572.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:573.34,574.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:575.10,576.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580.56,581.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:581.37,583.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.2,584.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.26,586.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:586.37,587.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:589.3,589.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:591.2,591.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594.90,602.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604.68,605.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:605.71,607.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:607.17,609.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:610.3,610.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:612.2,613.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:613.16,615.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:616.2,617.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:617.41,619.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:620.2,620.78 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623.65,625.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:625.16,627.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.2,628.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.17,630.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:631.2,631.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634.51,635.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:635.16,637.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:638.2,638.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641.56,642.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:642.28,644.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:645.2,646.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649.92,651.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:651.29,653.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:654.2,654.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657.86,659.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:659.29,661.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:662.2,662.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665.94,667.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:667.29,669.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:670.2,670.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673.98,675.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:675.29,677.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:678.2,678.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:17.93,18.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:18.104,20.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:22.2,23.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:23.16,25.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:27.2,28.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:28.19,30.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:32.2,35.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:35.33,36.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:36.47,39.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:42.2,44.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:44.20,47.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:48.2,49.68 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:49.68,50.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:50.48,52.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.3,53.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.32,55.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:55.23,56.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:56.63,58.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:59.5,59.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:61.4,61.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:64.2,71.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:71.17,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.8,73.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.29,75.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:75.36,77.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:78.3,83.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.2,86.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.35,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:90.2,97.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:101.2,110.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:110.28,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:113.2,124.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:133.93,134.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:134.35,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:138.2,139.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:139.16,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:143.2,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.2,147.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.17,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:151.2,152.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:152.33,153.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:153.47,156.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:160.16,162.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:164.2,176.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:176.26,178.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:178.23,180.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:181.3,192.5 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:195.2,196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:199.2,199.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:22.104,24.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:24.16,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:28.2,29.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:29.18,31.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:33.2,33.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:34.13,35.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:36.13,37.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:38.14,39.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:40.16,41.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:42.10,43.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:51.67,53.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:57.68,58.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:58.33,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:61.2,61.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:67.42,69.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:74.61,76.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:76.26,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:79.2,79.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:85.90,86.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:86.49,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:90.2,91.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:91.15,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:94.2,95.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:95.17,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:100.2,103.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:103.16,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:107.2,113.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:113.12,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:115.18,117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:118.3,119.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:119.20,121.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:122.3,124.48 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:125.8,127.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:129.2,130.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:130.16,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:134.2,139.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:145.90,147.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:151.2,152.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:152.16,154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:157.16,158.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:158.47,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:161.3,161.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:164.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:170.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:173.8,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:176.2,176.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:181.92,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:187.2,188.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:188.16,190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:192.2,200.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:200.25,207.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:207.28,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:210.3,210.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:212.2,212.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:216.93,217.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:217.52,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:221.2,222.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:222.15,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:226.2,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.2,231.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.47,232.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:232.47,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:235.3,235.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:238.2,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:35.127,36.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:36.23,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:39.2,40.40 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:40.40,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.2,43.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.37,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.2,46.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.37,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:49.2,49.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:52.23,80.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:82.26,140.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:142.92,143.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:143.25,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:147.2,148.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:148.49,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:152.2,152.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:153.17,154.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:154.24,156.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:157.3,158.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:158.17,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:161.3,165.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:166.17,167.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:167.22,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.3,170.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.22,172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:173.3,174.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:174.17,176.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:177.3,181.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:182.16,189.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:189.23,191.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.3,192.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.24,194.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.3,195.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.39,197.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:198.3,207.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:207.17,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.3,210.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.69,212.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:213.3,213.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:214.10,215.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:219.92,220.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:220.25,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:224.2,225.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:225.49,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:229.2,229.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:230.17,232.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:232.24,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:235.3,236.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:236.17,238.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.3,239.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.59,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.3,242.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.81,244.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:245.3,250.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:251.17,253.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:253.22,255.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:256.3,257.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:257.17,259.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.3,260.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.79,262.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:263.3,268.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:269.10,270.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:274.91,276.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:276.16,278.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.2,279.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.67,280.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:280.76,282.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:285.2,286.52 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:286.52,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:289.2,289.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:292.74,294.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:294.16,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.2,297.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.62,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:300.2,300.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:303.109,304.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:304.56,306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.2,307.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.25,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.2,310.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.81,312.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.2,313.102 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.102,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.2,316.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.108,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.2,319.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.99,321.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.2,322.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.99,324.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.2,325.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.60,327.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.2,328.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.34,330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.2,331.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.114,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.2,334.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.66,336.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.2,337.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.40,339.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.2,340.132 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.132,342.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.2,343.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.35,345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:346.2,346.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:349.92,350.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:350.103,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:354.2,355.52 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:355.52,357.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.2,358.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.32,360.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:361.2,361.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:364.108,365.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:365.19,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:368.2,369.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:369.53,371.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.2,372.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.19,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.2,375.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.39,376.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:376.34,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:380.2,380.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:383.66,385.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:385.53,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.2,388.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.19,390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:391.2,391.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:16.2,18.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:19.16,20.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:21.14,22.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:23.15,24.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:25.16,26.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:27.10,28.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21.75,23.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25.41,28.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30.31,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39.38,46.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48.50,56.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58.43,70.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72.80,73.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:73.36,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.2,76.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.48,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:79.2,79.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82.97,84.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:87.2,88.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:88.16,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:91.2,92.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:92.16,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:95.2,96.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:96.16,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:99.2,99.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102.104,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:111.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:115.2,116.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:116.16,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:119.2,119.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122.96,124.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:127.2,128.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:128.19,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:131.2,132.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:132.18,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:135.2,141.79 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:141.79,143.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:143.17,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:146.3,146.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:148.2,148.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151.77,153.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:156.2,157.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:157.19,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:160.2,160.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:22.15,23.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:24.13,25.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:26.14,27.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:28.16,29.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:30.16,31.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:32.10,33.102 1 0 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/create-database.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/create-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/create-database.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/create-database.stdout.log new file mode 100644 index 00000000..4b15bd57 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/create-database.stdout.log @@ -0,0 +1 @@ +CREATE DATABASE diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/create-pgvector.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/create-pgvector.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/create-pgvector.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/create-pgvector.stdout.log new file mode 100644 index 00000000..d26bad14 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/create-pgvector.stdout.log @@ -0,0 +1 @@ +CREATE EXTENSION diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/database-identity.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/database-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/database-identity.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/database-identity.stdout.log new file mode 100644 index 00000000..2fdb5329 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/database-identity.stdout.log @@ -0,0 +1 @@ +{"database" : "engram_prc_rg_test_9a720e1716717962_r1", "schema" : "public", "server_version" : "17.10 (Debian 17.10-1.pgdg12+1)", "user" : "engram"} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/go-test-summary.json b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/go-test-summary.json new file mode 100644 index 00000000..06a442d2 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/go-test-summary.json @@ -0,0 +1,40 @@ +{ + "schema_version": 1, + "verdict": "FAIL", + "input_path": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\go-test.stdout.jsonl", + "fail_on_unexpected_skip": true, + "allowed_skip_identities": [], + "counts": { + "packages": 1, + "tests": 1, + "passed": 0, + "failed": 1, + "skipped": 0, + "no_tests": 0, + "zero_tests": 0, + "incomplete": 0, + "unexpected_skips": 0, + "malformed_lines": 0 + }, + "packages": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "outcome": "fail", + "elapsed_seconds": 4.249, + "last_output": "FAIL\tgithub.com/thebtf/engram/internal/mcp\t4.239s", + "tests_observed": 1 + } + ], + "tests": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEC_F1_TagDerivedBackfill_T007", + "outcome": "fail", + "elapsed_seconds": 3.91, + "last_output": "--- FAIL: TestEC_F1_TagDerivedBackfill_T007 (3.91s)", + "skip_allowed": false + } + ], + "unexpected_skips": [], + "errors": [] +} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/go-test.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/go-test.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/go-test.stdout.jsonl b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/go-test.stdout.jsonl new file mode 100644 index 00000000..99e30807 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/go-test.stdout.jsonl @@ -0,0 +1,21 @@ +{"Time":"2026-07-11T03:37:36.0500207+03:00","Action":"start","Package":"github.com/thebtf/engram/internal/mcp"} +{"Time":"2026-07-11T03:37:36.3399173+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007"} +{"Time":"2026-07-11T03:37:36.3399173+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"=== RUN TestEC_F1_TagDerivedBackfill_T007\n"} +{"Time":"2026-07-11T03:37:37.2140189+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"warn\",\"error\":\"ERROR: relation \\\"observation_vectors\\\" does not exist (SQLSTATE 42P01)\",\"time\":\"2026-07-11T03:37:37+03:00\",\"message\":\"migration 040: orphan vector cleanup failed (non-fatal)\"}\n"} +{"Time":"2026-07-11T03:37:37.2140189+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"garbage_deleted\":0,\"orphan_vectors_deleted\":0,\"time\":\"2026-07-11T03:37:37+03:00\",\"message\":\"migration 040: garbage cleanup complete\"}\n"} +{"Time":"2026-07-11T03:37:37.2225174+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"orphan_vectors_deleted\":0,\"time\":\"2026-07-11T03:37:37+03:00\",\"message\":\"migration 041: orphan vector purge complete\"}\n"} +{"Time":"2026-07-11T03:37:37.2310204+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"patterns_deleted\":0,\"time\":\"2026-07-11T03:37:37+03:00\",\"message\":\"migration 042: low-quality pattern purge complete\"}\n"} +{"Time":"2026-07-11T03:37:37.2655447+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"total_deleted\":0,\"time\":\"2026-07-11T03:37:37+03:00\",\"message\":\"migration 043: radical observation cleanup complete\"}\n"} +{"Time":"2026-07-11T03:37:38.64046+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"warn\",\"error\":\"ERROR: extension \\\"vectorscale\\\" is not available (SQLSTATE 0A000)\",\"time\":\"2026-07-11T03:37:38+03:00\",\"message\":\"migration 109: vectorscale extension not available, skipping DiskANN index\"}\n"} +{"Time":"2026-07-11T03:37:39.8522483+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:37:39+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:37:39.8777495+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" store_memory_compat_t007_test.go:160: \n"} +{"Time":"2026-07-11T03:37:39.8777495+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \tError Trace:\tD:/Dev/engram/.w/t007-current-contract/internal/mcp/store_memory_compat_t007_test.go:160\n"} +{"Time":"2026-07-11T03:37:39.8777495+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \tError: \tShould be true\n"} +{"Time":"2026-07-11T03:37:39.8777495+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \tTest: \tTestEC_F1_TagDerivedBackfill_T007\n"} +{"Time":"2026-07-11T03:37:39.8777495+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \tMessages: \tglobal-scoped row must be returned by MemoryStore.List within its own project\n"} +{"Time":"2026-07-11T03:37:40.245264+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"--- FAIL: TestEC_F1_TagDerivedBackfill_T007 (3.91s)\n"} +{"Time":"2026-07-11T03:37:40.245264+03:00","Action":"fail","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Elapsed":3.91} +{"Time":"2026-07-11T03:37:40.245264+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"FAIL\n"} +{"Time":"2026-07-11T03:37:40.2602632+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"coverage: 0.1% of statements\n"} +{"Time":"2026-07-11T03:37:40.299264+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"FAIL\tgithub.com/thebtf/engram/internal/mcp\t4.239s\n"} +{"Time":"2026-07-11T03:37:40.299264+03:00","Action":"fail","Package":"github.com/thebtf/engram/internal/mcp","Elapsed":4.249} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/pg-stat-activity-after.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/pg-stat-activity-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/pg-stat-activity-after.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/pg-stat-activity-after.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/pg-stat-activity-after.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/pg-stat-activity-before.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/pg-stat-activity-before.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/repeat-summary.json b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/repeat-summary.json new file mode 100644 index 00000000..97bb6dbb --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/repeat-summary.json @@ -0,0 +1,36 @@ +{ + "repeat": 1, + "verdict": "FAIL", + "database": "engram_prc_rg_test_9a720e1716717962_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_9a720e1716717962_r1.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": false, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 1, + "json_parser_exit": 1, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\cleanup\\cleanup.json", + "errors": [ + "go test failed with exit 1", + "go test JSON assertion failed with exit 1" + ], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01" +} diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/server-connection-count-after.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/server-connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/server-connection-count-after.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/server-connection-count-after.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/server-connection-count-after.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/server-connection-count-before.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/server-connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/server-connection-count-before.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/server-connection-count-before.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/server-connection-count-before.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/targeted-coverage.stderr.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/targeted-coverage.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/targeted-coverage.stdout.log b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/targeted-coverage.stdout.log new file mode 100644 index 00000000..c958686c --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/repeat-01/targeted-coverage.stdout.log @@ -0,0 +1,352 @@ +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33: effectiveAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44: isAuditEnabled 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52: runAuditAsync 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77: marshalState 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92: logAuditCreate 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117: logAuditEdit 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142: logAuditDelete 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166: logAuditGeneric 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189: logAuditSupersede 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:30: parseArgs 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:46: coerceString 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:67: coerceInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:97: coerceInt64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:127: coerceFloat64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:151: coerceBool 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:177: coerceStringSlice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:204: coerceInt64Slice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:222: clampToInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:236: clampInt64ToInt 0.0% +github.com/thebtf/engram/internal/mcp/context.go:17: extractProjectFromHeader 0.0% +github.com/thebtf/engram/internal/mcp/context.go:22: contextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:29: ContextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:35: projectFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:41: contextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:48: ContextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:54: sessionFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:61: actorFromContext 0.0% +github.com/thebtf/engram/internal/mcp/health.go:22: NewMCPHealth 0.0% +github.com/thebtf/engram/internal/mcp/health.go:29: RecordRequest 0.0% +github.com/thebtf/engram/internal/mcp/health.go:36: RecordError 0.0% +github.com/thebtf/engram/internal/mcp/health.go:42: rotateWindowIfNeeded 0.0% +github.com/thebtf/engram/internal/mcp/health.go:55: HandleHealth 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28: ruleGovernanceCaptureEnabled 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39: captureActiveRuleIntent 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104: ruleIntentFingerprint 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113: marshalRuleCandidateIntentResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:127: NewServer 100.0% +github.com/thebtf/engram/internal/mcp/server.go:141: SetBackfillStatusFunc 0.0% +github.com/thebtf/engram/internal/mcp/server.go:146: SetVersionedDocumentStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:151: SetIssueStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:156: SetMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:161: SetMetaMemoryIndex 0.0% +github.com/thebtf/engram/internal/mcp/server.go:166: SetHintQueue 0.0% +github.com/thebtf/engram/internal/mcp/server.go:171: SetStateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:176: SetDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/server.go:181: SetBehavioralRulesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:186: SetRuleGovernanceStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:191: SetRuleInjectionTelemetryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:195: SetPromotionStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:199: SetGraphStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:204: SetNodesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:211: SetAuditStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:216: SetPurgeStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:222: SetCandidateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:228: SetSnapshotStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:234: SetBulkFacade 0.0% +github.com/thebtf/engram/internal/mcp/server.go:240: setTestAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/server.go:246: setTestMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/server.go:252: setTestMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/server.go:260: SetWriteLintOrchestrator 0.0% +github.com/thebtf/engram/internal/mcp/server.go:269: SetRedactionRules 0.0% +github.com/thebtf/engram/internal/mcp/server.go:274: SetEmbeddingStores 0.0% +github.com/thebtf/engram/internal/mcp/server.go:282: SetRerankClient 0.0% +github.com/thebtf/engram/internal/mcp/server.go:290: SetStatsDB 0.0% +github.com/thebtf/engram/internal/mcp/server.go:297: HandleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:303: ListTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:332: Version 0.0% +github.com/thebtf/engram/internal/mcp/server.go:383: Run 0.0% +github.com/thebtf/engram/internal/mcp/server.go:427: handleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:461: handleNotification 0.0% +github.com/thebtf/engram/internal/mcp/server.go:473: handleInitialize 0.0% +github.com/thebtf/engram/internal/mcp/server.go:496: buildInstructions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:660: storeMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:712: recallMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:805: primaryTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:942: handleToolsList 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1612: handleToolsCall 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1644: sanitizeToolCallArgs 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1656: callTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1874: sendResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1884: sendError 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1896: handleFindSimilarObservations 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1927: handleGetMemoryStats 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2055: handleBackfillStatus 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2071: handleCheckSystemHealth 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2216: handleAnalyzeSearchPatterns 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2246: handleSearchSessions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2251: handleListSessions 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:18: buildAdminTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:68: adminActionsForEnv 33.3% +github.com/thebtf/engram/internal/mcp/tools_admin.go:80: vnextEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:84: handleAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:120: handlePurgeProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27: ambientHintsEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32: ambientHintsTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48: handleGetAmbientHints 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86: normalizeAmbientHintsToolLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96: ambientHintItems 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114: errMissingSessionID 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:31: handleGetMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:107: memoryBriefUsesPrincipalScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:115: handlePrincipalMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:259: truncateBriefContent 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:270: filterInjectionByScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25: bulkOpsTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95: handleBulkPromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154: handleBulkDelete 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211: handleBulkSupersede 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31: candidateItemFromDomain 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51: newCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59: requireCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68: candidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165: handleListCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208: handleGetCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239: handlePromoteCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348: handleRejectCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402: handleSupersedeCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34: codeIntelEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42: SetCodeChunkStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48: codebaseSearchTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79: codebaseStatusTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100: handleCodebaseSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194: handleCodebaseStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:21: getVault 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:35: credentialStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:49: handleStoreCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:130: handleGetCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:192: handleListCredentials 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:243: handleDeleteCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:302: handleVaultStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:338: expandTagHierarchy 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:16: directivesCaptureEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:20: rememberDirectiveTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:38: currentDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:48: handleRememberDirective 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:72: parseRememberDirectiveArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10: handleDocsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:15: handleListCollections 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:61: handleListDocuments 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:121: handleGetDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:165: handleRemoveDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:197: handleIngestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:235: handleSearchCollection 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15: handleDocCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61: handleDocRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117: handleDocUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122: handleDocList 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175: handleDocHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232: handleDocComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19: SetExperienceProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23: experienceHistoryTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40: experienceHistoryReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65: experienceHistoryDetailSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82: experienceHistoryTriggerEnum 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91: handleExperienceHistoryRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103: handleExperienceHistoryDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115: parseExperienceHistoryReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142: parseExperienceHistoryDetailArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157: experienceHistoryTriggersFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180: marshalExperienceHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12: handleFeedbackConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36: handleSetSessionOutcome 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:27: governanceTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:98: handleListSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:167: handleRollbackSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:215: handlePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:258: handleRedactionRulesStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:284: resolveGovernanceActor 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:64: handleGraph 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:100: graphAddEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:216: mcpGraphEndpointExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:243: mcpGraphEdgeAlreadyExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:276: graphAddNode 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:317: graphRemoveEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:332: graphGetEdges 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:397: filterEdgesByNodeType 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:457: graphTraverse 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:480: graphFindPath 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:502: graphSynonyms 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23: graphCreateEdgeWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80: graphEndpointExistsWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114: graphDuplicateEdgeExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25: handleIngest 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43: ingestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20: handleImportInstincts 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:19: issuesToolSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:109: validateIssueActionParams 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:143: handleIssues 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:189: resolveSourceProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:205: handleIssueCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:250: handleIssueList 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:311: handleIssueGet 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:344: handleIssueUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:382: handleIssueComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:408: handleIssueReopen 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:425: handleIssueClose 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22: handleLifecycle 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48: lifecycleInfo 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87: lifecyclePromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118: lifecycleDemote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149: lifecycleSetConfidence 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172: lifecycleSetDefeasibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191: lifecycleSleepStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197: lifecycleDecayPreview 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233: marshalJSON 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:35: vnextFEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:42: isValidPrivacyScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:54: derivePrivacyScopeFromLegacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:82: deriveLegacyScopeFromPrivacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:93: applyPrincipalMemoryMetadata 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:135: addPrincipalMemoryFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:161: newScopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:172: writeLintVisibilityCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:186: writeLintVisibilityOptions 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:192: scopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:202: filterVisibleWriteGateCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:214: domainManageAllowed 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:218: List 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:272: writeLintVisibilityFetchLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:286: Get 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:297: Create 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:301: Update 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:305: MarkSuperseded 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:319: effectiveMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:329: isValidStoreObservationType 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:354: handleStoreMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111: handleEditMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218: computeTTLDays 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258: truncateTitle 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270: keepRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280: keepRecallMemoryFilters 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342: handleRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690: staleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700: marshalWithStaleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727: Rank 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1751: handleRecallMemoryHybrid 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252: handleRateMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281: handleSuppressMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17: SetDomainRegistryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21: checkDomainWriteMCP 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43: addDomainWriteDecisionFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51: marshalStoreMemoryAugmented 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26: newMemoryStoreSignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33: s6OutcomeEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37: effectiveMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47: currentMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58: rateMemorySignificanceTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74: handleRateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109: RateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18: s2MetaMemoryEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22: knowAboutTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39: handleKnowAbout 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104: parseKnowAboutLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118: summarizeMetaIndexTags 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153: summarizeMetaIndexDateRange 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23: SetPrincipalMemoryQueryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27: principalMemoryQueryTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52: handleQueryPrincipalMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134: principalMemoryQueryCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149: parsePrincipalMemoryQueryLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160: principalMemoryQueryText 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167: parsePrincipalMemoryQueryVisibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179: parsePrincipalMemoryQueryOffset 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190: parsePrincipalMemoryQueryInt 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215: parsePrincipalMemoryQueryBool 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:28: handleRecall 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:125: parseRecallIncludedPrincipals 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:165: appendRecallIncludedPrincipalMemories 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:223: recallIncludeTargetMatchesCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:231: recallPrincipalQueryItemToMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:247: handleRecallSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20: currentReviewLoopCandidateLister 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30: reviewLoopCandidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65: reviewLoopReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78: reviewPacketIDSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91: handleReviewMetricsRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110: handleReviewQueueRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140: handleReviewPacketDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151: handleReviewPacketPreviewAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167: handleReviewPacketApplyAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189: parseReviewLoopReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212: reviewLoopMCPPacketTypeSupported 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217: reviewLoopActionFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225: reviewLoopReasonFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233: loadReviewPacketCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256: applyReviewPacketPreserve 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278: applyReviewPacketSuppress 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296: reviewLoopMemoryFromCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320: filterRiskyMCPReviewCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330: marshalReviewLoop 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17: ruleGovernanceReadTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126: handleRuleGovernanceHealth 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176: handleRuleGovernanceQueue 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233: handleRuleGovernanceSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278: handleRuleGovernanceUsefulness 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338: handleRuleGovernanceTransition 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373: handleRuleGovernancePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406: handleRuleGovernanceRollback 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483: requireRuleGovernanceReadAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495: requireRuleGovernanceProjectOrAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505: ruleGovernanceCallerIsAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510: requireRuleGovernanceAdminAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518: redactRuleGovernanceEvidenceHandles 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535: redactRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553: ruleGovernanceEvidenceHandleHasSensitiveText 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559: isCanonicalRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580: isSafeRuleGovernanceEvidenceID 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594: parseRuleGovernanceTransitionRequest 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604: parseRuleGovernanceSince 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623: boundedRuleGovernanceLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634: formatRuleGovernanceTime 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641: formatRuleGovernanceTimePtr 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649: stringRuleCandidateStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657: stringRuleVersionStateCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665: stringRuleArbiterRunStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673: stringRuleInjectionEventTypeCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:17: handleStoreRule 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:133: handleListRules 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:22: handleSettingsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:51: SetSettingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:57: settingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:67: isSecretSettingKey 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:74: requireAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:85: handleSetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:145: handleGetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:181: handleListSettings 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:216: handleDeleteSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:35: resumeScopesFromFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:52: stateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:82: setStateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:142: handleGetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:219: handleSetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:274: decodeSessionStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:292: validateSessionStateBudget 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:303: validateNativeResumePacket 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:349: decodeProjectStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:364: requireStateObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:383: requireNestedObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10: handleStoreConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21: SetTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25: temporalTruthEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30: temporalTruthTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39: temporalTruthRefreshTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48: temporalTruthRefreshSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58: temporalTruthSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72: currentTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82: handleTemporalTruth 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102: handleTemporalTruthRefresh 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122: parseTemporalTruthArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151: parseTemporalTruthRefreshProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10: handleVaultConsolidated 0.0% +total: (statements) 0.1% diff --git a/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/summary.json b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/summary.json new file mode 100644 index 00000000..19f076fd --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/t007-maker-prove-it-old-assertion/summary.json @@ -0,0 +1,67 @@ +{ + "schema_version": 1, + "gate": "release-gates-foundation", + "run_id": "t007-maker-prove-it-old-assertion", + "started_at": "2026-07-11T00:37:29.5703459+00:00", + "finished_at": "2026-07-11T00:37:45.8071288+00:00", + "duration_seconds": 16.237, + "verdict": "FAIL", + "counts": { + "requested_repeats": 1, + "completed_repeats": 1, + "passed_repeats": 0, + "failed_repeats": 1, + "child_commands": 16, + "nonzero_child_commands": 2 + }, + "packages": [ + "./internal/mcp" + ], + "run_pattern": "^TestEC_F1_TagDerivedBackfill_T007$", + "coverage_policy": "Targeted", + "connection_budget": 20, + "race": false, + "database_dsn": "REDACTED_DATABASE_DSN", + "environment": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\environment.json", + "commands": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\commands.json", + "repeats": [ + { + "repeat": 1, + "verdict": "FAIL", + "database": "engram_prc_rg_test_9a720e1716717962_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_9a720e1716717962_r1.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": false, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 1, + "json_parser_exit": 1, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01\\cleanup\\cleanup.json", + "errors": [ + "go test failed with exit 1", + "go test JSON assertion failed with exit 1" + ], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion\\repeat-01" + } + ], + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-current-contract\\.agent\\reports\\evidence\\production-ready\\t007-compat\\t007-maker-prove-it-old-assertion" +} diff --git a/.agent/reports/evidence/production-ready/t007-compat/verification-summary.json b/.agent/reports/evidence/production-ready/t007-compat/verification-summary.json new file mode 100644 index 00000000..15dac0ca --- /dev/null +++ b/.agent/reports/evidence/production-ready/t007-compat/verification-summary.json @@ -0,0 +1,51 @@ +{ + "schema_version": 1, + "slice": "T007-COMPAT-DEMOLITION-CLASSIFICATION", + "recorded_at": "2026-07-11T00:41:04.2538562Z", + "base_sha": "af1ed63536829916e0477be719a30a57a8d9227a", + "scope": { + "production_test_paths": [ + "internal/mcp/store_memory_compat_t007_test.go" + ], + "evidence_namespace": ".agent/reports/evidence/production-ready/t007-compat/**", + "maker_report_namespace": ".agent/reports/production-ready/t007-compat-demolition-classification/**", + "production_code_changed": false + }, + "gates": { + "go_runner_discovery": "PASS", + "valid_red": "PASS", + "focused_fresh_database_repeat3": "PASS", + "focused_race_fresh_database": "PASS", + "prove_it_old_assertion_red": "PASS", + "post_prove_it_fresh_database_green": "PASS", + "go_vet_all": "PASS", + "go_build_all": "PASS", + "git_diff_check": "PASS" + }, + "full_internal_mcp": { + "evidence": "t007-maker-full-mcp/summary.json", + "fresh_database": true, + "total_tests": 488, + "passed_tests": 487, + "failed_tests": 1, + "skipped_tests": 0, + "t007_tests": { + "TestEC_F1_TagDerivedBackfill_T007": "PASS", + "TestEC_F1_HandleRecallSearch_FlagOff_BackwardCompat_T007": "PASS" + }, + "out_of_scope_failure": { + "test": "TestHybridTG3_ConfidenceMin_FloorEnforced_T022", + "owner": "DEMOLITION-SKIP-CLASSIFICATION", + "source": ".agent/plans/2026-07-10-engram-production-ready-master-plan.md", + "t007_edit_authorized": false + }, + "sessions_after": 0, + "cleanup_verdict": "PASS", + "remaining_database_count": 0 + }, + "post_commit_gates": [ + "gitleaks exact commit", + "synthesis-preview merge-tree compatibility", + "exact parent/tree/path digest handoff" + ] +} diff --git a/.agent/reports/production-ready/t007-compat-demolition-classification/maker-report.md b/.agent/reports/production-ready/t007-compat-demolition-classification/maker-report.md new file mode 100644 index 00000000..fdba1940 --- /dev/null +++ b/.agent/reports/production-ready/t007-compat-demolition-classification/maker-report.md @@ -0,0 +1,28 @@ +# T007 compatibility demolition classification — maker report + +## Outcome + +`TestEC_F1_TagDerivedBackfill_T007` is a **CURRENT_CONTRACT_TEST_CORRECTION**. No production change is authorized or required. + +The raw SQL half of the test already proves that the `scope:global` fixture is backfilled to `privacy_scope='global'`. The failing List assertion then inspected `models.Memory.PrivacyScope` while the vNext-F flag was off. The live `MemoryStore.List -> memoryRowToModel` path intentionally leaves that field empty under flag-off to preserve the v6.4 response contract. + +The corrected test explicitly fixes flag-off state, reads the fixture's durable `id` alongside the existing raw SQL proof, and requires `MemoryStore.List` to return that exact ID with exact content. It no longer depends on metadata intentionally hidden by the compatibility projection. + +## TDD and verification + +- Valid RED: old assertion failed on fresh PostgreSQL 17.10; one failed test, zero skips, zero sessions before drop, zero database residue. +- GREEN: focused fresh-database gate passed 3/3 with all child/parser/coverage/cleanup exits zero. +- Prove-It: temporarily restoring the old assertion failed exactly the T007 test; cleanup passed. The intended test file was restored byte-for-byte (`SHA256 B223366204385AFC4D4F6A4899777C2D6530A5B6420D6869683B6CBF65F4EC21`) and post-restore GREEN passed. +- Race: focused fresh-database race gate passed. +- Static gates: `go vet ./...`, `go build ./...`, and `git diff --check` passed. +- Full fresh-database `./internal/mcp`: 488 tests, 487 passed, 1 failed, 0 skipped. Both T007 tests passed. The sole failure is `TestHybridTG3_ConfidenceMin_FloorEnforced_T022`, which A10 assigns to `DEMOLITION-SKIP-CLASSIFICATION`; T007 has no authority to alter it. Cleanup recorded zero remaining sessions and zero database residue. + +Machine evidence is under `.agent/reports/evidence/production-ready/t007-compat/`. + +## Scope discipline + +Production/test change: `internal/mcp/store_memory_compat_t007_test.go` only. No production source, workflow, plan, role state, release state, main checkout, tag, push, merge, or browser/report surface was changed. + +The operator-requested `.w/t007-current-contract` location is not ignored by the current repository (`.w/` appears as untracked in the preserve-only primary checkout). The path was explicit and already hosts isolated worktrees; `.gitignore` is outside this slice, so no ignore rule was changed. + +Post-commit checks—exact-commit gitleaks, synthesis-preview merge-tree compatibility, and immutable SHA/parent/tree/path handoff—are intentionally performed after the commit exists and are reported by the maker handoff rather than self-referenced inside the commit. diff --git a/.agent/reviews/2026-07-13-mb1-sol-takeover-review.md b/.agent/reviews/2026-07-13-mb1-sol-takeover-review.md new file mode 100644 index 00000000..7d54c1d8 --- /dev/null +++ b/.agent/reviews/2026-07-13-mb1-sol-takeover-review.md @@ -0,0 +1,50 @@ +# MB1 data-integrity macro-batch — SOL takeover review + +## Verdict + +`APPROVE_FOR_SYNTHESIS`, not a project-wide release approval. + +- Base: `fef455bcf640f849c2d40c9bc26a459b5593e10a` +- Reviewed product head: `05382508a495faa3f350ea6a503cc68ff55cd70f` +- Tree: `7c7fee364ae390d00e54129bb3eb077913d953cf` +- Changed paths: 65 +- Canonical path-list SHA-256: `899ba7be4ad24b10a9fd71fb2d11b1eeb0601b98428e5062414610cf4baf9b62` +- Canonical name/status SHA-256: `1780c149438c6e3819db98775d4708f1f0cf566f14f0f5ee838a13ee28a0b564` + +## Product result reviewed + +The batch closes the six declared data-integrity classes: arbiter claim release and +migration ordering, literal project/path selectors, cross-test governance isolation, +historical-only ingest snapshots, lossless mutation decoding, and fail-closed dream +crystallization with exact project/session provenance. It also adds a checksum-bound +v4.5.0 upgrade replay and retains the accepted candidate-review rollback contract. + +## Review findings closed + +1. The broad PostgreSQL run exposed session-start tests that assumed an empty global + rule namespace. The tests now assert inclusion/exclusion by identity and derive the + router budget outcome from actual `deferred_budget` suppression. The dirty-database + scenario passed five consecutive runs. +2. `target_memory_id` was strictly parsed but Phase2 re-read the raw value through the + legacy coercer. Phase2 now consumes the authoritative normalized `int64`; a value + above 2^53 is covered by a permanent repeated regression. + +## Fresh evidence + +- Six-group hostile PostgreSQL matrix, three repetitions per group: PASS. +- All touched packages plus tagged recovery/isolation critical packages: PASS except + the two separately tracked gRPC identity tests described below. +- Full ordinary repository gate: `go test -p=1 ./... -count=1` PASS. +- `go vet ./...` PASS. +- `go build ./...` PASS. +- Focused race gate for dream retry/provenance and strict MCP mutations, three + repetitions: PASS. +- Pre-v5 fixture provenance and happy/interrupted upgrade behavior: PASS. + +## Non-MB1 release blocker preserved + +`TestCritical_AuthTwoTier/gRPC_accepts_operator_key` and +`gRPC_accepts_dashboard-issued_keycard` fail with `project identity metadata is +invalid`. The identical focused failures reproduce on exact base `fef455bc`; MB1 does +not regress them and this review does not waive them. They remain mandatory before a +production-ready verdict. diff --git a/.agent/reviews/2026-07-13-ops-observability-callsites-sol-review.md b/.agent/reviews/2026-07-13-ops-observability-callsites-sol-review.md new file mode 100644 index 00000000..c3811d61 --- /dev/null +++ b/.agent/reviews/2026-07-13-ops-observability-callsites-sol-review.md @@ -0,0 +1,74 @@ +# OPS observability call-sites — root post-review + +Date: 2026-07-13 +Candidate: `work/prc-sol-synthesis-r1` +Scope: real gRPC/auth/version/database/index call sites and daemon exporter lifecycle + +## Outcome + +Root changed-code review: **PASS**. +Independent blind judge: **PENDING (review infrastructure unavailable)**. + +The patch closes the previously documented PR-7 call-site blocker without +restoring any v5-demolished path. It uses the supported `otelgrpc` v0.68.0 +StatsHandler integration that exactly matches the repository's OTel v1.43.0 and +gRPC v1.80.0 dependency line. Runtime event attributes are fixed program values; +no token, DSN, user/project/root/run ID, or error text enters metric attributes. + +## Review findings resolved + +1. **Shim telemetry impersonated the daemon.** The first implementation would + initialize `service.name=engram-daemon` in every short-lived client/shim + process. A new RED proved the issue; initialization is now restricted to the + actual `--muxcore-daemon` process. Count-5 and race count-3 are green. +2. **Resource assertion was formatting-sensitive.** Under `-race`, protojson + inserted spaces and the string assertion failed despite the correct payload. + Tests now inspect OTLP protobuf resource attributes structurally. +3. **Graceful-restart hard deadline could be exceeded.** A fresh 5-second + telemetry shutdown context could extend the documented 60-second restart + budget. The graceful path now derives the flush timeout from the existing + restart context; ordinary shutdown retains its own bounded 5-second context. + +## Behavioral-edge review + +- Server transport: a real bufconn RPC emits `rpc.server.call.duration`. +- Auth: missing credentials produce `Unauthenticated` and the bounded + `auth/missing_credentials` event; credential material is absent. +- Version: an authenticated cross-major request returns `compatible=false` and + emits `client_version/incompatible`. +- Both daemon gRPC connection classes execute their production dialers and emit + `rpc.client.call.duration`. +- Database failure is observed at the `gorm.NewStore` production seam without + changing error propagation or exposing the DSN/driver error. +- Background indexing retains its existing terminal state and logs while adding + only `index/run_error` or `index/panic` metrics. +- The server remains `engram-server`; only the persistent local daemon is + `engram-daemon`. Client/shim mode owns no exporter. +- Telemetry shuts down only after the bridge/modules/service have stopped, so + StatsHandlers do not record through a closed provider on the normal paths. + +## Evidence + +- TDD and production mutation proof: + `.agent/specs/ops-observability-call-sites/evidence/OBS-CALLSITES-R1.tdd.json` +- Focused tests: PASS count=5. +- Focused race: PASS count=3 across all changed packages. +- Full changed packages: PASS. +- `go test -p=1 ./... -count=1`: PASS. +- `go vet ./...`: PASS. +- `go build ./...`: PASS. +- OTLP smoke: PASS, no missing required tests. +- Critical suite first run: truthful FAIL 196/197 because `DATABASE_DSN` was + unset and the isolation test failed closed before execution. +- Dedicated `engram_test` database was verified idle; focused isolation test + passed; critical rerun `sol-synthesis-20260713-observability-r2`: PASS 197/197, + 0 failed, 0 skipped, parser exit 0, test exit 0. + +## Independent review status + +AIMux health reported Loom unavailable because its SQLite session store was not +initialized. The review task returned non-retryable `CapabilityMismatch`. +Its solo `peer_review` route produced keyword-only objections unrelated to the +code and is explicitly rejected as blind-judge evidence. This safe-point may be +committed and pushed for PR-based independent review, but it is not the final +blind-judge acceptance record. diff --git a/.agent/reviews/2026-07-13-ops-observability-r2-sol-takeover-review.md b/.agent/reviews/2026-07-13-ops-observability-r2-sol-takeover-review.md new file mode 100644 index 00000000..95ef4ebd --- /dev/null +++ b/.agent/reviews/2026-07-13-ops-observability-r2-sol-takeover-review.md @@ -0,0 +1,26 @@ +# OPS-OBSERVABILITY-R2 SOL Ultra takeover review + +- Review scope: `953e006d191ae2afe30c60415cddc37db7209293..91c2632654bc3f09483527f5512af72f798c6ddd` +- Product candidate: `91c2632654bc3f09483527f5512af72f798c6ddd` +- Changed scope: `internal/module/obs/{metrics.go,runtime.go,runtime_test.go}` and `scripts/production-smoke/verify-otlp.ps1` +- Verdict: `APPROVE_FOR_SYNTHESIS` + +## Review findings + +No blocking finding remains in the reviewed four-file lifecycle delta. The lock order is consistently `runtimeMu -> instrumentsMu`; record and flush paths hold only `instrumentsMu`; runtime ownership is reference-counted and the process-global OpenTelemetry provider is not replaced. The change has no user-facing API or UI behavior delta. + +The first dispatcher overhead run was invalidated because it ran concurrently with lifecycle, race, and OTLP stress and reported 156699.9 ns/op. The isolated rerun passed five of five invocations (absolute recorder cost 2.99-3.50 microseconds/op; every invocation satisfied the repository threshold). It is not used as evidence for a production-wide performance claim. + +## Fresh verification + +- `go test ./internal/module/obs -count=5`: PASS. +- `go test -race ./internal/module/obs -count=3`: PASS. +- `go test ./internal/module/dispatcher -run TestBenchmarkResults_OverheadWithinBudget -count=5 -v`: PASS 5/5. +- `pwsh -NoLogo -NoProfile -File scripts/production-smoke/verify-otlp.ps1`: PASS; all 12 required tests present, zero failed or missing tests, zero declared process/container residue. +- `go vet ./internal/module/obs ./internal/module/dispatcher`: PASS. +- `go build ./internal/module/obs ./internal/module/dispatcher`: PASS. +- `git diff --check`: PASS. + +## Boundaries + +This verdict accepts only the lifecycle repair. PR-7 remains release-blocked outside this diff until real auth, database, index, and client metric callsites are wired and the inherited two gRPC identity critical failures are closed. No reusable extraction candidate was found in this project-specific runtime ownership delta. diff --git a/.agent/reviews/2026-07-13-release-integration-r1-external-review-followup.md b/.agent/reviews/2026-07-13-release-integration-r1-external-review-followup.md new file mode 100644 index 00000000..25e45cd4 --- /dev/null +++ b/.agent/reviews/2026-07-13-release-integration-r1-external-review-followup.md @@ -0,0 +1,37 @@ +# Release Integration R1 External Review Follow-up + +Reviewed head: `cce0832274abf5c2de4807145204791fd8385687` + +## Decision + +Valid findings were fixed as a single security/runtime batch. Suggestions that would weaken evidence or contradict official release data were rejected with direct proof. Exact-commit image/dev-stand gates remain mandatory before integration. + +## Finding classification + +| Source | Finding | Classification | Evidence / disposition | +|---|---|---|---| +| Gemini | `[Text.UTF8Encoding]` is not valid | FALSE POSITIVE | PowerShell 7 resolved both `[Text.UTF8Encoding]` and `[System.Text.UTF8Encoding]` to `System.Text.UTF8Encoding`; the call was still made fully qualified for clarity. | +| Gemini | `$script:imageSecretFiles` may be null in cleanup | FALSE POSITIVE | BuildAndScan initializes it to an empty ordered map before entering the `try`; alternate modes exit before cleanup and never call `Remove-PrefixedResources`. | +| Gemini | `Write-DevStandSecretFiles` may recreate an insecure Unix file | SUPERSEDED BY VALID CLASS FIX | The write path now reapplies shared access enforcement after every write. | +| Codex | 0600 file-backed secrets are unreadable by non-root service UIDs | VALID, FIXED | Official Compose docs confirm file sources are bind mounts and uid/gid/mode are ignored. Host roots remain 0700; files are 0644 for container UID 70/65532; Windows uses protected owner + LocalSystem ACLs. Direct UID 65532 bind-read probe PASS. | +| Codex | Runtime credential proof accepts legacy plaintext alongside `_FILE` | VALID, FIXED | Exact inspect proof rejects PostgreSQL, DSN, admin, and both vault plaintext names. Root follow-up additionally requires exactly one value per expected/redacted name, rejecting conflicting duplicates. Hostile self-tests moved RED to GREEN. | +| CodeRabbit | Windows secret paths inherit broad ACLs | VALID, FIXED | Shared helper removes inheritance and grants only current owner + LocalSystem FullControl, then reads the ACL back and asserts it. | +| CodeRabbit | Docker residue should be optional when Docker is absent | REJECTED | This release gate emits `container_residue_checked=true`; returning an empty snapshot without measurement would recreate false evidence. Missing Docker remains a fail-closed dependency error. | +| CodeRabbit | Fixed 300 ms OTLP delay can false-fire | VALID, FIXED | Replaced by bounded 5-second polling with final measured process/container residue. Live smoke PASS. | +| CodeRabbit | Docker Scout v1.23.1 does not exist | FALSE POSITIVE | Official GitHub release API and checksum asset identify v1.23.1 and the pinned archive SHA-256; the earlier independent review also reproduced the checksum. | +| CodeRabbit | Nuxt UI guard misses kebab-case components | VALID, FIXED | Scanner and hostile fixtures now cover PascalCase and kebab-case UForm/UAuthForm. | +| CodeRabbit | Duplicate Scout install blocks should be a composite action | NON-BLOCKING MAINTAINABILITY | Both copies are bound to one exact version/hash by the critical contract. This is not changed inside the security follow-up; secret access logic, where semantic drift mattered, was centralized. | + +## Verification + +- RED: critical contract rejected the absent access helper. +- RED: `run-db-suite.ps1 -SelfTest` accepted mixed `DATABASE_DSN_FILE` + `DATABASE_DSN` before the fix. +- RED: exact environment proof accepted conflicting duplicate `_FILE` entries before the root follow-up. +- GREEN: final targeted critical runtime contract PASS in 55.841s. +- GREEN: `run-db-suite.ps1 -SelfTest` and `run-dev-stand.ps1 -SelfTest` PASS. +- GREEN: live OTLP smoke PASS for 13/13 required tests with one poll, no timeout, and zero residue. +- GREEN: PowerShell AST parse PASS for all six changed/added scripts. +- GREEN: Windows owner/LocalSystem ACL readback and non-root UID 65532 Docker bind-read probe PASS. +- GREEN: gitleaks 8.30.0 scanned 149,061 cumulative UTF-8 bytes from the batch base, including untracked and ignored review artifacts; no leaks. + +External source: . diff --git a/.agent/reviews/2026-07-13-release-integration-r1-root-review.md b/.agent/reviews/2026-07-13-release-integration-r1-root-review.md new file mode 100644 index 00000000..1e638626 --- /dev/null +++ b/.agent/reviews/2026-07-13-release-integration-r1-root-review.md @@ -0,0 +1,58 @@ +# Release Integration R1 Root Review + +## Decision + +**ACCEPT FOR COMMIT; clean-source image/dev-stand runtime gates and independent PR review remain mandatory before integration.** + +## Reviewed scope + +- Docker verification and publisher workflow Scout provisioning. +- Image and dev-stand credential generation, file transport, mount proof, and cleanup. +- Critical-suite and nested Go JSON evidence portability. +- OTLP process/container residue measurement. +- Critical contract tests and refreshed tracked evidence. + +## Behavioral-edge review + +| Edge | Review result | +|---|---| +| Missing Scout on a stock runner | Both workflows install exact v1.23.1, verify the official SHA-256 before extraction, and execute `docker scout version`. | +| Partial archive download | Strict SHA check fails closed; the local partial transfers were rejected and removed. | +| Plaintext credential leakage through compose environment | Compose receives secret-file paths; runtime inspection requires exact `_FILE` variables and bind destinations. Bootstrap capability remains intentionally ephemeral for the one-time bootstrap path and is redacted from evidence. | +| Blank/default/reused/missing credential | Hostile self-test cases are rejected; four generated values are distinct. | +| Host secrecy versus non-root container readability | Root review accepted the independent finding that file-sourced Compose secrets ignore uid/gid/mode remapping. Shared access enforcement now uses Unix 0700 roots + 0644 files and protected owner/LocalSystem Windows ACLs. A direct UID 65532 read-only bind probe passes while the host root remains private. | +| Exception during secret initialization | Pending root is recorded immediately and cleaned from the outer `finally`, including a partially initialized directory. | +| Unsafe cleanup path | Removal is limited to the OS temp root and an Engram-owned prefix; cleanup result is verified. | +| Wrong-type/false residue evidence | OTLP result contains strict checked booleans and measured deltas; hard-coded empty arrays are forbidden. | +| Absolute path hidden in nested evidence | Root review found and fixed `go-test-summary.json.input_path`; regenerated evidence contains no drive-letter paths. | +| Missing DB silently treated as success | A full run failed 196/197 without a dedicated DSN. Final acceptance reran against disposable `engram_critical_test` PostgreSQL and passed 199/199 with zero skips and zero container residue. | +| Secret-like test fixtures | Fixtures are computed and explicitly marked as non-secrets; gitleaks scans all added content with no finding. | +| Direct moderate npm advisory | GHSA-gj2h-2fpw-fhv9 is unreachable because the console is SPA-only and does not use UForm/UAuthForm. A critical guard pins the reviewed state and rejects a hostile affected component; dependency or SSR changes force reclassification. | +| npm exits zero with an incomplete optional-native tree | The original 839-package failure was reproduced by target-only fetch denial. The implementation checks every lock-applicable OS/CPU/libc optional package and exact version before Nuxt; the injected tree fails and a clean Linux tree checks 12. | +| Portable summary but absolute nested parser stdout | Root review found this on the first 201-test run, changed the parser output to the existing evidence-path normalizer, and replaced the entire evidence run. The final directory has zero drive-letter matches. | +| `_FILE` variables coexist with plaintext or conflicting duplicates | The runtime inspect helper now requires exactly one expected `_FILE`/redacted entry and rejects every legacy PostgreSQL/DSN/admin/vault plaintext name. Hostile mixed and duplicate fixtures moved RED to GREEN. | +| Fixed OTLP cleanup pause | Replaced with bounded polling over fresh process/container snapshots; Docker remains mandatory because the emitted evidence claims that container residue was measured. | +| Nuxt affected component in kebab-case | Hostile fixtures now cover both `` and ``; the source scanner recognizes both naming forms. | + +## Verification reviewed + +- `go test ./...`: PASS. +- Targeted critical runtime contract: PASS. +- `assert-go-test-json.ps1`, `run-critical-suite.ps1`, `run-db-suite.ps1`, and `run-dev-stand.ps1` self-tests: PASS. +- Six changed PowerShell scripts parse through the PowerShell AST parser: PASS. +- Full critical evidence after the Compose version regression: 203 tests, 203 passed, zero failed/skipped/unexpected skips. +- Critical command evidence: two records, executables `go` and `pwsh`, `working_directory` is `.`, no absolute artifact paths. +- OTLP evidence: 13 required tests, zero missing/failed, measured process/container residue both zero. +- gitleaks 8.30.0: no leaks in 149,061 UTF-8 bytes of cumulative added, untracked, and ignored content since the batch base. +- `git diff --check`: PASS. +- Native optional verifier hostile self-test: PASS; clean pinned Linux/glibc install checks 12 applicable packages; injected omission fails with the exact locked package identity. +- Independent-review follow-up: final targeted critical contract PASS (55.841s), DB and dev-stand self-tests PASS, OTLP 13/13 with one poll/no timeout/zero residue, Windows owner/LocalSystem ACL assertion PASS, and non-root UID 65532 secret bind read PASS. + +## Unresolved release gates + +- Clean-commit image build/scan/runtime gate: PASS at af77359d; final movement after later control-plane-only commits must remain classified. +- Clean-commit dev-stand lifecycle and anti-regression walkthrough: af77359d RED exposed missing operator-console VERSION with cleanup PASS; fix implemented, exact-commit rerun pending. +- A17 governance correction and exact direct-child B17 authority implementation. +- Independent scoped PR review and blind verdict. + +These are explicit next gates, not accepted-by-assumption results. diff --git a/.agent/reviews/db-test-pool-hygiene-r4-fresh-checker/Invoke-BuilderDeterminism.ps1 b/.agent/reviews/db-test-pool-hygiene-r4-fresh-checker/Invoke-BuilderDeterminism.ps1 new file mode 100644 index 00000000..a38ca087 --- /dev/null +++ b/.agent/reviews/db-test-pool-hygiene-r4-fresh-checker/Invoke-BuilderDeterminism.ps1 @@ -0,0 +1,215 @@ +param( + [Parameter(Mandatory = $true)] + [string]$RepositoryRoot, + + [Parameter(Mandatory = $true)] + [string]$OutputPath +) + +$ErrorActionPreference = 'Stop' +$utf8NoBom = [Text.UTF8Encoding]::new($false) +$utf8Strict = [Text.UTF8Encoding]::new($false, $true) +$maker = 'ce6a40d72fc39932ccbc4b949647f321b91f70c3' +$evidenceParent = '331b5b195a967e7f27dca94038a3480c9afcc84f' +$manifestPath = '.agent/reports/evidence/production-ready/db-test-pool-hygiene/MANIFEST.json' +$sumsPath = '.agent/reports/evidence/production-ready/db-test-pool-hygiene/SHA256SUMS.txt' +$adversarialPath = '.agent/reports/evidence/production-ready/db-test-pool-hygiene/adversarial-proof.json' +$verifierPath = '.agent/reports/evidence/production-ready/db-test-pool-hygiene/verifier-proof.json' +$resolvedRepository = (Resolve-Path -LiteralPath $RepositoryRoot).Path +$builder = Join-Path $resolvedRepository '.agent/reports/evidence/production-ready/db-test-pool-hygiene/Build-DBPoolHygieneEvidence.ps1' +$tempBase = [IO.Path]::GetFullPath([IO.Path]::GetTempPath()) +$tempPrefix = 'engram-dbph-r4-builder-check-' +$tempRoot = Join-Path $tempBase ($tempPrefix + [Guid]::NewGuid().ToString('N')) + +if (-not $tempRoot.StartsWith($tempBase, [StringComparison]::OrdinalIgnoreCase) -or + -not [IO.Path]::GetFileName($tempRoot).StartsWith($tempPrefix, [StringComparison]::Ordinal)) { + throw "unsafe temp root: $tempRoot" +} +[IO.Directory]::CreateDirectory($tempRoot) | Out-Null + +function Invoke-GitRaw { + param( + [Parameter(Mandatory = $true)][string]$WorkingDirectory, + [Parameter(Mandatory = $true)][string[]]$Arguments + ) + $start = [Diagnostics.ProcessStartInfo]::new() + $start.FileName = 'git' + $start.WorkingDirectory = $WorkingDirectory + $start.UseShellExecute = $false + $start.RedirectStandardOutput = $true + $start.RedirectStandardError = $true + foreach ($argument in $Arguments) { $start.ArgumentList.Add($argument) } + $process = [Diagnostics.Process]::Start($start) + $stream = [IO.MemoryStream]::new() + $process.StandardOutput.BaseStream.CopyTo($stream) + $stderr = $process.StandardError.ReadToEnd() + $process.WaitForExit() + if ($process.ExitCode -ne 0) { throw "git $($Arguments -join ' ') failed: $stderr" } + return $stream.ToArray() +} + +function Invoke-GitText { + param([Parameter(Mandatory = $true)][string]$WorkingDirectory, [Parameter(Mandatory = $true)][string[]]$Arguments) + return $utf8Strict.GetString((Invoke-GitRaw -WorkingDirectory $WorkingDirectory -Arguments $Arguments)).Trim() +} + +function Get-Hash { + param([Parameter(Mandatory = $true)][byte[]]$Bytes) + return [Convert]::ToHexString([Security.Cryptography.SHA256]::HashData($Bytes)).ToLowerInvariant() +} + +function Get-FileHashStrict { + param([Parameter(Mandatory = $true)][string]$Path) + return Get-Hash -Bytes ([IO.File]::ReadAllBytes($Path)) +} + +function New-CaseRepository { + param([Parameter(Mandatory = $true)][string]$Name) + $path = Join-Path $tempRoot $Name + [IO.Directory]::CreateDirectory($path) | Out-Null + Invoke-GitRaw -WorkingDirectory $path -Arguments @('init', '-q') | Out-Null + Invoke-GitRaw -WorkingDirectory $path -Arguments @('config', 'core.autocrlf', 'false') | Out-Null + Invoke-GitRaw -WorkingDirectory $path -Arguments @('config', 'core.longpaths', 'true') | Out-Null + $gitDir = Invoke-GitText -WorkingDirectory $path -Arguments @('rev-parse', '--absolute-git-dir') + $info = Join-Path $gitDir 'objects/info' + [IO.Directory]::CreateDirectory($info) | Out-Null + [IO.File]::WriteAllText((Join-Path $info 'alternates'), $script:sourceObjects + "`n", $utf8NoBom) + Invoke-GitRaw -WorkingDirectory $path -Arguments @('update-ref', 'refs/heads/evidence', $evidenceParent) | Out-Null + Invoke-GitRaw -WorkingDirectory $path -Arguments @('symbolic-ref', 'HEAD', 'refs/heads/evidence') | Out-Null + Invoke-GitRaw -WorkingDirectory $path -Arguments @('read-tree', $script:makerTree) | Out-Null + Invoke-GitRaw -WorkingDirectory $path -Arguments @('checkout-index', '-a', '-f') | Out-Null + return $path +} + +function Invoke-Builder { + param([Parameter(Mandatory = $true)][string]$CaseRepository, [switch]$Seed) + $arguments = @('-NoProfile', '-File', $builder, '-RepositoryRoot', $CaseRepository) + if ($Seed) { $arguments += '-SeedDynamicProofs' } + $start = [Diagnostics.ProcessStartInfo]::new() + $start.FileName = 'pwsh' + $start.WorkingDirectory = $CaseRepository + $start.UseShellExecute = $false + $start.RedirectStandardOutput = $true + $start.RedirectStandardError = $true + foreach ($argument in $arguments) { $start.ArgumentList.Add($argument) } + $process = [Diagnostics.Process]::Start($start) + $stdout = $process.StandardOutput.ReadToEnd() + $stderr = $process.StandardError.ReadToEnd() + $process.WaitForExit() + if ($process.ExitCode -ne 0) { throw "builder failed exit $($process.ExitCode): $stderr`n$stdout" } + return ($stdout.Trim() | ConvertFrom-Json) +} + +$fatal = $null +$cleanupError = $null +$result = $null +try { + $script:makerTree = Invoke-GitText -WorkingDirectory $resolvedRepository -Arguments @('rev-parse', "$maker^{tree}") + $objectsText = Invoke-GitText -WorkingDirectory $resolvedRepository -Arguments @('rev-parse', '--git-path', 'objects') + $script:sourceObjects = if ([IO.Path]::IsPathRooted($objectsText)) { + [IO.Path]::GetFullPath($objectsText) + } else { + [IO.Path]::GetFullPath((Join-Path $resolvedRepository $objectsText)) + } + + $seedRepository = New-CaseRepository -Name 'seed' + $seedManifest = Join-Path $seedRepository $manifestPath + $seedSums = Join-Path $seedRepository $sumsPath + $seedAdversarial = Join-Path $seedRepository $adversarialPath + $seedVerifier = Join-Path $seedRepository $verifierPath + $manifestBeforeSeed = Get-FileHashStrict $seedManifest + $sumsBeforeSeed = Get-FileHashStrict $seedSums + $seedRun1 = Invoke-Builder -CaseRepository $seedRepository -Seed + $seedAdversarial1 = Get-FileHashStrict $seedAdversarial + $seedVerifier1 = Get-FileHashStrict $seedVerifier + $seedRun2 = Invoke-Builder -CaseRepository $seedRepository -Seed + $seedAdversarial2 = Get-FileHashStrict $seedAdversarial + $seedVerifier2 = Get-FileHashStrict $seedVerifier + $manifestAfterSeed = Get-FileHashStrict $seedManifest + $sumsAfterSeed = Get-FileHashStrict $seedSums + + $buildRepository = New-CaseRepository -Name 'build' + $buildManifest = Join-Path $buildRepository $manifestPath + $buildSums = Join-Path $buildRepository $sumsPath + $expectedManifest = Get-Hash -Bytes (Invoke-GitRaw -WorkingDirectory $buildRepository -Arguments @('show', ":$manifestPath")) + $expectedSums = Get-Hash -Bytes (Invoke-GitRaw -WorkingDirectory $buildRepository -Arguments @('show', ":$sumsPath")) + $buildRun1 = Invoke-Builder -CaseRepository $buildRepository + $builtManifest1 = Get-FileHashStrict $buildManifest + $builtSums1 = Get-FileHashStrict $buildSums + $buildRun2 = Invoke-Builder -CaseRepository $buildRepository + $builtManifest2 = Get-FileHashStrict $buildManifest + $builtSums2 = Get-FileHashStrict $buildSums + + $checks = [ordered]@{ + seed_status_run1 = [string]$seedRun1.status -ceq 'SEEDED_DYNAMIC_PROOFS' + seed_status_run2 = [string]$seedRun2.status -ceq 'SEEDED_DYNAMIC_PROOFS' + seed_adversarial_byte_deterministic = $seedAdversarial1 -ceq $seedAdversarial2 + seed_verifier_byte_deterministic = $seedVerifier1 -ceq $seedVerifier2 + seed_manifest_unchanged = $manifestBeforeSeed -ceq $manifestAfterSeed + seed_checksum_unchanged = $sumsBeforeSeed -ceq $sumsAfterSeed + build_status_run1 = [string]$buildRun1.status -ceq 'BUILT' + build_status_run2 = [string]$buildRun2.status -ceq 'BUILT' + build_manifest_matches_committed = $builtManifest1 -ceq $expectedManifest + build_checksum_matches_committed = $builtSums1 -ceq $expectedSums + build_manifest_byte_deterministic = $builtManifest1 -ceq $builtManifest2 + build_checksum_byte_deterministic = $builtSums1 -ceq $builtSums2 + } + $failed = @($checks.GetEnumerator() | Where-Object { -not $_.Value } | ForEach-Object { $_.Key }) + $result = [ordered]@{ + schema_version = 1 + target = $maker + target_tree = $script:makerTree + status = if ($failed.Count -eq 0) { 'PASS' } else { 'FAIL' } + checks = $checks + failed_checks = [object[]]$failed + hashes = [ordered]@{ + seed_adversarial = $seedAdversarial1 + seed_verifier = $seedVerifier1 + committed_manifest = $expectedManifest + committed_checksum = $expectedSums + built_manifest = $builtManifest1 + built_checksum = $builtSums1 + } + } +} +catch { + $fatal = $_.Exception.Message +} +finally { + try { + $resolvedTempRoot = [IO.Path]::GetFullPath($tempRoot) + if (-not $resolvedTempRoot.StartsWith($tempBase, [StringComparison]::OrdinalIgnoreCase) -or + -not [IO.Path]::GetFileName($resolvedTempRoot).StartsWith($tempPrefix, [StringComparison]::Ordinal)) { + throw "unsafe cleanup target: $resolvedTempRoot" + } + if ([IO.Directory]::Exists($resolvedTempRoot)) { + Get-ChildItem -LiteralPath $resolvedTempRoot -Recurse -Force | ForEach-Object { $_.Attributes = [IO.FileAttributes]::Normal } + [IO.Directory]::Delete($resolvedTempRoot, $true) + } + } + catch { $cleanupError = $_.Exception.Message } +} + +$tempRemoved = -not [IO.Directory]::Exists($tempRoot) +if ($null -eq $result) { + $result = [ordered]@{ + schema_version = 1 + target = $maker + target_tree = $script:makerTree + status = 'FAIL' + checks = [ordered]@{} + failed_checks = @('fatal_error') + hashes = [ordered]@{} + } +} +$result['fatal_error'] = $fatal +$result['temp_root_removed'] = $tempRemoved +$result['cleanup_error'] = $cleanupError +if ($null -ne $fatal -or $null -ne $cleanupError -or -not $tempRemoved) { $result['status'] = 'FAIL' } +$json = (($result | ConvertTo-Json -Depth 12) -replace "`r`n", "`n") + "`n" +$resolvedOutput = [IO.Path]::GetFullPath($OutputPath) +[IO.Directory]::CreateDirectory([IO.Path]::GetDirectoryName($resolvedOutput)) | Out-Null +[IO.File]::WriteAllText($resolvedOutput, $json, $utf8NoBom) +$json +if ([string]$result.status -cne 'PASS') { exit 1 } +exit 0 diff --git a/.agent/reviews/db-test-pool-hygiene-r4-fresh-checker/Invoke-IndependentAttacks.ps1 b/.agent/reviews/db-test-pool-hygiene-r4-fresh-checker/Invoke-IndependentAttacks.ps1 new file mode 100644 index 00000000..9574dd9f --- /dev/null +++ b/.agent/reviews/db-test-pool-hygiene-r4-fresh-checker/Invoke-IndependentAttacks.ps1 @@ -0,0 +1,508 @@ +param( + [Parameter(Mandatory = $true)] + [string]$RepositoryRoot, + + [Parameter(Mandatory = $true)] + [string]$OutputPath +) + +$ErrorActionPreference = 'Stop' +$utf8Strict = [Text.UTF8Encoding]::new($false, $true) +$utf8NoBom = [Text.UTF8Encoding]::new($false) +$ordinal = [StringComparer]::Ordinal +$maker = 'ce6a40d72fc39932ccbc4b949647f321b91f70c3' +$evidenceParent = '331b5b195a967e7f27dca94038a3480c9afcc84f' +$productCandidate = '276337b3e96aa5af6d2e7dd9a0002ff957e5ffc9' +$manifestPath = '.agent/reports/evidence/production-ready/db-test-pool-hygiene/MANIFEST.json' +$sumsPath = '.agent/reports/evidence/production-ready/db-test-pool-hygiene/SHA256SUMS.txt' +$inventoryPath = '.agent/reports/evidence/production-ready/db-test-pool-hygiene/INVENTORY.json' +$adversarialProofPath = '.agent/reports/evidence/production-ready/db-test-pool-hygiene/adversarial-proof.json' +$verifierProofPath = '.agent/reports/evidence/production-ready/db-test-pool-hygiene/verifier-proof.json' +$productBlobPath = 'internal/db/gorm/candidate_store_test.go' +$resolvedRepository = (Resolve-Path -LiteralPath $RepositoryRoot).Path +$verifierPath = Join-Path $resolvedRepository '.agent/reports/evidence/production-ready/db-test-pool-hygiene/Verify-DBPoolHygieneEvidence.ps1' +$tempBase = [IO.Path]::GetFullPath([IO.Path]::GetTempPath()) +$tempPrefix = 'engram-dbph-r4-independent-' +$tempRoot = Join-Path $tempBase ($tempPrefix + [Guid]::NewGuid().ToString('N')) + +if (-not $tempRoot.StartsWith($tempBase, [StringComparison]::OrdinalIgnoreCase) -or + -not [IO.Path]::GetFileName($tempRoot).StartsWith($tempPrefix, [StringComparison]::Ordinal)) { + throw "unsafe temp root: $tempRoot" +} +[IO.Directory]::CreateDirectory($tempRoot) | Out-Null + +function Invoke-GitRaw { + param( + [Parameter(Mandatory = $true)][string]$WorkingDirectory, + [Parameter(Mandatory = $true)][string[]]$Arguments, + [byte[]]$InputBytes + ) + + $start = [Diagnostics.ProcessStartInfo]::new() + $start.FileName = 'git' + $start.WorkingDirectory = $WorkingDirectory + $start.UseShellExecute = $false + $start.RedirectStandardOutput = $true + $start.RedirectStandardError = $true + $hasInput = $PSBoundParameters.ContainsKey('InputBytes') + $start.RedirectStandardInput = $hasInput + foreach ($argument in $Arguments) { $start.ArgumentList.Add($argument) } + $process = [Diagnostics.Process]::Start($start) + if ($hasInput) { + $process.StandardInput.BaseStream.Write($InputBytes, 0, $InputBytes.Length) + $process.StandardInput.Close() + } + $stream = [IO.MemoryStream]::new() + $process.StandardOutput.BaseStream.CopyTo($stream) + $stderr = $process.StandardError.ReadToEnd() + $process.WaitForExit() + if ($process.ExitCode -ne 0) { + throw "git $($Arguments -join ' ') failed: $stderr" + } + return $stream.ToArray() +} + +function Invoke-GitText { + param( + [Parameter(Mandatory = $true)][string]$WorkingDirectory, + [Parameter(Mandatory = $true)][string[]]$Arguments, + [byte[]]$InputBytes + ) + $bytes = if ($PSBoundParameters.ContainsKey('InputBytes')) { + Invoke-GitRaw -WorkingDirectory $WorkingDirectory -Arguments $Arguments -InputBytes $InputBytes + } else { + Invoke-GitRaw -WorkingDirectory $WorkingDirectory -Arguments $Arguments + } + return $utf8Strict.GetString($bytes).Trim() +} + +function Get-Hash { + param([Parameter(Mandatory = $true)][byte[]]$Bytes) + return [Convert]::ToHexString([Security.Cryptography.SHA256]::HashData($Bytes)).ToLowerInvariant() +} + +function ConvertTo-JsonBytes { + param([Parameter(Mandatory = $true)]$Value) + $json = (($Value | ConvertTo-Json -Depth 30) -replace "`r`n", "`n") + "`n" + $bytes = $utf8NoBom.GetBytes($json) + if ($bytes -contains [byte]0x0D) { throw 'canonical JSON contains CR' } + return $bytes +} + +function ConvertFrom-Bytes { + param([Parameter(Mandatory = $true)][byte[]]$Bytes) + return ($utf8Strict.GetString($Bytes) | ConvertFrom-Json) +} + +function Get-IndexBytes { + param([Parameter(Mandatory = $true)][string]$CaseRepository, [Parameter(Mandatory = $true)][string]$Path) + return Invoke-GitRaw -WorkingDirectory $CaseRepository -Arguments @('show', ":$Path") +} + +function Set-IndexBytes { + param( + [Parameter(Mandatory = $true)][string]$CaseRepository, + [Parameter(Mandatory = $true)][string]$Path, + [Parameter(Mandatory = $true)][byte[]]$Bytes + ) + $oid = Invoke-GitText -WorkingDirectory $CaseRepository -Arguments @('hash-object', '-w', '--stdin') -InputBytes $Bytes + Invoke-GitRaw -WorkingDirectory $CaseRepository -Arguments @('update-index', '--add', '--cacheinfo', "100644,$oid,$Path") | Out-Null + return $oid +} + +function Write-SumsFromManifest { + param( + [Parameter(Mandatory = $true)][string]$CaseRepository, + [Parameter(Mandatory = $true)]$Manifest, + [Parameter(Mandatory = $true)][byte[]]$ManifestBytes, + [hashtable]$ExtraPaths + ) + + $lines = [Collections.Generic.List[string]]::new() + foreach ($entry in @($Manifest.entries)) { + $lines.Add("$($entry.sha256) $($entry.path)") + } + $lines.Add("$(Get-Hash -Bytes $ManifestBytes) $manifestPath") + if ($null -ne $ExtraPaths) { + foreach ($path in $ExtraPaths.Keys) { $lines.Add("$($ExtraPaths[$path]) $path") } + } + $array = [string[]]@($lines) + [Array]::Sort($array, [Comparison[string]]{ + param($left, $right) + return $ordinal.Compare($left.Substring(66), $right.Substring(66)) + }) + $text = (@( + '# representation_contract=git-blob-bytes-v1', + '# manifest_generation_order=manifest-first-checksum-second', + '# checksum_self_reference=excluded' + ) + $array) -join "`n" + Set-IndexBytes -CaseRepository $CaseRepository -Path $sumsPath -Bytes $utf8NoBom.GetBytes($text + "`n") | Out-Null +} + +function Set-ManifestBytes { + param( + [Parameter(Mandatory = $true)][string]$CaseRepository, + [Parameter(Mandatory = $true)][byte[]]$Bytes, + [switch]$RebuildAllSums + ) + Set-IndexBytes -CaseRepository $CaseRepository -Path $manifestPath -Bytes $Bytes | Out-Null + if ($RebuildAllSums) { + Write-SumsFromManifest -CaseRepository $CaseRepository -Manifest (ConvertFrom-Bytes $Bytes) -ManifestBytes $Bytes + return + } + $sums = $utf8Strict.GetString((Get-IndexBytes -CaseRepository $CaseRepository -Path $sumsPath)) + $hash = Get-Hash -Bytes $Bytes + $lines = @($sums -split "`n" | Where-Object { $_ -ne '' }) + $replaced = 0 + for ($index = 0; $index -lt $lines.Count; $index++) { + if ($lines[$index].EndsWith(" $manifestPath", [StringComparison]::Ordinal)) { + $lines[$index] = "$hash $manifestPath" + $replaced++ + } + } + if ($replaced -ne 1) { throw "expected one manifest checksum, got $replaced" } + Set-IndexBytes -CaseRepository $CaseRepository -Path $sumsPath -Bytes $utf8NoBom.GetBytes(($lines -join "`n") + "`n") | Out-Null +} + +function Set-ManifestObject { + param( + [Parameter(Mandatory = $true)][string]$CaseRepository, + [Parameter(Mandatory = $true)]$Manifest, + [switch]$RebuildAllSums + ) + Set-ManifestBytes -CaseRepository $CaseRepository -Bytes (ConvertTo-JsonBytes $Manifest) -RebuildAllSums:$RebuildAllSums +} + +function Set-ArtifactObject { + param( + [Parameter(Mandatory = $true)][string]$CaseRepository, + [Parameter(Mandatory = $true)][string]$Path, + [Parameter(Mandatory = $true)]$Value + ) + $bytes = ConvertTo-JsonBytes $Value + $oid = Set-IndexBytes -CaseRepository $CaseRepository -Path $Path -Bytes $bytes + $manifest = ConvertFrom-Bytes (Get-IndexBytes -CaseRepository $CaseRepository -Path $manifestPath) + $entry = @($manifest.entries | Where-Object { $_.path -ceq $Path }) + if ($entry.Count -ne 1) { throw "manifest entry count for $Path is $($entry.Count)" } + $entry[0].git_blob_oid = $oid + $entry[0].bytes = [int64]$bytes.Length + $entry[0].sha256 = Get-Hash -Bytes $bytes + $manifestBytes = ConvertTo-JsonBytes $manifest + Set-IndexBytes -CaseRepository $CaseRepository -Path $manifestPath -Bytes $manifestBytes | Out-Null + Write-SumsFromManifest -CaseRepository $CaseRepository -Manifest $manifest -ManifestBytes $manifestBytes +} + +function Replace-Once { + param( + [Parameter(Mandatory = $true)][string]$Text, + [Parameter(Mandatory = $true)][string]$Old, + [Parameter(Mandatory = $true)][string]$New + ) + $index = $Text.IndexOf($Old, [StringComparison]::Ordinal) + if ($index -lt 0 -or $Text.IndexOf($Old, $index + $Old.Length, [StringComparison]::Ordinal) -ge 0) { + throw "replacement source must occur exactly once: $Old" + } + return $Text.Substring(0, $index) + $New + $Text.Substring($index + $Old.Length) +} + +function New-CaseRepository { + param([Parameter(Mandatory = $true)][int]$Number, [Parameter(Mandatory = $true)][string]$Name) + $path = Join-Path $tempRoot ('case-{0:D2}-{1}' -f $Number, $Name) + [IO.Directory]::CreateDirectory($path) | Out-Null + Invoke-GitRaw -WorkingDirectory $path -Arguments @('init', '-q') | Out-Null + $gitDir = Invoke-GitText -WorkingDirectory $path -Arguments @('rev-parse', '--absolute-git-dir') + $info = Join-Path $gitDir 'objects/info' + [IO.Directory]::CreateDirectory($info) | Out-Null + [IO.File]::WriteAllText((Join-Path $info 'alternates'), $script:sourceObjects + "`n", $utf8NoBom) + Invoke-GitRaw -WorkingDirectory $path -Arguments @('config', 'core.autocrlf', 'false') | Out-Null + Invoke-GitRaw -WorkingDirectory $path -Arguments @('update-ref', 'refs/heads/evidence', $evidenceParent) | Out-Null + Invoke-GitRaw -WorkingDirectory $path -Arguments @('symbolic-ref', 'HEAD', 'refs/heads/evidence') | Out-Null + Invoke-GitRaw -WorkingDirectory $path -Arguments @('read-tree', $script:makerTree) | Out-Null + return $path +} + +function Invoke-Verifier { + param([Parameter(Mandatory = $true)][string]$CaseRepository) + $resultPath = Join-Path $CaseRepository 'result.json' + $start = [Diagnostics.ProcessStartInfo]::new() + $start.FileName = 'pwsh' + $start.WorkingDirectory = $CaseRepository + $start.UseShellExecute = $false + $start.RedirectStandardOutput = $true + $start.RedirectStandardError = $true + foreach ($argument in @( + '-NoProfile', '-File', $verifierPath, + '-RepositoryRoot', $CaseRepository, + '-SourceMode', 'GitIndex', + '-OutputPath', $resultPath, + '-Quiet' + )) { $start.ArgumentList.Add($argument) } + $process = [Diagnostics.Process]::Start($start) + $stdout = $process.StandardOutput.ReadToEnd() + $stderr = $process.StandardError.ReadToEnd() + $process.WaitForExit() + $result = if (Test-Path -LiteralPath $resultPath) { + Get-Content -Raw -LiteralPath $resultPath | ConvertFrom-Json + } else { + [pscustomobject]@{ status = 'NO_RESULT'; failures = @($stdout.Trim(), $stderr.Trim()) } + } + return [pscustomobject]@{ exit = $process.ExitCode; result = $result } +} + +function Apply-Mutation { + param([Parameter(Mandatory = $true)][string]$CaseRepository, [Parameter(Mandatory = $true)][string]$Name) + if ($Name -eq 'baseline') { return } + $manifestBytes = Get-IndexBytes -CaseRepository $CaseRepository -Path $manifestPath + $manifestText = $utf8Strict.GetString($manifestBytes) + $manifest = ConvertFrom-Bytes $manifestBytes + + switch ($Name) { + 'unknown_manifest_key' { + $manifest | Add-Member NoteProperty checker_unknown 'reject' + Set-ManifestObject -CaseRepository $CaseRepository -Manifest $manifest + } + 'unknown_inventory_key' { + $inventory = ConvertFrom-Bytes (Get-IndexBytes -CaseRepository $CaseRepository -Path $inventoryPath) + $inventory | Add-Member NoteProperty checker_unknown 'reject' + Set-ArtifactObject -CaseRepository $CaseRepository -Path $inventoryPath -Value $inventory + } + 'inventory_schema_99' { + $inventory = ConvertFrom-Bytes (Get-IndexBytes -CaseRepository $CaseRepository -Path $inventoryPath) + $inventory.schema_version = 99 + Set-ArtifactObject -CaseRepository $CaseRepository -Path $inventoryPath -Value $inventory + } + 'stale_adversarial_proof' { + $proof = ConvertFrom-Bytes (Get-IndexBytes -CaseRepository $CaseRepository -Path $adversarialProofPath) + $proof.cases = @($proof.cases[0..($proof.cases.Count - 2)]) + Set-ArtifactObject -CaseRepository $CaseRepository -Path $adversarialProofPath -Value $proof + } + 'stale_verifier_proof' { + $proof = ConvertFrom-Bytes (Get-IndexBytes -CaseRepository $CaseRepository -Path $verifierProofPath) + $proof.changed_paths = [int64]$proof.changed_paths - 1 + Set-ArtifactObject -CaseRepository $CaseRepository -Path $verifierProofPath -Value $proof + } + 'case_variant_manifest_status' { + $bytes = $utf8NoBom.GetBytes((Replace-Once -Text $manifestText -Old '"status": "READY_FOR_RECHECK_EVIDENCE_R4"' -New '"Status": "READY_FOR_RECHECK_EVIDENCE_R4"')) + Set-ManifestBytes -CaseRepository $CaseRepository -Bytes $bytes + } + 'manifest_schema_string' { + $bytes = $utf8NoBom.GetBytes((Replace-Once -Text $manifestText -Old '"schema_version": 4' -New '"schema_version": "4"')) + Set-ManifestBytes -CaseRepository $CaseRepository -Bytes $bytes + } + 'inventory_entries_scalar' { + $inventory = ConvertFrom-Bytes (Get-IndexBytes -CaseRepository $CaseRepository -Path $inventoryPath) + $inventory.entries = $inventory.entries[0] + Set-ArtifactObject -CaseRepository $CaseRepository -Path $inventoryPath -Value $inventory + } + 'adversarial_cases_scalar' { + $proof = ConvertFrom-Bytes (Get-IndexBytes -CaseRepository $CaseRepository -Path $adversarialProofPath) + $proof.cases = $proof.cases[0] + Set-ArtifactObject -CaseRepository $CaseRepository -Path $adversarialProofPath -Value $proof + } + 'manifest_entry_count_mismatch' { + $manifest.entry_count = [int64]$manifest.entry_count + 1 + Set-ManifestObject -CaseRepository $CaseRepository -Manifest $manifest + } + 'inventory_actual_count_mismatch' { + $inventory = ConvertFrom-Bytes (Get-IndexBytes -CaseRepository $CaseRepository -Path $inventoryPath) + $inventory.actual_call_sites = [int64]$inventory.actual_call_sites + 1 + Set-ArtifactObject -CaseRepository $CaseRepository -Path $inventoryPath -Value $inventory + } + 'verifier_checksum_count_mismatch' { + $proof = ConvertFrom-Bytes (Get-IndexBytes -CaseRepository $CaseRepository -Path $verifierProofPath) + $proof.checksum_entries = [int64]$proof.checksum_entries + 1 + Set-ArtifactObject -CaseRepository $CaseRepository -Path $verifierProofPath -Value $proof + } + 'manifest_entry_digest_mismatch' { + $manifest.entries[0].sha256 = ('0' * 64) + Set-ManifestObject -CaseRepository $CaseRepository -Manifest $manifest -RebuildAllSums + } + 'outer_checksum_digest_mismatch' { + $sums = $utf8Strict.GetString((Get-IndexBytes -CaseRepository $CaseRepository -Path $sumsPath)) + $lines = @($sums -split "`n" | Where-Object { $_ -ne '' }) + for ($index = 0; $index -lt $lines.Count; $index++) { + if (-not $lines[$index].StartsWith('#')) { $lines[$index] = ('0' * 64) + $lines[$index].Substring(64); break } + } + Set-IndexBytes -CaseRepository $CaseRepository -Path $sumsPath -Bytes $utf8NoBom.GetBytes(($lines -join "`n") + "`n") | Out-Null + } + 'inventory_line_mismatch' { + $inventory = ConvertFrom-Bytes (Get-IndexBytes -CaseRepository $CaseRepository -Path $inventoryPath) + $inventory.entries[0].lines[0] = [int64]$inventory.entries[0].lines[0] + 1 + Set-ArtifactObject -CaseRepository $CaseRepository -Path $inventoryPath -Value $inventory + } + 'inventory_case_duplicate_path' { + $inventory = ConvertFrom-Bytes (Get-IndexBytes -CaseRepository $CaseRepository -Path $inventoryPath) + $duplicate = (($inventory.entries[0] | ConvertTo-Json -Depth 10) | ConvertFrom-Json) + $duplicate.path = $duplicate.path.Substring(0, 1).ToUpperInvariant() + $duplicate.path.Substring(1) + $inventory.entries = @($inventory.entries) + @($duplicate) + Set-ArtifactObject -CaseRepository $CaseRepository -Path $inventoryPath -Value $inventory + } + 'manifest_path_traversal' { + $manifest.entries[0].path = '../checker-escape' + Set-ManifestObject -CaseRepository $CaseRepository -Manifest $manifest -RebuildAllSums + } + 'foreign_index_path' { + $readme = Get-IndexBytes -CaseRepository $CaseRepository -Path 'README.md' + Set-IndexBytes -CaseRepository $CaseRepository -Path 'README.md' -Bytes ($readme + $utf8NoBom.GetBytes("`nchecker foreign index mutation`n")) | Out-Null + } + 'incomplete_checksum' { + $sums = $utf8Strict.GetString((Get-IndexBytes -CaseRepository $CaseRepository -Path $sumsPath)) + $lines = [Collections.Generic.List[string]]::new() + foreach ($line in @($sums -split "`n" | Where-Object { $_ -ne '' })) { $lines.Add($line) } + $dataIndex = 3 + $lines.RemoveAt($dataIndex) + Set-IndexBytes -CaseRepository $CaseRepository -Path $sumsPath -Bytes $utf8NoBom.GetBytes(($lines -join "`n") + "`n") | Out-Null + } + 'unknown_inventory_entry_key' { + $inventory = ConvertFrom-Bytes (Get-IndexBytes -CaseRepository $CaseRepository -Path $inventoryPath) + $inventory.entries[0] | Add-Member NoteProperty checker_unknown 'reject' + Set-ArtifactObject -CaseRepository $CaseRepository -Path $inventoryPath -Value $inventory + } + 'duplicate_json_property' { + $duplicate = '"schema_version": 4,' + "`n " + '"schema_version": 4,' + $bytes = $utf8NoBom.GetBytes((Replace-Once -Text $manifestText -Old '"schema_version": 4,' -New $duplicate)) + Set-ManifestBytes -CaseRepository $CaseRepository -Bytes $bytes + } + 'manifest_inventory_path_case' { + $changedCase = $manifest.inventory.path.Replace('.agent/', '.Agent/') + if ($changedCase -ceq $manifest.inventory.path) { throw 'inventory path case fixture did not change bytes' } + $manifest.inventory.path = $changedCase + Set-ManifestObject -CaseRepository $CaseRepository -Manifest $manifest + } + 'verifier_failures_nonempty' { + $proof = ConvertFrom-Bytes (Get-IndexBytes -CaseRepository $CaseRepository -Path $verifierProofPath) + $proof.failures = @('fabricated clean proof') + Set-ArtifactObject -CaseRepository $CaseRepository -Path $verifierProofPath -Value $proof + } + 'adversarial_case_pass_false' { + $proof = ConvertFrom-Bytes (Get-IndexBytes -CaseRepository $CaseRepository -Path $adversarialProofPath) + $proof.cases[1].pass = $false + Set-ArtifactObject -CaseRepository $CaseRepository -Path $adversarialProofPath -Value $proof + } + 'adversarial_observed_failures_scalar' { + $proof = ConvertFrom-Bytes (Get-IndexBytes -CaseRepository $CaseRepository -Path $adversarialProofPath) + $proof.cases[1].observed_failures = 'not-an-array' + Set-ArtifactObject -CaseRepository $CaseRepository -Path $adversarialProofPath -Value $proof + } + 'product_blob_mutation' { + $bytes = Get-IndexBytes -CaseRepository $CaseRepository -Path $productBlobPath + Set-IndexBytes -CaseRepository $CaseRepository -Path $productBlobPath -Bytes ($bytes + $utf8NoBom.GetBytes("`n// checker mutation`n")) | Out-Null + } + 'checksum_unbound_extra_path' { + $readme = Get-IndexBytes -CaseRepository $CaseRepository -Path 'README.md' + Write-SumsFromManifest -CaseRepository $CaseRepository -Manifest $manifest -ManifestBytes $manifestBytes -ExtraPaths @{ 'README.md' = (Get-Hash -Bytes $readme) } + } + default { throw "unknown checker case: $Name" } + } +} + +$specs = @( + @('baseline', $false, ''), + @('unknown_manifest_key', $true, 'manifest has unknown JSON property'), + @('unknown_inventory_key', $true, 'inventory has unknown JSON property'), + @('inventory_schema_99', $true, 'inventory schema_version must be 1'), + @('stale_adversarial_proof', $true, 'adversarial proof case count mismatch'), + @('stale_verifier_proof', $true, 'verifier proof changed_paths mismatch'), + @('case_variant_manifest_status', $true, 'manifest has unknown JSON property'), + @('manifest_schema_string', $true, 'manifest.schema_version must be JSON number'), + @('inventory_entries_scalar', $true, 'inventory.entries must be JSON array'), + @('adversarial_cases_scalar', $true, 'adversarial proof.cases must be JSON array'), + @('manifest_entry_count_mismatch', $true, 'manifest entry_count mismatch'), + @('inventory_actual_count_mismatch', $true, 'inventory total mismatch'), + @('verifier_checksum_count_mismatch', $true, 'verifier proof checksum_entries mismatch'), + @('manifest_entry_digest_mismatch', $true, 'manifest SHA-256 mismatch'), + @('outer_checksum_digest_mismatch', $true, 'outer checksum mismatch'), + @('inventory_line_mismatch', $true, 'inventory site list mismatch'), + @('inventory_case_duplicate_path', $true, 'duplicate inventory path'), + @('manifest_path_traversal', $true, 'manifest entry unreadable'), + @('foreign_index_path', $true, 'evidence revision changes product/test paths'), + @('incomplete_checksum', $true, 'outer checksum missing manifest-bound path'), + @('unknown_inventory_entry_key', $true, 'inventory.entries[0] has unknown JSON property'), + @('duplicate_json_property', $true, 'duplicate JSON property'), + @('manifest_inventory_path_case', $true, 'manifest inventory contract mismatch'), + @('verifier_failures_nonempty', $true, 'verifier proof failures must be an empty JSON array'), + @('adversarial_case_pass_false', $true, 'adversarial proof case result mismatch'), + @('adversarial_observed_failures_scalar', $true, 'observed_failures must be JSON array'), + @('product_blob_mutation', $true, 'product test blob differs from accepted product candidate'), + @('checksum_unbound_extra_path', $true, 'outer checksum contains unbound extra path') +) + +$results = [Collections.Generic.List[object]]::new() +$fatal = $null +$cleanupError = $null +try { + $script:makerTree = Invoke-GitText -WorkingDirectory $resolvedRepository -Arguments @('rev-parse', "$maker^{tree}") + $objectsText = Invoke-GitText -WorkingDirectory $resolvedRepository -Arguments @('rev-parse', '--git-path', 'objects') + $script:sourceObjects = if ([IO.Path]::IsPathRooted($objectsText)) { + [IO.Path]::GetFullPath($objectsText) + } else { + [IO.Path]::GetFullPath((Join-Path $resolvedRepository $objectsText)) + } + if (-not [IO.Directory]::Exists($script:sourceObjects)) { throw "source objects missing: $($script:sourceObjects)" } + + for ($index = 0; $index -lt $specs.Count; $index++) { + $name = [string]$specs[$index][0] + $expectReject = [bool]$specs[$index][1] + $expectedFailure = [string]$specs[$index][2] + $caseRepository = New-CaseRepository -Number ($index + 1) -Name $name + Apply-Mutation -CaseRepository $caseRepository -Name $name + $invocation = Invoke-Verifier -CaseRepository $caseRepository + $failures = @($invocation.result.failures) + $exitMatches = if ($expectReject) { $invocation.exit -ne 0 } else { $invocation.exit -eq 0 } + $statusMatches = [string]$invocation.result.status -ceq $(if ($expectReject) { 'FAIL' } else { 'PASS' }) + $diagnosticMatches = if ($expectReject) { + @($failures | Where-Object { ([string]$_).Contains($expectedFailure, [StringComparison]::Ordinal) }).Count -gt 0 + } else { + $failures.Count -eq 0 + } + $results.Add([ordered]@{ + name = $name + expected = if ($expectReject) { 'REJECT' } else { 'PASS' } + expected_failure = $expectedFailure + actual_exit = [int64]$invocation.exit + actual_status = [string]$invocation.result.status + failures = [object[]]$failures + pass = $exitMatches -and $statusMatches -and $diagnosticMatches + }) + } +} +catch { + $fatal = $_.Exception.Message +} +finally { + try { + $resolvedTempRoot = [IO.Path]::GetFullPath($tempRoot) + if (-not $resolvedTempRoot.StartsWith($tempBase, [StringComparison]::OrdinalIgnoreCase) -or + -not [IO.Path]::GetFileName($resolvedTempRoot).StartsWith($tempPrefix, [StringComparison]::Ordinal)) { + throw "unsafe cleanup target: $resolvedTempRoot" + } + if ([IO.Directory]::Exists($resolvedTempRoot)) { + Get-ChildItem -LiteralPath $resolvedTempRoot -Recurse -Force | ForEach-Object { $_.Attributes = [IO.FileAttributes]::Normal } + [IO.Directory]::Delete($resolvedTempRoot, $true) + } + } + catch { $cleanupError = $_.Exception.Message } +} + +$tempRemoved = -not [IO.Directory]::Exists($tempRoot) +$allPass = $null -eq $fatal -and $null -eq $cleanupError -and $tempRemoved -and + $results.Count -eq $specs.Count -and @($results | Where-Object { -not $_.pass }).Count -eq 0 +$proof = [ordered]@{ + schema_version = 1 + target = $maker + target_tree = $script:makerTree + method = 'checker-owned fresh repository and alternate Git index per case' + status = if ($allPass) { 'PASS' } else { 'FAIL' } + case_count = [int64]$results.Count + cases = [object[]]$results + fatal_error = $fatal + temp_root_removed = $tempRemoved + cleanup_error = $cleanupError +} +$json = (($proof | ConvertTo-Json -Depth 30) -replace "`r`n", "`n") + "`n" +$resolvedOutput = [IO.Path]::GetFullPath($OutputPath) +[IO.Directory]::CreateDirectory([IO.Path]::GetDirectoryName($resolvedOutput)) | Out-Null +[IO.File]::WriteAllText($resolvedOutput, $json, $utf8NoBom) +$json +if (-not $allPass) { exit 1 } +exit 0 diff --git a/.agent/reviews/db-test-pool-hygiene-r4-fresh-checker/builder-determinism.json b/.agent/reviews/db-test-pool-hygiene-r4-fresh-checker/builder-determinism.json new file mode 100644 index 00000000..785e4dae --- /dev/null +++ b/.agent/reviews/db-test-pool-hygiene-r4-fresh-checker/builder-determinism.json @@ -0,0 +1,32 @@ +{ + "schema_version": 1, + "target": "ce6a40d72fc39932ccbc4b949647f321b91f70c3", + "target_tree": "20a69d7a83e0100de7e3e73e670fe02feadada2d", + "status": "PASS", + "checks": { + "seed_status_run1": true, + "seed_status_run2": true, + "seed_adversarial_byte_deterministic": true, + "seed_verifier_byte_deterministic": true, + "seed_manifest_unchanged": true, + "seed_checksum_unchanged": true, + "build_status_run1": true, + "build_status_run2": true, + "build_manifest_matches_committed": true, + "build_checksum_matches_committed": true, + "build_manifest_byte_deterministic": true, + "build_checksum_byte_deterministic": true + }, + "failed_checks": [], + "hashes": { + "seed_adversarial": "f55c3d9fa7623a2a6a19d3af86e93fd0a14b3c885e3a2600f0d30c428ab5a2a2", + "seed_verifier": "839e1bcb76f4eddc118eeeee47c65385513f97a4b615d25654ad129bd935ce2f", + "committed_manifest": "b0b63988722207186805712b1f32d80ee81afaacffa57e54144d5bd82c5dcb6c", + "committed_checksum": "e8e2bcc519b9488b0b84628e62931175a2e210cac3ca57b2e2e999aa07538043", + "built_manifest": "b0b63988722207186805712b1f32d80ee81afaacffa57e54144d5bd82c5dcb6c", + "built_checksum": "e8e2bcc519b9488b0b84628e62931175a2e210cac3ca57b2e2e999aa07538043" + }, + "fatal_error": null, + "temp_root_removed": true, + "cleanup_error": null +} diff --git a/.agent/reviews/db-test-pool-hygiene-r4-fresh-checker/gates.json b/.agent/reviews/db-test-pool-hygiene-r4-fresh-checker/gates.json new file mode 100644 index 00000000..317d6627 --- /dev/null +++ b/.agent/reviews/db-test-pool-hygiene-r4-fresh-checker/gates.json @@ -0,0 +1,163 @@ +{ + "schema_version": 1, + "status": "PASS", + "checked_utc": "2026-07-11T03:47:52.1012415Z", + "target": "ce6a40d72fc39932ccbc4b949647f321b91f70c3", + "parent": "331b5b195a967e7f27dca94038a3480c9afcc84f", + "tree": "20a69d7a83e0100de7e3e73e670fe02feadada2d", + "boundary": { + "maker_path_count": 13, + "maker_path_list_ordinal_lf_sha256": "8385cf487753e79ef3419a66e58a0bac1592bdaca2fc1d4d9022a0946eeb8f5a", + "maker_paths_all_regular_blobs": true, + "maker_boundary_clean": true, + "scope": "evidence-only" + }, + "gates": [ + { + "name": "verifier_git_revision_head", + "status": "PASS", + "exit_code": 0, + "changed_paths": 21, + "directly_bound_changed_paths": 19, + "manifest_entries": 35, + "checksum_entries": 36, + "inventory_call_sites": 83, + "inventory_files": 8 + }, + { + "name": "verifier_git_index", + "status": "PASS", + "exit_code": 0, + "changed_paths": 21, + "directly_bound_changed_paths": 19, + "manifest_entries": 35, + "checksum_entries": 36, + "inventory_call_sites": 83, + "inventory_files": 8 + }, + { + "name": "maker_adversarial_replay", + "status": "PASS", + "exit_code": 0, + "cases": 35, + "failed_cases": [], + "case_order_sha256": "0fcc7c53259982de592100e249bc323efd4406cc9b7905627afa963b771099f8", + "temp_root_removed": true, + "cleanup": "PASS" + }, + { + "name": "checker_independent_alternate_indexes", + "status": "PASS", + "exit_code": 0, + "cases": 28, + "failed_cases": [], + "exact_r3_false_green_cases_rejected": [ + "unknown_manifest_key", + "unknown_inventory_key", + "inventory_schema_99", + "stale_adversarial_proof", + "stale_verifier_proof" + ], + "additional_classes": [ + "key_case", + "schema", + "type", + "array", + "count", + "digest", + "inventory", + "path_traversal", + "foreign_index", + "incomplete_checksum", + "unbound_checksum", + "product_blob_mutation" + ], + "temp_root_removed": true, + "cleanup": "PASS" + }, + { + "name": "builder_and_seed_determinism", + "status": "PASS", + "checks": 12, + "failed_checks": [], + "seed_adversarial_sha256": "f55c3d9fa7623a2a6a19d3af86e93fd0a14b3c885e3a2600f0d30c428ab5a2a2", + "seed_verifier_sha256": "839e1bcb76f4eddc118eeeee47c65385513f97a4b615d25654ad129bd935ce2f", + "committed_and_built_manifest_sha256": "b0b63988722207186805712b1f32d80ee81afaacffa57e54144d5bd82c5dcb6c", + "committed_and_built_checksum_sha256": "e8e2bcc519b9488b0b84628e62931175a2e210cac3ca57b2e2e999aa07538043", + "temp_root_removed": true + }, + { + "name": "product_blob_identity", + "status": "PASS", + "git_blob_oid": "7337f1bd8da4fb315de842eea2e3cce5476250a3", + "bytes": 47016, + "sha256": "62260c1a2e0705b065295322dd23fcf9b17fd47cb5ebc64134630788e2d23e09" + }, + { + "name": "powershell_parse", + "status": "PASS", + "scripts": 7, + "parse_errors": 0 + }, + { + "name": "git_diff_check", + "status": "PASS", + "exit_code": 0 + }, + { + "name": "gitleaks_exact_maker_commit", + "status": "PASS", + "version": "8.30.0", + "commits_scanned": 1, + "leaks": 0, + "exit_code": 0 + }, + { + "name": "go_build_all", + "status": "PASS", + "exit_code": 0 + }, + { + "name": "go_vet_all", + "status": "PASS", + "exit_code": 0 + }, + { + "name": "focused_database_regression_repeat", + "status": "PASS", + "database": "engram_chk_dbph_r4_adb0a21686af", + "command": "go test -p=1 ./internal/db/gorm -run ^TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose$ -count=5 -v", + "exit_code": 0, + "activity_after_process": 0 + }, + { + "name": "focused_database_regression_race", + "status": "PASS", + "database": "engram_chk_dbph_r4_adb0a21686af", + "command": "go test -race -p=1 ./internal/db/gorm -run ^TestOpenCandidateTestDB_SubtestOwnerClosesPoolWithoutPrematureClose$ -count=1 -v", + "exit_code": 0, + "activity_after_process": 0 + } + ], + "residue": { + "checker_database_matches": [], + "checker_database_sessions": 0, + "adversarial_temp_matches": [], + "independent_temp_matches": [], + "builder_temp_matches": [] + }, + "checker_artifacts": { + "Invoke-IndependentAttacks.ps1": "4b6e33b0a847c98534b24053e4fc319fc7d6dab37199021c7ebf212f243294f4", + "independent-attacks.json": "d88fede0b711ef970f68cb435b37b9de3953fbaa97ca533f69c6a9f96f9d0463", + "Invoke-BuilderDeterminism.ps1": "9f73e80938982805b7da9d650b55a9be8b5a8008251905e53183a77b7dda4277", + "builder-determinism.json": "fbab16a74143ac703394b24023ad77aeda3b670c0866564665751a0baf36bde7" + }, + "execution_corrections": [ + "The first checker case-variant fixture uppercased a leading dot and made no mutation; the fixture was corrected and the complete 28-case batch reran from zero to PASS.", + "The first database command interpolated $db?sslmode incorrectly; that unique database was dropped with zero database/activity residue, and the complete runtime gate reran on a new unique database to PASS." + ], + "non_blocking_concerns": [ + "A fresh database migration emits pre-existing non-fatal legacy-index and unavailable-vectorscale warnings; the focused pool-ownership invariant still passes repeatedly and under the race detector.", + "The full 35-case maker harness and 28-case independent harness are deliberately expensive because each case starts a fresh repository and verifier process." + ] +} diff --git a/.agent/reviews/db-test-pool-hygiene-r4-fresh-checker/independent-attacks.json b/.agent/reviews/db-test-pool-hygiene-r4-fresh-checker/independent-attacks.json new file mode 100644 index 00000000..a03373ed --- /dev/null +++ b/.agent/reviews/db-test-pool-hygiene-r4-fresh-checker/independent-attacks.json @@ -0,0 +1,347 @@ +{ + "schema_version": 1, + "target": "ce6a40d72fc39932ccbc4b949647f321b91f70c3", + "target_tree": "20a69d7a83e0100de7e3e73e670fe02feadada2d", + "method": "checker-owned fresh repository and alternate Git index per case", + "status": "PASS", + "case_count": 28, + "cases": [ + { + "name": "baseline", + "expected": "PASS", + "expected_failure": "", + "actual_exit": 0, + "actual_status": "PASS", + "failures": [], + "pass": true + }, + { + "name": "unknown_manifest_key", + "expected": "REJECT", + "expected_failure": "manifest has unknown JSON property", + "actual_exit": 1, + "actual_status": "FAIL", + "failures": [ + "manifest has unknown JSON property: checker_unknown" + ], + "pass": true + }, + { + "name": "unknown_inventory_key", + "expected": "REJECT", + "expected_failure": "inventory has unknown JSON property", + "actual_exit": 1, + "actual_status": "FAIL", + "failures": [ + "inventory has unknown JSON property: checker_unknown" + ], + "pass": true + }, + { + "name": "inventory_schema_99", + "expected": "REJECT", + "expected_failure": "inventory schema_version must be 1", + "actual_exit": 1, + "actual_status": "FAIL", + "failures": [ + "inventory schema_version must be 1" + ], + "pass": true + }, + { + "name": "stale_adversarial_proof", + "expected": "REJECT", + "expected_failure": "adversarial proof case count mismatch", + "actual_exit": 1, + "actual_status": "FAIL", + "failures": [ + "adversarial proof case count mismatch: declared 34, required 35" + ], + "pass": true + }, + { + "name": "stale_verifier_proof", + "expected": "REJECT", + "expected_failure": "verifier proof changed_paths mismatch", + "actual_exit": 1, + "actual_status": "FAIL", + "failures": [ + "verifier proof changed_paths mismatch: declared 20, actual 21" + ], + "pass": true + }, + { + "name": "case_variant_manifest_status", + "expected": "REJECT", + "expected_failure": "manifest has unknown JSON property", + "actual_exit": 1, + "actual_status": "FAIL", + "failures": [ + "manifest has unknown JSON property: Status", + "manifest.status is required" + ], + "pass": true + }, + { + "name": "manifest_schema_string", + "expected": "REJECT", + "expected_failure": "manifest.schema_version must be JSON number", + "actual_exit": 1, + "actual_status": "FAIL", + "failures": [ + "manifest.schema_version must be JSON number, got string" + ], + "pass": true + }, + { + "name": "inventory_entries_scalar", + "expected": "REJECT", + "expected_failure": "inventory.entries must be JSON array", + "actual_exit": 1, + "actual_status": "FAIL", + "failures": [ + "inventory.entries must be JSON array, got object", + "inventory missing path: internal/db/gorm/rule_arbiter_store_test.go", + "inventory missing path: internal/db/gorm/rule_governance_rg3_store_test.go", + "inventory missing path: internal/db/gorm/rule_governance_store_test.go", + "inventory missing path: internal/db/gorm/rule_injection_event_store_test.go", + "inventory missing path: internal/db/gorm/state_store_test.go", + "inventory missing path: internal/db/gorm/temporal_truth_store_migration_test.go", + "inventory missing path: internal/db/gorm/temporal_truth_store_test.go" + ], + "pass": true + }, + { + "name": "adversarial_cases_scalar", + "expected": "REJECT", + "expected_failure": "adversarial proof.cases must be JSON array", + "actual_exit": 1, + "actual_status": "FAIL", + "failures": [ + "adversarial proof.cases must be JSON array, got object", + "adversarial proof case count mismatch: declared 1, required 35" + ], + "pass": true + }, + { + "name": "manifest_entry_count_mismatch", + "expected": "REJECT", + "expected_failure": "manifest entry_count mismatch", + "actual_exit": 1, + "actual_status": "FAIL", + "failures": [ + "manifest entry_count mismatch" + ], + "pass": true + }, + { + "name": "inventory_actual_count_mismatch", + "expected": "REJECT", + "expected_failure": "inventory total mismatch", + "actual_exit": 1, + "actual_status": "FAIL", + "failures": [ + "inventory total mismatch: declared 84/8, actual 83/8" + ], + "pass": true + }, + { + "name": "verifier_checksum_count_mismatch", + "expected": "REJECT", + "expected_failure": "verifier proof checksum_entries mismatch", + "actual_exit": 1, + "actual_status": "FAIL", + "failures": [ + "verifier proof checksum_entries mismatch: declared 37, actual 36" + ], + "pass": true + }, + { + "name": "manifest_entry_digest_mismatch", + "expected": "REJECT", + "expected_failure": "manifest SHA-256 mismatch", + "actual_exit": 1, + "actual_status": "FAIL", + "failures": [ + "manifest SHA-256 mismatch: .agent/reports/2026-07-10-db-test-pool-hygiene-evidence-revision-maker.md", + "outer checksum mismatch: .agent/reports/2026-07-10-db-test-pool-hygiene-evidence-revision-maker.md" + ], + "pass": true + }, + { + "name": "outer_checksum_digest_mismatch", + "expected": "REJECT", + "expected_failure": "outer checksum mismatch", + "actual_exit": 1, + "actual_status": "FAIL", + "failures": [ + "outer checksum mismatch: .agent/reports/2026-07-10-db-test-pool-hygiene-evidence-revision-maker.md" + ], + "pass": true + }, + { + "name": "inventory_line_mismatch", + "expected": "REJECT", + "expected_failure": "inventory site list mismatch", + "actual_exit": 1, + "actual_status": "FAIL", + "failures": [ + "inventory site list mismatch: internal/db/gorm/candidate_store_test.go" + ], + "pass": true + }, + { + "name": "inventory_case_duplicate_path", + "expected": "REJECT", + "expected_failure": "duplicate inventory path", + "actual_exit": 1, + "actual_status": "FAIL", + "failures": [ + "duplicate inventory path: Internal/db/gorm/candidate_store_test.go", + "inventory paths are not canonical ordinal order: internal/db/gorm/temporal_truth_store_test.go before Internal/db/gorm/candidate_store_test.go" + ], + "pass": true + }, + { + "name": "manifest_path_traversal", + "expected": "REJECT", + "expected_failure": "manifest entry unreadable", + "actual_exit": 1, + "actual_status": "FAIL", + "failures": [ + "manifest entry unreadable: ../checker-escape: git rev-parse :../checker-escape failed: fatal: '../checker-escape' is outside repository at 'C:/Users/btf/AppData/Local/Temp/engram-dbph-r4-independent-116c3d38753a4f259efc72d5ee8b4f9c/case-18-manifest_path_traversal'\n", + "manifest missing changed path: .agent/reports/2026-07-10-db-test-pool-hygiene-evidence-revision-maker.md", + "checksum path unreadable: ../checker-escape: git show :../checker-escape failed: fatal: '../checker-escape' is outside repository at 'C:/Users/btf/AppData/Local/Temp/engram-dbph-r4-independent-116c3d38753a4f259efc72d5ee8b4f9c/case-18-manifest_path_traversal'\n" + ], + "pass": true + }, + { + "name": "foreign_index_path", + "expected": "REJECT", + "expected_failure": "evidence revision changes product/test paths", + "actual_exit": 1, + "actual_status": "FAIL", + "failures": [ + "changed path count mismatch: declared 21, actual 22", + "evidence revision changes product/test paths: README.md", + "directly_manifest_bound_count mismatch", + "manifest missing changed path: README.md", + "verifier proof changed_paths mismatch: declared 21, actual 22", + "verifier proof directly_bound_changed_paths mismatch: declared 19, actual 20" + ], + "pass": true + }, + { + "name": "incomplete_checksum", + "expected": "REJECT", + "expected_failure": "outer checksum missing manifest-bound path", + "actual_exit": 1, + "actual_status": "FAIL", + "failures": [ + "outer checksum missing manifest-bound path: .agent/reports/2026-07-10-db-test-pool-hygiene-evidence-revision-maker.md", + "verifier proof checksum_entries mismatch: declared 36, actual 35" + ], + "pass": true + }, + { + "name": "unknown_inventory_entry_key", + "expected": "REJECT", + "expected_failure": "inventory.entries[0] has unknown JSON property", + "actual_exit": 1, + "actual_status": "FAIL", + "failures": [ + "inventory.entries[0] has unknown JSON property: checker_unknown" + ], + "pass": true + }, + { + "name": "duplicate_json_property", + "expected": "REJECT", + "expected_failure": "duplicate JSON property", + "actual_exit": 1, + "actual_status": "FAIL", + "failures": [ + "duplicate JSON property: manifest.schema_version" + ], + "pass": true + }, + { + "name": "manifest_inventory_path_case", + "expected": "REJECT", + "expected_failure": "manifest inventory contract mismatch", + "actual_exit": 1, + "actual_status": "FAIL", + "failures": [ + "manifest inventory contract mismatch" + ], + "pass": true + }, + { + "name": "verifier_failures_nonempty", + "expected": "REJECT", + "expected_failure": "verifier proof failures must be an empty JSON array", + "actual_exit": 1, + "actual_status": "FAIL", + "failures": [ + "verifier proof failures must be an empty JSON array" + ], + "pass": true + }, + { + "name": "adversarial_case_pass_false", + "expected": "REJECT", + "expected_failure": "adversarial proof case result mismatch", + "actual_exit": 1, + "actual_status": "FAIL", + "failures": [ + "adversarial proof case result mismatch: missing_changed_path" + ], + "pass": true + }, + { + "name": "adversarial_observed_failures_scalar", + "expected": "REJECT", + "expected_failure": "observed_failures must be JSON array", + "actual_exit": 1, + "actual_status": "FAIL", + "failures": [ + "adversarial proof.cases[1].observed_failures must be JSON array, got string", + "adversarial proof case missing required diagnostic: missing_changed_path" + ], + "pass": true + }, + { + "name": "product_blob_mutation", + "expected": "REJECT", + "expected_failure": "product test blob differs from accepted product candidate", + "actual_exit": 1, + "actual_status": "FAIL", + "failures": [ + "changed path count mismatch: declared 21, actual 22", + "evidence revision changes product/test paths: internal/db/gorm/candidate_store_test.go", + "manifest path/blob binding mismatch: internal/db/gorm/candidate_store_test.go", + "directly_manifest_bound_count mismatch", + "product test blob differs from accepted product candidate", + "outer checksum mismatch: internal/db/gorm/candidate_store_test.go", + "verifier proof changed_paths mismatch: declared 21, actual 22", + "verifier proof directly_bound_changed_paths mismatch: declared 19, actual 20" + ], + "pass": true + }, + { + "name": "checksum_unbound_extra_path", + "expected": "REJECT", + "expected_failure": "outer checksum contains unbound extra path", + "actual_exit": 1, + "actual_status": "FAIL", + "failures": [ + "outer checksum contains unbound extra path: README.md", + "verifier proof checksum_entries mismatch: declared 36, actual 37" + ], + "pass": true + } + ], + "fatal_error": null, + "temp_root_removed": true, + "cleanup_error": null +} diff --git a/.agent/reviews/db-test-pool-hygiene-r4-fresh-checker/report.md b/.agent/reviews/db-test-pool-hygiene-r4-fresh-checker/report.md new file mode 100644 index 00000000..4cd06eb8 --- /dev/null +++ b/.agent/reviews/db-test-pool-hygiene-r4-fresh-checker/report.md @@ -0,0 +1,103 @@ +# DB-TEST-POOL-HYGIENE R4 — независимый checker + +Вердикт: **ACCEPT** + +`READY_FOR_INTEGRATION=true` для evidence-only commit +`ce6a40d72fc39932ccbc4b949647f321b91f70c3`, с обязательным последующим +root/PM post-run review перед синтезом. + +CRITICAL/HIGH findings: **0**. + +## Точная граница + +- Target: `ce6a40d72fc39932ccbc4b949647f321b91f70c3` +- Parent: `331b5b195a967e7f27dca94038a3480c9afcc84f` +- Tree: `20a69d7a83e0100de7e3e73e670fe02feadada2d` +- Maker delta: ровно 13 путей, все обычные Git blobs mode `100644` +- Ordinal + terminal-LF SHA-256 списка путей: + `8385cf487753e79ef3419a66e58a0bac1592bdaca2fc1d4d9022a0946eeb8f5a` +- Maker boundary перед проверкой был чистым. +- Product/test/spec/plan/register/HTML maker не менял; checker меняет только + `.agent/reviews/db-test-pool-hygiene-r4-fresh-checker/**`. + +Product-regression scan: **PASS**. R4 — evidence-only revision, а product blob +`internal/db/gorm/candidate_store_test.go` побайтово совпадает с принятым +candidate: Git OID `7337f1bd8da4fb315de842eea2e3cce5476250a3`, 47 016 bytes, +SHA-256 `62260c1a2e0705b065295322dd23fcf9b17fd47cb5ebc64134630788e2d23e09`. + +## Проверка закрытия R3 findings + +Verifier в `GitRevision HEAD` и `GitIndex` независимо вернул PASS с одинаковой +реальностью: 21 changed path, 19 directly bound, 35 manifest entries, 36 +checksum entries, inventory 83/8. + +Maker harness полностью воспроизведён: 35/35 coherent alternate-index cases +PASS, failed cases отсутствуют, case-order SHA-256 +`0fcc7c53259982de592100e249bc323efd4406cc9b7905627afa963b771099f8`, temp +root удалён. + +Checker-owned harness не вызывает maker harness и строит собственный свежий +repository/index для каждого кейса. Итог: 28/28 PASS. Все пять прежних +false-green классов теперь fail closed с ожидаемым diagnostic: + +1. `unknown_manifest_key` +2. `unknown_inventory_key` +3. `inventory_schema_99` +4. `stale_adversarial_proof` +5. `stale_verifier_proof` + +Соседние атаки также закрыты: case-sensitive keys/paths, schema/type/array/count, +entry и outer digests, inventory lines/duplicates, manifest traversal, foreign +index path, incomplete и unbound checksum, non-empty/false proof objects и +product-blob mutation. + +## Детерминизм и gates + +- Seed дважды дал одинаковые adversarial/verifier proof bytes и не изменил + manifest/checksum. +- Builder дважды воспроизвёл committed manifest + `b0b63988722207186805712b1f32d80ee81afaacffa57e54144d5bd82c5dcb6c` + и checksum + `e8e2bcc519b9488b0b84628e62931175a2e210cac3ca57b2e2e999aa07538043` + побайтово. +- PowerShell parse: 7 scripts, 0 errors. +- `git diff --check`: PASS. +- Gitleaks 8.30.0: 1 exact maker commit, 0 leaks. +- `go build ./...`: PASS. +- `go vet ./...`: PASS. +- Focused DB regression: PASS `count=5`. +- Focused DB regression with race detector: PASS `count=1`. +- После каждого Go-процесса checker DB sessions: 0. +- Финальный checker DB/activity/temp residue: 0/0/0. + +Полные результаты: `gates.json`, `independent-attacks.json` и +`builder-determinism.json` в этой директории. + +## Findings и concerns + +Blocking findings отсутствуют. + +Неблокирующие наблюдения: + +- Fresh-DB migration печатает существующие нефатальные сообщения о legacy + index columns/tables и недоступном `vectorscale`; pool-ownership invariant + при этом проходит пять повторов и race detector. R4 не меняет этот product + path, поэтому это не finding данного evidence-only diff, но шум не скрыт. +- Полные 35- и 28-case harnesses дороги по времени: каждый кейс создаёт свежий + repo/index и отдельный verifier process. Это цена сильной изоляции, не дефект + корректности. + +Checker execution дважды сам себя скорректировал и после каждой коррекции +повторил соответствующий gate целиком: no-op case-variant fixture и неверная +PowerShell-интерполяция DSN. Обе ошибочные временные БД/директории удалены; +финальный residue scan пуст. + +Reusability candidates: none — evaluated; packet-specific verifier evidence. + +## Finish state + +`review-needed`: checker принимает maker commit; следующий владелец — root/PM +post-run review и только затем синтез принятой головы. Checker не выполнял +merge, push, tag или внешнюю мутацию. + +LITE_REVIEW_DONE: ACCEPT diff --git a/.agent/reviews/demolition-portability-r1-fresh-checker/dbprobe/main.go b/.agent/reviews/demolition-portability-r1-fresh-checker/dbprobe/main.go new file mode 100644 index 00000000..5439048e --- /dev/null +++ b/.agent/reviews/demolition-portability-r1-fresh-checker/dbprobe/main.go @@ -0,0 +1,218 @@ +package main + +import ( + "context" + "encoding/json" + "errors" + "fmt" + "os" + + "github.com/jackc/pgx/v5/pgconn" + dbgorm "github.com/thebtf/engram/internal/db/gorm" + "github.com/thebtf/engram/internal/graph" + "github.com/thebtf/engram/pkg/models" +) + +const ( + project = "demolition-portability-r1-fresh-checker" + session = "demolition-portability-r1-fresh-checker" +) + +type result struct { + NilCreateMetadata string `json:"nil_create_metadata"` + EmptyCreateMetadata string `json:"empty_create_metadata"` + NilUpdateMetadata string `json:"nil_update_metadata"` + EmptyUpdateMetadata string `json:"empty_update_metadata"` + InvalidCreateRejected bool `json:"invalid_create_rejected"` + InvalidUpdateRejected bool `json:"invalid_update_rejected"` + InvalidUpdatePreserved bool `json:"invalid_update_preserved"` + DBErrorMutatedMetadata string `json:"db_error_mutated_metadata"` + DBErrorObserved bool `json:"db_error_observed"` + ForeignKeySQLState string `json:"foreign_key_sqlstate"` + ForeignKeyConstraint string `json:"foreign_key_constraint"` + RejectedDanglingRows int64 `json:"rejected_dangling_rows"` + ResolveDangling bool `json:"resolve_dangling"` + ResolveSourcePreserved bool `json:"resolve_source_preserved"` + LiveEnumAccepted bool `json:"live_enum_accepted"` + StaleEnumRejected bool `json:"stale_enum_rejected"` + FinalMemoryRows int64 `json:"final_memory_rows"` + FinalNodeRows int64 `json:"final_node_rows"` + FinalEdgeRows int64 `json:"final_edge_rows"` +} + +func must(err error) { + if err != nil { + panic(err) + } +} + +func mustJSONEq(got []byte, want string) string { + var gotValue any + var wantValue any + must(json.Unmarshal(got, &gotValue)) + must(json.Unmarshal([]byte(want), &wantValue)) + if fmt.Sprintf("%#v", gotValue) != fmt.Sprintf("%#v", wantValue) { + panic(fmt.Sprintf("JSON mismatch: got %s want %s", got, want)) + } + return string(got) +} + +func cleanup(ctx context.Context, store *dbgorm.Store) { + must(store.DB.WithContext(ctx).Exec(`DELETE FROM knowledge_edges WHERE source_session_id = ?`, session).Error) + must(store.DB.WithContext(ctx).Exec(`DELETE FROM knowledge_nodes WHERE project = ?`, project).Error) + must(store.DB.WithContext(ctx).Exec(`DELETE FROM memories WHERE project = ?`, project).Error) +} + +func insertMemory(ctx context.Context, store *dbgorm.Store, content string) int64 { + var id int64 + must(store.DB.WithContext(ctx).Raw( + `INSERT INTO memories (project, content) VALUES (?, ?) RETURNING id`, + project, content, + ).Row().Scan(&id)) + return id +} + +func ptr(v int64) *int64 { return &v } + +func main() { + dsn := os.Getenv("DATABASE_DSN") + if dsn == "" { + panic("DATABASE_DSN is required") + } + ctx := context.Background() + store, err := dbgorm.NewStore(dbgorm.Config{DSN: dsn, MaxConns: 2}) + must(err) + cleanup(ctx, store) + nodes := graph.NewNodesStore(store.GetDB()) + out := result{} + + nilNode, err := nodes.Create(ctx, &models.KnowledgeNode{ + NodeType: models.NodeTypeRule, ExternalRef: "nil-create", Project: project, + }) + must(err) + out.NilCreateMetadata = mustJSONEq(nilNode.Metadata, `{}`) + + emptyNode, err := nodes.Create(ctx, &models.KnowledgeNode{ + NodeType: models.NodeTypeRule, ExternalRef: "empty-create", Project: project, Metadata: []byte{}, + }) + must(err) + out.EmptyCreateMetadata = mustJSONEq(emptyNode.Metadata, `{}`) + + nilNode.Metadata = nil + nilNode.ExternalRef = "nil-update" + nilNode, err = nodes.Update(ctx, nilNode) + must(err) + out.NilUpdateMetadata = mustJSONEq(nilNode.Metadata, `{}`) + + emptyNode.Metadata = []byte{} + emptyNode.ExternalRef = "empty-update" + emptyNode, err = nodes.Update(ctx, emptyNode) + must(err) + out.EmptyUpdateMetadata = mustJSONEq(emptyNode.Metadata, `{}`) + + invalidCreate := &models.KnowledgeNode{ + NodeType: models.NodeTypeRule, ExternalRef: "invalid-create", Project: project, Metadata: []byte(`{`), + } + _, err = nodes.Create(ctx, invalidCreate) + if err == nil { + panic("invalid create JSON unexpectedly succeeded") + } + out.InvalidCreateRejected = true + var invalidCreateRows int64 + must(store.DB.WithContext(ctx).Table("knowledge_nodes").Where("project = ? AND external_ref = ?", project, "invalid-create").Count(&invalidCreateRows).Error) + if invalidCreateRows != 0 { + panic(fmt.Sprintf("invalid create left %d rows", invalidCreateRows)) + } + + beforeInvalidUpdate := emptyNode.Metadata + emptyNode.Metadata = []byte(`{`) + _, err = nodes.Update(ctx, emptyNode) + if err == nil { + panic("invalid update JSON unexpectedly succeeded") + } + out.InvalidUpdateRejected = true + reloaded, err := nodes.Get(ctx, emptyNode.ID, true) + must(err) + out.InvalidUpdatePreserved = mustJSONEq(reloaded.Metadata, string(beforeInvalidUpdate)) != "" + + sourceID := insertMemory(ctx, store, "fk-source") + targetID := insertMemory(ctx, store, "fk-target") + must(store.DB.WithContext(ctx).Exec(`DELETE FROM memories WHERE id = ?`, targetID).Error) + insert := store.DB.WithContext(ctx).Exec(` + INSERT INTO knowledge_edges + (source_id, target_id, edge_type, weight, source_session_id, source_type, target_type) + VALUES (?, ?, 'uses', 1.0, ?, 'memory', 'memory') + `, sourceID, targetID, session) + if insert.Error == nil { + panic("dangling edge insert unexpectedly succeeded") + } + var pgErr *pgconn.PgError + if !errors.As(insert.Error, &pgErr) { + panic(fmt.Sprintf("dangling error is not pg error: %T %v", insert.Error, insert.Error)) + } + out.ForeignKeySQLState = pgErr.Code + out.ForeignKeyConstraint = pgErr.ConstraintName + if pgErr.Code != "23503" || pgErr.ConstraintName != "knowledge_edges_target_id_fkey" { + panic(fmt.Sprintf("unexpected FK error: %s %s", pgErr.Code, pgErr.ConstraintName)) + } + must(store.DB.WithContext(ctx).Table("knowledge_edges").Where("source_session_id = ?", session).Count(&out.RejectedDanglingRows).Error) + if out.RejectedDanglingRows != 0 { + panic(fmt.Sprintf("rejected dangling insert left %d rows", out.RejectedDanglingRows)) + } + + secondID := insertMemory(ctx, store, "enum-target") + edges := graph.NewStore(store.GetDB(), nodes) + source, target, err := edges.Resolve(ctx, &graph.Edge{ + SourceID: ptr(sourceID), TargetID: ptr(targetID), SourceType: "memory", TargetType: "memory", + }) + if !errors.Is(err, graph.ErrDangling) || target != nil { + panic(fmt.Sprintf("Resolve did not report dangling target: source=%v target=%v err=%v", source, target, err)) + } + out.ResolveDangling = true + out.ResolveSourcePreserved = source == sourceID + if !out.ResolveSourcePreserved { + panic(fmt.Sprintf("Resolve did not preserve valid source: got %v want %d", source, sourceID)) + } + + _, err = edges.Create(ctx, &graph.Edge{ + SourceID: ptr(sourceID), TargetID: ptr(secondID), EdgeType: graph.EdgeDependsOn, + Weight: 1, SourceSessionID: session, SourceType: "memory", TargetType: "memory", + }) + must(err) + out.LiveEnumAccepted = true + _, err = edges.Create(ctx, &graph.Edge{ + SourceID: ptr(sourceID), TargetID: ptr(secondID), EdgeType: "references", + Weight: 1, SourceSessionID: session, SourceType: "memory", TargetType: "memory", + }) + if err == nil { + panic("stale references edge type unexpectedly succeeded") + } + out.StaleEnumRejected = true + + cleanup(ctx, store) + must(store.DB.WithContext(ctx).Table("memories").Where("project = ?", project).Count(&out.FinalMemoryRows).Error) + must(store.DB.WithContext(ctx).Table("knowledge_nodes").Where("project = ?", project).Count(&out.FinalNodeRows).Error) + must(store.DB.WithContext(ctx).Table("knowledge_edges").Where("source_session_id = ?", session).Count(&out.FinalEdgeRows).Error) + if out.FinalMemoryRows != 0 || out.FinalNodeRows != 0 || out.FinalEdgeRows != 0 { + panic(fmt.Sprintf("fixture residue: memories=%d nodes=%d edges=%d", out.FinalMemoryRows, out.FinalNodeRows, out.FinalEdgeRows)) + } + must(store.Close()) + + closedStore, err := dbgorm.NewStore(dbgorm.Config{DSN: dsn, MaxConns: 1}) + must(err) + closedNodes := graph.NewNodesStore(closedStore.GetDB()) + must(closedStore.Close()) + dbErrorNode := &models.KnowledgeNode{ + NodeType: models.NodeTypeRule, ExternalRef: "closed-db", Project: project, + } + _, err = closedNodes.Create(ctx, dbErrorNode) + if err == nil { + panic("closed DB create unexpectedly succeeded") + } + out.DBErrorObserved = true + out.DBErrorMutatedMetadata = mustJSONEq(dbErrorNode.Metadata, `{}`) + + encoded, err := json.MarshalIndent(out, "", " ") + must(err) + fmt.Println(string(encoded)) +} diff --git a/.agent/reviews/demolition-portability-r1-fresh-checker/evidence.json b/.agent/reviews/demolition-portability-r1-fresh-checker/evidence.json new file mode 100644 index 00000000..b3bc355a --- /dev/null +++ b/.agent/reviews/demolition-portability-r1-fresh-checker/evidence.json @@ -0,0 +1,105 @@ +{ + "schema_version": 1, + "verdict": "ACCEPT", + "maker": { + "head": "2c88fed68e0da04b4686940b81f55579a8260919", + "parent": "0c6269908aa810a2248f2bfaf3fca4f9f5791359", + "tree": "56454175025fe2f599b1ac9a14b5dc8361b76453", + "path_count": 15, + "ordinal_lf_name_digest": "996b153680df782d4247b6ef72120fba36bfc7cf3fb1015385817e1035ce700f", + "ordinal_lf_status_name_digest": "4761d8020de2f6ba49841291eca5996f7ae928559a69228c383f3ede5df71b18", + "all_path_modes": "100644", + "initial_worktree_clean": true + }, + "scope": { + "product_delta": [ + "internal/graph/nodes_store.go", + "internal/handlers/loom/workers.go" + ], + "retrieval_source": "internal/mcp/tools_memory.go", + "retrieval_base_blob": "18ba2c5e4e798567bd4d0f9a0f62ff9fc893f2b2", + "retrieval_head_blob": "18ba2c5e4e798567bd4d0f9a0f62ff9fc893f2b2" + }, + "database": { + "name": "engram_dp_chk_0711_0715_c7e5", + "server_version": "17.10 (Debian 17.10-1.pgdg12+1)", + "graph_repeat3": {"pass_events": 18, "fail_events": 0, "skip_events": 0}, + "t022_repeat3": {"pass_events": 9, "fail_events": 0, "skip_events": 0}, + "probe": { + "nil_and_empty_create_update_normalize_to_object": true, + "invalid_create_rejected": true, + "invalid_update_rejected_and_persisted_value_preserved": true, + "closed_db_error_observed_after_input_metadata_default": true, + "foreign_key_sqlstate": "23503", + "foreign_key_constraint": "knowledge_edges_target_id_fkey", + "foreign_key_definition": "FOREIGN KEY (target_id) REFERENCES memories(id) ON DELETE CASCADE", + "rejected_dangling_rows": 0, + "resolve_dangling_detected": true, + "resolve_valid_source_preserved": true, + "live_depends_on_accepted": true, + "stale_references_rejected": true + }, + "owned_rows_before_drop": {"memories": 0, "nodes": 0, "edges": 0}, + "active_sessions_before_drop": 0, + "database_count_after_drop": 0 + }, + "loom": { + "windows_repeat3": "PASS", + "windows_race": "PASS", + "windows_json": {"pass_events": 47, "fail_events": 0, "skip_events": 0}, + "windows_statement_coverage_percent": 86.9, + "ubuntu_wsl_repeat3": "PASS", + "ubuntu_wsl_json": {"pass_events": 47, "fail_events": 0, "skip_events": 0}, + "ubuntu_wsl_statement_coverage_percent": 86.9, + "ubuntu_go": "go1.25.12 linux/amd64", + "environment_warning": "WSL could not translate U:\\Library\\Software\\Scripts\\nvmdtranscoder; tests and coverage still exited 0", + "parent_path_lookup_after_tests": "absent", + "temp_helper_residue": 0 + }, + "prove_it": { + "method": "Go build overlays backed by temporary checker-only copies; product files were never edited", + "graph_parent": "both current Create and Update omitted-metadata tests failed SQLSTATE 23502", + "loom_parent": "direct writer test returned 5 instead of 7 and the unaligned end-to-end test failed with short write", + "t022_disabled_filters": "low beta returned and the corrected confidence-floor assertion failed", + "restored_product_blobs": { + "internal/graph/nodes_store.go": "f18a0daaa1971d0c477be86a89cd7dbc31ea86b2", + "internal/handlers/loom/workers.go": "bfa5996c7637fcdea1c4d249b4c500548494d7a4", + "internal/mcp/tools_memory.go": "18ba2c5e4e798567bd4d0f9a0f62ff9fc893f2b2" + }, + "current_focused_replay_after_overlays": "PASS" + }, + "static_gates": { + "go_build_all": "PASS", + "go_vet_all": "PASS", + "git_diff_check": "PASS", + "gitleaks": "8.30.0; one exact commit; 26.34 KB; no leaks", + "demolished_symbol_delta_matches": 0, + "loom_skip_markers": 0 + }, + "broad_suite": { + "command": "go test -json ./... -count=1", + "exit": 1, + "failed_test_events": 13, + "failed_packages": [ + "github.com/thebtf/engram/internal/db/gorm", + "github.com/thebtf/engram/internal/mcp" + ], + "owned_failures": 0, + "skip_events": 20, + "classification": "DB pool/governance candidate failures and the separately accepted T007 candidate are absent from this isolated maker base" + }, + "findings": [ + { + "severity": "LOW", + "title": "Resolve dangling behavior lost permanent integration coverage", + "detail": "The rewritten T016 test correctly proves the live FK, but the committed suite now checks only FK rejection plus ErrDangling sentinel shape. Store.Resolve on a missing endpoint is not called by a permanent test, while store.go:98 and nodes_store_test.go:149 still describe the removed acceptance test. The checker probe directly verified the current behavior, so this is not a current product defect or an ACCEPT blocker." + } + ], + "blocking_findings": 0, + "execution_corrections": [ + "The first status digest attempt used culture-sensitive Sort-Object; rerunning with StringComparer.Ordinal reproduced the maker digest exactly.", + "The first overlay invocation passed an unevaluated PowerShell expression as a package argument; rerunning with an explicit absolute -overlay argument produced the expected RED evidence.", + "The first Windows coverprofile argument created a literal $coverage file; it was removed and coverage was rerun with an explicit absolute argument, producing loom-windows.cover." + ], + "reusability_candidates": [] +} diff --git a/.agent/reviews/demolition-portability-r1-fresh-checker/loom-linux.cover b/.agent/reviews/demolition-portability-r1-fresh-checker/loom-linux.cover new file mode 100644 index 00000000..fb86a1c6 --- /dev/null +++ b/.agent/reviews/demolition-portability-r1-fresh-checker/loom-linux.cover @@ -0,0 +1,141 @@ +mode: atomic +github.com/thebtf/engram/internal/handlers/loom/events.go:25.53,26.23 1 9 +github.com/thebtf/engram/internal/handlers/loom/events.go:26.23,28.3 1 0 +github.com/thebtf/engram/internal/handlers/loom/events.go:30.2,40.16 3 9 +github.com/thebtf/engram/internal/handlers/loom/events.go:40.16,47.3 2 0 +github.com/thebtf/engram/internal/handlers/loom/events.go:52.2,52.43 1 9 +github.com/thebtf/engram/internal/handlers/loom/module.go:75.26,77.2 1 6 +github.com/thebtf/engram/internal/handlers/loom/module.go:83.50,85.2 1 69 +github.com/thebtf/engram/internal/handlers/loom/module.go:92.32,92.53 1 195 +github.com/thebtf/engram/internal/handlers/loom/module.go:101.74,106.29 4 75 +github.com/thebtf/engram/internal/handlers/loom/module.go:106.29,109.3 1 69 +github.com/thebtf/engram/internal/handlers/loom/module.go:109.8,112.17 3 6 +github.com/thebtf/engram/internal/handlers/loom/module.go:112.17,114.4 1 0 +github.com/thebtf/engram/internal/handlers/loom/module.go:117.3,122.29 2 6 +github.com/thebtf/engram/internal/handlers/loom/module.go:122.29,123.36 1 18 +github.com/thebtf/engram/internal/handlers/loom/module.go:123.36,126.5 2 0 +github.com/thebtf/engram/internal/handlers/loom/module.go:127.4,127.52 1 18 +github.com/thebtf/engram/internal/handlers/loom/module.go:127.52,130.5 2 0 +github.com/thebtf/engram/internal/handlers/loom/module.go:133.3,138.17 2 6 +github.com/thebtf/engram/internal/handlers/loom/module.go:138.17,141.4 2 0 +github.com/thebtf/engram/internal/handlers/loom/module.go:142.3,143.16 2 6 +github.com/thebtf/engram/internal/handlers/loom/module.go:146.2,154.48 3 75 +github.com/thebtf/engram/internal/handlers/loom/module.go:154.48,158.3 1 0 +github.com/thebtf/engram/internal/handlers/loom/module.go:158.8,158.18 1 75 +github.com/thebtf/engram/internal/handlers/loom/module.go:158.18,162.3 1 0 +github.com/thebtf/engram/internal/handlers/loom/module.go:169.2,171.12 2 75 +github.com/thebtf/engram/internal/handlers/loom/module.go:182.54,183.20 1 78 +github.com/thebtf/engram/internal/handlers/loom/module.go:183.20,185.3 1 78 +github.com/thebtf/engram/internal/handlers/loom/module.go:187.2,187.21 1 78 +github.com/thebtf/engram/internal/handlers/loom/module.go:187.21,188.41 1 78 +github.com/thebtf/engram/internal/handlers/loom/module.go:188.41,189.11 1 3 +github.com/thebtf/engram/internal/handlers/loom/module.go:190.22,191.17 1 0 +github.com/thebtf/engram/internal/handlers/loom/module.go:192.12,192.12 0 3 +github.com/thebtf/engram/internal/handlers/loom/module.go:194.4,196.15 3 3 +github.com/thebtf/engram/internal/handlers/loom/module.go:198.3,198.35 1 78 +github.com/thebtf/engram/internal/handlers/loom/module.go:198.35,200.4 1 0 +github.com/thebtf/engram/internal/handlers/loom/module.go:203.2,203.17 1 78 +github.com/thebtf/engram/internal/handlers/loom/module.go:203.17,205.3 1 6 +github.com/thebtf/engram/internal/handlers/loom/module.go:206.2,206.12 1 72 +github.com/thebtf/engram/internal/handlers/loom/module.go:216.61,221.2 2 3 +github.com/thebtf/engram/internal/handlers/loom/module.go:226.56,230.2 1 3 +github.com/thebtf/engram/internal/handlers/loom/module.go:238.53,239.21 1 3 +github.com/thebtf/engram/internal/handlers/loom/module.go:239.21,240.68 1 3 +github.com/thebtf/engram/internal/handlers/loom/module.go:240.68,245.4 1 0 +github.com/thebtf/engram/internal/handlers/loom/module.go:245.9,250.4 1 3 +github.com/thebtf/engram/internal/handlers/loom/module.go:252.2,252.29 1 3 +github.com/thebtf/engram/internal/handlers/loom/module.go:261.45,263.2 1 3 +github.com/thebtf/engram/internal/handlers/loom/module.go:267.42,269.2 1 0 +github.com/thebtf/engram/internal/handlers/loom/module.go:277.74,284.16 3 9 +github.com/thebtf/engram/internal/handlers/loom/module.go:284.16,286.3 1 0 +github.com/thebtf/engram/internal/handlers/loom/module.go:287.2,291.4 1 9 +github.com/thebtf/engram/internal/handlers/loom/tools.go:122.43,145.2 1 180 +github.com/thebtf/engram/internal/handlers/loom/tools.go:153.136,154.14 1 54 +github.com/thebtf/engram/internal/handlers/loom/tools.go:155.22,156.42 1 18 +github.com/thebtf/engram/internal/handlers/loom/tools.go:157.19,158.34 1 15 +github.com/thebtf/engram/internal/handlers/loom/tools.go:159.20,160.35 1 9 +github.com/thebtf/engram/internal/handlers/loom/tools.go:161.22,162.37 1 12 +github.com/thebtf/engram/internal/handlers/loom/tools.go:163.10,167.4 1 0 +github.com/thebtf/engram/internal/handlers/loom/tools.go:188.128,190.48 2 18 +github.com/thebtf/engram/internal/handlers/loom/tools.go:190.48,195.3 1 0 +github.com/thebtf/engram/internal/handlers/loom/tools.go:197.2,197.39 1 18 +github.com/thebtf/engram/internal/handlers/loom/tools.go:197.39,202.3 1 3 +github.com/thebtf/engram/internal/handlers/loom/tools.go:205.2,206.30 2 15 +github.com/thebtf/engram/internal/handlers/loom/tools.go:206.30,212.3 1 3 +github.com/thebtf/engram/internal/handlers/loom/tools.go:214.2,229.16 3 12 +github.com/thebtf/engram/internal/handlers/loom/tools.go:229.16,234.3 1 3 +github.com/thebtf/engram/internal/handlers/loom/tools.go:236.2,240.26 2 9 +github.com/thebtf/engram/internal/handlers/loom/tools.go:251.104,253.48 2 15 +github.com/thebtf/engram/internal/handlers/loom/tools.go:253.48,258.3 1 0 +github.com/thebtf/engram/internal/handlers/loom/tools.go:259.2,259.39 1 15 +github.com/thebtf/engram/internal/handlers/loom/tools.go:259.39,264.3 1 3 +github.com/thebtf/engram/internal/handlers/loom/tools.go:266.2,267.16 2 12 +github.com/thebtf/engram/internal/handlers/loom/tools.go:267.16,273.3 1 0 +github.com/thebtf/engram/internal/handlers/loom/tools.go:274.2,274.17 1 12 +github.com/thebtf/engram/internal/handlers/loom/tools.go:274.17,280.3 1 3 +github.com/thebtf/engram/internal/handlers/loom/tools.go:283.2,283.28 1 9 +github.com/thebtf/engram/internal/handlers/loom/tools.go:283.28,289.3 1 3 +github.com/thebtf/engram/internal/handlers/loom/tools.go:291.2,291.27 1 6 +github.com/thebtf/engram/internal/handlers/loom/tools.go:302.105,304.43 2 9 +github.com/thebtf/engram/internal/handlers/loom/tools.go:304.43,305.49 1 9 +github.com/thebtf/engram/internal/handlers/loom/tools.go:305.49,310.4 1 0 +github.com/thebtf/engram/internal/handlers/loom/tools.go:314.2,315.31 2 9 +github.com/thebtf/engram/internal/handlers/loom/tools.go:315.31,317.3 1 3 +github.com/thebtf/engram/internal/handlers/loom/tools.go:320.2,321.16 2 9 +github.com/thebtf/engram/internal/handlers/loom/tools.go:321.16,326.3 1 0 +github.com/thebtf/engram/internal/handlers/loom/tools.go:329.2,329.18 1 9 +github.com/thebtf/engram/internal/handlers/loom/tools.go:329.18,331.3 1 3 +github.com/thebtf/engram/internal/handlers/loom/tools.go:333.2,334.26 2 9 +github.com/thebtf/engram/internal/handlers/loom/tools.go:341.107,343.48 2 12 +github.com/thebtf/engram/internal/handlers/loom/tools.go:343.48,348.3 1 0 +github.com/thebtf/engram/internal/handlers/loom/tools.go:349.2,349.39 1 12 +github.com/thebtf/engram/internal/handlers/loom/tools.go:349.39,354.3 1 0 +github.com/thebtf/engram/internal/handlers/loom/tools.go:357.2,358.31 2 12 +github.com/thebtf/engram/internal/handlers/loom/tools.go:358.31,364.3 1 3 +github.com/thebtf/engram/internal/handlers/loom/tools.go:365.2,365.28 1 9 +github.com/thebtf/engram/internal/handlers/loom/tools.go:365.28,371.3 1 3 +github.com/thebtf/engram/internal/handlers/loom/tools.go:373.2,374.22 2 6 +github.com/thebtf/engram/internal/handlers/loom/tools.go:374.22,382.3 2 3 +github.com/thebtf/engram/internal/handlers/loom/tools.go:384.2,385.26 2 3 +github.com/thebtf/engram/internal/handlers/loom/workers.go:49.32,53.2 3 75 +github.com/thebtf/engram/internal/handlers/loom/workers.go:58.63,62.2 3 54 +github.com/thebtf/engram/internal/handlers/loom/workers.go:65.44,65.73 1 0 +github.com/thebtf/engram/internal/handlers/loom/workers.go:74.95,76.28 1 54 +github.com/thebtf/engram/internal/handlers/loom/workers.go:76.28,78.3 1 3 +github.com/thebtf/engram/internal/handlers/loom/workers.go:81.2,81.43 1 51 +github.com/thebtf/engram/internal/handlers/loom/workers.go:81.43,83.3 1 15 +github.com/thebtf/engram/internal/handlers/loom/workers.go:87.2,88.21 2 36 +github.com/thebtf/engram/internal/handlers/loom/workers.go:88.21,90.3 1 3 +github.com/thebtf/engram/internal/handlers/loom/workers.go:91.2,91.22 1 36 +github.com/thebtf/engram/internal/handlers/loom/workers.go:91.22,93.3 1 3 +github.com/thebtf/engram/internal/handlers/loom/workers.go:94.2,94.23 1 36 +github.com/thebtf/engram/internal/handlers/loom/workers.go:94.23,96.3 1 3 +github.com/thebtf/engram/internal/handlers/loom/workers.go:98.2,104.20 3 36 +github.com/thebtf/engram/internal/handlers/loom/workers.go:104.20,106.3 1 3 +github.com/thebtf/engram/internal/handlers/loom/workers.go:109.2,110.29 2 36 +github.com/thebtf/engram/internal/handlers/loom/workers.go:110.29,111.31 1 44 +github.com/thebtf/engram/internal/handlers/loom/workers.go:111.31,113.4 1 3 +github.com/thebtf/engram/internal/handlers/loom/workers.go:114.3,114.29 1 41 +github.com/thebtf/engram/internal/handlers/loom/workers.go:116.2,128.16 8 33 +github.com/thebtf/engram/internal/handlers/loom/workers.go:128.16,130.23 1 15 +github.com/thebtf/engram/internal/handlers/loom/workers.go:130.23,132.4 1 6 +github.com/thebtf/engram/internal/handlers/loom/workers.go:134.3,135.31 2 9 +github.com/thebtf/engram/internal/handlers/loom/workers.go:135.31,137.20 2 6 +github.com/thebtf/engram/internal/handlers/loom/workers.go:137.20,140.5 1 3 +github.com/thebtf/engram/internal/handlers/loom/workers.go:141.4,142.34 1 3 +github.com/thebtf/engram/internal/handlers/loom/workers.go:144.3,144.72 1 3 +github.com/thebtf/engram/internal/handlers/loom/workers.go:148.2,152.8 2 18 +github.com/thebtf/engram/internal/handlers/loom/workers.go:156.49,157.32 1 54 +github.com/thebtf/engram/internal/handlers/loom/workers.go:157.32,158.16 1 57 +github.com/thebtf/engram/internal/handlers/loom/workers.go:158.16,160.4 1 51 +github.com/thebtf/engram/internal/handlers/loom/workers.go:162.2,162.14 1 3 +github.com/thebtf/engram/internal/handlers/loom/workers.go:170.59,172.2 1 75 +github.com/thebtf/engram/internal/handlers/loom/workers.go:181.54,183.14 2 1950 +github.com/thebtf/engram/internal/handlers/loom/workers.go:183.14,185.3 1 9 +github.com/thebtf/engram/internal/handlers/loom/workers.go:186.2,187.32 2 1941 +github.com/thebtf/engram/internal/handlers/loom/workers.go:187.32,189.3 1 6 +github.com/thebtf/engram/internal/handlers/loom/workers.go:190.2,192.16 3 1941 +github.com/thebtf/engram/internal/handlers/loom/workers.go:192.16,194.3 1 3 +github.com/thebtf/engram/internal/handlers/loom/workers.go:195.2,195.24 1 1938 +github.com/thebtf/engram/internal/handlers/loom/workers.go:195.24,197.3 1 3 +github.com/thebtf/engram/internal/handlers/loom/workers.go:198.2,198.25 1 1935 diff --git a/.agent/reviews/demolition-portability-r1-fresh-checker/loom-windows.cover b/.agent/reviews/demolition-portability-r1-fresh-checker/loom-windows.cover new file mode 100644 index 00000000..29c46f10 --- /dev/null +++ b/.agent/reviews/demolition-portability-r1-fresh-checker/loom-windows.cover @@ -0,0 +1,141 @@ +mode: atomic +github.com/thebtf/engram/internal/handlers/loom/events.go:25.53,26.23 1 3 +github.com/thebtf/engram/internal/handlers/loom/events.go:26.23,28.3 1 0 +github.com/thebtf/engram/internal/handlers/loom/events.go:30.2,40.16 3 3 +github.com/thebtf/engram/internal/handlers/loom/events.go:40.16,47.3 2 0 +github.com/thebtf/engram/internal/handlers/loom/events.go:52.2,52.43 1 3 +github.com/thebtf/engram/internal/handlers/loom/module.go:75.26,77.2 1 2 +github.com/thebtf/engram/internal/handlers/loom/module.go:83.50,85.2 1 23 +github.com/thebtf/engram/internal/handlers/loom/module.go:92.32,92.53 1 65 +github.com/thebtf/engram/internal/handlers/loom/module.go:101.74,106.29 4 25 +github.com/thebtf/engram/internal/handlers/loom/module.go:106.29,109.3 1 23 +github.com/thebtf/engram/internal/handlers/loom/module.go:109.8,112.17 3 2 +github.com/thebtf/engram/internal/handlers/loom/module.go:112.17,114.4 1 0 +github.com/thebtf/engram/internal/handlers/loom/module.go:117.3,122.29 2 2 +github.com/thebtf/engram/internal/handlers/loom/module.go:122.29,123.36 1 6 +github.com/thebtf/engram/internal/handlers/loom/module.go:123.36,126.5 2 0 +github.com/thebtf/engram/internal/handlers/loom/module.go:127.4,127.52 1 6 +github.com/thebtf/engram/internal/handlers/loom/module.go:127.52,130.5 2 0 +github.com/thebtf/engram/internal/handlers/loom/module.go:133.3,138.17 2 2 +github.com/thebtf/engram/internal/handlers/loom/module.go:138.17,141.4 2 0 +github.com/thebtf/engram/internal/handlers/loom/module.go:142.3,143.16 2 2 +github.com/thebtf/engram/internal/handlers/loom/module.go:146.2,154.48 3 25 +github.com/thebtf/engram/internal/handlers/loom/module.go:154.48,158.3 1 0 +github.com/thebtf/engram/internal/handlers/loom/module.go:158.8,158.18 1 25 +github.com/thebtf/engram/internal/handlers/loom/module.go:158.18,162.3 1 0 +github.com/thebtf/engram/internal/handlers/loom/module.go:169.2,171.12 2 25 +github.com/thebtf/engram/internal/handlers/loom/module.go:182.54,183.20 1 26 +github.com/thebtf/engram/internal/handlers/loom/module.go:183.20,185.3 1 26 +github.com/thebtf/engram/internal/handlers/loom/module.go:187.2,187.21 1 26 +github.com/thebtf/engram/internal/handlers/loom/module.go:187.21,188.41 1 26 +github.com/thebtf/engram/internal/handlers/loom/module.go:188.41,189.11 1 1 +github.com/thebtf/engram/internal/handlers/loom/module.go:190.22,191.17 1 0 +github.com/thebtf/engram/internal/handlers/loom/module.go:192.12,192.12 0 1 +github.com/thebtf/engram/internal/handlers/loom/module.go:194.4,196.15 3 1 +github.com/thebtf/engram/internal/handlers/loom/module.go:198.3,198.35 1 26 +github.com/thebtf/engram/internal/handlers/loom/module.go:198.35,200.4 1 0 +github.com/thebtf/engram/internal/handlers/loom/module.go:203.2,203.17 1 26 +github.com/thebtf/engram/internal/handlers/loom/module.go:203.17,205.3 1 2 +github.com/thebtf/engram/internal/handlers/loom/module.go:206.2,206.12 1 24 +github.com/thebtf/engram/internal/handlers/loom/module.go:216.61,221.2 2 1 +github.com/thebtf/engram/internal/handlers/loom/module.go:226.56,230.2 1 1 +github.com/thebtf/engram/internal/handlers/loom/module.go:238.53,239.21 1 1 +github.com/thebtf/engram/internal/handlers/loom/module.go:239.21,240.68 1 1 +github.com/thebtf/engram/internal/handlers/loom/module.go:240.68,245.4 1 0 +github.com/thebtf/engram/internal/handlers/loom/module.go:245.9,250.4 1 1 +github.com/thebtf/engram/internal/handlers/loom/module.go:252.2,252.29 1 1 +github.com/thebtf/engram/internal/handlers/loom/module.go:261.45,263.2 1 1 +github.com/thebtf/engram/internal/handlers/loom/module.go:267.42,269.2 1 0 +github.com/thebtf/engram/internal/handlers/loom/module.go:277.74,284.16 3 3 +github.com/thebtf/engram/internal/handlers/loom/module.go:284.16,286.3 1 0 +github.com/thebtf/engram/internal/handlers/loom/module.go:287.2,291.4 1 3 +github.com/thebtf/engram/internal/handlers/loom/tools.go:122.43,145.2 1 60 +github.com/thebtf/engram/internal/handlers/loom/tools.go:153.136,154.14 1 18 +github.com/thebtf/engram/internal/handlers/loom/tools.go:155.22,156.42 1 6 +github.com/thebtf/engram/internal/handlers/loom/tools.go:157.19,158.34 1 5 +github.com/thebtf/engram/internal/handlers/loom/tools.go:159.20,160.35 1 3 +github.com/thebtf/engram/internal/handlers/loom/tools.go:161.22,162.37 1 4 +github.com/thebtf/engram/internal/handlers/loom/tools.go:163.10,167.4 1 0 +github.com/thebtf/engram/internal/handlers/loom/tools.go:188.128,190.48 2 6 +github.com/thebtf/engram/internal/handlers/loom/tools.go:190.48,195.3 1 0 +github.com/thebtf/engram/internal/handlers/loom/tools.go:197.2,197.39 1 6 +github.com/thebtf/engram/internal/handlers/loom/tools.go:197.39,202.3 1 1 +github.com/thebtf/engram/internal/handlers/loom/tools.go:205.2,206.30 2 5 +github.com/thebtf/engram/internal/handlers/loom/tools.go:206.30,212.3 1 1 +github.com/thebtf/engram/internal/handlers/loom/tools.go:214.2,229.16 3 4 +github.com/thebtf/engram/internal/handlers/loom/tools.go:229.16,234.3 1 1 +github.com/thebtf/engram/internal/handlers/loom/tools.go:236.2,240.26 2 3 +github.com/thebtf/engram/internal/handlers/loom/tools.go:251.104,253.48 2 5 +github.com/thebtf/engram/internal/handlers/loom/tools.go:253.48,258.3 1 0 +github.com/thebtf/engram/internal/handlers/loom/tools.go:259.2,259.39 1 5 +github.com/thebtf/engram/internal/handlers/loom/tools.go:259.39,264.3 1 1 +github.com/thebtf/engram/internal/handlers/loom/tools.go:266.2,267.16 2 4 +github.com/thebtf/engram/internal/handlers/loom/tools.go:267.16,273.3 1 0 +github.com/thebtf/engram/internal/handlers/loom/tools.go:274.2,274.17 1 4 +github.com/thebtf/engram/internal/handlers/loom/tools.go:274.17,280.3 1 1 +github.com/thebtf/engram/internal/handlers/loom/tools.go:283.2,283.28 1 3 +github.com/thebtf/engram/internal/handlers/loom/tools.go:283.28,289.3 1 1 +github.com/thebtf/engram/internal/handlers/loom/tools.go:291.2,291.27 1 2 +github.com/thebtf/engram/internal/handlers/loom/tools.go:302.105,304.43 2 3 +github.com/thebtf/engram/internal/handlers/loom/tools.go:304.43,305.49 1 3 +github.com/thebtf/engram/internal/handlers/loom/tools.go:305.49,310.4 1 0 +github.com/thebtf/engram/internal/handlers/loom/tools.go:314.2,315.31 2 3 +github.com/thebtf/engram/internal/handlers/loom/tools.go:315.31,317.3 1 1 +github.com/thebtf/engram/internal/handlers/loom/tools.go:320.2,321.16 2 3 +github.com/thebtf/engram/internal/handlers/loom/tools.go:321.16,326.3 1 0 +github.com/thebtf/engram/internal/handlers/loom/tools.go:329.2,329.18 1 3 +github.com/thebtf/engram/internal/handlers/loom/tools.go:329.18,331.3 1 1 +github.com/thebtf/engram/internal/handlers/loom/tools.go:333.2,334.26 2 3 +github.com/thebtf/engram/internal/handlers/loom/tools.go:341.107,343.48 2 4 +github.com/thebtf/engram/internal/handlers/loom/tools.go:343.48,348.3 1 0 +github.com/thebtf/engram/internal/handlers/loom/tools.go:349.2,349.39 1 4 +github.com/thebtf/engram/internal/handlers/loom/tools.go:349.39,354.3 1 0 +github.com/thebtf/engram/internal/handlers/loom/tools.go:357.2,358.31 2 4 +github.com/thebtf/engram/internal/handlers/loom/tools.go:358.31,364.3 1 1 +github.com/thebtf/engram/internal/handlers/loom/tools.go:365.2,365.28 1 3 +github.com/thebtf/engram/internal/handlers/loom/tools.go:365.28,371.3 1 1 +github.com/thebtf/engram/internal/handlers/loom/tools.go:373.2,374.22 2 2 +github.com/thebtf/engram/internal/handlers/loom/tools.go:374.22,382.3 2 1 +github.com/thebtf/engram/internal/handlers/loom/tools.go:384.2,385.26 2 1 +github.com/thebtf/engram/internal/handlers/loom/workers.go:49.32,53.2 3 25 +github.com/thebtf/engram/internal/handlers/loom/workers.go:58.63,62.2 3 18 +github.com/thebtf/engram/internal/handlers/loom/workers.go:65.44,65.73 1 0 +github.com/thebtf/engram/internal/handlers/loom/workers.go:74.95,76.28 1 18 +github.com/thebtf/engram/internal/handlers/loom/workers.go:76.28,78.3 1 1 +github.com/thebtf/engram/internal/handlers/loom/workers.go:81.2,81.43 1 17 +github.com/thebtf/engram/internal/handlers/loom/workers.go:81.43,83.3 1 5 +github.com/thebtf/engram/internal/handlers/loom/workers.go:87.2,88.21 2 12 +github.com/thebtf/engram/internal/handlers/loom/workers.go:88.21,90.3 1 1 +github.com/thebtf/engram/internal/handlers/loom/workers.go:91.2,91.22 1 12 +github.com/thebtf/engram/internal/handlers/loom/workers.go:91.22,93.3 1 1 +github.com/thebtf/engram/internal/handlers/loom/workers.go:94.2,94.23 1 12 +github.com/thebtf/engram/internal/handlers/loom/workers.go:94.23,96.3 1 1 +github.com/thebtf/engram/internal/handlers/loom/workers.go:98.2,104.20 3 12 +github.com/thebtf/engram/internal/handlers/loom/workers.go:104.20,106.3 1 1 +github.com/thebtf/engram/internal/handlers/loom/workers.go:109.2,110.29 2 12 +github.com/thebtf/engram/internal/handlers/loom/workers.go:110.29,111.31 1 14 +github.com/thebtf/engram/internal/handlers/loom/workers.go:111.31,113.4 1 1 +github.com/thebtf/engram/internal/handlers/loom/workers.go:114.3,114.29 1 13 +github.com/thebtf/engram/internal/handlers/loom/workers.go:116.2,128.16 8 11 +github.com/thebtf/engram/internal/handlers/loom/workers.go:128.16,130.23 1 5 +github.com/thebtf/engram/internal/handlers/loom/workers.go:130.23,132.4 1 2 +github.com/thebtf/engram/internal/handlers/loom/workers.go:134.3,135.31 2 3 +github.com/thebtf/engram/internal/handlers/loom/workers.go:135.31,137.20 2 2 +github.com/thebtf/engram/internal/handlers/loom/workers.go:137.20,140.5 1 1 +github.com/thebtf/engram/internal/handlers/loom/workers.go:141.4,142.34 1 1 +github.com/thebtf/engram/internal/handlers/loom/workers.go:144.3,144.72 1 1 +github.com/thebtf/engram/internal/handlers/loom/workers.go:148.2,152.8 2 6 +github.com/thebtf/engram/internal/handlers/loom/workers.go:156.49,157.32 1 18 +github.com/thebtf/engram/internal/handlers/loom/workers.go:157.32,158.16 1 19 +github.com/thebtf/engram/internal/handlers/loom/workers.go:158.16,160.4 1 17 +github.com/thebtf/engram/internal/handlers/loom/workers.go:162.2,162.14 1 1 +github.com/thebtf/engram/internal/handlers/loom/workers.go:170.59,172.2 1 25 +github.com/thebtf/engram/internal/handlers/loom/workers.go:181.54,183.14 2 650 +github.com/thebtf/engram/internal/handlers/loom/workers.go:183.14,185.3 1 3 +github.com/thebtf/engram/internal/handlers/loom/workers.go:186.2,187.32 2 647 +github.com/thebtf/engram/internal/handlers/loom/workers.go:187.32,189.3 1 2 +github.com/thebtf/engram/internal/handlers/loom/workers.go:190.2,192.16 3 647 +github.com/thebtf/engram/internal/handlers/loom/workers.go:192.16,194.3 1 1 +github.com/thebtf/engram/internal/handlers/loom/workers.go:195.2,195.24 1 646 +github.com/thebtf/engram/internal/handlers/loom/workers.go:195.24,197.3 1 1 +github.com/thebtf/engram/internal/handlers/loom/workers.go:198.2,198.25 1 645 diff --git a/.agent/reviews/demolition-portability-r1-fresh-checker/report.md b/.agent/reviews/demolition-portability-r1-fresh-checker/report.md new file mode 100644 index 00000000..b5b7cbc2 --- /dev/null +++ b/.agent/reviews/demolition-portability-r1-fresh-checker/report.md @@ -0,0 +1,144 @@ +# DEMOLITION-PORTABILITY R1 fresh checker report + +Verdict: **ACCEPT** + +No CRITICAL or HIGH finding was found. The immutable maker is suitable for root +post-review and later synthesis. This verdict does not authorize merge, push, +tag, release, or any external mutation. + +## Immutable boundary + +- Maker HEAD: `2c88fed68e0da04b4686940b81f55579a8260919` +- Parent: `0c6269908aa810a2248f2bfaf3fca4f9f5791359` +- Tree: `56454175025fe2f599b1ac9a14b5dc8361b76453` +- Maker paths: 15, all mode `100644` +- Ordinal-LF name digest: + `996b153680df782d4247b6ef72120fba36bfc7cf3fb1015385817e1035ce700f` +- Ordinal-LF status/name digest: + `4761d8020de2f6ba49841291eca5996f7ae928559a69228c383f3ede5df71b18` +- Initial checker worktree: clean + +The only production files changed by the maker are +`internal/graph/nodes_store.go` and `internal/handlers/loom/workers.go`. +`internal/mcp/tools_memory.go` is byte-identical at base and maker +(`18ba2c5e4e798567bd4d0f9a0f62ff9fc893f2b2`). + +## Findings + +CRITICAL: none. + +HIGH: none. + +LOW — permanent dangling-Resolve coverage is weaker after the current-schema +correction. `internal/graph/dangling_test.go` now correctly proves FK rejection +and sentinel shape, but no committed test calls `Store.Resolve` with a missing +endpoint. The anti-stub comments at `internal/graph/store.go:98` and +`internal/graph/nodes_store_test.go:149` still refer to the removed T016 +acceptance test. The checker-only DB probe directly verified that current +`Resolve` returns `ErrDangling`, preserves the valid source, and returns a nil +target, so this is not a current product defect and does not block ACCEPT. + +## PostgreSQL 17 audit + +The checker created only `engram_dp_chk_0711_0715_c7e5` on PostgreSQL 17.10. + +- Graph focused tests, count=3: 18 pass events, 0 fail, 0 skip. +- T022/T022b/T022c, count=3: 9 pass events, 0 fail, 0 skip. +- Checker probe proved nil and zero-length metadata normalize to `{}` on both + Create and Update. +- Invalid JSON was rejected on Create and Update; the failed Update preserved + the previously persisted value. +- A deliberately closed-DB Create returned an error after applying the same + caller-object defaulting style already used for timestamps/privacy; metadata + was `{}`. This is observable mutation-on-error, but it is consistent with the + existing API style and is not a new independent blocker. +- Dangling insert: SQLSTATE `23503`, constraint + `knowledge_edges_target_id_fkey`, zero inserted rows. +- Live FK definition remained + `FOREIGN KEY (target_id) REFERENCES memories(id) ON DELETE CASCADE`. +- `depends_on` was accepted; stale `references` was rejected. +- Direct `Store.Resolve` of a valid source plus deleted target returned + `ErrDangling`, preserved the source, and returned nil target. +- Before drop: owned memories=0, nodes=0, edges=0, active sessions=0. +- After drop: database count=0. + +The reusable checker probe is +`.agent/reviews/demolition-portability-r1-fresh-checker/dbprobe/main.go`. + +## Loom portability and Writer contract + +Windows: + +- package repeat count=3: PASS, 86.9% statement coverage; +- race: PASS; +- JSON run: 47 pass events, 0 fail, 0 skip; +- aligned/unaligned cap crossing, post-cap discard, underlying Writer error, + zero-error short write, timeout, cancellation, stderr, empty output, + structured args/CWD/env, missing executable, allowlist, and path separators + all executed; +- parent PATH lookup remained absent and helper temp residue was zero. + +Ubuntu WSL: + +- Go `go1.25.12 linux/amd64`; +- package repeat count=3: PASS, 86.9% statement coverage; +- JSON run: 47 pass events, 0 fail, 0 skip. + +WSL emitted the nonblocking host-environment warning that it could not translate +`U:\Library\Software\Scripts\nvmdtranscoder`; the Linux test and coverage +commands still exited 0. + +Coverage profiles are preserved as `loom-windows.cover` and +`loom-linux.cover` in this checker namespace. + +## Independent Prove-It + +Go build overlays used temporary checker-only copies; product files were never +edited. + +- Parent `nodes_store.go`: both current Create and Update omitted-metadata + tests failed SQLSTATE `23502`. +- Parent `workers.go`: the direct writer test returned 5 instead of 7, and the + unaligned end-to-end test failed with `short write`. +- Both hybrid confidence filters disabled: `low beta` returned and T022 failed. +- Temporary overlays/copies were removed. +- Product blobs after Prove-It matched maker HEAD exactly, and current focused + Graph/T022/Loom replay passed. + +## Static and repository gates + +- `go build ./...`: PASS +- `go vet ./...`: PASS +- `git diff --check `: PASS +- Gitleaks 8.30.0 exact-commit scan: 1 commit, 26.34 KB, no leaks +- Added production lines matching removed-v5 graph retrieval, rerank, + composite scoring, SDK observation extraction, or server HTTP MCP transport + patterns: 0 +- `t.Skip`/`Skipf`/`SkipNow` markers in `internal/handlers/loom`: 0 + +No v5-demolished behavior was restored. + +## Broad-suite truth + +`go test -json ./... -count=1` exited 1 with 13 failed test events in two +packages and 20 skips. Owned Graph/Loom/T022 failures were zero. + +The failures were the DB pool/governance candidate tests under +`internal/db/gorm` and `TestEC_F1_TagDerivedBackfill_T007` under `internal/mcp`. +Those neighboring accepted/in-flight candidates are intentionally absent from +this isolated maker base. This is not a blanket waiver: no owned failure was +present. + +## Checker execution corrections + +1. The first status digest attempt used culture-sensitive `Sort-Object`. + Rerunning with `[StringComparer]::Ordinal` reproduced the maker digest. +2. The first overlay command passed an unevaluated PowerShell expression as a + package argument. It was rerun with an explicit absolute `-overlay` value; + the expected RED evidence then appeared. +3. The first Windows coverprofile argument created a literal `$coverage` file. + That file was removed and the gate was rerun with an explicit absolute + profile path. + +All correction residue was removed. Reusability candidates: none evaluated as +ready for extraction. diff --git a/.agent/reviews/t007-r1-fresh-checker/checker-report.md b/.agent/reviews/t007-r1-fresh-checker/checker-report.md new file mode 100644 index 00000000..c192bfa0 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/checker-report.md @@ -0,0 +1,62 @@ +# T007 R1 independent checker report + +## Verdict + +**ACCEPT_WITH_MEDIUM_AUDIT_CORRECTION.** The T007 change is a test-only correction to the current flag-off compatibility contract. There are no CRITICAL or HIGH findings, no production-code changes, and no v5-demolished behavior was restored. The single MEDIUM finding corrects the maker handoff's path-digest serialization; it does not change the validated path set or immutable maker tree. + +## Immutable maker and scope + +- Maker: `1418796e55e8b5bfbb216ffbf5a3fba9fa620922` +- Required/direct parent: `af1ed63536829916e0477be719a30a57a8d9227a` +- Maker tree: `a08b92b88d5ac5570e25f3b8ef19ad0acf1727b6` +- Maker worktree was clean before checker work began. +- Exact diff: 331 paths — one test path, 329 paths under `.agent/reports/evidence/production-ready/t007-compat/**`, and one maker report under `.agent/reports/production-ready/t007-compat-demolition-classification/**`. +- The only product/test path is `internal/mcp/store_memory_compat_t007_test.go`. There is no production-code diff. + +The maker's `5B4915A5...` digest is reproducible only with culture-aware PowerShell `Sort-Object`. The active platform digest contract uses ordinal normalized repository paths with one LF per entry. The corrected digest for the same 331-path set is: + +`1d545a9ff8ff89dcd4a7a363ab621b3e7c28d9bc67c235ba715ec30cd98c294b` + +## Semantic review + +The changed test fixes `ENGRAM_VNEXT_F_ENABLED` to off before constructing the store. The raw SQL projection independently proves that the global-tagged fixture has a non-zero durable ID and persisted `privacy_scope='global'`. `MemoryStore.List` then must return that exact row by ID and exact content. This is the correct flag-off contract because `memoryRowToModel` intentionally omits `Memory.PrivacyScope` unless `ENGRAM_VNEXT_F_ENABLED == "true"` to preserve the v6.4 response shape. + +The three test rows use a UUID-scoped project and distinct content, and are inserted in deterministic ID order. Matching `rows[0].ID` plus `rows[0].Content` cannot be satisfied by the project-tagged or untagged fixture. + +## Independent adversarial evidence + +- Original parent with flag explicitly off: expected RED, exactly one failed T007 test, zero skips, clean database teardown. +- Maker with the old `PrivacyScope` assertion restored: expected RED, exactly the T007 test failed. +- Wrong fixture-ID mutation: expected RED at the exact-content assertion. +- Raw backfill corruption (`SET privacy_scope='project'`): expected RED at the SQL `global` assertion. +- Parent with ambient flag `true`: false green reproduced, proving the old test was environment/order dependent. +- Maker reset with ambient flag `true` plus a temporary checker guard: PASS, proving the committed `t.Setenv(..., "")` overrides ambient state. +- Removing the reset while retaining the temporary checker guard: expected RED. +- Every temporary test mutation was restored from the immutable maker commit before final gates. + +## Runtime and static gates + +- Fresh PostgreSQL 17.10 focused repeat: 3/3 PASS, zero skips, zero non-zero child commands. +- Fresh PostgreSQL 17.10 race run: 1/1 PASS, zero skips, zero non-zero child commands. +- Full fresh-DB `./internal/mcp`: 488 tests, 487 PASS, one FAIL, zero skips. Both T007 tests passed. The sole failure was the already-owned `TestHybridTG3_ConfidenceMin_FloorEnforced_T022`. +- All 12 checker-run disposable databases were absent after cleanup; their session residue was also empty. +- `go build ./...`: PASS. +- `go vet ./...`: PASS. +- Maker-range and worktree `git diff --check`: PASS. +- Exact-maker-commit gitleaks: one commit scanned, zero findings. +- Synthesis-preview merge-tree with `0c6269908aa810a2248f2bfaf3fca4f9f5791359`: PASS; result tree `9421a8eae8c9579dfe6800e6d16f26840269823a`. +- Maker JSON evidence: 40/40 files parsed. + +## Findings + +### T007-R1-AUDIT-001 — MEDIUM, non-blocking + +The maker path digest used culture-aware sorting instead of ordinal sorting. This is an audit-presentation defect, not a path-set or code defect. The corrected active-contract digest is recorded above and in `verification-summary.json`. + +## Reusability candidates + +- none — evaluated; the change is a single compatibility regression-test correction, not a reusable component boundary. + +## Cleanup and handoff + +The temporary detached parent worktree was clean and removed. The checker branch contains only artifacts under `.agent/reviews/t007-r1-fresh-checker/**`; it must remain a direct child of the maker commit and is not integrated, pushed, tagged, or merged by this checker. diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/commands.json b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/commands.json new file mode 100644 index 00000000..22fbb3d5 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/commands.json @@ -0,0 +1,444 @@ +[ + { + "name": "go-version", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "version" + ], + "environment_keys": [], + "command": "C:\\Program Files\\Go\\bin\\go.exe version", + "started_at": "2026-07-11T01:00:48.3816221+00:00", + "finished_at": "2026-07-11T01:00:48.5787532+00:00", + "duration_seconds": 0.197, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\go-version.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\go-version.stderr.log" + }, + { + "name": "postgres-container-identity", + "executable": "docker", + "arguments": [ + "inspect", + "--format", + "{{.Name}}|{{.Config.Image}}|{{.Image}}|{{.State.Running}}", + "engram-prc-postgres" + ], + "environment_keys": [], + "command": "docker inspect --format {{.Name}}|{{.Config.Image}}|{{.Image}}|{{.State.Running}} engram-prc-postgres", + "started_at": "2026-07-11T01:00:48.6341383+00:00", + "finished_at": "2026-07-11T01:00:49.0403794+00:00", + "duration_seconds": 0.406, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\postgres-container-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\postgres-container-identity.stderr.log" + }, + { + "name": "postgres-server-identity", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT json_build_object('server_version', current_setting('server_version'), 'server_version_num', current_setting('server_version_num'), 'version', version(), 'max_connections', current_setting('max_connections'), 'superuser_reserved_connections', current_setting('superuser_reserved_connections'), 'reserved_connections', COALESCE(NULLIF(current_setting('reserved_connections', true), ''), '0'), 'current_connections', (SELECT count(*)::text FROM pg_stat_activity), 'database', current_database(), 'schema', current_schema(), 'user', current_user)::text;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT json_build_object('server_version', current_setting('server_version'), 'server_version_num', current_setting('server_version_num'), 'version', version(), 'max_connections', current_setting('max_connections'), 'superuser_reserved_connections', current_setting('superuser_reserved_connections'), 'reserved_connections', COALESCE(NULLIF(current_setting('reserved_connections', true), ''), '0'), 'current_connections', (SELECT count(*)::text FROM pg_stat_activity), 'database', current_database(), 'schema', current_schema(), 'user', current_user)::text;", + "started_at": "2026-07-11T01:00:49.0543190+00:00", + "finished_at": "2026-07-11T01:00:49.4268560+00:00", + "duration_seconds": 0.373, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\postgres-server-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\postgres-server-identity.stderr.log" + }, + { + "name": "repeat-1-create-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "CREATE DATABASE \"engram_prc_rg_test_77fc44a810a688de_r1\" OWNER \"engram\";" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c CREATE DATABASE \"engram_prc_rg_test_77fc44a810a688de_r1\" OWNER \"engram\";", + "started_at": "2026-07-11T01:00:49.4566898+00:00", + "finished_at": "2026-07-11T01:00:49.8436263+00:00", + "duration_seconds": 0.387, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\create-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\create-database.stderr.log" + }, + { + "name": "repeat-1-create-pgvector", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_77fc44a810a688de_r1", + "-At", + "-F", + "|", + "-c", + "CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_77fc44a810a688de_r1 -At -F | -c CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;", + "started_at": "2026-07-11T01:00:49.8490925+00:00", + "finished_at": "2026-07-11T01:00:50.2378103+00:00", + "duration_seconds": 0.389, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\create-pgvector.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\create-pgvector.stderr.log" + }, + { + "name": "repeat-1-database-identity", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_77fc44a810a688de_r1", + "-At", + "-F", + "|", + "-c", + "SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_77fc44a810a688de_r1 -At -F | -c SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;", + "started_at": "2026-07-11T01:00:50.2402573+00:00", + "finished_at": "2026-07-11T01:00:50.5774397+00:00", + "duration_seconds": 0.337, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\database-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\database-identity.stderr.log" + }, + { + "name": "repeat-1-pg-stat-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_77fc44a810a688de_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_77fc44a810a688de_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T01:00:50.5818423+00:00", + "finished_at": "2026-07-11T01:00:50.9456971+00:00", + "duration_seconds": 0.364, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\pg-stat-activity-before.stderr.log" + }, + { + "name": "repeat-1-server-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T01:00:50.9478576+00:00", + "finished_at": "2026-07-11T01:00:51.4040478+00:00", + "duration_seconds": 0.456, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\server-connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\server-connection-count-before.stderr.log" + }, + { + "name": "repeat-1-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_77fc44a810a688de_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_77fc44a810a688de_r1';", + "started_at": "2026-07-11T01:00:51.4130239+00:00", + "finished_at": "2026-07-11T01:00:51.8115954+00:00", + "duration_seconds": 0.399, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\connection-count-before.stderr.log" + }, + { + "name": "repeat-1-go-test", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "test", + "-json", + "-p", + "1", + "-parallel", + "1", + "-count=1", + "-timeout", + "30m", + "-covermode=atomic", + "-coverprofile=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\coverage.out", + "-run", + "^TestEC_F1_TagDerivedBackfill_T007$", + "./internal/mcp" + ], + "environment_keys": [ + "DATABASE_DSN", + "DATABASE_MAX_CONNS", + "ENGRAM_RELEASE_GATE_REPEAT", + "ENGRAM_RELEASE_GATE_RUN_ID", + "ENGRAM_TEST_DSN", + "TEST_DATABASE_DSN" + ], + "command": "C:\\Program Files\\Go\\bin\\go.exe test -json -p 1 -parallel 1 -count=1 -timeout 30m -covermode=atomic -coverprofile=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\coverage.out -run ^TestEC_F1_TagDerivedBackfill_T007$ ./internal/mcp", + "started_at": "2026-07-11T01:00:51.8181080+00:00", + "finished_at": "2026-07-11T01:00:58.7988155+00:00", + "duration_seconds": 6.981, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\go-test.stdout.jsonl", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\go-test.stderr.log" + }, + { + "name": "repeat-1-assert-go-test-json", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\assert-go-test-json.ps1", + "-InputPath", + ".agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\go-test.stdout.jsonl", + "-SummaryPath", + ".agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\go-test-summary.json", + "-FailOnUnexpectedSkip" + ], + "environment_keys": [], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\assert-go-test-json.ps1 -InputPath .agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\go-test.stdout.jsonl -SummaryPath .agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\go-test-summary.json -FailOnUnexpectedSkip", + "started_at": "2026-07-11T01:00:58.8038441+00:00", + "finished_at": "2026-07-11T01:00:59.5609171+00:00", + "duration_seconds": 0.757, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\assert-go-test-json.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\assert-go-test-json.stderr.log" + }, + { + "name": "repeat-1-targeted-coverage-report", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "tool", + "cover", + "-func=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\coverage.out" + ], + "environment_keys": [], + "command": "C:\\Program Files\\Go\\bin\\go.exe tool cover -func=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\coverage.out", + "started_at": "2026-07-11T01:00:59.5658583+00:00", + "finished_at": "2026-07-11T01:00:59.9981375+00:00", + "duration_seconds": 0.432, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\targeted-coverage.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\targeted-coverage.stderr.log" + }, + { + "name": "repeat-1-pg-stat-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_77fc44a810a688de_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_77fc44a810a688de_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T01:00:59.9990698+00:00", + "finished_at": "2026-07-11T01:01:00.3512073+00:00", + "duration_seconds": 0.352, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\pg-stat-activity-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\pg-stat-activity-after.stderr.log" + }, + { + "name": "repeat-1-server-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T01:01:00.3532841+00:00", + "finished_at": "2026-07-11T01:01:00.7020870+00:00", + "duration_seconds": 0.349, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\server-connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\server-connection-count-after.stderr.log" + }, + { + "name": "repeat-1-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_77fc44a810a688de_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_77fc44a810a688de_r1';", + "started_at": "2026-07-11T01:01:00.7040964+00:00", + "finished_at": "2026-07-11T01:01:01.0440872+00:00", + "duration_seconds": 0.34, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\connection-count-after.stderr.log" + }, + { + "name": "repeat-1-cleanup", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\cleanup-db-sessions.ps1", + "-DatabaseName", + "engram_prc_rg_test_77fc44a810a688de_r1", + "-SchemaName", + "public", + "-ArtifactRoot", + ".agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01", + "-RunId", + "challenge-ambient-true-overridden-repeat-1", + "-PostgresContainer", + "engram-prc-postgres" + ], + "environment_keys": [ + "ENGRAM_TEST_ADMIN_DSN" + ], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\cleanup-db-sessions.ps1 -DatabaseName engram_prc_rg_test_77fc44a810a688de_r1 -SchemaName public -ArtifactRoot .agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01 -RunId challenge-ambient-true-overridden-repeat-1 -PostgresContainer engram-prc-postgres", + "started_at": "2026-07-11T01:01:01.0476979+00:00", + "finished_at": "2026-07-11T01:01:03.7025838+00:00", + "duration_seconds": 2.655, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\cleanup-process.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\cleanup-process.stderr.log" + } +] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/environment.json b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/environment.json new file mode 100644 index 00000000..e51c672a --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/environment.json @@ -0,0 +1,52 @@ +{ + "schema_version": 1, + "run_id": "challenge-ambient-true-overridden", + "timestamp": "2026-07-11T01:00:48.3644235+00:00", + "go_version": "go version go1.25.11 windows/amd64", + "postgres": { + "declared_image": "pgvector/pgvector:pg17", + "container": { + "name": "/engram-prc-postgres", + "configured_image": "pgvector/pgvector:pg17", + "image_id": "sha256:feb68f4f15446397d8cac7f4fe48fe4586de83160d1fc48b46283312d1a33966", + "running": true + }, + "server": { + "server_version": "17.10 (Debian 17.10-1.pgdg12+1)", + "server_version_num": "170010", + "version": "PostgreSQL 17.10 (Debian 17.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit", + "max_connections": "100", + "superuser_reserved_connections": "3", + "reserved_connections": "0", + "current_connections": "6", + "database": "postgres", + "schema": "public", + "user": "engram" + }, + "admin_dsn": "postgresql://engram:REDACTED@127.0.0.1:55432/postgres?sslmode=disable" + }, + "packages": [ + "./internal/mcp" + ], + "run_pattern": "^TestEC_F1_TagDerivedBackfill_T007$", + "repeat": 1, + "fail_on_unexpected_skip": true, + "allowed_skip_identities": [], + "coverage_policy": "Targeted", + "connection_budget": 20, + "race": false, + "require_session_start_execution": false, + "required_session_start_test_count": 12, + "sequential_execution": { + "go_package_parallelism": 1, + "go_test_parallelism": 1, + "database_max_connections": 20 + }, + "govulncheck_policy": { + "authoritative": [ + "source scan with tests", + "unstripped binary scan" + ], + "non_authoritative": "stripped binary scan (module-level fallback when symbols are absent)" + } +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/go-version.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/go-version.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/go-version.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/go-version.stdout.log new file mode 100644 index 00000000..a857be3f --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/go-version.stdout.log @@ -0,0 +1 @@ +go version go1.25.11 windows/amd64 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/postgres-container-identity.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/postgres-container-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/postgres-container-identity.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/postgres-container-identity.stdout.log new file mode 100644 index 00000000..c110d492 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/postgres-container-identity.stdout.log @@ -0,0 +1 @@ +/engram-prc-postgres|pgvector/pgvector:pg17|sha256:feb68f4f15446397d8cac7f4fe48fe4586de83160d1fc48b46283312d1a33966|true diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/postgres-server-identity.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/postgres-server-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/postgres-server-identity.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/postgres-server-identity.stdout.log new file mode 100644 index 00000000..2e33d56e --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/postgres-server-identity.stdout.log @@ -0,0 +1 @@ +{"server_version" : "17.10 (Debian 17.10-1.pgdg12+1)", "server_version_num" : "170010", "version" : "PostgreSQL 17.10 (Debian 17.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit", "max_connections" : "100", "superuser_reserved_connections" : "3", "reserved_connections" : "0", "current_connections" : "6", "database" : "postgres", "schema" : "public", "user" : "engram"} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/assert-go-test-json.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/assert-go-test-json.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/assert-go-test-json.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/assert-go-test-json.stdout.log new file mode 100644 index 00000000..0f86ddf2 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/assert-go-test-json.stdout.log @@ -0,0 +1,2 @@ +go test JSON verdict=PASS packages=1 tests=1 passed=1 failed=0 skipped=0 unexpected_skips=0 malformed=0 +summary=D:\Dev\engram\.w\t007-r1-checker\.agent\reviews\t007-r1-fresh-checker\evidence\challenge-ambient-true-overridden\repeat-01\go-test-summary.json diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/cleanup-process.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/cleanup-process.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/cleanup-process.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/cleanup-process.stdout.log new file mode 100644 index 00000000..176a9626 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/cleanup-process.stdout.log @@ -0,0 +1,2 @@ +cleanup verdict=PASS database=engram_prc_rg_test_77fc44a810a688de_r1 schema=public terminated_sessions=0 remaining_database_count=0 +summary=D:\Dev\engram\.w\t007-r1-checker\.agent\reviews\t007-r1-fresh-checker\evidence\challenge-ambient-true-overridden\repeat-01\cleanup\cleanup.json diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/cleanup/cleanup.json b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/cleanup/cleanup.json new file mode 100644 index 00000000..7ff365d2 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/cleanup/cleanup.json @@ -0,0 +1,170 @@ +{ + "schema_version": 1, + "run_id": "challenge-ambient-true-overridden-repeat-1", + "timestamp": "2026-07-11T01:01:03.6176350+00:00", + "verdict": "PASS", + "database": "engram_prc_rg_test_77fc44a810a688de_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_77fc44a810a688de_r1.public", + "admin_dsn": "postgresql://engram:REDACTED@127.0.0.1:55432/postgres?sslmode=disable", + "postgres_container": "engram-prc-postgres", + "cleanup_status": "PASS", + "cleanup_attempted": true, + "database_existed_before": true, + "absence_verified": true, + "terminated_sessions": 0, + "remaining_database_count": 0, + "commands": [ + { + "name": "database-exists-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_77fc44a810a688de_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_77fc44a810a688de_r1';", + "started_at": "2026-07-11T01:01:01.5398125+00:00", + "finished_at": "2026-07-11T01:01:01.9275317+00:00", + "duration_seconds": 0.388, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\cleanup\\database-exists-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\cleanup\\database-exists-before.stderr.log" + }, + { + "name": "pg-stat-activity-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_77fc44a810a688de_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_77fc44a810a688de_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T01:01:01.9868033+00:00", + "finished_at": "2026-07-11T01:01:02.3867394+00:00", + "duration_seconds": 0.4, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\cleanup\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\cleanup\\pg-stat-activity-before.stderr.log" + }, + { + "name": "terminate-database-sessions", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_77fc44a810a688de_r1' AND pid <> pg_backend_pid() ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_77fc44a810a688de_r1' AND pid <> pg_backend_pid() ORDER BY pid) AS s;", + "started_at": "2026-07-11T01:01:02.3921368+00:00", + "finished_at": "2026-07-11T01:01:02.8168992+00:00", + "duration_seconds": 0.425, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\cleanup\\terminate-sessions.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\cleanup\\terminate-sessions.stderr.log" + }, + { + "name": "drop-fresh-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "DROP DATABASE IF EXISTS \"engram_prc_rg_test_77fc44a810a688de_r1\" WITH (FORCE);" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c DROP DATABASE IF EXISTS \"engram_prc_rg_test_77fc44a810a688de_r1\" WITH (FORCE);", + "started_at": "2026-07-11T01:01:02.8249531+00:00", + "finished_at": "2026-07-11T01:01:03.2748708+00:00", + "duration_seconds": 0.45, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\cleanup\\drop-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\cleanup\\drop-database.stderr.log" + }, + { + "name": "verify-database-absent", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_77fc44a810a688de_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_77fc44a810a688de_r1';", + "started_at": "2026-07-11T01:01:03.2787805+00:00", + "finished_at": "2026-07-11T01:01:03.6114724+00:00", + "duration_seconds": 0.333, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\cleanup\\verify-database-absent.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\cleanup\\verify-database-absent.stderr.log" + } + ], + "errors": [] +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/cleanup/database-exists-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/cleanup/database-exists-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/cleanup/database-exists-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/cleanup/database-exists-before.stdout.log new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/cleanup/database-exists-before.stdout.log @@ -0,0 +1 @@ +1 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/cleanup/drop-database.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/cleanup/drop-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/cleanup/drop-database.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/cleanup/drop-database.stdout.log new file mode 100644 index 00000000..ca12dce0 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/cleanup/drop-database.stdout.log @@ -0,0 +1 @@ +DROP DATABASE diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/cleanup/pg-stat-activity-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/cleanup/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/cleanup/pg-stat-activity-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/cleanup/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/cleanup/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/cleanup/terminate-sessions.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/cleanup/terminate-sessions.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/cleanup/terminate-sessions.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/cleanup/terminate-sessions.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/cleanup/terminate-sessions.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/cleanup/verify-database-absent.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/cleanup/verify-database-absent.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/cleanup/verify-database-absent.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/cleanup/verify-database-absent.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/cleanup/verify-database-absent.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/connection-count-after.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/connection-count-after.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/connection-count-after.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/connection-count-after.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/connection-count-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/connection-count-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/connection-count-before.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/connection-count-before.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/coverage.out b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/coverage.out new file mode 100644 index 00000000..52335d8a --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/coverage.out @@ -0,0 +1,3472 @@ +mode: atomic +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33.53,34.30 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:34.30,36.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.2,37.25 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.25,39.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:40.2,40.12 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44.28,46.2 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52.83,53.12 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:53.12,54.16 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:54.16,55.32 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:55.32,61.5 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:63.3,65.33 3 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:65.33,71.4 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77.54,78.14 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:78.14,80.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:81.2,82.16 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:82.16,85.3 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:86.2,87.13 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92.91,93.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:93.23,95.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:96.2,97.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:97.15,99.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:100.2,105.65 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:105.65,113.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117.95,118.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:118.23,120.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:121.2,122.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:122.15,124.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:125.2,129.65 5 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:129.65,138.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142.87,143.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:143.23,145.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:146.2,147.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:150.2,153.65 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:153.65,161.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166.96,167.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:167.23,169.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:170.2,171.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:171.15,173.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:174.2,177.63 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:177.63,185.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189.97,190.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:190.23,192.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:193.2,194.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:194.15,196.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:197.2,200.68 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:200.68,208.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:30.62,31.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:31.20,33.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:34.2,35.49 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:35.49,37.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:38.2,38.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:38.14,40.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:41.2,41.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:46.52,47.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:47.14,49.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:50.2,50.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:51.14,52.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:53.19,54.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:55.15,56.45 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:57.12,58.31 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:59.10,60.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:67.43,68.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:68.14,70.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:71.2,71.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:72.15,73.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:74.19,75.38 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:75.38,77.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:78.3,78.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:78.40,80.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:81.3,81.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:82.14,83.56 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:83.56,85.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:86.3,86.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:86.54,88.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:89.3,89.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:90.10,91.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:97.49,98.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:98.14,100.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:101.2,101.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:102.15,103.18 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:104.19,105.38 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:105.38,107.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:108.3,108.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:108.40,110.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:111.3,111.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:112.14,113.56 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:113.56,115.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:116.3,116.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:116.54,118.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:119.3,119.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:120.10,121.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:127.55,128.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:128.14,130.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:131.2,131.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:132.15,133.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:134.19,135.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:135.40,137.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:138.3,138.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:139.14,140.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:140.54,142.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:143.3,143.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:144.10,145.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:151.46,152.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:152.14,154.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:155.2,155.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:156.12,157.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:158.14,159.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:159.54,161.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:162.3,162.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:163.15,164.16 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:165.19,166.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:166.40,168.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:169.3,169.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:170.10,171.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:177.40,178.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:178.14,180.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:181.2,181.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:182.13,184.26 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:184.26,185.36 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:185.36,187.5 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:189.3,189.16 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:190.16,191.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:192.14,193.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:193.14,195.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:196.3,196.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:197.10,198.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:204.38,205.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:205.14,207.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:208.2,209.9 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:209.9,211.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:212.2,213.27 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:213.27,214.42 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:214.42,216.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:218.2,218.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:222.32,223.39 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:223.39,225.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:226.2,226.30 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:226.30,228.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:229.2,229.30 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:229.30,231.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:232.2,232.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:236.35,237.28 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:237.28,239.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.2,240.28 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.28,242.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:243.2,243.15 1 0 +github.com/thebtf/engram/internal/mcp/context.go:17.55,19.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:22.78,24.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:29.78,31.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:35.53,38.2 2 0 +github.com/thebtf/engram/internal/mcp/context.go:41.80,43.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:48.80,50.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:54.53,57.2 2 0 +github.com/thebtf/engram/internal/mcp/context.go:61.51,62.43 1 0 +github.com/thebtf/engram/internal/mcp/context.go:62.43,64.3 1 0 +github.com/thebtf/engram/internal/mcp/context.go:65.2,65.16 1 0 +github.com/thebtf/engram/internal/mcp/health.go:22.32,26.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:29.37,33.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:36.35,40.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:42.44,45.25 3 0 +github.com/thebtf/engram/internal/mcp/health.go:45.25,47.50 1 0 +github.com/thebtf/engram/internal/mcp/health.go:47.50,50.4 2 0 +github.com/thebtf/engram/internal/mcp/health.go:55.74,60.16 5 0 +github.com/thebtf/engram/internal/mcp/health.go:60.16,62.3 1 0 +github.com/thebtf/engram/internal/mcp/health.go:63.2,71.4 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28.42,29.65 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:29.65,32.3 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.2,33.40 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.40,35.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:36.2,36.14 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39.120,40.69 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:40.69,42.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:43.2,44.19 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:44.19,46.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:47.2,48.17 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:48.17,50.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:51.2,52.59 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:52.59,54.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:55.2,56.20 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:56.20,58.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:59.2,60.17 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:60.17,62.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:63.2,64.21 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:64.21,66.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:67.2,68.22 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:68.22,70.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:71.2,72.23 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:76.2,98.19 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:98.19,100.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:101.2,101.66 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104.52,106.29 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:106.29,108.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:109.2,110.46 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113.113,123.27 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:123.27,125.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:130.2,130.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:127.44,138.2 1 1 +github.com/thebtf/engram/internal/mcp/server.go:141.64,143.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:146.78,148.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:151.53,153.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:156.55,158.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:161.58,163.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:166.62,168.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:171.50,173.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:176.78,178.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:181.74,183.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:186.71,189.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:191.85,193.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:195.61,197.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:199.49,201.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:204.54,206.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:211.53,213.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:216.53,218.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:222.61,224.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:228.59,230.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:234.51,236.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:240.52,242.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:246.55,248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:252.82,254.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:260.70,262.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:269.68,271.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:274.87,277.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:282.60,284.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:290.45,292.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:297.77,299.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:303.37,313.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:313.38,315.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:316.2,317.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:317.9,319.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:320.2,321.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:321.9,323.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:324.2,325.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:325.9,327.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:328.2,328.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:332.35,334.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:383.49,387.12 3 0 +github.com/thebtf/engram/internal/mcp/server.go:387.12,388.22 1 0 +github.com/thebtf/engram/internal/mcp/server.go:388.22,389.11 1 0 +github.com/thebtf/engram/internal/mcp/server.go:390.22,392.11 2 0 +github.com/thebtf/engram/internal/mcp/server.go:393.12,393.12 0 0 +github.com/thebtf/engram/internal/mcp/server.go:396.4,397.18 2 0 +github.com/thebtf/engram/internal/mcp/server.go:397.18,398.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:401.4,402.61 2 0 +github.com/thebtf/engram/internal/mcp/server.go:402.61,404.13 2 0 +github.com/thebtf/engram/internal/mcp/server.go:407.4,407.55 1 0 +github.com/thebtf/engram/internal/mcp/server.go:407.55,409.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:411.3,411.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:414.2,414.9 1 0 +github.com/thebtf/engram/internal/mcp/server.go:415.20,416.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:417.25,418.17 1 0 +github.com/thebtf/engram/internal/mcp/server.go:418.17,420.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:421.3,421.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:427.77,428.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:428.19,431.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:433.2,433.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:434.20,435.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:436.20,437.32 1 0 +github.com/thebtf/engram/internal/mcp/server.go:438.20,439.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:443.24,444.93 1 0 +github.com/thebtf/engram/internal/mcp/server.go:445.34,446.101 1 0 +github.com/thebtf/engram/internal/mcp/server.go:447.22,448.91 1 0 +github.com/thebtf/engram/internal/mcp/server.go:449.29,450.120 1 0 +github.com/thebtf/engram/internal/mcp/server.go:451.10,456.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:461.51,462.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:463.50,464.70 1 0 +github.com/thebtf/engram/internal/mcp/server.go:465.46,466.79 1 0 +github.com/thebtf/engram/internal/mcp/server.go:467.10,468.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:473.59,485.63 2 0 +github.com/thebtf/engram/internal/mcp/server.go:485.63,487.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:489.2,493.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:496.45,503.33 3 0 +github.com/thebtf/engram/internal/mcp/server.go:503.33,505.57 2 0 +github.com/thebtf/engram/internal/mcp/server.go:505.57,506.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:506.76,507.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.4,509.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.18,511.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:511.10,513.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:514.4,518.11 5 0 +github.com/thebtf/engram/internal/mcp/server.go:522.2,522.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:660.29,683.21 2 0 +github.com/thebtf/engram/internal/mcp/server.go:683.21,689.3 5 0 +github.com/thebtf/engram/internal/mcp/server.go:690.2,699.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:712.30,765.49 3 0 +github.com/thebtf/engram/internal/mcp/server.go:765.49,789.3 5 0 +github.com/thebtf/engram/internal/mcp/server.go:790.2,799.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:805.40,936.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:942.58,1048.35 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1048.35,1077.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.2,1080.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.33,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.2,1093.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.26,1123.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1124.2,1124.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1124.80,1126.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1127.2,1127.55 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1127.55,1129.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1130.2,1130.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1130.38,1132.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1134.2,1134.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1134.25,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1138.2,1138.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1138.33,1140.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1141.2,1141.69 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1141.69,1143.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1144.2,1144.75 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1144.75,1146.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1148.2,1148.27 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1148.27,1165.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.2,1168.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.76,1191.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1195.2,1195.48 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1195.48,1197.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.2,1201.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.47,1203.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.2,1205.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.38,1207.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1212.2,1212.21 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1212.21,1214.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1228.2,1228.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1228.51,1230.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1233.2,1233.56 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1233.56,1235.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1238.2,1238.71 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1238.71,1298.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1302.2,1302.104 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1302.104,1321.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1324.2,1324.72 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1324.72,1333.154 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1333.154,1334.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1334.26,1336.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1337.7,1337.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1338.35,1340.26 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1340.26,1342.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1343.7,1343.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1371.2,1371.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1371.26,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1393.2,1393.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1393.28,1443.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.2,1446.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.28,1478.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.2,1481.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.37,1561.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1564.2,1568.23 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1568.23,1570.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1572.2,1588.57 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1588.57,1591.29 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1591.29,1593.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1594.3,1594.27 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1594.27,1595.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1595.29,1597.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1601.2,1607.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1612.79,1614.60 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1614.60,1620.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1622.2,1623.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1623.16,1631.3 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1633.2,1641.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1644.69,1645.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1645.34,1647.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1648.2,1649.22 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1649.22,1651.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1652.2,1652.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1656.99,1658.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1659.16,1660.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1661.15,1662.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1663.18,1664.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1665.15,1666.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1667.18,1668.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1669.14,1670.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1671.15,1672.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1676.2,1676.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1677.35,1678.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1679.26,1680.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1681.20,1682.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1683.20,1684.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1685.16,1686.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1687.29,1688.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1689.33,1690.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1691.25,1692.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1693.23,1694.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1696.26,1697.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1698.24,1699.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1700.22,1701.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1702.25,1703.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1704.27,1705.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1706.25,1707.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1709.30,1710.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1711.28,1712.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1713.17,1714.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1715.20,1716.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1717.20,1718.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1719.20,1720.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1722.20,1723.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1724.18,1725.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1726.20,1727.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1728.18,1729.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1730.21,1731.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1732.21,1733.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1734.26,1735.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1736.25,1737.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1738.26,1739.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1740.24,1741.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1742.26,1743.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1744.27,1745.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1746.22,1747.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1748.19,1749.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1750.15,1751.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1752.16,1753.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1755.21,1756.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1757.19,1758.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1759.20,1760.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1761.22,1762.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1763.22,1764.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1765.23,1766.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1767.20,1768.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1769.32,1770.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1771.19,1772.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1773.19,1774.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1775.33,1776.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1777.35,1778.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1779.24,1780.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1781.32,1782.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1783.28,1784.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1785.21,1786.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1787.34,1788.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1789.25,1790.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1791.29,1792.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1793.26,1794.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1795.27,1796.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1798.25,1799.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1800.23,1801.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1802.27,1803.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1804.26,1805.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1806.29,1807.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1809.29,1810.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1811.27,1812.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1813.30,1814.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1815.38,1816.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1817.36,1818.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1820.24,1821.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1822.27,1823.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1824.22,1825.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1826.32,1827.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1828.32,1829.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1830.31,1831.48 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1832.35,1833.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1834.36,1835.53 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1836.36,1837.53 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1838.38,1839.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1840.34,1841.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1843.22,1844.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1845.21,1846.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1847.24,1848.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1850.25,1851.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1852.25,1853.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1859.2,1859.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1860.22,1863.131 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1866.51,1867.123 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1868.10,1869.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1874.47,1876.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1876.16,1879.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1880.2,1880.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1884.72,1890.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1896.105,1898.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1898.16,1900.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1902.2,1903.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1903.17,1905.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1907.2,1908.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1908.17,1910.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1912.2,1918.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1918.16,1920.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1921.2,1921.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1927.76,1933.15 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1933.15,1936.17 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1936.17,1938.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1939.3,1939.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1943.2,1950.36 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1950.36,1952.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1952.8,1955.29 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1955.29,1958.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1959.3,1962.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.2,1966.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.20,1977.20 6 0 +github.com/thebtf/engram/internal/mcp/server.go:1977.20,1979.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.3,1980.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.20,1982.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.3,1985.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.37,1987.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1987.30,1988.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1988.16,1990.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1990.11,1992.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1994.4,1995.56 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1995.56,1997.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1998.4,2003.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.2,2008.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.29,2009.63 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2009.63,2011.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2011.9,2013.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.2,2021.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.29,2029.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2029.38,2031.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2031.9,2033.31 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2033.31,2035.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2035.30,2037.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2039.4,2042.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2046.2,2047.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2047.16,2049.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2050.2,2050.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2055.57,2056.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2056.33,2058.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2059.2,2060.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2060.16,2062.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2063.2,2064.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2064.16,2066.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2067.2,2067.23 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2071.79,2105.15 6 0 +github.com/thebtf/engram/internal/mcp/server.go:2105.15,2107.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2107.17,2111.4 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2111.9,2112.17 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2112.17,2114.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2115.4,2117.26 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2117.26,2119.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2119.10,2121.29 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2121.29,2123.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2125.4,2129.25 5 0 +github.com/thebtf/engram/internal/mcp/server.go:2130.19,2130.19 0 0 +github.com/thebtf/engram/internal/mcp/server.go:2132.20,2134.106 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2135.12,2137.103 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2140.8,2143.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2144.2,2150.49 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2150.49,2152.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2152.8,2154.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2155.2,2168.27 4 0 +github.com/thebtf/engram/internal/mcp/server.go:2168.27,2170.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2170.17,2173.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2173.9,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2177.2,2182.40 4 0 +github.com/thebtf/engram/internal/mcp/server.go:2182.40,2183.21 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2184.20,2185.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2186.19,2187.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.2,2191.24 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.24,2193.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.8,2193.30 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.30,2195.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.2,2198.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.28,2200.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.2,2203.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.29,2205.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2207.2,2208.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2208.16,2210.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2211.2,2211.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2216.103,2218.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2218.16,2220.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2222.2,2223.15 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2223.15,2225.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2227.2,2239.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2239.16,2241.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2242.2,2242.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2246.93,2248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2251.91,2253.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:18.28,29.20 4 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:29.20,33.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:35.2,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:68.36,69.49 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:69.49,74.3 4 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:75.2,75.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:80.26,82.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:84.89,86.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:89.2,90.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:90.18,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:94.2,94.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:95.15,96.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:97.26,98.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:99.25,100.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:101.23,105.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:105.22,107.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:108.3,108.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:109.10,110.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:120.92,126.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:126.26,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:130.2,131.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:131.19,133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:134.2,135.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:135.19,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.2,138.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.24,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.2,142.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.25,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:146.2,147.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:151.2,151.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27.40,30.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32.30,46.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48.99,49.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:49.34,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.2,52.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.69,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:56.2,57.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:60.2,61.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:61.21,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:64.2,67.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:67.26,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:70.2,71.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:71.25,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:75.2,77.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:77.44,79.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.2,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.33,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:83.2,83.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86.52,87.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:87.16,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.2,90.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.15,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:93.2,93.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96.73,97.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:97.21,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:100.2,101.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:101.29,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:111.2,111.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114.34,116.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:31.98,32.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:32.52,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.2,35.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.26,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:39.2,40.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:40.49,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.2,43.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.21,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.2,46.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.21,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.2,49.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.18,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.2,52.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.18,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.2,56.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.38,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:60.2,61.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:61.16,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:68.2,70.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:70.26,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:79.2,81.36 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:81.36,84.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:86.2,89.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:89.28,90.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:90.39,91.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:93.3,97.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:100.2,104.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:107.60,113.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:115.101,116.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:116.38,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:120.2,122.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:122.21,123.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:123.26,125.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.3,126.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.23,128.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:129.8,130.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:130.26,132.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.3,133.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.68,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:137.2,140.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:141.17,142.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:143.67,143.67 0 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:144.10,145.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:148.2,162.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:162.16,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.2,165.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.2,174.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.30,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.2,177.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.31,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:181.2,182.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:182.36,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:198.2,199.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:199.19,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:202.2,203.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:203.18,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:206.2,207.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:207.21,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:210.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:211.25,213.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:214.2,225.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:225.21,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.25,230.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.2,231.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.18,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:235.2,244.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:244.21,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.2,247.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.25,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.2,250.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.18,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.2,253.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:256.2,256.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:259.50,261.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:261.22,263.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:264.2,264.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:270.90,272.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:272.42,276.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:277.2,281.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:281.27,282.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:282.45,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:286.2,286.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25.28,88.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95.95,96.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:96.22,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:99.2,100.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:100.32,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:104.2,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:109.2,114.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:114.35,121.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.2,123.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.25,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:127.2,134.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:138.2,146.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154.94,155.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:155.22,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:158.2,159.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:159.32,161.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:163.2,164.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:164.16,166.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:168.2,172.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:172.35,179.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.2,181.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.25,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:185.2,192.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:192.16,194.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:196.2,203.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211.97,212.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:212.22,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:215.2,216.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:216.32,218.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:220.2,221.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:221.16,223.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:225.2,229.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:229.35,236.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.2,238.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.25,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:242.2,249.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:249.16,251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:253.2,260.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31.80,32.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:32.14,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:35.2,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51.136,53.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:53.51,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:56.2,56.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59.94,60.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:60.21,62.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:63.2,63.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68.30,162.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165.98,166.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:166.49,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:169.2,170.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:170.16,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:173.2,174.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:174.19,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:177.2,179.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:179.17,181.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:188.2,189.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:189.31,190.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:190.15,191.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:193.3,193.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:196.2,201.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:201.16,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:204.2,204.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208.96,209.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:209.49,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:212.2,213.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:213.16,215.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:216.2,217.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:217.13,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.2,225.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.22,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:229.2,230.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:230.16,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:233.2,233.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239.100,240.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:240.22,242.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:243.2,244.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:244.16,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:247.2,248.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:248.13,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:255.2,256.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:256.12,263.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:263.30,264.77 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:264.77,269.5 4 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:271.3,272.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:272.21,274.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:275.3,275.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.2,279.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.29,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:284.2,285.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:285.16,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.2,288.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.22,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.2,291.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.55,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.2,294.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.74,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:297.2,298.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:298.16,300.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:306.2,307.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:307.41,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:310.2,324.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:324.16,325.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:325.50,327.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:328.3,328.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.2,330.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.38,332.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:334.2,341.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:341.16,343.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:344.2,344.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348.99,349.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:349.49,351.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:352.2,353.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:353.16,355.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:356.2,357.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:357.13,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:360.2,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.2,365.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.22,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.2,368.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.74,370.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:371.2,372.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:372.16,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.2,375.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.85,377.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:379.2,380.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:380.16,381.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:381.50,383.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:384.3,384.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.2,386.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.20,388.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:390.2,395.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:395.16,397.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:398.2,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402.102,403.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:403.49,405.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:406.2,407.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:407.16,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:410.2,411.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:411.13,413.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:414.2,415.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:415.16,417.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.2,418.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.22,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.2,421.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.74,423.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:424.2,425.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:425.16,427.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.2,428.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.88,430.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:432.2,433.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:433.16,434.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:434.50,436.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:437.3,437.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.2,439.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.20,441.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:443.2,448.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:448.16,450.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:451.2,451.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34.30,36.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42.61,44.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48.32,75.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79.32,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100.98,101.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:101.25,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.2,104.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.29,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:108.2,113.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:113.17,114.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:114.55,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.2,118.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.24,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.2,121.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.23,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.2,124.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.23,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:134.2,135.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:135.21,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:142.2,147.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:154.2,165.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:165.25,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:177.2,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:186.2,186.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194.98,195.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:195.25,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.2,198.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.29,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:202.2,205.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:205.17,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:208.2,209.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:209.21,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:213.2,214.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:214.16,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:217.2,218.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:218.16,220.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:226.2,231.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:231.11,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:21.52,22.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:22.24,25.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:25.28,27.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:29.2,29.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:35.72,37.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:37.15,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:45.2,45.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:49.99,51.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:51.16,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:55.2,56.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:56.16,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:60.2,72.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.2,75.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.24,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.2,78.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.24,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:81.2,81.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:82.27,82.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:84.10,85.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.2,87.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.30,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.2,90.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.26,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:104.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:116.2,123.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:126.2,126.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:130.97,132.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:132.16,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:136.2,137.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:141.2,147.23 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:147.23,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.2,150.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.26,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:154.2,155.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:155.16,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:160.16,161.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:161.47,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:164.3,164.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.2,167.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.97,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:174.2,175.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:175.16,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:179.2,185.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:185.16,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:188.2,188.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:192.99,194.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:194.16,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:198.2,199.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:199.16,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:203.2,207.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:207.26,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:211.2,212.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:212.16,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:216.2,223.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:223.26,229.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:229.28,231.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:232.3,232.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:243.100,245.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:245.16,247.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:249.2,250.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:250.16,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:254.2,262.23 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:262.23,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.2,265.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.24,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:268.2,268.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:269.27,269.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:271.10,272.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.2,274.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.30,276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.2,277.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.26,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.2,281.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.71,282.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:282.47,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:285.3,285.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:288.2,293.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:293.16,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:296.2,296.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:302.92,309.19 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:309.19,310.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:310.53,313.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:316.2,317.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:317.51,318.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:318.66,320.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:323.2,331.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:331.16,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:334.2,334.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:338.46,342.32 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:342.32,343.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:343.20,346.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:348.2,350.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:350.26,352.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:352.27,353.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:353.13,355.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:356.4,356.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:358.3,358.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:360.2,360.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:16.45,18.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:20.35,36.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:38.84,39.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:39.40,41.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.2,42.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.50,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:45.2,45.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:48.101,50.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:50.16,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:53.2,54.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:57.2,58.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:58.19,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:61.2,62.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:62.21,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:65.2,66.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:66.16,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:69.2,69.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:72.102,74.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:77.2,82.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10.100,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:22.16,23.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:24.14,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:26.14,27.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:28.17,29.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:30.17,31.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:32.21,33.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:34.19,35.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:36.17,37.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:38.16,39.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:40.16,41.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:42.21,43.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:44.10,45.167 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:15.77,16.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:16.33,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:20.2,21.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:21.27,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:25.2,26.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:26.28,29.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:29.17,31.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:34.2,41.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:41.32,46.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:46.20,48.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:49.3,49.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:61.97,62.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:62.28,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:71.2,75.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:75.29,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:79.2,80.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:80.16,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.2,84.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.20,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:88.2,97.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:97.25,103.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:103.20,105.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.3,106.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.19,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:109.3,109.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:112.2,113.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:113.16,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:117.2,117.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:121.95,122.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:122.28,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:131.2,137.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:137.50,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:141.2,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.2,145.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.16,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.2,149.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.21,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:153.2,154.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:154.16,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.2,157.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.20,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:161.2,161.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:165.98,166.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:166.28,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:170.2,171.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:171.16,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:175.2,181.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:181.50,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.2,185.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.96,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:189.2,189.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:197.98,198.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:198.28,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:207.2,217.74 6 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:217.74,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:222.2,223.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:223.16,225.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:227.2,229.156 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:235.98,237.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:237.16,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:241.2,247.24 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:247.24,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:252.2,253.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:253.29,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:256.2,256.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15.93,16.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:16.37,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:20.2,21.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:21.16,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:25.2,32.16 7 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:32.16,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.2,35.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.19,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.2,38.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.19,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:42.2,43.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:43.16,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:47.2,54.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61.91,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:62.37,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:71.2,73.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:73.16,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.2,76.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.19,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:80.2,81.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:81.43,83.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:83.19,85.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:86.3,86.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:87.8,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.2,90.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.16,91.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:91.45,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:94.3,94.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:97.2,110.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:110.16,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:113.2,113.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117.93,119.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122.91,123.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:123.37,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:132.2,133.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:133.19,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:136.2,141.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:141.16,143.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:145.2,155.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:155.25,165.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:167.2,168.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:168.16,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:171.2,171.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175.94,176.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:176.37,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:180.2,181.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:181.16,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:185.2,187.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:187.16,189.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.2,190.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.19,192.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:193.2,196.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:200.2,208.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:208.25,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:218.2,225.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232.94,233.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:233.37,235.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:242.2,243.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:243.21,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:246.2,248.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:248.19,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:252.2,253.46 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:253.46,255.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:255.13,257.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.2,259.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.44,261.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:261.13,263.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:266.2,267.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:267.16,269.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:271.2,278.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:278.16,280.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:281.2,281.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19.69,21.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23.38,38.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40.51,63.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65.53,80.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82.46,85.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:85.32,87.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:88.2,88.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91.105,93.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:93.16,95.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:96.2,97.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:100.2,100.70 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103.107,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:108.2,109.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:109.16,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:112.2,112.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115.101,117.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:117.16,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:120.2,121.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:121.17,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:124.2,139.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142.109,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:147.2,154.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157.100,159.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:159.28,161.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:161.18,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:164.3,164.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:166.2,167.72 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:167.72,169.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.2,170.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.53,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:173.2,174.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:174.26,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:177.2,177.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180.73,182.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:182.16,184.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:185.2,185.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12.104,14.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:14.16,16.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:18.2,19.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:19.18,21.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:23.2,23.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:24.14,25.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:26.18,27.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:28.17,29.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:30.10,31.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36.101,37.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:37.27,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:46.2,47.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:47.21,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:50.2,51.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:51.19,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:54.2,54.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:55.52,55.52 0 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:56.10,57.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:59.2,61.93 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:61.93,64.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:66.2,70.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:27.31,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:98.97,100.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:100.26,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.2,103.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.28,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:112.2,115.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:115.15,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.2,118.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.17,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:122.2,123.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:127.2,140.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:140.29,151.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:151.31,154.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:155.3,155.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:158.2,162.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:167.100,169.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:169.26,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.2,172.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.28,174.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.2,175.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.26,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:179.2,180.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:184.2,185.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:185.22,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:189.2,190.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:190.20,191.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:191.54,199.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.3,200.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.61,202.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:203.3,203.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:206.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:215.95,217.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:217.32,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.2,220.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.28,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:224.2,225.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:229.2,230.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:230.22,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.2,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.25,246.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:248.2,252.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:258.104,260.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:260.26,262.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:267.2,271.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:271.20,275.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:275.8,279.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:280.2,280.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:284.60,285.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:285.30,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.2,288.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.42,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:291.2,291.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:64.89,65.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:65.25,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:69.2,70.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:70.49,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:74.2,74.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:75.18,76.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:77.21,78.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:79.19,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:81.18,82.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:83.19,84.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:85.18,86.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:87.18,91.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:91.23,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:94.3,94.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:95.10,96.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:100.81,103.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:103.19,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:106.2,107.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:107.19,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.2,112.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.46,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.2,115.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.46,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.2,122.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.66,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.25,128.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:128.22,130.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:131.8,132.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:132.26,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.2,138.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.25,139.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:139.22,141.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:142.8,143.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:143.26,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.2,148.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.22,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.2,151.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.38,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.2,154.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.19,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:159.2,161.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:161.25,164.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.2,165.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.25,168.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:169.2,171.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:171.23,174.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.2,175.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.23,178.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:180.2,193.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:193.16,195.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:198.2,199.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:199.29,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.2,202.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.29,204.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:205.2,213.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:216.121,217.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:217.28,218.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:218.26,220.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:221.3,222.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:222.17,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:223.49,225.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:226.4,226.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:228.3,228.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.2,230.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.26,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:233.2,234.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:234.16,235.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:235.48,237.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:238.3,238.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:240.2,240.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:243.101,248.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:248.36,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:250.8,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.2,253.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.16,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.2,256.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.32,257.128 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:257.128,262.72 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:262.72,264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:267.2,267.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:276.81,277.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:277.25,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.2,280.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.22,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.2,283.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.39,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.2,286.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.25,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.2,289.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.21,291.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:292.2,293.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:293.14,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:296.2,305.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:305.16,307.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:308.2,314.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:317.84,318.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:318.19,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:321.2,323.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:323.63,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:326.2,329.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:332.82,333.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:333.38,335.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:336.2,337.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:338.18,339.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:340.18,341.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.2,345.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.59,347.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:349.2,351.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:351.21,353.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:353.8,356.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.2,357.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:366.2,367.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:367.41,369.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:371.2,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:397.115,398.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:398.15,400.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:403.2,404.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:404.26,405.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:405.28,407.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.3,408.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.28,410.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.2,412.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.23,415.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:420.2,426.12 4 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:426.12,427.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:427.27,429.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:429.18,431.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.4,433.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.33,435.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:440.2,441.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:441.26,442.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:442.28,443.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:443.49,445.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.3,448.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.28,449.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:449.49,451.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:454.2,454.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:457.82,458.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:458.21,460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:461.2,462.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:462.16,464.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.2,465.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.36,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:468.2,469.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:469.16,471.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:472.2,477.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:480.82,481.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:481.40,483.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:484.2,485.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:485.19,487.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:488.2,489.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:489.16,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:492.2,499.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:502.82,503.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:503.21,505.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:506.2,507.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:507.16,509.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:510.2,514.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23.179,24.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:24.22,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:28.2,32.22 4 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:32.22,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:35.2,36.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:36.22,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:40.2,41.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:41.26,43.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.2,44.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.26,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.2,47.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.30,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.2,50.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.30,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:54.2,55.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:55.16,57.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.2,58.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.13,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:61.2,62.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:62.16,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.2,65.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.13,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:69.2,70.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:70.16,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.2,73.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.15,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:77.2,77.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80.172,81.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:81.28,82.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:82.23,84.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.3,85.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.18,87.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:88.3,89.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:89.17,90.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:90.49,92.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:93.4,93.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:95.3,95.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.2,98.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.24,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.2,101.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.19,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:104.2,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:105.16,106.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:106.48,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:109.3,109.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:111.2,111.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114.119,116.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:116.22,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:119.2,120.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:120.22,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:124.2,126.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:126.26,127.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:127.36,129.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:130.3,130.105 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:131.8,132.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:132.32,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:135.3,135.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.2,137.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.2,141.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.32,143.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:143.27,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:146.3,147.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:147.27,149.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.3,150.106 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.106,151.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.3,153.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.27,154.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:154.114,155.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.9,157.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.104,158.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.3,160.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.27,161.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:161.114,162.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.9,164.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.104,165.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:167.3,167.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:169.2,169.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25.90,26.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:26.26,28.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:30.2,31.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:31.49,33.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:35.2,35.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:36.16,37.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:38.10,39.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43.84,44.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:44.21,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.2,47.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.25,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.2,50.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.21,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.2,53.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.21,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:57.2,58.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:59.18,60.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:61.15,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:63.24,64.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:65.10,66.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:69.2,70.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:70.22,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:73.2,74.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:74.29,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.2,78.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.14,85.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:87.2,89.37 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:89.37,92.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:92.21,94.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:97.2,100.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:100.31,102.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:102.38,104.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:104.37,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:109.3,122.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:122.26,124.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.3,125.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.19,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:131.3,133.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:133.39,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:135.9,137.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.3,138.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.17,140.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.3,142.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.34,144.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:145.3,145.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:148.2,155.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20.99,22.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:22.16,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:26.2,31.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:31.44,32.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:32.33,33.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:33.43,38.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.2,43.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.49,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.2,46.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.48,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:50.2,52.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:52.27,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:55.8,60.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:60.24,62.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.3,64.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.57,66.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:68.3,68.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.2,71.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.16,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:75.2,76.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:76.23,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:80.2,80.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:19.40,89.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:109.71,111.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:111.9,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:115.2,116.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:116.38,117.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:118.13,119.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:119.41,121.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:122.17,123.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:123.43,125.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:126.11,127.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:127.40,129.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.2,133.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.22,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:139.2,139.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:143.90,144.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:144.25,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:148.2,149.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:149.16,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:153.2,157.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:157.61,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:161.2,161.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:162.16,163.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:164.14,165.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:166.13,167.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:168.16,169.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:170.17,171.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:172.16,173.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:174.15,175.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:176.10,177.120 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:189.85,191.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:191.39,192.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:192.44,194.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.2,196.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.15,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.2,199.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.15,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:202.2,202.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:205.91,207.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:207.17,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:211.2,215.25 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:215.25,217.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:218.2,224.25 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:224.25,226.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.2,227.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.25,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:231.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:247.2,247.139 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:250.89,252.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:252.19,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:255.2,256.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:256.25,258.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:259.2,264.52 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:264.52,266.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:266.14,268.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:271.2,277.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:277.25,280.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:282.2,283.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:283.16,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.2,287.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.22,288.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:288.20,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:291.3,291.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:294.2,297.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:297.31,300.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:300.29,302.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:303.3,305.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:308.2,308.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:311.88,313.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:313.13,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:317.2,318.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:318.16,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:322.2,328.22 6 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:328.22,331.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.2,333.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.23,335.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:335.30,338.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:341.2,341.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:344.91,346.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:346.13,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:350.2,353.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:353.18,354.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:354.27,356.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.3,357.73 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.73,359.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.2,362.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.19,370.17 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:370.17,372.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:375.2,376.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:376.26,378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:379.2,379.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:382.92,384.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:384.13,386.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:388.2,389.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:389.16,391.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:393.2,401.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:401.16,403.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:405.2,405.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:408.91,410.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:410.13,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:414.2,418.95 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:418.95,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:422.2,422.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:425.90,427.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:427.13,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:431.2,433.167 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:433.167,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.2,437.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.89,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:441.2,441.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22.93,24.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:24.49,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:28.2,28.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:29.14,30.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:31.17,32.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:33.16,34.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:35.24,36.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:37.27,38.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:39.22,40.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:41.23,42.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:43.10,44.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48.79,49.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:49.13,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:57.2,58.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:58.32,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:61.2,84.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87.101,88.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:88.13,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.2,91.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.38,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.2,98.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.53,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:102.2,104.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:104.17,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.2,107.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.29,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:110.2,115.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118.100,119.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:119.13,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.2,122.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.38,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.2,129.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.53,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:133.2,135.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:135.17,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.2,138.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.29,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:141.2,146.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149.123,150.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:150.13,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.2,153.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.18,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.2,156.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.38,158.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:159.2,161.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:161.17,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:164.2,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172.113,173.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:173.13,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.2,176.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.50,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:179.2,181.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:181.17,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:184.2,188.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191.57,195.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197.102,198.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:198.13,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.2,201.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.20,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:204.2,205.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:205.16,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:209.2,210.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:210.32,212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:214.2,217.56 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:217.56,223.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:225.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233.41,235.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:235.16,237.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:238.2,238.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:35.27,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:42.41,43.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:44.48,45.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:46.10,47.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:54.57,55.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:56.17,57.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:58.16,59.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:60.10,61.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:82.58,83.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:84.28,85.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:86.26,87.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:88.10,89.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:93.114,95.68 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:95.68,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:99.2,101.42 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:101.42,102.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:102.71,105.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:107.2,117.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:117.23,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:121.2,124.22 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:124.22,125.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:125.31,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:128.3,128.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.8,129.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.37,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:132.2,132.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:135.74,136.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:136.30,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.2,139.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.34,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.2,142.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.31,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.2,145.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.22,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:161.169,162.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:162.17,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:165.2,166.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:166.51,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:169.2,169.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:172.92,174.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:174.42,177.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:177.63,179.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:179.9,181.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:183.2,183.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:186.65,190.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:192.115,194.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:194.26,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.8,196.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.31,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:199.2,199.117 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:202.122,206.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:206.31,207.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:207.45,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:211.2,211.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:214.72,216.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:218.117,219.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:222.2,223.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:223.20,225.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:225.17,227.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.3,228.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.27,229.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:229.50,231.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:231.30,232.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:236.3,236.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:239.2,241.60 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:241.60,243.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:243.61,245.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.3,246.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.24,247.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:249.3,250.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:250.17,252.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.3,253.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.22,254.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.3,256.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.29,257.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:257.50,259.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:259.30,260.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:264.3,265.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:265.32,266.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:269.2,269.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:272.51,273.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:273.16,275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:276.2,277.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:277.18,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.2,280.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.19,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:283.2,283.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:286.97,288.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:288.30,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.2,291.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.49,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:294.2,294.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:297.108,299.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:301.108,303.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:305.102,307.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:319.55,320.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:320.31,322.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.2,323.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.26,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:326.2,326.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:329.71,330.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:343.26,344.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:345.10,346.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:354.95,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:366.2,397.39 14 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:397.39,399.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:399.27,401.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:402.8,404.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:405.2,407.46 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:407.46,410.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.2,411.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.44,413.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:413.12,415.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.2,417.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.26,419.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.2,420.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.84,422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.2,427.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.65,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:431.2,433.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:433.20,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:436.2,437.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:437.20,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.2,440.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.56,442.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.2,443.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.56,448.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.2,450.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.45,453.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.2,459.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.31,461.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:461.22,462.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:462.62,465.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:466.4,466.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:468.3,468.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:471.2,472.115 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:472.115,474.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.2,491.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.19,493.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:493.23,495.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:496.3,508.21 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:508.21,510.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:511.3,511.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.2,522.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.43,535.34 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:535.34,556.30 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:556.30,558.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.4,559.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.44,561.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.4,562.106 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.106,564.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.4,575.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.74,577.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:578.4,579.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:579.18,581.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:583.4,584.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:584.28,586.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.4,588.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.31,599.57 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:599.57,601.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:601.17,604.7 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:606.5,607.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:607.21,609.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.5,615.138 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.138,617.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:617.27,619.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:620.6,620.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:622.5,623.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:623.26,625.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:626.5,626.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:630.4,631.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:631.20,633.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.4,634.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.22,637.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:637.26,639.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:640.5,640.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:645.4,660.77 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:660.77,662.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:663.4,664.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:664.25,666.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:667.4,667.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.2,673.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.26,675.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:677.2,678.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:678.25,680.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.2,681.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.97,683.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:690.2,691.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:691.21,693.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:693.33,695.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.3,696.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.33,698.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.3,699.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.49,704.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.3,721.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.54,722.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:722.84,724.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.2,728.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.99,730.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:732.2,733.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:733.22,735.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:736.109,737.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:738.100,739.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:740.114,741.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:742.107,743.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:744.11,745.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:748.2,749.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:749.43,751.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:753.2,755.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:755.34,756.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:756.48,757.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:757.19,760.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.2,764.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.31,767.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.2,768.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.35,771.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.2,772.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.76,776.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:778.2,780.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:780.16,782.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:782.20,785.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.2,788.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.25,798.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:798.18,800.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.9,800.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.30,807.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.3,808.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.36,810.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:811.3,812.50 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:812.50,815.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:816.3,822.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:822.17,824.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:826.3,836.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:836.17,838.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:839.3,839.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:842.2,843.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:843.30,844.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:844.52,846.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:846.9,848.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:851.2,869.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:869.21,871.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:871.43,873.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.3,874.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.29,876.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.3,886.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.76,888.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.2,890.105 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.105,892.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:893.2,894.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:894.16,896.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:901.2,904.40 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:904.40,905.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:905.15,906.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:909.3,910.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:910.63,912.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:912.9,914.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.3,916.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.43,918.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:919.3,920.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:920.20,922.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.3,925.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.23,928.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:929.3,931.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:931.33,934.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:934.39,936.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:939.2,948.42 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:948.42,950.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:950.21,952.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:952.9,955.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.2,959.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.53,960.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:960.54,961.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:961.33,963.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:964.9,972.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.3,973.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.60,974.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:974.40,976.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.3,978.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.61,979.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:979.41,981.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.3,983.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.28,985.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:986.3,987.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.2,989.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.51,991.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:995.2,997.53 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:997.53,999.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:999.8,1001.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.2,1002.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.22,1004.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1008.2,1014.76 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1014.76,1016.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.2,1021.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.57,1026.13 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1026.13,1029.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1029.21,1032.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.4,1033.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.49,1035.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1036.4,1043.89 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1043.89,1046.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1048.4,1048.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1052.2,1063.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1063.21,1065.40 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1065.40,1067.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.3,1068.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.38,1070.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1072.2,1074.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1074.18,1081.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.2,1082.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.28,1084.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.2,1085.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.16,1087.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.2,1088.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.30,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.2,1091.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.30,1093.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.2,1098.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.76,1100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1101.2,1102.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1102.16,1104.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1105.2,1105.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111.94,1113.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1113.15,1115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1117.2,1118.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1118.16,1120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1122.2,1123.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1123.13,1125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1126.2,1131.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1131.16,1133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.2,1134.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.19,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.2,1146.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.39,1148.55 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1148.55,1150.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.2,1152.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.39,1154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1157.2,1158.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1158.21,1163.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1163.21,1165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1166.3,1167.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1167.21,1169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.3,1170.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.52,1172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.3,1173.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.52,1178.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.3,1179.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.41,1182.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1183.3,1183.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.2,1188.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.46,1190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.2,1191.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.27,1193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1195.2,1196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1196.16,1198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1201.2,1210.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1210.16,1212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1213.2,1213.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218.59,1220.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1220.38,1222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1225.2,1226.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1226.29,1227.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1227.22,1229.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.2,1232.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.18,1234.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1237.2,1244.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1244.29,1245.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1245.67,1247.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.2,1249.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.16,1251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1254.2,1254.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258.55,1260.47 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1260.47,1262.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1263.2,1264.58 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1264.58,1266.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1267.2,1267.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270.252,1271.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1271.108,1273.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.2,1274.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.55,1276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1277.2,1277.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280.184,1282.69 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1282.69,1284.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1284.32,1285.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1285.58,1287.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.3,1290.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.18,1292.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.2,1294.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.19,1297.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1297.32,1298.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1298.39,1300.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.3,1303.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.19,1305.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.2,1307.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.21,1309.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1309.32,1310.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1310.49,1312.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.3,1315.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.18,1317.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.2,1319.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.28,1321.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1321.17,1323.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.3,1324.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.27,1326.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.2,1328.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.76,1330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1331.2,1331.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342.96,1343.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1343.26,1345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1347.2,1348.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1348.16,1350.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1352.2,1363.23 9 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1363.23,1364.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1364.58,1365.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1365.31,1367.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1367.10,1369.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.2,1373.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.17,1375.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.2,1376.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.16,1378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.2,1379.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.16,1381.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.2,1382.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.18,1384.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.2,1385.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.19,1387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.2,1388.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.19,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1396.2,1399.18 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1399.18,1400.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1400.61,1401.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1402.50,1403.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1404.12,1405.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1409.2,1410.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1410.42,1414.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1415.2,1420.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1420.16,1422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1429.2,1444.43 6 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1444.43,1446.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1449.2,1451.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1451.27,1453.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.2,1458.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.46,1460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.2,1461.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.63,1463.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1465.2,1466.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1466.15,1472.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1472.29,1479.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1479.18,1481.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.4,1482.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.23,1483.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.4,1485.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.30,1486.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1486.24,1488.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1488.32,1489.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1493.4,1494.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1494.30,1495.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1498.8,1504.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1504.29,1506.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1506.18,1508.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.4,1509.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.23,1510.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.4,1512.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.30,1513.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1513.24,1515.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1515.32,1516.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1520.4,1521.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1521.30,1522.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.2,1526.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.26,1528.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1528.17,1530.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.2,1535.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.74,1536.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1536.13,1537.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1537.33,1542.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1542.26,1544.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1544.39,1546.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1548.5,1548.82 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.2,1565.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.38,1569.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1569.27,1571.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.3,1572.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.27,1574.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1576.3,1581.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1581.32,1586.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1588.3,1592.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1592.18,1594.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1595.3,1596.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1596.17,1598.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1599.3,1599.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1602.2,1602.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1603.15,1618.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1618.32,1620.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1620.33,1621.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1621.40,1623.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1626.4,1638.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1640.3,1641.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1641.17,1643.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1644.3,1644.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1646.18,1648.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1648.17,1650.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1651.3,1651.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1653.10,1654.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1654.25,1656.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1657.3,1659.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1659.32,1661.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1661.33,1662.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1662.40,1664.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1667.4,1669.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1669.26,1671.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1672.4,1673.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1673.25,1675.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1676.4,1676.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1678.3,1678.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690.51,1695.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700.73,1702.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1702.16,1704.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1705.2,1706.48 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1706.48,1710.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1711.2,1713.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1713.16,1715.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1716.2,1716.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727.117,1731.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1731.21,1733.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1734.2,1735.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1735.16,1737.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1738.2,1739.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1739.27,1741.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1742.2,1742.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1764.19,1775.30 7 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1775.30,1777.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1777.37,1779.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.3,1781.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.20,1783.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.2,1797.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.39,1799.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1801.2,1811.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1811.25,1813.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1815.2,1816.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1816.29,1818.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.2,1824.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.27,1826.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1831.2,1833.22 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1833.22,1835.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1837.2,1846.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1846.16,1848.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1853.2,1855.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1855.27,1857.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1859.2,1876.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1876.33,1878.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1880.2,1881.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1881.28,1885.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1885.20,1888.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1888.33,1889.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1889.40,1891.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.4,1894.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.20,1895.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.3,1900.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.22,1902.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1902.33,1903.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1903.50,1905.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.4,1908.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.19,1909.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.3,1918.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.56,1919.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.3,1927.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.64,1928.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1932.3,1935.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1935.32,1936.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1936.39,1938.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1942.3,1956.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1956.14,1957.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1957.37,1959.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1961.3,1962.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1962.26,1963.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.2,1975.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.59,1986.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1986.17,1988.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1990.3,1991.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1991.34,1993.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1995.3,1996.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1996.29,1998.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1998.21,2001.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2001.34,2002.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2002.41,2004.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.5,2007.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.21,2008.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.4,2011.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.23,2013.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2013.34,2014.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2014.51,2016.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.5,2019.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.20,2020.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.4,2023.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.57,2024.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.4,2027.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.65,2028.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2030.4,2031.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2031.33,2032.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2032.40,2034.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2037.4,2051.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2051.15,2052.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2052.38,2054.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2056.4,2057.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2057.27,2058.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2065.2,2066.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2066.28,2068.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.2,2072.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.71,2080.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2080.30,2081.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2081.41,2087.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.3,2089.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.13,2090.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2090.31,2095.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2095.25,2097.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2097.38,2099.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2101.5,2101.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.2,2112.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.38,2115.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2115.27,2117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2121.3,2138.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2138.30,2140.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2140.11,2141.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2143.4,2160.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2160.15,2161.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2161.39,2163.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2165.4,2165.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2167.3,2173.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2173.24,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2176.3,2176.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2179.2,2179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2180.15,2182.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2182.24,2184.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2185.3,2185.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2187.18,2199.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2199.30,2201.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2201.11,2202.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2204.4,2208.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2208.15,2209.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2209.39,2211.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2213.4,2213.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2215.3,2216.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2216.24,2218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2219.3,2219.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2220.10,2221.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2221.22,2223.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2224.3,2226.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2226.27,2228.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2228.20,2230.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2231.4,2233.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2233.26,2235.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2236.4,2237.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2237.23,2239.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.4,2240.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.46,2244.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2245.4,2245.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2247.3,2247.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252.94,2254.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2254.16,2256.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2258.2,2260.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2260.18,2261.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2261.59,2262.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2262.36,2264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2264.10,2266.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.2,2270.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.13,2272.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.2,2273.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.50,2275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2277.2,2277.98 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281.98,2282.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2282.26,2284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2286.2,2287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2287.16,2289.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2291.2,2292.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2292.13,2294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2297.2,2298.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2298.19,2299.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2299.51,2301.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2302.3,2302.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.2,2304.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.42,2306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.2,2308.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.54,2309.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2309.48,2311.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2312.3,2312.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2316.2,2318.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17.82,19.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21.149,22.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:22.55,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.2,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.36,27.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:28.2,34.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:34.16,36.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.2,37.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.42,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:40.2,40.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43.105,44.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:44.48,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:47.2,48.54 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51.129,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:56.2,57.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:57.53,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:60.2,61.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:61.25,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:64.2,65.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:65.16,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:68.2,68.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26.97,27.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:27.18,29.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:30.2,30.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33.37,35.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37.81,38.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:38.44,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.2,41.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.38,43.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:44.2,44.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47.88,48.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:48.32,50.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:51.2,52.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:52.20,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:55.2,55.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58.40,72.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74.106,75.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:75.34,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:78.2,79.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:79.16,81.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:83.2,84.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:88.2,89.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:89.13,91.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:93.2,94.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:94.63,96.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.2,98.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.72,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:102.2,106.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109.117,110.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:110.32,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.2,113.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.34,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:117.2,118.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:118.16,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.2,121.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.19,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:125.2,126.69 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:126.69,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:130.2,136.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18.33,20.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22.27,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39.93,40.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:40.30,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.2,43.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.28,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:46.2,47.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:47.16,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:51.2,52.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:52.17,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:55.2,56.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:56.19,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.2,59.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.19,61.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:62.2,63.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:63.16,65.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:67.2,74.9 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:74.9,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:77.2,78.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:78.15,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:81.2,85.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:85.16,87.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.2,88.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.17,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:92.2,101.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104.48,105.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:108.2,109.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:109.29,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.2,112.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.31,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:115.2,115.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118.75,120.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:120.27,121.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:121.32,123.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:123.17,124.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:126.4,126.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:129.2,134.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:134.33,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.2,137.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.40,138.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:138.39,140.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:141.3,141.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.2,143.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.34,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:146.2,147.35 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:147.35,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:150.2,150.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153.77,154.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:154.20,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:157.2,159.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:159.31,160.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:160.33,162.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.3,163.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.30,165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:167.2,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23.91,25.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27.38,50.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52.104,53.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:53.38,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:56.2,57.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:61.2,62.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:62.26,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:65.2,66.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:66.30,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.2,69.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.72,71.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:73.2,74.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:77.2,78.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:78.16,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:81.2,82.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:82.16,84.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:85.2,86.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:90.2,105.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.2,109.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.19,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.2,118.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.25,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.2,121.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.30,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.2,124.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.31,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:131.2,131.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134.91,136.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:136.9,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:139.2,140.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:140.15,141.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:141.19,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:144.3,144.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:146.2,146.94 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149.59,150.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:150.16,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:153.2,154.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:154.61,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:157.2,157.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160.56,161.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:161.75,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:164.2,164.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167.67,169.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:170.17,171.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:172.67,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:174.10,175.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179.60,180.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:183.2,184.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:184.25,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:187.2,187.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190.57,191.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:192.15,193.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:193.81,195.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:196.3,196.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:197.19,199.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:199.17,201.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.3,202.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.55,204.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:205.3,205.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:206.14,207.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:208.11,209.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:210.10,211.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215.59,216.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:216.16,218.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:219.2,219.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:220.12,221.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:222.14,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:224.10,225.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:28.90,30.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:30.16,32.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:34.2,36.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:37.16,38.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:40.16,42.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:44.20,46.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:48.17,50.142 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:52.17,56.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:56.50,62.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:62.63,64.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.4,66.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.45,68.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:72.4,74.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:74.25,76.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:77.4,77.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:80.3,80.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:82.18,84.141 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:86.18,88.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:88.18,90.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:91.3,91.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:93.17,96.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:96.50,99.59 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:99.59,101.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:102.4,104.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:104.25,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:107.4,107.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:110.3,110.98 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:112.10,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:125.86,126.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:129.2,130.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:130.9,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.2,133.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.22,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:137.2,139.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:139.31,141.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:141.10,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:144.3,145.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:145.22,147.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:148.3,149.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:149.26,151.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.3,152.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.68,154.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:155.3,156.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:156.37,158.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:159.3,160.107 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:162.2,162.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:165.249,166.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:166.24,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.2,169.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.38,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:173.2,174.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:174.31,175.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:175.32,177.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:180.2,181.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:181.34,182.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:182.29,183.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:185.3,197.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:197.17,199.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.3,200.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.20,201.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.3,203.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.37,205.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:205.33,206.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.4,208.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.19,209.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:209.43,210.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:212.5,212.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:214.4,215.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:215.30,216.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:220.2,220.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:223.113,229.2 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:231.101,233.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:247.92,251.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:251.16,253.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.8,253.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:259.2,272.51 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:272.51,274.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:274.38,275.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:276.50,277.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:278.12,279.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:287.2,292.26 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:292.26,294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.2,297.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.19,301.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:303.2,311.42 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:311.42,315.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:316.2,341.64 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:341.64,342.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:342.86,344.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.3,345.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.56,347.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:348.3,360.19 6 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:360.19,364.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:365.3,365.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:369.2,370.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:370.15,372.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:372.27,374.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.3,375.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.27,377.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:380.2,381.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:381.15,387.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:387.28,395.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:395.18,397.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.4,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.23,399.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.4,401.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.30,402.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:402.66,403.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:405.5,406.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:406.12,407.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.5,409.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.28,413.6 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:414.5,415.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:415.30,416.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:419.4,420.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:420.30,421.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:424.8,432.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:432.28,438.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:438.18,440.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.4,441.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.23,442.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.4,444.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.30,445.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:445.40,447.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:447.31,448.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:452.4,455.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:455.30,456.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:461.2,465.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:465.17,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:469.2,470.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:470.16,472.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:473.2,473.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20.79,21.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:21.43,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.2,24.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.29,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:27.2,27.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30.40,63.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65.68,71.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:71.25,74.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:75.2,75.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78.62,83.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:83.19,87.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:88.2,88.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91.101,92.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:92.22,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:95.2,96.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:96.18,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:103.2,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:107.2,107.119 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110.99,111.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:111.22,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:114.2,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:115.18,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:118.2,119.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:119.16,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.2,122.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.51,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:129.2,131.15 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:131.15,132.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:132.69,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:135.3,135.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:137.2,137.130 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140.102,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.2,145.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.64,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:148.2,148.113 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151.109,153.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:157.16,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:160.2,161.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:161.16,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:164.2,164.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167.107,169.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:169.16,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:172.2,173.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:173.16,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.2,176.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.107,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:179.2,179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:180.41,181.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:182.41,183.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:184.10,185.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189.111,191.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:191.16,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:194.2,195.57 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:195.57,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:198.2,199.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:199.23,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.2,206.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.17,208.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:209.2,209.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212.63,215.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217.69,219.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:222.2,222.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225.60,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:230.2,230.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233.137,234.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:234.49,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:241.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:246.2,247.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:247.16,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.2,250.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.22,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:253.2,253.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256.142,258.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:258.16,260.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:261.2,262.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:262.16,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.2,265.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.47,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:268.2,269.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:269.16,270.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:270.50,272.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:273.3,273.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:275.2,275.173 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278.157,280.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:280.16,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.2,283.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.47,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:286.2,287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:287.16,288.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:288.50,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:291.3,291.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:293.2,293.169 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296.104,297.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:297.22,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:300.2,301.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:301.61,303.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:303.20,304.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.2,307.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.19,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:310.2,317.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320.119,322.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:322.39,323.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:323.81,325.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:327.2,327.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330.71,332.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:332.16,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:335.2,335.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17.61,105.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:105.23,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:123.2,123.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126.104,127.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:127.61,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.2,130.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.38,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:133.2,134.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:137.2,138.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:138.16,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:141.2,147.107 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:147.107,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:150.2,151.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:151.16,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:154.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:170.19,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:173.2,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176.103,177.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:177.61,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.2,180.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.38,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:187.2,191.106 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:191.106,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:194.2,195.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:195.16,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:198.2,200.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:200.31,207.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:207.36,218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:219.3,220.35 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:222.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233.107,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.2,237.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.38,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:240.2,241.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:241.16,243.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:244.2,248.110 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:248.110,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:251.2,252.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:252.16,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:255.2,256.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:256.33,266.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:267.2,275.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278.108,279.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:279.61,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.2,282.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.37,284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:285.2,286.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:286.16,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:289.2,290.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:290.19,292.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.2,293.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.104,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:296.2,297.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:297.16,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:300.2,307.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:307.16,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:310.2,311.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:311.43,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:319.2,332.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:332.22,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:335.2,335.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338.108,339.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:339.62,341.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.2,342.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.38,344.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:345.2,346.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:346.9,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:349.2,350.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:350.16,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:353.2,357.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:360.2,370.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373.109,374.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:374.62,376.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.2,377.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.38,379.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:380.2,381.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:381.9,383.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:384.2,385.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:385.16,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:388.2,390.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:390.32,392.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:393.2,394.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:394.16,396.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:397.2,403.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406.106,407.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:407.62,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.2,410.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.38,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:413.2,414.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:414.9,416.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:417.2,418.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:418.16,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:421.2,423.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:423.16,424.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:424.41,434.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:435.3,435.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:437.2,445.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483.65,484.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:484.42,485.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:485.39,487.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.2,489.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.85,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:492.2,492.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495.102,496.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:496.38,498.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.2,499.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.58,501.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:502.2,502.90 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505.60,508.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510.66,512.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:512.26,514.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:515.2,515.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518.69,521.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:521.33,523.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:523.21,524.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.3,526.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.34,527.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:529.3,530.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:532.2,532.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535.63,537.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:537.19,539.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:540.2,541.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:541.42,543.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.2,544.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.57,546.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.2,547.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.54,549.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:550.2,550.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553.70,557.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559.66,561.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:561.9,563.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:564.2,566.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:566.17,568.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:569.2,569.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:570.103,572.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:573.34,574.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:575.10,576.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580.56,581.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:581.37,583.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.2,584.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.26,586.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:586.37,587.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:589.3,589.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:591.2,591.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594.90,602.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604.68,605.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:605.71,607.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:607.17,609.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:610.3,610.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:612.2,613.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:613.16,615.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:616.2,617.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:617.41,619.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:620.2,620.78 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623.65,625.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:625.16,627.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.2,628.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.17,630.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:631.2,631.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634.51,635.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:635.16,637.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:638.2,638.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641.56,642.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:642.28,644.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:645.2,646.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649.92,651.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:651.29,653.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:654.2,654.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657.86,659.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:659.29,661.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:662.2,662.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665.94,667.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:667.29,669.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:670.2,670.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673.98,675.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:675.29,677.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:678.2,678.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:17.93,18.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:18.104,20.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:22.2,23.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:23.16,25.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:27.2,28.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:28.19,30.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:32.2,35.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:35.33,36.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:36.47,39.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:42.2,44.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:44.20,47.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:48.2,49.68 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:49.68,50.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:50.48,52.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.3,53.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.32,55.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:55.23,56.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:56.63,58.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:59.5,59.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:61.4,61.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:64.2,71.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:71.17,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.8,73.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.29,75.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:75.36,77.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:78.3,83.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.2,86.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.35,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:90.2,97.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:101.2,110.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:110.28,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:113.2,124.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:133.93,134.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:134.35,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:138.2,139.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:139.16,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:143.2,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.2,147.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.17,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:151.2,152.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:152.33,153.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:153.47,156.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:160.16,162.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:164.2,176.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:176.26,178.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:178.23,180.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:181.3,192.5 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:195.2,196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:199.2,199.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:22.104,24.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:24.16,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:28.2,29.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:29.18,31.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:33.2,33.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:34.13,35.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:36.13,37.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:38.14,39.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:40.16,41.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:42.10,43.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:51.67,53.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:57.68,58.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:58.33,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:61.2,61.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:67.42,69.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:74.61,76.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:76.26,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:79.2,79.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:85.90,86.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:86.49,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:90.2,91.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:91.15,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:94.2,95.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:95.17,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:100.2,103.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:103.16,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:107.2,113.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:113.12,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:115.18,117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:118.3,119.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:119.20,121.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:122.3,124.48 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:125.8,127.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:129.2,130.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:130.16,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:134.2,139.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:145.90,147.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:151.2,152.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:152.16,154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:157.16,158.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:158.47,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:161.3,161.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:164.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:170.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:173.8,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:176.2,176.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:181.92,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:187.2,188.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:188.16,190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:192.2,200.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:200.25,207.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:207.28,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:210.3,210.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:212.2,212.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:216.93,217.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:217.52,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:221.2,222.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:222.15,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:226.2,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.2,231.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.47,232.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:232.47,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:235.3,235.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:238.2,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:35.127,36.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:36.23,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:39.2,40.40 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:40.40,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.2,43.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.37,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.2,46.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.37,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:49.2,49.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:52.23,80.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:82.26,140.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:142.92,143.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:143.25,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:147.2,148.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:148.49,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:152.2,152.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:153.17,154.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:154.24,156.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:157.3,158.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:158.17,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:161.3,165.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:166.17,167.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:167.22,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.3,170.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.22,172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:173.3,174.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:174.17,176.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:177.3,181.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:182.16,189.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:189.23,191.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.3,192.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.24,194.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.3,195.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.39,197.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:198.3,207.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:207.17,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.3,210.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.69,212.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:213.3,213.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:214.10,215.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:219.92,220.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:220.25,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:224.2,225.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:225.49,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:229.2,229.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:230.17,232.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:232.24,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:235.3,236.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:236.17,238.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.3,239.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.59,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.3,242.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.81,244.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:245.3,250.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:251.17,253.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:253.22,255.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:256.3,257.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:257.17,259.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.3,260.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.79,262.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:263.3,268.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:269.10,270.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:274.91,276.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:276.16,278.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.2,279.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.67,280.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:280.76,282.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:285.2,286.52 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:286.52,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:289.2,289.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:292.74,294.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:294.16,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.2,297.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.62,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:300.2,300.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:303.109,304.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:304.56,306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.2,307.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.25,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.2,310.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.81,312.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.2,313.102 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.102,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.2,316.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.108,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.2,319.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.99,321.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.2,322.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.99,324.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.2,325.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.60,327.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.2,328.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.34,330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.2,331.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.114,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.2,334.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.66,336.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.2,337.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.40,339.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.2,340.132 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.132,342.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.2,343.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.35,345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:346.2,346.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:349.92,350.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:350.103,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:354.2,355.52 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:355.52,357.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.2,358.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.32,360.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:361.2,361.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:364.108,365.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:365.19,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:368.2,369.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:369.53,371.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.2,372.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.19,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.2,375.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.39,376.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:376.34,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:380.2,380.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:383.66,385.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:385.53,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.2,388.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.19,390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:391.2,391.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:16.2,18.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:19.16,20.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:21.14,22.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:23.15,24.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:25.16,26.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:27.10,28.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21.75,23.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25.41,28.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30.31,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39.38,46.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48.50,56.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58.43,70.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72.80,73.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:73.36,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.2,76.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.48,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:79.2,79.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82.97,84.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:87.2,88.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:88.16,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:91.2,92.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:92.16,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:95.2,96.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:96.16,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:99.2,99.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102.104,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:111.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:115.2,116.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:116.16,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:119.2,119.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122.96,124.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:127.2,128.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:128.19,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:131.2,132.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:132.18,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:135.2,141.79 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:141.79,143.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:143.17,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:146.3,146.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:148.2,148.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151.77,153.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:156.2,157.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:157.19,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:160.2,160.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:22.15,23.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:24.13,25.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:26.14,27.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:28.16,29.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:30.16,31.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:32.10,33.102 1 0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/create-database.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/create-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/create-database.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/create-database.stdout.log new file mode 100644 index 00000000..4b15bd57 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/create-database.stdout.log @@ -0,0 +1 @@ +CREATE DATABASE diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/create-pgvector.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/create-pgvector.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/create-pgvector.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/create-pgvector.stdout.log new file mode 100644 index 00000000..d26bad14 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/create-pgvector.stdout.log @@ -0,0 +1 @@ +CREATE EXTENSION diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/database-identity.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/database-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/database-identity.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/database-identity.stdout.log new file mode 100644 index 00000000..644e56f8 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/database-identity.stdout.log @@ -0,0 +1 @@ +{"database" : "engram_prc_rg_test_77fc44a810a688de_r1", "schema" : "public", "server_version" : "17.10 (Debian 17.10-1.pgdg12+1)", "user" : "engram"} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/go-test-summary.json b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/go-test-summary.json new file mode 100644 index 00000000..98e9d814 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/go-test-summary.json @@ -0,0 +1,40 @@ +{ + "schema_version": 1, + "verdict": "PASS", + "input_path": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\go-test.stdout.jsonl", + "fail_on_unexpected_skip": true, + "allowed_skip_identities": [], + "counts": { + "packages": 1, + "tests": 1, + "passed": 1, + "failed": 0, + "skipped": 0, + "no_tests": 0, + "zero_tests": 0, + "incomplete": 0, + "unexpected_skips": 0, + "malformed_lines": 0 + }, + "packages": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "outcome": "pass", + "elapsed_seconds": 3.703, + "last_output": "ok \tgithub.com/thebtf/engram/internal/mcp\t3.695s\tcoverage: 0.1% of statements", + "tests_observed": 1 + } + ], + "tests": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEC_F1_TagDerivedBackfill_T007", + "outcome": "pass", + "elapsed_seconds": 3.58, + "last_output": "--- PASS: TestEC_F1_TagDerivedBackfill_T007 (3.58s)", + "skip_allowed": false + } + ], + "unexpected_skips": [], + "errors": [] +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/go-test.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/go-test.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/go-test.stdout.jsonl b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/go-test.stdout.jsonl new file mode 100644 index 00000000..a3bf75aa --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/go-test.stdout.jsonl @@ -0,0 +1,16 @@ +{"Time":"2026-07-11T04:00:54.9616599+03:00","Action":"start","Package":"github.com/thebtf/engram/internal/mcp"} +{"Time":"2026-07-11T04:00:55.0480298+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007"} +{"Time":"2026-07-11T04:00:55.0480298+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"=== RUN TestEC_F1_TagDerivedBackfill_T007\n"} +{"Time":"2026-07-11T04:00:55.9018708+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"warn\",\"error\":\"ERROR: relation \\\"observation_vectors\\\" does not exist (SQLSTATE 42P01)\",\"time\":\"2026-07-11T04:00:55+03:00\",\"message\":\"migration 040: orphan vector cleanup failed (non-fatal)\"}\n"} +{"Time":"2026-07-11T04:00:55.9018708+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"garbage_deleted\":0,\"orphan_vectors_deleted\":0,\"time\":\"2026-07-11T04:00:55+03:00\",\"message\":\"migration 040: garbage cleanup complete\"}\n"} +{"Time":"2026-07-11T04:00:55.90987+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"orphan_vectors_deleted\":0,\"time\":\"2026-07-11T04:00:55+03:00\",\"message\":\"migration 041: orphan vector purge complete\"}\n"} +{"Time":"2026-07-11T04:00:55.9173697+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"patterns_deleted\":0,\"time\":\"2026-07-11T04:00:55+03:00\",\"message\":\"migration 042: low-quality pattern purge complete\"}\n"} +{"Time":"2026-07-11T04:00:55.9498699+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"total_deleted\":0,\"time\":\"2026-07-11T04:00:55+03:00\",\"message\":\"migration 043: radical observation cleanup complete\"}\n"} +{"Time":"2026-07-11T04:00:57.139229+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"warn\",\"error\":\"ERROR: extension \\\"vectorscale\\\" is not available (SQLSTATE 0A000)\",\"time\":\"2026-07-11T04:00:57+03:00\",\"message\":\"migration 109: vectorscale extension not available, skipping DiskANN index\"}\n"} +{"Time":"2026-07-11T04:00:58.2570496+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T04:00:58+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:00:58.6236267+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"--- PASS: TestEC_F1_TagDerivedBackfill_T007 (3.58s)\n"} +{"Time":"2026-07-11T04:00:58.6241249+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Elapsed":3.58} +{"Time":"2026-07-11T04:00:58.6241249+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"PASS\n"} +{"Time":"2026-07-11T04:00:58.6386243+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"coverage: 0.1% of statements\n"} +{"Time":"2026-07-11T04:00:58.6646648+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"ok \tgithub.com/thebtf/engram/internal/mcp\t3.695s\tcoverage: 0.1% of statements\n"} +{"Time":"2026-07-11T04:00:58.6646648+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Elapsed":3.703} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/pg-stat-activity-after.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/pg-stat-activity-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/pg-stat-activity-after.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/pg-stat-activity-after.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/pg-stat-activity-after.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/pg-stat-activity-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/pg-stat-activity-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/repeat-summary.json b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/repeat-summary.json new file mode 100644 index 00000000..0003b5d7 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/repeat-summary.json @@ -0,0 +1,33 @@ +{ + "repeat": 1, + "verdict": "PASS", + "database": "engram_prc_rg_test_77fc44a810a688de_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_77fc44a810a688de_r1.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": false, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 0, + "json_parser_exit": 0, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\cleanup\\cleanup.json", + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01" +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/server-connection-count-after.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/server-connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/server-connection-count-after.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/server-connection-count-after.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/server-connection-count-after.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/server-connection-count-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/server-connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/server-connection-count-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/server-connection-count-before.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/server-connection-count-before.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/targeted-coverage.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/targeted-coverage.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/targeted-coverage.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/targeted-coverage.stdout.log new file mode 100644 index 00000000..c958686c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/repeat-01/targeted-coverage.stdout.log @@ -0,0 +1,352 @@ +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33: effectiveAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44: isAuditEnabled 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52: runAuditAsync 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77: marshalState 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92: logAuditCreate 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117: logAuditEdit 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142: logAuditDelete 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166: logAuditGeneric 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189: logAuditSupersede 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:30: parseArgs 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:46: coerceString 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:67: coerceInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:97: coerceInt64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:127: coerceFloat64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:151: coerceBool 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:177: coerceStringSlice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:204: coerceInt64Slice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:222: clampToInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:236: clampInt64ToInt 0.0% +github.com/thebtf/engram/internal/mcp/context.go:17: extractProjectFromHeader 0.0% +github.com/thebtf/engram/internal/mcp/context.go:22: contextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:29: ContextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:35: projectFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:41: contextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:48: ContextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:54: sessionFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:61: actorFromContext 0.0% +github.com/thebtf/engram/internal/mcp/health.go:22: NewMCPHealth 0.0% +github.com/thebtf/engram/internal/mcp/health.go:29: RecordRequest 0.0% +github.com/thebtf/engram/internal/mcp/health.go:36: RecordError 0.0% +github.com/thebtf/engram/internal/mcp/health.go:42: rotateWindowIfNeeded 0.0% +github.com/thebtf/engram/internal/mcp/health.go:55: HandleHealth 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28: ruleGovernanceCaptureEnabled 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39: captureActiveRuleIntent 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104: ruleIntentFingerprint 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113: marshalRuleCandidateIntentResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:127: NewServer 100.0% +github.com/thebtf/engram/internal/mcp/server.go:141: SetBackfillStatusFunc 0.0% +github.com/thebtf/engram/internal/mcp/server.go:146: SetVersionedDocumentStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:151: SetIssueStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:156: SetMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:161: SetMetaMemoryIndex 0.0% +github.com/thebtf/engram/internal/mcp/server.go:166: SetHintQueue 0.0% +github.com/thebtf/engram/internal/mcp/server.go:171: SetStateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:176: SetDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/server.go:181: SetBehavioralRulesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:186: SetRuleGovernanceStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:191: SetRuleInjectionTelemetryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:195: SetPromotionStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:199: SetGraphStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:204: SetNodesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:211: SetAuditStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:216: SetPurgeStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:222: SetCandidateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:228: SetSnapshotStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:234: SetBulkFacade 0.0% +github.com/thebtf/engram/internal/mcp/server.go:240: setTestAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/server.go:246: setTestMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/server.go:252: setTestMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/server.go:260: SetWriteLintOrchestrator 0.0% +github.com/thebtf/engram/internal/mcp/server.go:269: SetRedactionRules 0.0% +github.com/thebtf/engram/internal/mcp/server.go:274: SetEmbeddingStores 0.0% +github.com/thebtf/engram/internal/mcp/server.go:282: SetRerankClient 0.0% +github.com/thebtf/engram/internal/mcp/server.go:290: SetStatsDB 0.0% +github.com/thebtf/engram/internal/mcp/server.go:297: HandleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:303: ListTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:332: Version 0.0% +github.com/thebtf/engram/internal/mcp/server.go:383: Run 0.0% +github.com/thebtf/engram/internal/mcp/server.go:427: handleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:461: handleNotification 0.0% +github.com/thebtf/engram/internal/mcp/server.go:473: handleInitialize 0.0% +github.com/thebtf/engram/internal/mcp/server.go:496: buildInstructions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:660: storeMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:712: recallMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:805: primaryTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:942: handleToolsList 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1612: handleToolsCall 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1644: sanitizeToolCallArgs 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1656: callTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1874: sendResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1884: sendError 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1896: handleFindSimilarObservations 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1927: handleGetMemoryStats 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2055: handleBackfillStatus 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2071: handleCheckSystemHealth 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2216: handleAnalyzeSearchPatterns 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2246: handleSearchSessions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2251: handleListSessions 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:18: buildAdminTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:68: adminActionsForEnv 33.3% +github.com/thebtf/engram/internal/mcp/tools_admin.go:80: vnextEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:84: handleAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:120: handlePurgeProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27: ambientHintsEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32: ambientHintsTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48: handleGetAmbientHints 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86: normalizeAmbientHintsToolLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96: ambientHintItems 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114: errMissingSessionID 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:31: handleGetMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:107: memoryBriefUsesPrincipalScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:115: handlePrincipalMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:259: truncateBriefContent 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:270: filterInjectionByScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25: bulkOpsTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95: handleBulkPromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154: handleBulkDelete 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211: handleBulkSupersede 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31: candidateItemFromDomain 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51: newCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59: requireCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68: candidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165: handleListCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208: handleGetCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239: handlePromoteCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348: handleRejectCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402: handleSupersedeCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34: codeIntelEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42: SetCodeChunkStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48: codebaseSearchTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79: codebaseStatusTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100: handleCodebaseSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194: handleCodebaseStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:21: getVault 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:35: credentialStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:49: handleStoreCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:130: handleGetCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:192: handleListCredentials 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:243: handleDeleteCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:302: handleVaultStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:338: expandTagHierarchy 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:16: directivesCaptureEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:20: rememberDirectiveTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:38: currentDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:48: handleRememberDirective 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:72: parseRememberDirectiveArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10: handleDocsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:15: handleListCollections 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:61: handleListDocuments 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:121: handleGetDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:165: handleRemoveDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:197: handleIngestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:235: handleSearchCollection 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15: handleDocCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61: handleDocRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117: handleDocUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122: handleDocList 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175: handleDocHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232: handleDocComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19: SetExperienceProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23: experienceHistoryTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40: experienceHistoryReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65: experienceHistoryDetailSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82: experienceHistoryTriggerEnum 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91: handleExperienceHistoryRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103: handleExperienceHistoryDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115: parseExperienceHistoryReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142: parseExperienceHistoryDetailArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157: experienceHistoryTriggersFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180: marshalExperienceHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12: handleFeedbackConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36: handleSetSessionOutcome 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:27: governanceTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:98: handleListSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:167: handleRollbackSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:215: handlePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:258: handleRedactionRulesStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:284: resolveGovernanceActor 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:64: handleGraph 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:100: graphAddEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:216: mcpGraphEndpointExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:243: mcpGraphEdgeAlreadyExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:276: graphAddNode 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:317: graphRemoveEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:332: graphGetEdges 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:397: filterEdgesByNodeType 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:457: graphTraverse 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:480: graphFindPath 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:502: graphSynonyms 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23: graphCreateEdgeWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80: graphEndpointExistsWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114: graphDuplicateEdgeExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25: handleIngest 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43: ingestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20: handleImportInstincts 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:19: issuesToolSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:109: validateIssueActionParams 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:143: handleIssues 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:189: resolveSourceProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:205: handleIssueCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:250: handleIssueList 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:311: handleIssueGet 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:344: handleIssueUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:382: handleIssueComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:408: handleIssueReopen 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:425: handleIssueClose 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22: handleLifecycle 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48: lifecycleInfo 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87: lifecyclePromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118: lifecycleDemote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149: lifecycleSetConfidence 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172: lifecycleSetDefeasibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191: lifecycleSleepStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197: lifecycleDecayPreview 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233: marshalJSON 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:35: vnextFEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:42: isValidPrivacyScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:54: derivePrivacyScopeFromLegacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:82: deriveLegacyScopeFromPrivacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:93: applyPrincipalMemoryMetadata 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:135: addPrincipalMemoryFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:161: newScopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:172: writeLintVisibilityCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:186: writeLintVisibilityOptions 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:192: scopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:202: filterVisibleWriteGateCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:214: domainManageAllowed 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:218: List 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:272: writeLintVisibilityFetchLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:286: Get 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:297: Create 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:301: Update 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:305: MarkSuperseded 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:319: effectiveMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:329: isValidStoreObservationType 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:354: handleStoreMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111: handleEditMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218: computeTTLDays 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258: truncateTitle 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270: keepRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280: keepRecallMemoryFilters 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342: handleRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690: staleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700: marshalWithStaleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727: Rank 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1751: handleRecallMemoryHybrid 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252: handleRateMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281: handleSuppressMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17: SetDomainRegistryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21: checkDomainWriteMCP 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43: addDomainWriteDecisionFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51: marshalStoreMemoryAugmented 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26: newMemoryStoreSignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33: s6OutcomeEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37: effectiveMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47: currentMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58: rateMemorySignificanceTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74: handleRateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109: RateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18: s2MetaMemoryEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22: knowAboutTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39: handleKnowAbout 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104: parseKnowAboutLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118: summarizeMetaIndexTags 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153: summarizeMetaIndexDateRange 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23: SetPrincipalMemoryQueryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27: principalMemoryQueryTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52: handleQueryPrincipalMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134: principalMemoryQueryCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149: parsePrincipalMemoryQueryLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160: principalMemoryQueryText 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167: parsePrincipalMemoryQueryVisibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179: parsePrincipalMemoryQueryOffset 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190: parsePrincipalMemoryQueryInt 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215: parsePrincipalMemoryQueryBool 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:28: handleRecall 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:125: parseRecallIncludedPrincipals 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:165: appendRecallIncludedPrincipalMemories 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:223: recallIncludeTargetMatchesCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:231: recallPrincipalQueryItemToMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:247: handleRecallSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20: currentReviewLoopCandidateLister 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30: reviewLoopCandidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65: reviewLoopReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78: reviewPacketIDSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91: handleReviewMetricsRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110: handleReviewQueueRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140: handleReviewPacketDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151: handleReviewPacketPreviewAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167: handleReviewPacketApplyAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189: parseReviewLoopReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212: reviewLoopMCPPacketTypeSupported 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217: reviewLoopActionFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225: reviewLoopReasonFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233: loadReviewPacketCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256: applyReviewPacketPreserve 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278: applyReviewPacketSuppress 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296: reviewLoopMemoryFromCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320: filterRiskyMCPReviewCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330: marshalReviewLoop 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17: ruleGovernanceReadTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126: handleRuleGovernanceHealth 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176: handleRuleGovernanceQueue 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233: handleRuleGovernanceSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278: handleRuleGovernanceUsefulness 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338: handleRuleGovernanceTransition 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373: handleRuleGovernancePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406: handleRuleGovernanceRollback 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483: requireRuleGovernanceReadAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495: requireRuleGovernanceProjectOrAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505: ruleGovernanceCallerIsAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510: requireRuleGovernanceAdminAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518: redactRuleGovernanceEvidenceHandles 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535: redactRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553: ruleGovernanceEvidenceHandleHasSensitiveText 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559: isCanonicalRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580: isSafeRuleGovernanceEvidenceID 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594: parseRuleGovernanceTransitionRequest 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604: parseRuleGovernanceSince 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623: boundedRuleGovernanceLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634: formatRuleGovernanceTime 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641: formatRuleGovernanceTimePtr 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649: stringRuleCandidateStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657: stringRuleVersionStateCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665: stringRuleArbiterRunStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673: stringRuleInjectionEventTypeCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:17: handleStoreRule 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:133: handleListRules 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:22: handleSettingsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:51: SetSettingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:57: settingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:67: isSecretSettingKey 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:74: requireAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:85: handleSetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:145: handleGetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:181: handleListSettings 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:216: handleDeleteSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:35: resumeScopesFromFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:52: stateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:82: setStateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:142: handleGetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:219: handleSetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:274: decodeSessionStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:292: validateSessionStateBudget 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:303: validateNativeResumePacket 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:349: decodeProjectStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:364: requireStateObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:383: requireNestedObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10: handleStoreConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21: SetTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25: temporalTruthEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30: temporalTruthTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39: temporalTruthRefreshTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48: temporalTruthRefreshSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58: temporalTruthSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72: currentTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82: handleTemporalTruth 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102: handleTemporalTruthRefresh 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122: parseTemporalTruthArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151: parseTemporalTruthRefreshProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10: handleVaultConsolidated 0.0% +total: (statements) 0.1% diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/summary.json b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/summary.json new file mode 100644 index 00000000..3c44695c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-ambient-true-overridden/summary.json @@ -0,0 +1,64 @@ +{ + "schema_version": 1, + "gate": "release-gates-foundation", + "run_id": "challenge-ambient-true-overridden", + "started_at": "2026-07-11T01:00:48.3644235+00:00", + "finished_at": "2026-07-11T01:01:03.7268163+00:00", + "duration_seconds": 15.362, + "verdict": "PASS", + "counts": { + "requested_repeats": 1, + "completed_repeats": 1, + "passed_repeats": 1, + "failed_repeats": 0, + "child_commands": 16, + "nonzero_child_commands": 0 + }, + "packages": [ + "./internal/mcp" + ], + "run_pattern": "^TestEC_F1_TagDerivedBackfill_T007$", + "coverage_policy": "Targeted", + "connection_budget": 20, + "race": false, + "database_dsn": "REDACTED_DATABASE_DSN", + "environment": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\environment.json", + "commands": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\commands.json", + "repeats": [ + { + "repeat": 1, + "verdict": "PASS", + "database": "engram_prc_rg_test_77fc44a810a688de_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_77fc44a810a688de_r1.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": false, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 0, + "json_parser_exit": 0, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01\\cleanup\\cleanup.json", + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden\\repeat-01" + } + ], + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-ambient-true-overridden" +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/commands.json b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/commands.json new file mode 100644 index 00000000..bbe18d93 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/commands.json @@ -0,0 +1,444 @@ +[ + { + "name": "go-version", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "version" + ], + "environment_keys": [], + "command": "C:\\Program Files\\Go\\bin\\go.exe version", + "started_at": "2026-07-11T01:01:25.3182496+00:00", + "finished_at": "2026-07-11T01:01:25.5150314+00:00", + "duration_seconds": 0.197, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\go-version.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\go-version.stderr.log" + }, + { + "name": "postgres-container-identity", + "executable": "docker", + "arguments": [ + "inspect", + "--format", + "{{.Name}}|{{.Config.Image}}|{{.Image}}|{{.State.Running}}", + "engram-prc-postgres" + ], + "environment_keys": [], + "command": "docker inspect --format {{.Name}}|{{.Config.Image}}|{{.Image}}|{{.State.Running}} engram-prc-postgres", + "started_at": "2026-07-11T01:01:25.5672864+00:00", + "finished_at": "2026-07-11T01:01:25.8182939+00:00", + "duration_seconds": 0.251, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\postgres-container-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\postgres-container-identity.stderr.log" + }, + { + "name": "postgres-server-identity", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT json_build_object('server_version', current_setting('server_version'), 'server_version_num', current_setting('server_version_num'), 'version', version(), 'max_connections', current_setting('max_connections'), 'superuser_reserved_connections', current_setting('superuser_reserved_connections'), 'reserved_connections', COALESCE(NULLIF(current_setting('reserved_connections', true), ''), '0'), 'current_connections', (SELECT count(*)::text FROM pg_stat_activity), 'database', current_database(), 'schema', current_schema(), 'user', current_user)::text;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT json_build_object('server_version', current_setting('server_version'), 'server_version_num', current_setting('server_version_num'), 'version', version(), 'max_connections', current_setting('max_connections'), 'superuser_reserved_connections', current_setting('superuser_reserved_connections'), 'reserved_connections', COALESCE(NULLIF(current_setting('reserved_connections', true), ''), '0'), 'current_connections', (SELECT count(*)::text FROM pg_stat_activity), 'database', current_database(), 'schema', current_schema(), 'user', current_user)::text;", + "started_at": "2026-07-11T01:01:25.8278552+00:00", + "finished_at": "2026-07-11T01:01:26.1874619+00:00", + "duration_seconds": 0.36, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\postgres-server-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\postgres-server-identity.stderr.log" + }, + { + "name": "repeat-1-create-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "CREATE DATABASE \"engram_prc_rg_test_c987bdd5db898557_r1\" OWNER \"engram\";" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c CREATE DATABASE \"engram_prc_rg_test_c987bdd5db898557_r1\" OWNER \"engram\";", + "started_at": "2026-07-11T01:01:26.2162100+00:00", + "finished_at": "2026-07-11T01:01:26.6100647+00:00", + "duration_seconds": 0.394, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\create-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\create-database.stderr.log" + }, + { + "name": "repeat-1-create-pgvector", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_c987bdd5db898557_r1", + "-At", + "-F", + "|", + "-c", + "CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_c987bdd5db898557_r1 -At -F | -c CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;", + "started_at": "2026-07-11T01:01:26.6150948+00:00", + "finished_at": "2026-07-11T01:01:26.9721084+00:00", + "duration_seconds": 0.357, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\create-pgvector.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\create-pgvector.stderr.log" + }, + { + "name": "repeat-1-database-identity", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_c987bdd5db898557_r1", + "-At", + "-F", + "|", + "-c", + "SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_c987bdd5db898557_r1 -At -F | -c SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;", + "started_at": "2026-07-11T01:01:26.9745133+00:00", + "finished_at": "2026-07-11T01:01:27.3050646+00:00", + "duration_seconds": 0.331, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\database-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\database-identity.stderr.log" + }, + { + "name": "repeat-1-pg-stat-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_c987bdd5db898557_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_c987bdd5db898557_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T01:01:27.3096893+00:00", + "finished_at": "2026-07-11T01:01:27.6732016+00:00", + "duration_seconds": 0.364, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\pg-stat-activity-before.stderr.log" + }, + { + "name": "repeat-1-server-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T01:01:27.6754718+00:00", + "finished_at": "2026-07-11T01:01:28.0244312+00:00", + "duration_seconds": 0.349, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\server-connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\server-connection-count-before.stderr.log" + }, + { + "name": "repeat-1-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_c987bdd5db898557_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_c987bdd5db898557_r1';", + "started_at": "2026-07-11T01:01:28.0354916+00:00", + "finished_at": "2026-07-11T01:01:28.3831267+00:00", + "duration_seconds": 0.348, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\connection-count-before.stderr.log" + }, + { + "name": "repeat-1-go-test", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "test", + "-json", + "-p", + "1", + "-parallel", + "1", + "-count=1", + "-timeout", + "30m", + "-covermode=atomic", + "-coverprofile=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\coverage.out", + "-run", + "^TestEC_F1_TagDerivedBackfill_T007$", + "./internal/mcp" + ], + "environment_keys": [ + "DATABASE_DSN", + "DATABASE_MAX_CONNS", + "ENGRAM_RELEASE_GATE_REPEAT", + "ENGRAM_RELEASE_GATE_RUN_ID", + "ENGRAM_TEST_DSN", + "TEST_DATABASE_DSN" + ], + "command": "C:\\Program Files\\Go\\bin\\go.exe test -json -p 1 -parallel 1 -count=1 -timeout 30m -covermode=atomic -coverprofile=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\coverage.out -run ^TestEC_F1_TagDerivedBackfill_T007$ ./internal/mcp", + "started_at": "2026-07-11T01:01:28.3905823+00:00", + "finished_at": "2026-07-11T01:01:31.0837652+00:00", + "duration_seconds": 2.693, + "exit_code": 1, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\go-test.stdout.jsonl", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\go-test.stderr.log" + }, + { + "name": "repeat-1-assert-go-test-json", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\assert-go-test-json.ps1", + "-InputPath", + ".agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\go-test.stdout.jsonl", + "-SummaryPath", + ".agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\go-test-summary.json", + "-FailOnUnexpectedSkip" + ], + "environment_keys": [], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\assert-go-test-json.ps1 -InputPath .agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\go-test.stdout.jsonl -SummaryPath .agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\go-test-summary.json -FailOnUnexpectedSkip", + "started_at": "2026-07-11T01:01:31.0890747+00:00", + "finished_at": "2026-07-11T01:01:31.7871136+00:00", + "duration_seconds": 0.698, + "exit_code": 1, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\assert-go-test-json.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\assert-go-test-json.stderr.log" + }, + { + "name": "repeat-1-targeted-coverage-report", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "tool", + "cover", + "-func=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\coverage.out" + ], + "environment_keys": [], + "command": "C:\\Program Files\\Go\\bin\\go.exe tool cover -func=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\coverage.out", + "started_at": "2026-07-11T01:01:31.7924902+00:00", + "finished_at": "2026-07-11T01:01:32.2626778+00:00", + "duration_seconds": 0.47, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\targeted-coverage.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\targeted-coverage.stderr.log" + }, + { + "name": "repeat-1-pg-stat-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_c987bdd5db898557_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_c987bdd5db898557_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T01:01:32.2635273+00:00", + "finished_at": "2026-07-11T01:01:32.6587997+00:00", + "duration_seconds": 0.395, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\pg-stat-activity-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\pg-stat-activity-after.stderr.log" + }, + { + "name": "repeat-1-server-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T01:01:32.6618458+00:00", + "finished_at": "2026-07-11T01:01:33.0260140+00:00", + "duration_seconds": 0.364, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\server-connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\server-connection-count-after.stderr.log" + }, + { + "name": "repeat-1-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_c987bdd5db898557_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_c987bdd5db898557_r1';", + "started_at": "2026-07-11T01:01:33.0285147+00:00", + "finished_at": "2026-07-11T01:01:33.4615663+00:00", + "duration_seconds": 0.433, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\connection-count-after.stderr.log" + }, + { + "name": "repeat-1-cleanup", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\cleanup-db-sessions.ps1", + "-DatabaseName", + "engram_prc_rg_test_c987bdd5db898557_r1", + "-SchemaName", + "public", + "-ArtifactRoot", + ".agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01", + "-RunId", + "challenge-flag-reset-removed-repeat-1", + "-PostgresContainer", + "engram-prc-postgres" + ], + "environment_keys": [ + "ENGRAM_TEST_ADMIN_DSN" + ], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\cleanup-db-sessions.ps1 -DatabaseName engram_prc_rg_test_c987bdd5db898557_r1 -SchemaName public -ArtifactRoot .agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01 -RunId challenge-flag-reset-removed-repeat-1 -PostgresContainer engram-prc-postgres", + "started_at": "2026-07-11T01:01:33.4652586+00:00", + "finished_at": "2026-07-11T01:01:36.2042947+00:00", + "duration_seconds": 2.739, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\cleanup-process.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\cleanup-process.stderr.log" + } +] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/environment.json b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/environment.json new file mode 100644 index 00000000..7a1a7bbb --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/environment.json @@ -0,0 +1,52 @@ +{ + "schema_version": 1, + "run_id": "challenge-flag-reset-removed", + "timestamp": "2026-07-11T01:01:25.3022054+00:00", + "go_version": "go version go1.25.11 windows/amd64", + "postgres": { + "declared_image": "pgvector/pgvector:pg17", + "container": { + "name": "/engram-prc-postgres", + "configured_image": "pgvector/pgvector:pg17", + "image_id": "sha256:feb68f4f15446397d8cac7f4fe48fe4586de83160d1fc48b46283312d1a33966", + "running": true + }, + "server": { + "server_version": "17.10 (Debian 17.10-1.pgdg12+1)", + "server_version_num": "170010", + "version": "PostgreSQL 17.10 (Debian 17.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit", + "max_connections": "100", + "superuser_reserved_connections": "3", + "reserved_connections": "0", + "current_connections": "6", + "database": "postgres", + "schema": "public", + "user": "engram" + }, + "admin_dsn": "postgresql://engram:REDACTED@127.0.0.1:55432/postgres?sslmode=disable" + }, + "packages": [ + "./internal/mcp" + ], + "run_pattern": "^TestEC_F1_TagDerivedBackfill_T007$", + "repeat": 1, + "fail_on_unexpected_skip": true, + "allowed_skip_identities": [], + "coverage_policy": "Targeted", + "connection_budget": 20, + "race": false, + "require_session_start_execution": false, + "required_session_start_test_count": 12, + "sequential_execution": { + "go_package_parallelism": 1, + "go_test_parallelism": 1, + "database_max_connections": 20 + }, + "govulncheck_policy": { + "authoritative": [ + "source scan with tests", + "unstripped binary scan" + ], + "non_authoritative": "stripped binary scan (module-level fallback when symbols are absent)" + } +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/go-version.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/go-version.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/go-version.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/go-version.stdout.log new file mode 100644 index 00000000..a857be3f --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/go-version.stdout.log @@ -0,0 +1 @@ +go version go1.25.11 windows/amd64 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/postgres-container-identity.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/postgres-container-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/postgres-container-identity.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/postgres-container-identity.stdout.log new file mode 100644 index 00000000..c110d492 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/postgres-container-identity.stdout.log @@ -0,0 +1 @@ +/engram-prc-postgres|pgvector/pgvector:pg17|sha256:feb68f4f15446397d8cac7f4fe48fe4586de83160d1fc48b46283312d1a33966|true diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/postgres-server-identity.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/postgres-server-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/postgres-server-identity.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/postgres-server-identity.stdout.log new file mode 100644 index 00000000..2e33d56e --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/postgres-server-identity.stdout.log @@ -0,0 +1 @@ +{"server_version" : "17.10 (Debian 17.10-1.pgdg12+1)", "server_version_num" : "170010", "version" : "PostgreSQL 17.10 (Debian 17.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit", "max_connections" : "100", "superuser_reserved_connections" : "3", "reserved_connections" : "0", "current_connections" : "6", "database" : "postgres", "schema" : "public", "user" : "engram"} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/assert-go-test-json.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/assert-go-test-json.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/assert-go-test-json.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/assert-go-test-json.stdout.log new file mode 100644 index 00000000..12a09db6 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/assert-go-test-json.stdout.log @@ -0,0 +1,2 @@ +go test JSON verdict=FAIL packages=1 tests=1 passed=0 failed=1 skipped=0 unexpected_skips=0 malformed=0 +summary=D:\Dev\engram\.w\t007-r1-checker\.agent\reviews\t007-r1-fresh-checker\evidence\challenge-flag-reset-removed\repeat-01\go-test-summary.json diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/cleanup-process.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/cleanup-process.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/cleanup-process.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/cleanup-process.stdout.log new file mode 100644 index 00000000..effa9361 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/cleanup-process.stdout.log @@ -0,0 +1,2 @@ +cleanup verdict=PASS database=engram_prc_rg_test_c987bdd5db898557_r1 schema=public terminated_sessions=0 remaining_database_count=0 +summary=D:\Dev\engram\.w\t007-r1-checker\.agent\reviews\t007-r1-fresh-checker\evidence\challenge-flag-reset-removed\repeat-01\cleanup\cleanup.json diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/cleanup/cleanup.json b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/cleanup/cleanup.json new file mode 100644 index 00000000..53866498 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/cleanup/cleanup.json @@ -0,0 +1,170 @@ +{ + "schema_version": 1, + "run_id": "challenge-flag-reset-removed-repeat-1", + "timestamp": "2026-07-11T01:01:36.1180163+00:00", + "verdict": "PASS", + "database": "engram_prc_rg_test_c987bdd5db898557_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_c987bdd5db898557_r1.public", + "admin_dsn": "postgresql://engram:REDACTED@127.0.0.1:55432/postgres?sslmode=disable", + "postgres_container": "engram-prc-postgres", + "cleanup_status": "PASS", + "cleanup_attempted": true, + "database_existed_before": true, + "absence_verified": true, + "terminated_sessions": 0, + "remaining_database_count": 0, + "commands": [ + { + "name": "database-exists-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_c987bdd5db898557_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_c987bdd5db898557_r1';", + "started_at": "2026-07-11T01:01:34.0996843+00:00", + "finished_at": "2026-07-11T01:01:34.4722254+00:00", + "duration_seconds": 0.373, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\cleanup\\database-exists-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\cleanup\\database-exists-before.stderr.log" + }, + { + "name": "pg-stat-activity-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_c987bdd5db898557_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_c987bdd5db898557_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T01:01:34.5327203+00:00", + "finished_at": "2026-07-11T01:01:34.8815859+00:00", + "duration_seconds": 0.349, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\cleanup\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\cleanup\\pg-stat-activity-before.stderr.log" + }, + { + "name": "terminate-database-sessions", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_c987bdd5db898557_r1' AND pid <> pg_backend_pid() ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_c987bdd5db898557_r1' AND pid <> pg_backend_pid() ORDER BY pid) AS s;", + "started_at": "2026-07-11T01:01:34.8855148+00:00", + "finished_at": "2026-07-11T01:01:35.3424412+00:00", + "duration_seconds": 0.457, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\cleanup\\terminate-sessions.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\cleanup\\terminate-sessions.stderr.log" + }, + { + "name": "drop-fresh-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "DROP DATABASE IF EXISTS \"engram_prc_rg_test_c987bdd5db898557_r1\" WITH (FORCE);" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c DROP DATABASE IF EXISTS \"engram_prc_rg_test_c987bdd5db898557_r1\" WITH (FORCE);", + "started_at": "2026-07-11T01:01:35.3529788+00:00", + "finished_at": "2026-07-11T01:01:35.7633771+00:00", + "duration_seconds": 0.41, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\cleanup\\drop-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\cleanup\\drop-database.stderr.log" + }, + { + "name": "verify-database-absent", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_c987bdd5db898557_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_c987bdd5db898557_r1';", + "started_at": "2026-07-11T01:01:35.7667338+00:00", + "finished_at": "2026-07-11T01:01:36.1102217+00:00", + "duration_seconds": 0.343, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\cleanup\\verify-database-absent.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\cleanup\\verify-database-absent.stderr.log" + } + ], + "errors": [] +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/cleanup/database-exists-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/cleanup/database-exists-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/cleanup/database-exists-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/cleanup/database-exists-before.stdout.log new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/cleanup/database-exists-before.stdout.log @@ -0,0 +1 @@ +1 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/cleanup/drop-database.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/cleanup/drop-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/cleanup/drop-database.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/cleanup/drop-database.stdout.log new file mode 100644 index 00000000..ca12dce0 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/cleanup/drop-database.stdout.log @@ -0,0 +1 @@ +DROP DATABASE diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/cleanup/pg-stat-activity-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/cleanup/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/cleanup/pg-stat-activity-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/cleanup/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/cleanup/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/cleanup/terminate-sessions.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/cleanup/terminate-sessions.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/cleanup/terminate-sessions.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/cleanup/terminate-sessions.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/cleanup/terminate-sessions.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/cleanup/verify-database-absent.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/cleanup/verify-database-absent.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/cleanup/verify-database-absent.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/cleanup/verify-database-absent.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/cleanup/verify-database-absent.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/connection-count-after.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/connection-count-after.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/connection-count-after.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/connection-count-after.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/connection-count-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/connection-count-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/connection-count-before.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/connection-count-before.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/coverage.out b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/coverage.out new file mode 100644 index 00000000..b295ca95 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/coverage.out @@ -0,0 +1,3472 @@ +mode: atomic +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33.53,34.30 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:34.30,36.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.2,37.25 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.25,39.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:40.2,40.12 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44.28,46.2 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52.83,53.12 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:53.12,54.16 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:54.16,55.32 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:55.32,61.5 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:63.3,65.33 3 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:65.33,71.4 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77.54,78.14 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:78.14,80.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:81.2,82.16 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:82.16,85.3 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:86.2,87.13 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92.91,93.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:93.23,95.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:96.2,97.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:97.15,99.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:100.2,105.65 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:105.65,113.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117.95,118.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:118.23,120.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:121.2,122.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:122.15,124.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:125.2,129.65 5 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:129.65,138.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142.87,143.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:143.23,145.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:146.2,147.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:150.2,153.65 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:153.65,161.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166.96,167.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:167.23,169.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:170.2,171.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:171.15,173.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:174.2,177.63 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:177.63,185.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189.97,190.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:190.23,192.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:193.2,194.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:194.15,196.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:197.2,200.68 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:200.68,208.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:30.62,31.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:31.20,33.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:34.2,35.49 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:35.49,37.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:38.2,38.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:38.14,40.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:41.2,41.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:46.52,47.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:47.14,49.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:50.2,50.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:51.14,52.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:53.19,54.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:55.15,56.45 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:57.12,58.31 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:59.10,60.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:67.43,68.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:68.14,70.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:71.2,71.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:72.15,73.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:74.19,75.38 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:75.38,77.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:78.3,78.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:78.40,80.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:81.3,81.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:82.14,83.56 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:83.56,85.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:86.3,86.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:86.54,88.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:89.3,89.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:90.10,91.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:97.49,98.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:98.14,100.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:101.2,101.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:102.15,103.18 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:104.19,105.38 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:105.38,107.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:108.3,108.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:108.40,110.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:111.3,111.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:112.14,113.56 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:113.56,115.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:116.3,116.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:116.54,118.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:119.3,119.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:120.10,121.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:127.55,128.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:128.14,130.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:131.2,131.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:132.15,133.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:134.19,135.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:135.40,137.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:138.3,138.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:139.14,140.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:140.54,142.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:143.3,143.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:144.10,145.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:151.46,152.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:152.14,154.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:155.2,155.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:156.12,157.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:158.14,159.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:159.54,161.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:162.3,162.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:163.15,164.16 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:165.19,166.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:166.40,168.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:169.3,169.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:170.10,171.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:177.40,178.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:178.14,180.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:181.2,181.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:182.13,184.26 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:184.26,185.36 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:185.36,187.5 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:189.3,189.16 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:190.16,191.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:192.14,193.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:193.14,195.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:196.3,196.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:197.10,198.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:204.38,205.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:205.14,207.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:208.2,209.9 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:209.9,211.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:212.2,213.27 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:213.27,214.42 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:214.42,216.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:218.2,218.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:222.32,223.39 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:223.39,225.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:226.2,226.30 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:226.30,228.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:229.2,229.30 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:229.30,231.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:232.2,232.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:236.35,237.28 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:237.28,239.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.2,240.28 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.28,242.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:243.2,243.15 1 0 +github.com/thebtf/engram/internal/mcp/context.go:17.55,19.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:22.78,24.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:29.78,31.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:35.53,38.2 2 0 +github.com/thebtf/engram/internal/mcp/context.go:41.80,43.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:48.80,50.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:54.53,57.2 2 0 +github.com/thebtf/engram/internal/mcp/context.go:61.51,62.43 1 0 +github.com/thebtf/engram/internal/mcp/context.go:62.43,64.3 1 0 +github.com/thebtf/engram/internal/mcp/context.go:65.2,65.16 1 0 +github.com/thebtf/engram/internal/mcp/health.go:22.32,26.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:29.37,33.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:36.35,40.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:42.44,45.25 3 0 +github.com/thebtf/engram/internal/mcp/health.go:45.25,47.50 1 0 +github.com/thebtf/engram/internal/mcp/health.go:47.50,50.4 2 0 +github.com/thebtf/engram/internal/mcp/health.go:55.74,60.16 5 0 +github.com/thebtf/engram/internal/mcp/health.go:60.16,62.3 1 0 +github.com/thebtf/engram/internal/mcp/health.go:63.2,71.4 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28.42,29.65 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:29.65,32.3 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.2,33.40 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.40,35.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:36.2,36.14 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39.120,40.69 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:40.69,42.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:43.2,44.19 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:44.19,46.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:47.2,48.17 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:48.17,50.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:51.2,52.59 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:52.59,54.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:55.2,56.20 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:56.20,58.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:59.2,60.17 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:60.17,62.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:63.2,64.21 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:64.21,66.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:67.2,68.22 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:68.22,70.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:71.2,72.23 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:76.2,98.19 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:98.19,100.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:101.2,101.66 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104.52,106.29 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:106.29,108.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:109.2,110.46 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113.113,123.27 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:123.27,125.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:130.2,130.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:127.44,138.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:141.64,143.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:146.78,148.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:151.53,153.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:156.55,158.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:161.58,163.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:166.62,168.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:171.50,173.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:176.78,178.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:181.74,183.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:186.71,189.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:191.85,193.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:195.61,197.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:199.49,201.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:204.54,206.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:211.53,213.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:216.53,218.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:222.61,224.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:228.59,230.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:234.51,236.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:240.52,242.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:246.55,248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:252.82,254.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:260.70,262.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:269.68,271.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:274.87,277.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:282.60,284.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:290.45,292.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:297.77,299.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:303.37,313.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:313.38,315.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:316.2,317.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:317.9,319.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:320.2,321.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:321.9,323.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:324.2,325.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:325.9,327.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:328.2,328.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:332.35,334.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:383.49,387.12 3 0 +github.com/thebtf/engram/internal/mcp/server.go:387.12,388.22 1 0 +github.com/thebtf/engram/internal/mcp/server.go:388.22,389.11 1 0 +github.com/thebtf/engram/internal/mcp/server.go:390.22,392.11 2 0 +github.com/thebtf/engram/internal/mcp/server.go:393.12,393.12 0 0 +github.com/thebtf/engram/internal/mcp/server.go:396.4,397.18 2 0 +github.com/thebtf/engram/internal/mcp/server.go:397.18,398.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:401.4,402.61 2 0 +github.com/thebtf/engram/internal/mcp/server.go:402.61,404.13 2 0 +github.com/thebtf/engram/internal/mcp/server.go:407.4,407.55 1 0 +github.com/thebtf/engram/internal/mcp/server.go:407.55,409.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:411.3,411.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:414.2,414.9 1 0 +github.com/thebtf/engram/internal/mcp/server.go:415.20,416.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:417.25,418.17 1 0 +github.com/thebtf/engram/internal/mcp/server.go:418.17,420.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:421.3,421.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:427.77,428.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:428.19,431.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:433.2,433.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:434.20,435.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:436.20,437.32 1 0 +github.com/thebtf/engram/internal/mcp/server.go:438.20,439.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:443.24,444.93 1 0 +github.com/thebtf/engram/internal/mcp/server.go:445.34,446.101 1 0 +github.com/thebtf/engram/internal/mcp/server.go:447.22,448.91 1 0 +github.com/thebtf/engram/internal/mcp/server.go:449.29,450.120 1 0 +github.com/thebtf/engram/internal/mcp/server.go:451.10,456.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:461.51,462.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:463.50,464.70 1 0 +github.com/thebtf/engram/internal/mcp/server.go:465.46,466.79 1 0 +github.com/thebtf/engram/internal/mcp/server.go:467.10,468.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:473.59,485.63 2 0 +github.com/thebtf/engram/internal/mcp/server.go:485.63,487.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:489.2,493.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:496.45,503.33 3 0 +github.com/thebtf/engram/internal/mcp/server.go:503.33,505.57 2 0 +github.com/thebtf/engram/internal/mcp/server.go:505.57,506.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:506.76,507.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.4,509.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.18,511.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:511.10,513.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:514.4,518.11 5 0 +github.com/thebtf/engram/internal/mcp/server.go:522.2,522.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:660.29,683.21 2 0 +github.com/thebtf/engram/internal/mcp/server.go:683.21,689.3 5 0 +github.com/thebtf/engram/internal/mcp/server.go:690.2,699.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:712.30,765.49 3 0 +github.com/thebtf/engram/internal/mcp/server.go:765.49,789.3 5 0 +github.com/thebtf/engram/internal/mcp/server.go:790.2,799.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:805.40,936.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:942.58,1048.35 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1048.35,1077.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.2,1080.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.33,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.2,1093.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.26,1123.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1124.2,1124.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1124.80,1126.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1127.2,1127.55 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1127.55,1129.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1130.2,1130.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1130.38,1132.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1134.2,1134.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1134.25,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1138.2,1138.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1138.33,1140.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1141.2,1141.69 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1141.69,1143.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1144.2,1144.75 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1144.75,1146.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1148.2,1148.27 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1148.27,1165.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.2,1168.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.76,1191.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1195.2,1195.48 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1195.48,1197.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.2,1201.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.47,1203.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.2,1205.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.38,1207.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1212.2,1212.21 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1212.21,1214.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1228.2,1228.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1228.51,1230.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1233.2,1233.56 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1233.56,1235.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1238.2,1238.71 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1238.71,1298.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1302.2,1302.104 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1302.104,1321.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1324.2,1324.72 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1324.72,1333.154 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1333.154,1334.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1334.26,1336.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1337.7,1337.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1338.35,1340.26 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1340.26,1342.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1343.7,1343.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1371.2,1371.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1371.26,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1393.2,1393.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1393.28,1443.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.2,1446.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.28,1478.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.2,1481.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.37,1561.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1564.2,1568.23 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1568.23,1570.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1572.2,1588.57 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1588.57,1591.29 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1591.29,1593.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1594.3,1594.27 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1594.27,1595.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1595.29,1597.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1601.2,1607.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1612.79,1614.60 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1614.60,1620.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1622.2,1623.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1623.16,1631.3 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1633.2,1641.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1644.69,1645.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1645.34,1647.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1648.2,1649.22 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1649.22,1651.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1652.2,1652.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1656.99,1658.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1659.16,1660.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1661.15,1662.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1663.18,1664.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1665.15,1666.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1667.18,1668.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1669.14,1670.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1671.15,1672.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1676.2,1676.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1677.35,1678.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1679.26,1680.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1681.20,1682.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1683.20,1684.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1685.16,1686.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1687.29,1688.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1689.33,1690.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1691.25,1692.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1693.23,1694.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1696.26,1697.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1698.24,1699.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1700.22,1701.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1702.25,1703.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1704.27,1705.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1706.25,1707.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1709.30,1710.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1711.28,1712.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1713.17,1714.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1715.20,1716.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1717.20,1718.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1719.20,1720.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1722.20,1723.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1724.18,1725.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1726.20,1727.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1728.18,1729.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1730.21,1731.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1732.21,1733.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1734.26,1735.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1736.25,1737.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1738.26,1739.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1740.24,1741.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1742.26,1743.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1744.27,1745.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1746.22,1747.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1748.19,1749.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1750.15,1751.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1752.16,1753.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1755.21,1756.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1757.19,1758.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1759.20,1760.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1761.22,1762.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1763.22,1764.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1765.23,1766.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1767.20,1768.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1769.32,1770.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1771.19,1772.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1773.19,1774.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1775.33,1776.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1777.35,1778.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1779.24,1780.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1781.32,1782.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1783.28,1784.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1785.21,1786.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1787.34,1788.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1789.25,1790.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1791.29,1792.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1793.26,1794.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1795.27,1796.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1798.25,1799.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1800.23,1801.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1802.27,1803.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1804.26,1805.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1806.29,1807.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1809.29,1810.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1811.27,1812.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1813.30,1814.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1815.38,1816.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1817.36,1818.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1820.24,1821.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1822.27,1823.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1824.22,1825.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1826.32,1827.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1828.32,1829.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1830.31,1831.48 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1832.35,1833.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1834.36,1835.53 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1836.36,1837.53 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1838.38,1839.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1840.34,1841.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1843.22,1844.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1845.21,1846.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1847.24,1848.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1850.25,1851.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1852.25,1853.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1859.2,1859.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1860.22,1863.131 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1866.51,1867.123 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1868.10,1869.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1874.47,1876.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1876.16,1879.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1880.2,1880.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1884.72,1890.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1896.105,1898.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1898.16,1900.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1902.2,1903.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1903.17,1905.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1907.2,1908.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1908.17,1910.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1912.2,1918.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1918.16,1920.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1921.2,1921.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1927.76,1933.15 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1933.15,1936.17 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1936.17,1938.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1939.3,1939.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1943.2,1950.36 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1950.36,1952.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1952.8,1955.29 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1955.29,1958.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1959.3,1962.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.2,1966.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.20,1977.20 6 0 +github.com/thebtf/engram/internal/mcp/server.go:1977.20,1979.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.3,1980.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.20,1982.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.3,1985.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.37,1987.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1987.30,1988.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1988.16,1990.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1990.11,1992.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1994.4,1995.56 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1995.56,1997.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1998.4,2003.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.2,2008.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.29,2009.63 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2009.63,2011.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2011.9,2013.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.2,2021.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.29,2029.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2029.38,2031.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2031.9,2033.31 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2033.31,2035.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2035.30,2037.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2039.4,2042.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2046.2,2047.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2047.16,2049.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2050.2,2050.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2055.57,2056.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2056.33,2058.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2059.2,2060.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2060.16,2062.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2063.2,2064.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2064.16,2066.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2067.2,2067.23 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2071.79,2105.15 6 0 +github.com/thebtf/engram/internal/mcp/server.go:2105.15,2107.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2107.17,2111.4 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2111.9,2112.17 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2112.17,2114.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2115.4,2117.26 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2117.26,2119.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2119.10,2121.29 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2121.29,2123.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2125.4,2129.25 5 0 +github.com/thebtf/engram/internal/mcp/server.go:2130.19,2130.19 0 0 +github.com/thebtf/engram/internal/mcp/server.go:2132.20,2134.106 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2135.12,2137.103 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2140.8,2143.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2144.2,2150.49 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2150.49,2152.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2152.8,2154.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2155.2,2168.27 4 0 +github.com/thebtf/engram/internal/mcp/server.go:2168.27,2170.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2170.17,2173.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2173.9,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2177.2,2182.40 4 0 +github.com/thebtf/engram/internal/mcp/server.go:2182.40,2183.21 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2184.20,2185.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2186.19,2187.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.2,2191.24 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.24,2193.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.8,2193.30 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.30,2195.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.2,2198.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.28,2200.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.2,2203.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.29,2205.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2207.2,2208.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2208.16,2210.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2211.2,2211.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2216.103,2218.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2218.16,2220.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2222.2,2223.15 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2223.15,2225.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2227.2,2239.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2239.16,2241.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2242.2,2242.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2246.93,2248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2251.91,2253.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:18.28,29.20 4 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:29.20,33.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:35.2,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:68.36,69.49 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:69.49,74.3 4 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:75.2,75.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:80.26,82.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:84.89,86.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:89.2,90.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:90.18,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:94.2,94.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:95.15,96.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:97.26,98.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:99.25,100.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:101.23,105.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:105.22,107.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:108.3,108.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:109.10,110.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:120.92,126.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:126.26,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:130.2,131.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:131.19,133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:134.2,135.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:135.19,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.2,138.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.24,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.2,142.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.25,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:146.2,147.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:151.2,151.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27.40,30.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32.30,46.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48.99,49.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:49.34,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.2,52.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.69,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:56.2,57.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:60.2,61.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:61.21,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:64.2,67.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:67.26,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:70.2,71.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:71.25,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:75.2,77.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:77.44,79.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.2,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.33,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:83.2,83.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86.52,87.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:87.16,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.2,90.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.15,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:93.2,93.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96.73,97.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:97.21,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:100.2,101.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:101.29,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:111.2,111.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114.34,116.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:31.98,32.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:32.52,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.2,35.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.26,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:39.2,40.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:40.49,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.2,43.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.21,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.2,46.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.21,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.2,49.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.18,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.2,52.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.18,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.2,56.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.38,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:60.2,61.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:61.16,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:68.2,70.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:70.26,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:79.2,81.36 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:81.36,84.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:86.2,89.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:89.28,90.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:90.39,91.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:93.3,97.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:100.2,104.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:107.60,113.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:115.101,116.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:116.38,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:120.2,122.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:122.21,123.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:123.26,125.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.3,126.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.23,128.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:129.8,130.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:130.26,132.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.3,133.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.68,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:137.2,140.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:141.17,142.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:143.67,143.67 0 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:144.10,145.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:148.2,162.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:162.16,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.2,165.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.2,174.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.30,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.2,177.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.31,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:181.2,182.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:182.36,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:198.2,199.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:199.19,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:202.2,203.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:203.18,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:206.2,207.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:207.21,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:210.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:211.25,213.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:214.2,225.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:225.21,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.25,230.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.2,231.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.18,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:235.2,244.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:244.21,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.2,247.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.25,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.2,250.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.18,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.2,253.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:256.2,256.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:259.50,261.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:261.22,263.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:264.2,264.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:270.90,272.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:272.42,276.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:277.2,281.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:281.27,282.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:282.45,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:286.2,286.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25.28,88.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95.95,96.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:96.22,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:99.2,100.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:100.32,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:104.2,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:109.2,114.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:114.35,121.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.2,123.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.25,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:127.2,134.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:138.2,146.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154.94,155.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:155.22,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:158.2,159.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:159.32,161.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:163.2,164.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:164.16,166.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:168.2,172.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:172.35,179.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.2,181.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.25,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:185.2,192.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:192.16,194.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:196.2,203.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211.97,212.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:212.22,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:215.2,216.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:216.32,218.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:220.2,221.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:221.16,223.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:225.2,229.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:229.35,236.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.2,238.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.25,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:242.2,249.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:249.16,251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:253.2,260.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31.80,32.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:32.14,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:35.2,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51.136,53.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:53.51,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:56.2,56.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59.94,60.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:60.21,62.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:63.2,63.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68.30,162.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165.98,166.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:166.49,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:169.2,170.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:170.16,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:173.2,174.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:174.19,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:177.2,179.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:179.17,181.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:188.2,189.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:189.31,190.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:190.15,191.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:193.3,193.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:196.2,201.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:201.16,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:204.2,204.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208.96,209.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:209.49,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:212.2,213.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:213.16,215.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:216.2,217.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:217.13,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.2,225.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.22,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:229.2,230.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:230.16,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:233.2,233.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239.100,240.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:240.22,242.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:243.2,244.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:244.16,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:247.2,248.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:248.13,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:255.2,256.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:256.12,263.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:263.30,264.77 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:264.77,269.5 4 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:271.3,272.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:272.21,274.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:275.3,275.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.2,279.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.29,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:284.2,285.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:285.16,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.2,288.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.22,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.2,291.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.55,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.2,294.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.74,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:297.2,298.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:298.16,300.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:306.2,307.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:307.41,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:310.2,324.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:324.16,325.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:325.50,327.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:328.3,328.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.2,330.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.38,332.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:334.2,341.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:341.16,343.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:344.2,344.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348.99,349.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:349.49,351.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:352.2,353.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:353.16,355.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:356.2,357.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:357.13,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:360.2,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.2,365.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.22,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.2,368.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.74,370.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:371.2,372.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:372.16,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.2,375.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.85,377.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:379.2,380.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:380.16,381.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:381.50,383.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:384.3,384.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.2,386.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.20,388.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:390.2,395.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:395.16,397.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:398.2,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402.102,403.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:403.49,405.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:406.2,407.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:407.16,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:410.2,411.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:411.13,413.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:414.2,415.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:415.16,417.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.2,418.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.22,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.2,421.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.74,423.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:424.2,425.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:425.16,427.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.2,428.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.88,430.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:432.2,433.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:433.16,434.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:434.50,436.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:437.3,437.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.2,439.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.20,441.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:443.2,448.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:448.16,450.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:451.2,451.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34.30,36.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42.61,44.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48.32,75.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79.32,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100.98,101.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:101.25,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.2,104.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.29,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:108.2,113.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:113.17,114.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:114.55,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.2,118.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.24,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.2,121.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.23,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.2,124.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.23,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:134.2,135.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:135.21,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:142.2,147.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:154.2,165.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:165.25,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:177.2,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:186.2,186.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194.98,195.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:195.25,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.2,198.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.29,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:202.2,205.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:205.17,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:208.2,209.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:209.21,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:213.2,214.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:214.16,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:217.2,218.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:218.16,220.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:226.2,231.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:231.11,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:21.52,22.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:22.24,25.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:25.28,27.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:29.2,29.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:35.72,37.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:37.15,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:45.2,45.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:49.99,51.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:51.16,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:55.2,56.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:56.16,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:60.2,72.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.2,75.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.24,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.2,78.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.24,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:81.2,81.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:82.27,82.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:84.10,85.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.2,87.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.30,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.2,90.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.26,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:104.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:116.2,123.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:126.2,126.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:130.97,132.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:132.16,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:136.2,137.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:141.2,147.23 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:147.23,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.2,150.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.26,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:154.2,155.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:155.16,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:160.16,161.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:161.47,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:164.3,164.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.2,167.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.97,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:174.2,175.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:175.16,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:179.2,185.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:185.16,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:188.2,188.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:192.99,194.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:194.16,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:198.2,199.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:199.16,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:203.2,207.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:207.26,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:211.2,212.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:212.16,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:216.2,223.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:223.26,229.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:229.28,231.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:232.3,232.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:243.100,245.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:245.16,247.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:249.2,250.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:250.16,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:254.2,262.23 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:262.23,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.2,265.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.24,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:268.2,268.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:269.27,269.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:271.10,272.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.2,274.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.30,276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.2,277.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.26,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.2,281.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.71,282.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:282.47,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:285.3,285.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:288.2,293.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:293.16,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:296.2,296.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:302.92,309.19 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:309.19,310.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:310.53,313.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:316.2,317.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:317.51,318.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:318.66,320.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:323.2,331.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:331.16,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:334.2,334.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:338.46,342.32 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:342.32,343.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:343.20,346.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:348.2,350.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:350.26,352.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:352.27,353.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:353.13,355.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:356.4,356.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:358.3,358.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:360.2,360.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:16.45,18.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:20.35,36.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:38.84,39.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:39.40,41.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.2,42.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.50,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:45.2,45.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:48.101,50.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:50.16,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:53.2,54.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:57.2,58.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:58.19,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:61.2,62.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:62.21,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:65.2,66.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:66.16,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:69.2,69.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:72.102,74.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:77.2,82.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10.100,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:22.16,23.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:24.14,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:26.14,27.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:28.17,29.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:30.17,31.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:32.21,33.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:34.19,35.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:36.17,37.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:38.16,39.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:40.16,41.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:42.21,43.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:44.10,45.167 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:15.77,16.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:16.33,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:20.2,21.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:21.27,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:25.2,26.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:26.28,29.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:29.17,31.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:34.2,41.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:41.32,46.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:46.20,48.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:49.3,49.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:61.97,62.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:62.28,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:71.2,75.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:75.29,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:79.2,80.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:80.16,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.2,84.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.20,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:88.2,97.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:97.25,103.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:103.20,105.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.3,106.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.19,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:109.3,109.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:112.2,113.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:113.16,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:117.2,117.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:121.95,122.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:122.28,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:131.2,137.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:137.50,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:141.2,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.2,145.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.16,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.2,149.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.21,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:153.2,154.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:154.16,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.2,157.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.20,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:161.2,161.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:165.98,166.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:166.28,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:170.2,171.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:171.16,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:175.2,181.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:181.50,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.2,185.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.96,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:189.2,189.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:197.98,198.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:198.28,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:207.2,217.74 6 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:217.74,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:222.2,223.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:223.16,225.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:227.2,229.156 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:235.98,237.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:237.16,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:241.2,247.24 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:247.24,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:252.2,253.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:253.29,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:256.2,256.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15.93,16.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:16.37,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:20.2,21.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:21.16,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:25.2,32.16 7 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:32.16,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.2,35.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.19,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.2,38.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.19,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:42.2,43.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:43.16,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:47.2,54.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61.91,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:62.37,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:71.2,73.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:73.16,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.2,76.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.19,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:80.2,81.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:81.43,83.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:83.19,85.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:86.3,86.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:87.8,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.2,90.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.16,91.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:91.45,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:94.3,94.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:97.2,110.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:110.16,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:113.2,113.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117.93,119.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122.91,123.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:123.37,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:132.2,133.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:133.19,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:136.2,141.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:141.16,143.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:145.2,155.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:155.25,165.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:167.2,168.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:168.16,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:171.2,171.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175.94,176.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:176.37,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:180.2,181.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:181.16,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:185.2,187.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:187.16,189.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.2,190.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.19,192.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:193.2,196.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:200.2,208.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:208.25,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:218.2,225.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232.94,233.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:233.37,235.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:242.2,243.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:243.21,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:246.2,248.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:248.19,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:252.2,253.46 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:253.46,255.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:255.13,257.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.2,259.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.44,261.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:261.13,263.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:266.2,267.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:267.16,269.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:271.2,278.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:278.16,280.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:281.2,281.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19.69,21.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23.38,38.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40.51,63.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65.53,80.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82.46,85.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:85.32,87.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:88.2,88.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91.105,93.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:93.16,95.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:96.2,97.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:100.2,100.70 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103.107,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:108.2,109.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:109.16,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:112.2,112.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115.101,117.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:117.16,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:120.2,121.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:121.17,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:124.2,139.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142.109,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:147.2,154.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157.100,159.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:159.28,161.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:161.18,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:164.3,164.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:166.2,167.72 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:167.72,169.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.2,170.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.53,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:173.2,174.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:174.26,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:177.2,177.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180.73,182.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:182.16,184.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:185.2,185.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12.104,14.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:14.16,16.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:18.2,19.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:19.18,21.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:23.2,23.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:24.14,25.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:26.18,27.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:28.17,29.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:30.10,31.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36.101,37.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:37.27,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:46.2,47.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:47.21,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:50.2,51.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:51.19,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:54.2,54.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:55.52,55.52 0 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:56.10,57.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:59.2,61.93 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:61.93,64.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:66.2,70.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:27.31,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:98.97,100.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:100.26,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.2,103.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.28,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:112.2,115.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:115.15,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.2,118.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.17,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:122.2,123.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:127.2,140.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:140.29,151.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:151.31,154.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:155.3,155.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:158.2,162.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:167.100,169.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:169.26,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.2,172.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.28,174.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.2,175.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.26,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:179.2,180.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:184.2,185.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:185.22,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:189.2,190.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:190.20,191.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:191.54,199.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.3,200.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.61,202.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:203.3,203.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:206.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:215.95,217.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:217.32,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.2,220.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.28,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:224.2,225.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:229.2,230.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:230.22,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.2,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.25,246.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:248.2,252.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:258.104,260.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:260.26,262.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:267.2,271.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:271.20,275.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:275.8,279.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:280.2,280.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:284.60,285.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:285.30,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.2,288.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.42,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:291.2,291.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:64.89,65.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:65.25,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:69.2,70.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:70.49,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:74.2,74.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:75.18,76.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:77.21,78.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:79.19,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:81.18,82.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:83.19,84.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:85.18,86.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:87.18,91.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:91.23,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:94.3,94.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:95.10,96.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:100.81,103.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:103.19,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:106.2,107.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:107.19,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.2,112.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.46,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.2,115.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.46,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.2,122.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.66,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.25,128.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:128.22,130.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:131.8,132.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:132.26,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.2,138.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.25,139.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:139.22,141.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:142.8,143.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:143.26,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.2,148.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.22,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.2,151.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.38,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.2,154.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.19,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:159.2,161.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:161.25,164.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.2,165.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.25,168.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:169.2,171.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:171.23,174.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.2,175.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.23,178.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:180.2,193.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:193.16,195.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:198.2,199.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:199.29,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.2,202.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.29,204.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:205.2,213.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:216.121,217.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:217.28,218.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:218.26,220.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:221.3,222.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:222.17,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:223.49,225.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:226.4,226.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:228.3,228.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.2,230.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.26,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:233.2,234.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:234.16,235.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:235.48,237.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:238.3,238.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:240.2,240.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:243.101,248.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:248.36,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:250.8,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.2,253.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.16,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.2,256.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.32,257.128 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:257.128,262.72 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:262.72,264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:267.2,267.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:276.81,277.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:277.25,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.2,280.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.22,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.2,283.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.39,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.2,286.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.25,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.2,289.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.21,291.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:292.2,293.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:293.14,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:296.2,305.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:305.16,307.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:308.2,314.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:317.84,318.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:318.19,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:321.2,323.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:323.63,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:326.2,329.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:332.82,333.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:333.38,335.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:336.2,337.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:338.18,339.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:340.18,341.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.2,345.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.59,347.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:349.2,351.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:351.21,353.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:353.8,356.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.2,357.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:366.2,367.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:367.41,369.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:371.2,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:397.115,398.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:398.15,400.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:403.2,404.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:404.26,405.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:405.28,407.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.3,408.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.28,410.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.2,412.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.23,415.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:420.2,426.12 4 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:426.12,427.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:427.27,429.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:429.18,431.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.4,433.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.33,435.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:440.2,441.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:441.26,442.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:442.28,443.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:443.49,445.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.3,448.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.28,449.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:449.49,451.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:454.2,454.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:457.82,458.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:458.21,460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:461.2,462.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:462.16,464.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.2,465.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.36,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:468.2,469.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:469.16,471.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:472.2,477.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:480.82,481.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:481.40,483.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:484.2,485.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:485.19,487.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:488.2,489.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:489.16,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:492.2,499.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:502.82,503.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:503.21,505.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:506.2,507.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:507.16,509.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:510.2,514.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23.179,24.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:24.22,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:28.2,32.22 4 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:32.22,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:35.2,36.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:36.22,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:40.2,41.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:41.26,43.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.2,44.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.26,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.2,47.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.30,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.2,50.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.30,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:54.2,55.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:55.16,57.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.2,58.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.13,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:61.2,62.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:62.16,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.2,65.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.13,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:69.2,70.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:70.16,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.2,73.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.15,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:77.2,77.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80.172,81.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:81.28,82.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:82.23,84.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.3,85.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.18,87.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:88.3,89.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:89.17,90.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:90.49,92.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:93.4,93.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:95.3,95.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.2,98.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.24,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.2,101.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.19,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:104.2,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:105.16,106.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:106.48,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:109.3,109.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:111.2,111.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114.119,116.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:116.22,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:119.2,120.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:120.22,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:124.2,126.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:126.26,127.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:127.36,129.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:130.3,130.105 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:131.8,132.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:132.32,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:135.3,135.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.2,137.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.2,141.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.32,143.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:143.27,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:146.3,147.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:147.27,149.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.3,150.106 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.106,151.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.3,153.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.27,154.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:154.114,155.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.9,157.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.104,158.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.3,160.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.27,161.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:161.114,162.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.9,164.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.104,165.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:167.3,167.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:169.2,169.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25.90,26.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:26.26,28.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:30.2,31.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:31.49,33.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:35.2,35.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:36.16,37.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:38.10,39.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43.84,44.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:44.21,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.2,47.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.25,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.2,50.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.21,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.2,53.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.21,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:57.2,58.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:59.18,60.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:61.15,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:63.24,64.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:65.10,66.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:69.2,70.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:70.22,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:73.2,74.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:74.29,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.2,78.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.14,85.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:87.2,89.37 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:89.37,92.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:92.21,94.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:97.2,100.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:100.31,102.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:102.38,104.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:104.37,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:109.3,122.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:122.26,124.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.3,125.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.19,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:131.3,133.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:133.39,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:135.9,137.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.3,138.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.17,140.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.3,142.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.34,144.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:145.3,145.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:148.2,155.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20.99,22.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:22.16,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:26.2,31.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:31.44,32.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:32.33,33.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:33.43,38.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.2,43.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.49,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.2,46.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.48,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:50.2,52.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:52.27,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:55.8,60.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:60.24,62.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.3,64.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.57,66.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:68.3,68.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.2,71.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.16,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:75.2,76.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:76.23,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:80.2,80.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:19.40,89.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:109.71,111.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:111.9,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:115.2,116.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:116.38,117.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:118.13,119.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:119.41,121.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:122.17,123.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:123.43,125.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:126.11,127.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:127.40,129.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.2,133.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.22,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:139.2,139.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:143.90,144.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:144.25,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:148.2,149.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:149.16,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:153.2,157.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:157.61,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:161.2,161.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:162.16,163.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:164.14,165.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:166.13,167.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:168.16,169.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:170.17,171.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:172.16,173.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:174.15,175.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:176.10,177.120 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:189.85,191.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:191.39,192.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:192.44,194.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.2,196.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.15,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.2,199.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.15,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:202.2,202.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:205.91,207.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:207.17,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:211.2,215.25 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:215.25,217.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:218.2,224.25 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:224.25,226.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.2,227.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.25,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:231.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:247.2,247.139 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:250.89,252.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:252.19,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:255.2,256.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:256.25,258.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:259.2,264.52 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:264.52,266.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:266.14,268.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:271.2,277.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:277.25,280.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:282.2,283.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:283.16,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.2,287.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.22,288.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:288.20,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:291.3,291.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:294.2,297.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:297.31,300.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:300.29,302.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:303.3,305.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:308.2,308.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:311.88,313.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:313.13,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:317.2,318.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:318.16,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:322.2,328.22 6 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:328.22,331.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.2,333.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.23,335.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:335.30,338.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:341.2,341.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:344.91,346.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:346.13,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:350.2,353.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:353.18,354.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:354.27,356.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.3,357.73 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.73,359.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.2,362.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.19,370.17 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:370.17,372.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:375.2,376.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:376.26,378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:379.2,379.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:382.92,384.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:384.13,386.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:388.2,389.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:389.16,391.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:393.2,401.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:401.16,403.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:405.2,405.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:408.91,410.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:410.13,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:414.2,418.95 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:418.95,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:422.2,422.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:425.90,427.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:427.13,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:431.2,433.167 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:433.167,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.2,437.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.89,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:441.2,441.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22.93,24.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:24.49,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:28.2,28.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:29.14,30.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:31.17,32.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:33.16,34.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:35.24,36.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:37.27,38.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:39.22,40.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:41.23,42.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:43.10,44.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48.79,49.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:49.13,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:57.2,58.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:58.32,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:61.2,84.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87.101,88.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:88.13,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.2,91.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.38,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.2,98.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.53,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:102.2,104.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:104.17,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.2,107.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.29,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:110.2,115.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118.100,119.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:119.13,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.2,122.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.38,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.2,129.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.53,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:133.2,135.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:135.17,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.2,138.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.29,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:141.2,146.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149.123,150.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:150.13,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.2,153.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.18,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.2,156.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.38,158.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:159.2,161.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:161.17,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:164.2,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172.113,173.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:173.13,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.2,176.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.50,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:179.2,181.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:181.17,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:184.2,188.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191.57,195.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197.102,198.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:198.13,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.2,201.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.20,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:204.2,205.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:205.16,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:209.2,210.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:210.32,212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:214.2,217.56 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:217.56,223.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:225.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233.41,235.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:235.16,237.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:238.2,238.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:35.27,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:42.41,43.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:44.48,45.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:46.10,47.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:54.57,55.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:56.17,57.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:58.16,59.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:60.10,61.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:82.58,83.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:84.28,85.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:86.26,87.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:88.10,89.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:93.114,95.68 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:95.68,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:99.2,101.42 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:101.42,102.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:102.71,105.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:107.2,117.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:117.23,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:121.2,124.22 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:124.22,125.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:125.31,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:128.3,128.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.8,129.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.37,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:132.2,132.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:135.74,136.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:136.30,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.2,139.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.34,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.2,142.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.31,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.2,145.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.22,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:161.169,162.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:162.17,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:165.2,166.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:166.51,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:169.2,169.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:172.92,174.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:174.42,177.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:177.63,179.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:179.9,181.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:183.2,183.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:186.65,190.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:192.115,194.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:194.26,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.8,196.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.31,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:199.2,199.117 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:202.122,206.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:206.31,207.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:207.45,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:211.2,211.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:214.72,216.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:218.117,219.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:222.2,223.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:223.20,225.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:225.17,227.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.3,228.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.27,229.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:229.50,231.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:231.30,232.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:236.3,236.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:239.2,241.60 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:241.60,243.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:243.61,245.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.3,246.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.24,247.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:249.3,250.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:250.17,252.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.3,253.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.22,254.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.3,256.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.29,257.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:257.50,259.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:259.30,260.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:264.3,265.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:265.32,266.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:269.2,269.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:272.51,273.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:273.16,275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:276.2,277.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:277.18,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.2,280.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.19,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:283.2,283.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:286.97,288.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:288.30,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.2,291.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.49,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:294.2,294.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:297.108,299.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:301.108,303.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:305.102,307.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:319.55,320.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:320.31,322.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.2,323.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.26,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:326.2,326.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:329.71,330.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:343.26,344.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:345.10,346.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:354.95,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:366.2,397.39 14 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:397.39,399.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:399.27,401.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:402.8,404.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:405.2,407.46 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:407.46,410.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.2,411.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.44,413.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:413.12,415.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.2,417.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.26,419.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.2,420.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.84,422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.2,427.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.65,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:431.2,433.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:433.20,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:436.2,437.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:437.20,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.2,440.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.56,442.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.2,443.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.56,448.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.2,450.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.45,453.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.2,459.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.31,461.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:461.22,462.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:462.62,465.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:466.4,466.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:468.3,468.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:471.2,472.115 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:472.115,474.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.2,491.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.19,493.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:493.23,495.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:496.3,508.21 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:508.21,510.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:511.3,511.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.2,522.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.43,535.34 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:535.34,556.30 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:556.30,558.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.4,559.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.44,561.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.4,562.106 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.106,564.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.4,575.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.74,577.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:578.4,579.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:579.18,581.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:583.4,584.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:584.28,586.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.4,588.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.31,599.57 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:599.57,601.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:601.17,604.7 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:606.5,607.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:607.21,609.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.5,615.138 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.138,617.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:617.27,619.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:620.6,620.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:622.5,623.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:623.26,625.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:626.5,626.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:630.4,631.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:631.20,633.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.4,634.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.22,637.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:637.26,639.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:640.5,640.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:645.4,660.77 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:660.77,662.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:663.4,664.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:664.25,666.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:667.4,667.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.2,673.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.26,675.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:677.2,678.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:678.25,680.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.2,681.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.97,683.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:690.2,691.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:691.21,693.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:693.33,695.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.3,696.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.33,698.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.3,699.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.49,704.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.3,721.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.54,722.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:722.84,724.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.2,728.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.99,730.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:732.2,733.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:733.22,735.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:736.109,737.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:738.100,739.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:740.114,741.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:742.107,743.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:744.11,745.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:748.2,749.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:749.43,751.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:753.2,755.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:755.34,756.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:756.48,757.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:757.19,760.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.2,764.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.31,767.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.2,768.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.35,771.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.2,772.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.76,776.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:778.2,780.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:780.16,782.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:782.20,785.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.2,788.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.25,798.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:798.18,800.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.9,800.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.30,807.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.3,808.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.36,810.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:811.3,812.50 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:812.50,815.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:816.3,822.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:822.17,824.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:826.3,836.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:836.17,838.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:839.3,839.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:842.2,843.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:843.30,844.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:844.52,846.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:846.9,848.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:851.2,869.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:869.21,871.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:871.43,873.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.3,874.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.29,876.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.3,886.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.76,888.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.2,890.105 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.105,892.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:893.2,894.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:894.16,896.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:901.2,904.40 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:904.40,905.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:905.15,906.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:909.3,910.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:910.63,912.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:912.9,914.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.3,916.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.43,918.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:919.3,920.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:920.20,922.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.3,925.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.23,928.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:929.3,931.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:931.33,934.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:934.39,936.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:939.2,948.42 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:948.42,950.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:950.21,952.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:952.9,955.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.2,959.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.53,960.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:960.54,961.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:961.33,963.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:964.9,972.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.3,973.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.60,974.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:974.40,976.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.3,978.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.61,979.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:979.41,981.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.3,983.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.28,985.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:986.3,987.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.2,989.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.51,991.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:995.2,997.53 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:997.53,999.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:999.8,1001.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.2,1002.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.22,1004.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1008.2,1014.76 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1014.76,1016.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.2,1021.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.57,1026.13 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1026.13,1029.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1029.21,1032.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.4,1033.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.49,1035.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1036.4,1043.89 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1043.89,1046.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1048.4,1048.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1052.2,1063.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1063.21,1065.40 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1065.40,1067.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.3,1068.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.38,1070.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1072.2,1074.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1074.18,1081.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.2,1082.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.28,1084.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.2,1085.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.16,1087.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.2,1088.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.30,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.2,1091.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.30,1093.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.2,1098.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.76,1100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1101.2,1102.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1102.16,1104.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1105.2,1105.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111.94,1113.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1113.15,1115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1117.2,1118.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1118.16,1120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1122.2,1123.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1123.13,1125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1126.2,1131.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1131.16,1133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.2,1134.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.19,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.2,1146.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.39,1148.55 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1148.55,1150.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.2,1152.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.39,1154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1157.2,1158.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1158.21,1163.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1163.21,1165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1166.3,1167.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1167.21,1169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.3,1170.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.52,1172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.3,1173.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.52,1178.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.3,1179.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.41,1182.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1183.3,1183.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.2,1188.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.46,1190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.2,1191.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.27,1193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1195.2,1196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1196.16,1198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1201.2,1210.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1210.16,1212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1213.2,1213.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218.59,1220.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1220.38,1222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1225.2,1226.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1226.29,1227.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1227.22,1229.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.2,1232.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.18,1234.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1237.2,1244.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1244.29,1245.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1245.67,1247.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.2,1249.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.16,1251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1254.2,1254.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258.55,1260.47 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1260.47,1262.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1263.2,1264.58 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1264.58,1266.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1267.2,1267.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270.252,1271.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1271.108,1273.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.2,1274.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.55,1276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1277.2,1277.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280.184,1282.69 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1282.69,1284.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1284.32,1285.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1285.58,1287.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.3,1290.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.18,1292.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.2,1294.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.19,1297.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1297.32,1298.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1298.39,1300.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.3,1303.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.19,1305.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.2,1307.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.21,1309.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1309.32,1310.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1310.49,1312.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.3,1315.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.18,1317.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.2,1319.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.28,1321.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1321.17,1323.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.3,1324.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.27,1326.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.2,1328.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.76,1330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1331.2,1331.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342.96,1343.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1343.26,1345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1347.2,1348.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1348.16,1350.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1352.2,1363.23 9 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1363.23,1364.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1364.58,1365.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1365.31,1367.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1367.10,1369.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.2,1373.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.17,1375.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.2,1376.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.16,1378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.2,1379.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.16,1381.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.2,1382.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.18,1384.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.2,1385.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.19,1387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.2,1388.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.19,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1396.2,1399.18 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1399.18,1400.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1400.61,1401.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1402.50,1403.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1404.12,1405.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1409.2,1410.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1410.42,1414.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1415.2,1420.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1420.16,1422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1429.2,1444.43 6 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1444.43,1446.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1449.2,1451.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1451.27,1453.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.2,1458.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.46,1460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.2,1461.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.63,1463.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1465.2,1466.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1466.15,1472.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1472.29,1479.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1479.18,1481.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.4,1482.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.23,1483.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.4,1485.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.30,1486.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1486.24,1488.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1488.32,1489.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1493.4,1494.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1494.30,1495.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1498.8,1504.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1504.29,1506.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1506.18,1508.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.4,1509.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.23,1510.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.4,1512.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.30,1513.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1513.24,1515.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1515.32,1516.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1520.4,1521.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1521.30,1522.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.2,1526.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.26,1528.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1528.17,1530.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.2,1535.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.74,1536.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1536.13,1537.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1537.33,1542.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1542.26,1544.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1544.39,1546.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1548.5,1548.82 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.2,1565.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.38,1569.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1569.27,1571.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.3,1572.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.27,1574.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1576.3,1581.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1581.32,1586.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1588.3,1592.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1592.18,1594.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1595.3,1596.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1596.17,1598.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1599.3,1599.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1602.2,1602.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1603.15,1618.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1618.32,1620.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1620.33,1621.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1621.40,1623.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1626.4,1638.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1640.3,1641.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1641.17,1643.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1644.3,1644.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1646.18,1648.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1648.17,1650.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1651.3,1651.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1653.10,1654.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1654.25,1656.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1657.3,1659.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1659.32,1661.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1661.33,1662.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1662.40,1664.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1667.4,1669.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1669.26,1671.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1672.4,1673.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1673.25,1675.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1676.4,1676.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1678.3,1678.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690.51,1695.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700.73,1702.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1702.16,1704.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1705.2,1706.48 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1706.48,1710.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1711.2,1713.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1713.16,1715.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1716.2,1716.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727.117,1731.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1731.21,1733.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1734.2,1735.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1735.16,1737.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1738.2,1739.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1739.27,1741.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1742.2,1742.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1764.19,1775.30 7 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1775.30,1777.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1777.37,1779.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.3,1781.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.20,1783.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.2,1797.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.39,1799.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1801.2,1811.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1811.25,1813.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1815.2,1816.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1816.29,1818.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.2,1824.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.27,1826.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1831.2,1833.22 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1833.22,1835.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1837.2,1846.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1846.16,1848.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1853.2,1855.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1855.27,1857.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1859.2,1876.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1876.33,1878.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1880.2,1881.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1881.28,1885.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1885.20,1888.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1888.33,1889.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1889.40,1891.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.4,1894.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.20,1895.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.3,1900.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.22,1902.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1902.33,1903.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1903.50,1905.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.4,1908.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.19,1909.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.3,1918.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.56,1919.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.3,1927.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.64,1928.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1932.3,1935.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1935.32,1936.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1936.39,1938.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1942.3,1956.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1956.14,1957.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1957.37,1959.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1961.3,1962.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1962.26,1963.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.2,1975.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.59,1986.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1986.17,1988.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1990.3,1991.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1991.34,1993.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1995.3,1996.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1996.29,1998.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1998.21,2001.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2001.34,2002.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2002.41,2004.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.5,2007.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.21,2008.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.4,2011.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.23,2013.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2013.34,2014.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2014.51,2016.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.5,2019.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.20,2020.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.4,2023.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.57,2024.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.4,2027.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.65,2028.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2030.4,2031.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2031.33,2032.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2032.40,2034.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2037.4,2051.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2051.15,2052.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2052.38,2054.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2056.4,2057.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2057.27,2058.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2065.2,2066.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2066.28,2068.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.2,2072.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.71,2080.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2080.30,2081.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2081.41,2087.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.3,2089.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.13,2090.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2090.31,2095.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2095.25,2097.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2097.38,2099.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2101.5,2101.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.2,2112.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.38,2115.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2115.27,2117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2121.3,2138.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2138.30,2140.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2140.11,2141.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2143.4,2160.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2160.15,2161.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2161.39,2163.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2165.4,2165.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2167.3,2173.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2173.24,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2176.3,2176.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2179.2,2179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2180.15,2182.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2182.24,2184.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2185.3,2185.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2187.18,2199.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2199.30,2201.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2201.11,2202.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2204.4,2208.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2208.15,2209.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2209.39,2211.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2213.4,2213.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2215.3,2216.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2216.24,2218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2219.3,2219.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2220.10,2221.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2221.22,2223.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2224.3,2226.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2226.27,2228.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2228.20,2230.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2231.4,2233.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2233.26,2235.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2236.4,2237.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2237.23,2239.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.4,2240.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.46,2244.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2245.4,2245.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2247.3,2247.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252.94,2254.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2254.16,2256.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2258.2,2260.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2260.18,2261.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2261.59,2262.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2262.36,2264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2264.10,2266.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.2,2270.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.13,2272.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.2,2273.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.50,2275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2277.2,2277.98 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281.98,2282.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2282.26,2284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2286.2,2287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2287.16,2289.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2291.2,2292.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2292.13,2294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2297.2,2298.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2298.19,2299.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2299.51,2301.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2302.3,2302.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.2,2304.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.42,2306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.2,2308.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.54,2309.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2309.48,2311.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2312.3,2312.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2316.2,2318.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17.82,19.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21.149,22.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:22.55,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.2,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.36,27.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:28.2,34.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:34.16,36.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.2,37.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.42,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:40.2,40.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43.105,44.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:44.48,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:47.2,48.54 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51.129,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:56.2,57.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:57.53,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:60.2,61.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:61.25,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:64.2,65.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:65.16,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:68.2,68.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26.97,27.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:27.18,29.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:30.2,30.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33.37,35.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37.81,38.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:38.44,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.2,41.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.38,43.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:44.2,44.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47.88,48.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:48.32,50.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:51.2,52.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:52.20,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:55.2,55.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58.40,72.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74.106,75.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:75.34,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:78.2,79.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:79.16,81.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:83.2,84.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:88.2,89.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:89.13,91.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:93.2,94.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:94.63,96.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.2,98.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.72,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:102.2,106.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109.117,110.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:110.32,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.2,113.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.34,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:117.2,118.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:118.16,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.2,121.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.19,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:125.2,126.69 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:126.69,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:130.2,136.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18.33,20.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22.27,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39.93,40.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:40.30,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.2,43.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.28,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:46.2,47.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:47.16,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:51.2,52.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:52.17,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:55.2,56.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:56.19,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.2,59.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.19,61.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:62.2,63.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:63.16,65.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:67.2,74.9 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:74.9,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:77.2,78.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:78.15,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:81.2,85.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:85.16,87.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.2,88.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.17,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:92.2,101.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104.48,105.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:108.2,109.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:109.29,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.2,112.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.31,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:115.2,115.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118.75,120.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:120.27,121.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:121.32,123.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:123.17,124.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:126.4,126.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:129.2,134.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:134.33,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.2,137.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.40,138.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:138.39,140.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:141.3,141.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.2,143.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.34,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:146.2,147.35 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:147.35,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:150.2,150.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153.77,154.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:154.20,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:157.2,159.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:159.31,160.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:160.33,162.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.3,163.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.30,165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:167.2,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23.91,25.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27.38,50.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52.104,53.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:53.38,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:56.2,57.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:61.2,62.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:62.26,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:65.2,66.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:66.30,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.2,69.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.72,71.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:73.2,74.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:77.2,78.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:78.16,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:81.2,82.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:82.16,84.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:85.2,86.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:90.2,105.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.2,109.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.19,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.2,118.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.25,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.2,121.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.30,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.2,124.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.31,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:131.2,131.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134.91,136.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:136.9,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:139.2,140.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:140.15,141.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:141.19,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:144.3,144.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:146.2,146.94 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149.59,150.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:150.16,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:153.2,154.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:154.61,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:157.2,157.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160.56,161.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:161.75,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:164.2,164.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167.67,169.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:170.17,171.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:172.67,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:174.10,175.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179.60,180.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:183.2,184.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:184.25,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:187.2,187.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190.57,191.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:192.15,193.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:193.81,195.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:196.3,196.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:197.19,199.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:199.17,201.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.3,202.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.55,204.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:205.3,205.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:206.14,207.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:208.11,209.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:210.10,211.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215.59,216.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:216.16,218.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:219.2,219.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:220.12,221.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:222.14,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:224.10,225.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:28.90,30.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:30.16,32.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:34.2,36.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:37.16,38.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:40.16,42.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:44.20,46.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:48.17,50.142 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:52.17,56.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:56.50,62.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:62.63,64.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.4,66.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.45,68.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:72.4,74.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:74.25,76.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:77.4,77.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:80.3,80.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:82.18,84.141 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:86.18,88.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:88.18,90.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:91.3,91.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:93.17,96.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:96.50,99.59 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:99.59,101.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:102.4,104.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:104.25,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:107.4,107.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:110.3,110.98 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:112.10,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:125.86,126.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:129.2,130.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:130.9,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.2,133.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.22,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:137.2,139.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:139.31,141.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:141.10,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:144.3,145.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:145.22,147.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:148.3,149.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:149.26,151.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.3,152.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.68,154.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:155.3,156.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:156.37,158.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:159.3,160.107 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:162.2,162.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:165.249,166.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:166.24,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.2,169.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.38,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:173.2,174.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:174.31,175.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:175.32,177.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:180.2,181.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:181.34,182.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:182.29,183.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:185.3,197.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:197.17,199.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.3,200.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.20,201.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.3,203.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.37,205.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:205.33,206.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.4,208.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.19,209.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:209.43,210.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:212.5,212.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:214.4,215.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:215.30,216.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:220.2,220.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:223.113,229.2 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:231.101,233.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:247.92,251.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:251.16,253.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.8,253.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:259.2,272.51 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:272.51,274.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:274.38,275.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:276.50,277.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:278.12,279.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:287.2,292.26 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:292.26,294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.2,297.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.19,301.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:303.2,311.42 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:311.42,315.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:316.2,341.64 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:341.64,342.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:342.86,344.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.3,345.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.56,347.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:348.3,360.19 6 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:360.19,364.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:365.3,365.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:369.2,370.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:370.15,372.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:372.27,374.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.3,375.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.27,377.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:380.2,381.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:381.15,387.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:387.28,395.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:395.18,397.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.4,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.23,399.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.4,401.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.30,402.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:402.66,403.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:405.5,406.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:406.12,407.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.5,409.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.28,413.6 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:414.5,415.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:415.30,416.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:419.4,420.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:420.30,421.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:424.8,432.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:432.28,438.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:438.18,440.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.4,441.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.23,442.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.4,444.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.30,445.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:445.40,447.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:447.31,448.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:452.4,455.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:455.30,456.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:461.2,465.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:465.17,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:469.2,470.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:470.16,472.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:473.2,473.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20.79,21.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:21.43,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.2,24.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.29,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:27.2,27.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30.40,63.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65.68,71.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:71.25,74.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:75.2,75.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78.62,83.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:83.19,87.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:88.2,88.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91.101,92.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:92.22,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:95.2,96.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:96.18,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:103.2,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:107.2,107.119 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110.99,111.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:111.22,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:114.2,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:115.18,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:118.2,119.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:119.16,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.2,122.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.51,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:129.2,131.15 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:131.15,132.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:132.69,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:135.3,135.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:137.2,137.130 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140.102,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.2,145.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.64,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:148.2,148.113 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151.109,153.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:157.16,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:160.2,161.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:161.16,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:164.2,164.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167.107,169.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:169.16,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:172.2,173.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:173.16,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.2,176.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.107,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:179.2,179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:180.41,181.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:182.41,183.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:184.10,185.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189.111,191.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:191.16,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:194.2,195.57 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:195.57,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:198.2,199.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:199.23,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.2,206.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.17,208.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:209.2,209.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212.63,215.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217.69,219.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:222.2,222.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225.60,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:230.2,230.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233.137,234.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:234.49,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:241.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:246.2,247.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:247.16,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.2,250.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.22,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:253.2,253.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256.142,258.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:258.16,260.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:261.2,262.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:262.16,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.2,265.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.47,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:268.2,269.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:269.16,270.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:270.50,272.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:273.3,273.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:275.2,275.173 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278.157,280.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:280.16,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.2,283.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.47,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:286.2,287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:287.16,288.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:288.50,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:291.3,291.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:293.2,293.169 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296.104,297.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:297.22,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:300.2,301.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:301.61,303.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:303.20,304.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.2,307.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.19,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:310.2,317.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320.119,322.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:322.39,323.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:323.81,325.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:327.2,327.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330.71,332.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:332.16,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:335.2,335.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17.61,105.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:105.23,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:123.2,123.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126.104,127.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:127.61,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.2,130.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.38,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:133.2,134.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:137.2,138.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:138.16,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:141.2,147.107 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:147.107,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:150.2,151.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:151.16,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:154.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:170.19,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:173.2,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176.103,177.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:177.61,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.2,180.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.38,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:187.2,191.106 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:191.106,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:194.2,195.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:195.16,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:198.2,200.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:200.31,207.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:207.36,218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:219.3,220.35 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:222.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233.107,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.2,237.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.38,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:240.2,241.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:241.16,243.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:244.2,248.110 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:248.110,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:251.2,252.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:252.16,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:255.2,256.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:256.33,266.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:267.2,275.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278.108,279.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:279.61,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.2,282.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.37,284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:285.2,286.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:286.16,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:289.2,290.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:290.19,292.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.2,293.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.104,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:296.2,297.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:297.16,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:300.2,307.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:307.16,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:310.2,311.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:311.43,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:319.2,332.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:332.22,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:335.2,335.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338.108,339.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:339.62,341.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.2,342.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.38,344.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:345.2,346.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:346.9,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:349.2,350.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:350.16,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:353.2,357.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:360.2,370.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373.109,374.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:374.62,376.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.2,377.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.38,379.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:380.2,381.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:381.9,383.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:384.2,385.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:385.16,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:388.2,390.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:390.32,392.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:393.2,394.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:394.16,396.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:397.2,403.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406.106,407.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:407.62,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.2,410.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.38,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:413.2,414.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:414.9,416.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:417.2,418.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:418.16,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:421.2,423.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:423.16,424.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:424.41,434.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:435.3,435.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:437.2,445.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483.65,484.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:484.42,485.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:485.39,487.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.2,489.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.85,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:492.2,492.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495.102,496.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:496.38,498.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.2,499.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.58,501.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:502.2,502.90 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505.60,508.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510.66,512.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:512.26,514.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:515.2,515.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518.69,521.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:521.33,523.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:523.21,524.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.3,526.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.34,527.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:529.3,530.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:532.2,532.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535.63,537.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:537.19,539.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:540.2,541.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:541.42,543.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.2,544.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.57,546.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.2,547.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.54,549.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:550.2,550.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553.70,557.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559.66,561.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:561.9,563.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:564.2,566.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:566.17,568.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:569.2,569.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:570.103,572.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:573.34,574.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:575.10,576.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580.56,581.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:581.37,583.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.2,584.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.26,586.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:586.37,587.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:589.3,589.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:591.2,591.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594.90,602.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604.68,605.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:605.71,607.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:607.17,609.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:610.3,610.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:612.2,613.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:613.16,615.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:616.2,617.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:617.41,619.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:620.2,620.78 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623.65,625.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:625.16,627.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.2,628.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.17,630.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:631.2,631.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634.51,635.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:635.16,637.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:638.2,638.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641.56,642.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:642.28,644.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:645.2,646.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649.92,651.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:651.29,653.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:654.2,654.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657.86,659.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:659.29,661.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:662.2,662.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665.94,667.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:667.29,669.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:670.2,670.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673.98,675.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:675.29,677.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:678.2,678.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:17.93,18.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:18.104,20.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:22.2,23.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:23.16,25.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:27.2,28.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:28.19,30.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:32.2,35.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:35.33,36.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:36.47,39.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:42.2,44.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:44.20,47.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:48.2,49.68 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:49.68,50.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:50.48,52.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.3,53.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.32,55.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:55.23,56.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:56.63,58.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:59.5,59.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:61.4,61.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:64.2,71.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:71.17,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.8,73.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.29,75.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:75.36,77.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:78.3,83.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.2,86.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.35,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:90.2,97.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:101.2,110.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:110.28,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:113.2,124.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:133.93,134.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:134.35,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:138.2,139.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:139.16,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:143.2,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.2,147.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.17,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:151.2,152.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:152.33,153.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:153.47,156.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:160.16,162.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:164.2,176.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:176.26,178.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:178.23,180.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:181.3,192.5 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:195.2,196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:199.2,199.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:22.104,24.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:24.16,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:28.2,29.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:29.18,31.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:33.2,33.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:34.13,35.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:36.13,37.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:38.14,39.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:40.16,41.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:42.10,43.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:51.67,53.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:57.68,58.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:58.33,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:61.2,61.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:67.42,69.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:74.61,76.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:76.26,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:79.2,79.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:85.90,86.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:86.49,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:90.2,91.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:91.15,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:94.2,95.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:95.17,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:100.2,103.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:103.16,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:107.2,113.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:113.12,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:115.18,117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:118.3,119.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:119.20,121.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:122.3,124.48 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:125.8,127.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:129.2,130.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:130.16,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:134.2,139.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:145.90,147.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:151.2,152.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:152.16,154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:157.16,158.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:158.47,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:161.3,161.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:164.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:170.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:173.8,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:176.2,176.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:181.92,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:187.2,188.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:188.16,190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:192.2,200.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:200.25,207.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:207.28,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:210.3,210.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:212.2,212.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:216.93,217.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:217.52,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:221.2,222.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:222.15,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:226.2,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.2,231.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.47,232.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:232.47,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:235.3,235.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:238.2,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:35.127,36.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:36.23,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:39.2,40.40 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:40.40,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.2,43.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.37,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.2,46.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.37,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:49.2,49.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:52.23,80.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:82.26,140.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:142.92,143.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:143.25,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:147.2,148.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:148.49,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:152.2,152.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:153.17,154.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:154.24,156.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:157.3,158.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:158.17,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:161.3,165.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:166.17,167.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:167.22,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.3,170.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.22,172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:173.3,174.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:174.17,176.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:177.3,181.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:182.16,189.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:189.23,191.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.3,192.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.24,194.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.3,195.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.39,197.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:198.3,207.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:207.17,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.3,210.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.69,212.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:213.3,213.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:214.10,215.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:219.92,220.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:220.25,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:224.2,225.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:225.49,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:229.2,229.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:230.17,232.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:232.24,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:235.3,236.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:236.17,238.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.3,239.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.59,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.3,242.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.81,244.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:245.3,250.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:251.17,253.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:253.22,255.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:256.3,257.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:257.17,259.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.3,260.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.79,262.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:263.3,268.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:269.10,270.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:274.91,276.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:276.16,278.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.2,279.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.67,280.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:280.76,282.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:285.2,286.52 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:286.52,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:289.2,289.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:292.74,294.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:294.16,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.2,297.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.62,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:300.2,300.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:303.109,304.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:304.56,306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.2,307.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.25,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.2,310.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.81,312.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.2,313.102 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.102,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.2,316.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.108,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.2,319.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.99,321.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.2,322.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.99,324.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.2,325.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.60,327.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.2,328.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.34,330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.2,331.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.114,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.2,334.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.66,336.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.2,337.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.40,339.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.2,340.132 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.132,342.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.2,343.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.35,345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:346.2,346.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:349.92,350.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:350.103,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:354.2,355.52 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:355.52,357.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.2,358.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.32,360.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:361.2,361.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:364.108,365.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:365.19,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:368.2,369.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:369.53,371.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.2,372.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.19,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.2,375.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.39,376.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:376.34,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:380.2,380.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:383.66,385.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:385.53,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.2,388.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.19,390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:391.2,391.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:16.2,18.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:19.16,20.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:21.14,22.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:23.15,24.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:25.16,26.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:27.10,28.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21.75,23.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25.41,28.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30.31,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39.38,46.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48.50,56.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58.43,70.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72.80,73.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:73.36,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.2,76.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.48,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:79.2,79.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82.97,84.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:87.2,88.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:88.16,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:91.2,92.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:92.16,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:95.2,96.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:96.16,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:99.2,99.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102.104,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:111.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:115.2,116.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:116.16,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:119.2,119.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122.96,124.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:127.2,128.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:128.19,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:131.2,132.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:132.18,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:135.2,141.79 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:141.79,143.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:143.17,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:146.3,146.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:148.2,148.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151.77,153.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:156.2,157.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:157.19,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:160.2,160.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:22.15,23.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:24.13,25.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:26.14,27.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:28.16,29.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:30.16,31.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:32.10,33.102 1 0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/create-database.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/create-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/create-database.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/create-database.stdout.log new file mode 100644 index 00000000..4b15bd57 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/create-database.stdout.log @@ -0,0 +1 @@ +CREATE DATABASE diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/create-pgvector.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/create-pgvector.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/create-pgvector.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/create-pgvector.stdout.log new file mode 100644 index 00000000..d26bad14 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/create-pgvector.stdout.log @@ -0,0 +1 @@ +CREATE EXTENSION diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/database-identity.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/database-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/database-identity.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/database-identity.stdout.log new file mode 100644 index 00000000..626bd7f7 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/database-identity.stdout.log @@ -0,0 +1 @@ +{"database" : "engram_prc_rg_test_c987bdd5db898557_r1", "schema" : "public", "server_version" : "17.10 (Debian 17.10-1.pgdg12+1)", "user" : "engram"} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/go-test-summary.json b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/go-test-summary.json new file mode 100644 index 00000000..944dd6f5 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/go-test-summary.json @@ -0,0 +1,40 @@ +{ + "schema_version": 1, + "verdict": "FAIL", + "input_path": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\go-test.stdout.jsonl", + "fail_on_unexpected_skip": true, + "allowed_skip_identities": [], + "counts": { + "packages": 1, + "tests": 1, + "passed": 0, + "failed": 1, + "skipped": 0, + "no_tests": 0, + "zero_tests": 0, + "incomplete": 0, + "unexpected_skips": 0, + "malformed_lines": 0 + }, + "packages": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "outcome": "fail", + "elapsed_seconds": 0.124, + "last_output": "FAIL\tgithub.com/thebtf/engram/internal/mcp\t0.117s", + "tests_observed": 1 + } + ], + "tests": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEC_F1_TagDerivedBackfill_T007", + "outcome": "fail", + "elapsed_seconds": 0.0, + "last_output": "--- FAIL: TestEC_F1_TagDerivedBackfill_T007 (0.00s)", + "skip_allowed": false + } + ], + "unexpected_skips": [], + "errors": [] +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/go-test.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/go-test.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/go-test.stdout.jsonl b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/go-test.stdout.jsonl new file mode 100644 index 00000000..7a2bca08 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/go-test.stdout.jsonl @@ -0,0 +1,14 @@ +{"Time":"2026-07-11T04:01:30.8840184+03:00","Action":"start","Package":"github.com/thebtf/engram/internal/mcp"} +{"Time":"2026-07-11T04:01:30.9740223+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007"} +{"Time":"2026-07-11T04:01:30.9740223+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"=== RUN TestEC_F1_TagDerivedBackfill_T007\n"} +{"Time":"2026-07-11T04:01:30.9740223+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" store_memory_compat_t007_test.go:83: \n"} +{"Time":"2026-07-11T04:01:30.9740223+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \tError Trace:\tD:/Dev/engram/.w/t007-r1-checker/internal/mcp/store_memory_compat_t007_test.go:83\n"} +{"Time":"2026-07-11T04:01:30.9740223+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \tError: \tShould be empty, but was true\n"} +{"Time":"2026-07-11T04:01:30.9740223+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \tTest: \tTestEC_F1_TagDerivedBackfill_T007\n"} +{"Time":"2026-07-11T04:01:30.9740223+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \tMessages: \tchecker guard: focused test must force flag off\n"} +{"Time":"2026-07-11T04:01:30.9740223+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"--- FAIL: TestEC_F1_TagDerivedBackfill_T007 (0.00s)\n"} +{"Time":"2026-07-11T04:01:30.9740223+03:00","Action":"fail","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Elapsed":0} +{"Time":"2026-07-11T04:01:30.9740223+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"FAIL\n"} +{"Time":"2026-07-11T04:01:30.9875233+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"coverage: 0.0% of statements\n"} +{"Time":"2026-07-11T04:01:31.0079607+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"FAIL\tgithub.com/thebtf/engram/internal/mcp\t0.117s\n"} +{"Time":"2026-07-11T04:01:31.0079607+03:00","Action":"fail","Package":"github.com/thebtf/engram/internal/mcp","Elapsed":0.124} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/pg-stat-activity-after.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/pg-stat-activity-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/pg-stat-activity-after.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/pg-stat-activity-after.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/pg-stat-activity-after.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/pg-stat-activity-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/pg-stat-activity-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/repeat-summary.json b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/repeat-summary.json new file mode 100644 index 00000000..dc3c1f8a --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/repeat-summary.json @@ -0,0 +1,36 @@ +{ + "repeat": 1, + "verdict": "FAIL", + "database": "engram_prc_rg_test_c987bdd5db898557_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_c987bdd5db898557_r1.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": false, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 1, + "json_parser_exit": 1, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\cleanup\\cleanup.json", + "errors": [ + "go test failed with exit 1", + "go test JSON assertion failed with exit 1" + ], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01" +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/server-connection-count-after.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/server-connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/server-connection-count-after.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/server-connection-count-after.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/server-connection-count-after.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/server-connection-count-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/server-connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/server-connection-count-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/server-connection-count-before.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/server-connection-count-before.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/targeted-coverage.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/targeted-coverage.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/targeted-coverage.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/targeted-coverage.stdout.log new file mode 100644 index 00000000..d5de1ade --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/repeat-01/targeted-coverage.stdout.log @@ -0,0 +1,352 @@ +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33: effectiveAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44: isAuditEnabled 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52: runAuditAsync 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77: marshalState 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92: logAuditCreate 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117: logAuditEdit 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142: logAuditDelete 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166: logAuditGeneric 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189: logAuditSupersede 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:30: parseArgs 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:46: coerceString 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:67: coerceInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:97: coerceInt64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:127: coerceFloat64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:151: coerceBool 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:177: coerceStringSlice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:204: coerceInt64Slice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:222: clampToInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:236: clampInt64ToInt 0.0% +github.com/thebtf/engram/internal/mcp/context.go:17: extractProjectFromHeader 0.0% +github.com/thebtf/engram/internal/mcp/context.go:22: contextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:29: ContextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:35: projectFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:41: contextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:48: ContextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:54: sessionFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:61: actorFromContext 0.0% +github.com/thebtf/engram/internal/mcp/health.go:22: NewMCPHealth 0.0% +github.com/thebtf/engram/internal/mcp/health.go:29: RecordRequest 0.0% +github.com/thebtf/engram/internal/mcp/health.go:36: RecordError 0.0% +github.com/thebtf/engram/internal/mcp/health.go:42: rotateWindowIfNeeded 0.0% +github.com/thebtf/engram/internal/mcp/health.go:55: HandleHealth 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28: ruleGovernanceCaptureEnabled 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39: captureActiveRuleIntent 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104: ruleIntentFingerprint 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113: marshalRuleCandidateIntentResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:127: NewServer 0.0% +github.com/thebtf/engram/internal/mcp/server.go:141: SetBackfillStatusFunc 0.0% +github.com/thebtf/engram/internal/mcp/server.go:146: SetVersionedDocumentStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:151: SetIssueStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:156: SetMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:161: SetMetaMemoryIndex 0.0% +github.com/thebtf/engram/internal/mcp/server.go:166: SetHintQueue 0.0% +github.com/thebtf/engram/internal/mcp/server.go:171: SetStateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:176: SetDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/server.go:181: SetBehavioralRulesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:186: SetRuleGovernanceStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:191: SetRuleInjectionTelemetryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:195: SetPromotionStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:199: SetGraphStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:204: SetNodesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:211: SetAuditStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:216: SetPurgeStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:222: SetCandidateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:228: SetSnapshotStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:234: SetBulkFacade 0.0% +github.com/thebtf/engram/internal/mcp/server.go:240: setTestAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/server.go:246: setTestMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/server.go:252: setTestMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/server.go:260: SetWriteLintOrchestrator 0.0% +github.com/thebtf/engram/internal/mcp/server.go:269: SetRedactionRules 0.0% +github.com/thebtf/engram/internal/mcp/server.go:274: SetEmbeddingStores 0.0% +github.com/thebtf/engram/internal/mcp/server.go:282: SetRerankClient 0.0% +github.com/thebtf/engram/internal/mcp/server.go:290: SetStatsDB 0.0% +github.com/thebtf/engram/internal/mcp/server.go:297: HandleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:303: ListTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:332: Version 0.0% +github.com/thebtf/engram/internal/mcp/server.go:383: Run 0.0% +github.com/thebtf/engram/internal/mcp/server.go:427: handleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:461: handleNotification 0.0% +github.com/thebtf/engram/internal/mcp/server.go:473: handleInitialize 0.0% +github.com/thebtf/engram/internal/mcp/server.go:496: buildInstructions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:660: storeMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:712: recallMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:805: primaryTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:942: handleToolsList 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1612: handleToolsCall 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1644: sanitizeToolCallArgs 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1656: callTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1874: sendResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1884: sendError 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1896: handleFindSimilarObservations 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1927: handleGetMemoryStats 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2055: handleBackfillStatus 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2071: handleCheckSystemHealth 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2216: handleAnalyzeSearchPatterns 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2246: handleSearchSessions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2251: handleListSessions 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:18: buildAdminTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:68: adminActionsForEnv 33.3% +github.com/thebtf/engram/internal/mcp/tools_admin.go:80: vnextEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:84: handleAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:120: handlePurgeProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27: ambientHintsEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32: ambientHintsTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48: handleGetAmbientHints 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86: normalizeAmbientHintsToolLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96: ambientHintItems 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114: errMissingSessionID 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:31: handleGetMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:107: memoryBriefUsesPrincipalScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:115: handlePrincipalMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:259: truncateBriefContent 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:270: filterInjectionByScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25: bulkOpsTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95: handleBulkPromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154: handleBulkDelete 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211: handleBulkSupersede 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31: candidateItemFromDomain 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51: newCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59: requireCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68: candidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165: handleListCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208: handleGetCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239: handlePromoteCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348: handleRejectCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402: handleSupersedeCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34: codeIntelEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42: SetCodeChunkStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48: codebaseSearchTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79: codebaseStatusTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100: handleCodebaseSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194: handleCodebaseStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:21: getVault 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:35: credentialStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:49: handleStoreCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:130: handleGetCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:192: handleListCredentials 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:243: handleDeleteCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:302: handleVaultStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:338: expandTagHierarchy 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:16: directivesCaptureEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:20: rememberDirectiveTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:38: currentDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:48: handleRememberDirective 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:72: parseRememberDirectiveArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10: handleDocsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:15: handleListCollections 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:61: handleListDocuments 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:121: handleGetDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:165: handleRemoveDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:197: handleIngestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:235: handleSearchCollection 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15: handleDocCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61: handleDocRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117: handleDocUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122: handleDocList 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175: handleDocHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232: handleDocComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19: SetExperienceProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23: experienceHistoryTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40: experienceHistoryReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65: experienceHistoryDetailSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82: experienceHistoryTriggerEnum 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91: handleExperienceHistoryRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103: handleExperienceHistoryDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115: parseExperienceHistoryReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142: parseExperienceHistoryDetailArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157: experienceHistoryTriggersFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180: marshalExperienceHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12: handleFeedbackConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36: handleSetSessionOutcome 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:27: governanceTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:98: handleListSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:167: handleRollbackSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:215: handlePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:258: handleRedactionRulesStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:284: resolveGovernanceActor 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:64: handleGraph 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:100: graphAddEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:216: mcpGraphEndpointExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:243: mcpGraphEdgeAlreadyExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:276: graphAddNode 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:317: graphRemoveEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:332: graphGetEdges 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:397: filterEdgesByNodeType 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:457: graphTraverse 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:480: graphFindPath 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:502: graphSynonyms 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23: graphCreateEdgeWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80: graphEndpointExistsWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114: graphDuplicateEdgeExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25: handleIngest 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43: ingestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20: handleImportInstincts 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:19: issuesToolSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:109: validateIssueActionParams 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:143: handleIssues 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:189: resolveSourceProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:205: handleIssueCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:250: handleIssueList 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:311: handleIssueGet 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:344: handleIssueUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:382: handleIssueComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:408: handleIssueReopen 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:425: handleIssueClose 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22: handleLifecycle 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48: lifecycleInfo 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87: lifecyclePromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118: lifecycleDemote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149: lifecycleSetConfidence 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172: lifecycleSetDefeasibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191: lifecycleSleepStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197: lifecycleDecayPreview 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233: marshalJSON 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:35: vnextFEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:42: isValidPrivacyScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:54: derivePrivacyScopeFromLegacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:82: deriveLegacyScopeFromPrivacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:93: applyPrincipalMemoryMetadata 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:135: addPrincipalMemoryFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:161: newScopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:172: writeLintVisibilityCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:186: writeLintVisibilityOptions 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:192: scopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:202: filterVisibleWriteGateCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:214: domainManageAllowed 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:218: List 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:272: writeLintVisibilityFetchLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:286: Get 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:297: Create 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:301: Update 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:305: MarkSuperseded 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:319: effectiveMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:329: isValidStoreObservationType 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:354: handleStoreMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111: handleEditMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218: computeTTLDays 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258: truncateTitle 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270: keepRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280: keepRecallMemoryFilters 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342: handleRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690: staleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700: marshalWithStaleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727: Rank 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1751: handleRecallMemoryHybrid 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252: handleRateMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281: handleSuppressMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17: SetDomainRegistryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21: checkDomainWriteMCP 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43: addDomainWriteDecisionFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51: marshalStoreMemoryAugmented 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26: newMemoryStoreSignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33: s6OutcomeEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37: effectiveMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47: currentMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58: rateMemorySignificanceTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74: handleRateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109: RateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18: s2MetaMemoryEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22: knowAboutTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39: handleKnowAbout 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104: parseKnowAboutLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118: summarizeMetaIndexTags 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153: summarizeMetaIndexDateRange 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23: SetPrincipalMemoryQueryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27: principalMemoryQueryTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52: handleQueryPrincipalMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134: principalMemoryQueryCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149: parsePrincipalMemoryQueryLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160: principalMemoryQueryText 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167: parsePrincipalMemoryQueryVisibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179: parsePrincipalMemoryQueryOffset 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190: parsePrincipalMemoryQueryInt 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215: parsePrincipalMemoryQueryBool 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:28: handleRecall 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:125: parseRecallIncludedPrincipals 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:165: appendRecallIncludedPrincipalMemories 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:223: recallIncludeTargetMatchesCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:231: recallPrincipalQueryItemToMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:247: handleRecallSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20: currentReviewLoopCandidateLister 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30: reviewLoopCandidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65: reviewLoopReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78: reviewPacketIDSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91: handleReviewMetricsRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110: handleReviewQueueRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140: handleReviewPacketDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151: handleReviewPacketPreviewAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167: handleReviewPacketApplyAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189: parseReviewLoopReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212: reviewLoopMCPPacketTypeSupported 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217: reviewLoopActionFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225: reviewLoopReasonFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233: loadReviewPacketCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256: applyReviewPacketPreserve 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278: applyReviewPacketSuppress 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296: reviewLoopMemoryFromCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320: filterRiskyMCPReviewCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330: marshalReviewLoop 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17: ruleGovernanceReadTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126: handleRuleGovernanceHealth 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176: handleRuleGovernanceQueue 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233: handleRuleGovernanceSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278: handleRuleGovernanceUsefulness 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338: handleRuleGovernanceTransition 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373: handleRuleGovernancePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406: handleRuleGovernanceRollback 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483: requireRuleGovernanceReadAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495: requireRuleGovernanceProjectOrAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505: ruleGovernanceCallerIsAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510: requireRuleGovernanceAdminAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518: redactRuleGovernanceEvidenceHandles 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535: redactRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553: ruleGovernanceEvidenceHandleHasSensitiveText 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559: isCanonicalRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580: isSafeRuleGovernanceEvidenceID 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594: parseRuleGovernanceTransitionRequest 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604: parseRuleGovernanceSince 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623: boundedRuleGovernanceLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634: formatRuleGovernanceTime 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641: formatRuleGovernanceTimePtr 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649: stringRuleCandidateStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657: stringRuleVersionStateCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665: stringRuleArbiterRunStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673: stringRuleInjectionEventTypeCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:17: handleStoreRule 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:133: handleListRules 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:22: handleSettingsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:51: SetSettingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:57: settingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:67: isSecretSettingKey 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:74: requireAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:85: handleSetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:145: handleGetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:181: handleListSettings 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:216: handleDeleteSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:35: resumeScopesFromFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:52: stateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:82: setStateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:142: handleGetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:219: handleSetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:274: decodeSessionStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:292: validateSessionStateBudget 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:303: validateNativeResumePacket 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:349: decodeProjectStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:364: requireStateObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:383: requireNestedObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10: handleStoreConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21: SetTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25: temporalTruthEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30: temporalTruthTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39: temporalTruthRefreshTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48: temporalTruthRefreshSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58: temporalTruthSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72: currentTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82: handleTemporalTruth 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102: handleTemporalTruthRefresh 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122: parseTemporalTruthArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151: parseTemporalTruthRefreshProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10: handleVaultConsolidated 0.0% +total: (statements) 0.0% diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/summary.json b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/summary.json new file mode 100644 index 00000000..3e119d7c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-flag-reset-removed/summary.json @@ -0,0 +1,67 @@ +{ + "schema_version": 1, + "gate": "release-gates-foundation", + "run_id": "challenge-flag-reset-removed", + "started_at": "2026-07-11T01:01:25.3022054+00:00", + "finished_at": "2026-07-11T01:01:36.2309200+00:00", + "duration_seconds": 10.929, + "verdict": "FAIL", + "counts": { + "requested_repeats": 1, + "completed_repeats": 1, + "passed_repeats": 0, + "failed_repeats": 1, + "child_commands": 16, + "nonzero_child_commands": 2 + }, + "packages": [ + "./internal/mcp" + ], + "run_pattern": "^TestEC_F1_TagDerivedBackfill_T007$", + "coverage_policy": "Targeted", + "connection_budget": 20, + "race": false, + "database_dsn": "REDACTED_DATABASE_DSN", + "environment": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\environment.json", + "commands": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\commands.json", + "repeats": [ + { + "repeat": 1, + "verdict": "FAIL", + "database": "engram_prc_rg_test_c987bdd5db898557_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_c987bdd5db898557_r1.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": false, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 1, + "json_parser_exit": 1, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01\\cleanup\\cleanup.json", + "errors": [ + "go test failed with exit 1", + "go test JSON assertion failed with exit 1" + ], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed\\repeat-01" + } + ], + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-flag-reset-removed" +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/commands.json b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/commands.json new file mode 100644 index 00000000..bd0984d8 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/commands.json @@ -0,0 +1,444 @@ +[ + { + "name": "go-version", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "version" + ], + "environment_keys": [], + "command": "C:\\Program Files\\Go\\bin\\go.exe version", + "started_at": "2026-07-11T00:59:13.7161173+00:00", + "finished_at": "2026-07-11T00:59:13.9191994+00:00", + "duration_seconds": 0.203, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\go-version.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\go-version.stderr.log" + }, + { + "name": "postgres-container-identity", + "executable": "docker", + "arguments": [ + "inspect", + "--format", + "{{.Name}}|{{.Config.Image}}|{{.Image}}|{{.State.Running}}", + "engram-prc-postgres" + ], + "environment_keys": [], + "command": "docker inspect --format {{.Name}}|{{.Config.Image}}|{{.Image}}|{{.State.Running}} engram-prc-postgres", + "started_at": "2026-07-11T00:59:13.9734723+00:00", + "finished_at": "2026-07-11T00:59:14.2289813+00:00", + "duration_seconds": 0.256, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\postgres-container-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\postgres-container-identity.stderr.log" + }, + { + "name": "postgres-server-identity", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT json_build_object('server_version', current_setting('server_version'), 'server_version_num', current_setting('server_version_num'), 'version', version(), 'max_connections', current_setting('max_connections'), 'superuser_reserved_connections', current_setting('superuser_reserved_connections'), 'reserved_connections', COALESCE(NULLIF(current_setting('reserved_connections', true), ''), '0'), 'current_connections', (SELECT count(*)::text FROM pg_stat_activity), 'database', current_database(), 'schema', current_schema(), 'user', current_user)::text;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT json_build_object('server_version', current_setting('server_version'), 'server_version_num', current_setting('server_version_num'), 'version', version(), 'max_connections', current_setting('max_connections'), 'superuser_reserved_connections', current_setting('superuser_reserved_connections'), 'reserved_connections', COALESCE(NULLIF(current_setting('reserved_connections', true), ''), '0'), 'current_connections', (SELECT count(*)::text FROM pg_stat_activity), 'database', current_database(), 'schema', current_schema(), 'user', current_user)::text;", + "started_at": "2026-07-11T00:59:14.2402555+00:00", + "finished_at": "2026-07-11T00:59:14.6930613+00:00", + "duration_seconds": 0.453, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\postgres-server-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\postgres-server-identity.stderr.log" + }, + { + "name": "repeat-1-create-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "CREATE DATABASE \"engram_prc_rg_test_3ce6312b91ffa9ad_r1\" OWNER \"engram\";" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c CREATE DATABASE \"engram_prc_rg_test_3ce6312b91ffa9ad_r1\" OWNER \"engram\";", + "started_at": "2026-07-11T00:59:14.7276551+00:00", + "finished_at": "2026-07-11T00:59:15.1178796+00:00", + "duration_seconds": 0.39, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\create-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\create-database.stderr.log" + }, + { + "name": "repeat-1-create-pgvector", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_3ce6312b91ffa9ad_r1", + "-At", + "-F", + "|", + "-c", + "CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_3ce6312b91ffa9ad_r1 -At -F | -c CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;", + "started_at": "2026-07-11T00:59:15.1223962+00:00", + "finished_at": "2026-07-11T00:59:15.4911723+00:00", + "duration_seconds": 0.369, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\create-pgvector.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\create-pgvector.stderr.log" + }, + { + "name": "repeat-1-database-identity", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_3ce6312b91ffa9ad_r1", + "-At", + "-F", + "|", + "-c", + "SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_3ce6312b91ffa9ad_r1 -At -F | -c SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;", + "started_at": "2026-07-11T00:59:15.4934353+00:00", + "finished_at": "2026-07-11T00:59:15.8869247+00:00", + "duration_seconds": 0.393, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\database-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\database-identity.stderr.log" + }, + { + "name": "repeat-1-pg-stat-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_3ce6312b91ffa9ad_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_3ce6312b91ffa9ad_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:59:15.8919677+00:00", + "finished_at": "2026-07-11T00:59:16.2805555+00:00", + "duration_seconds": 0.389, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\pg-stat-activity-before.stderr.log" + }, + { + "name": "repeat-1-server-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T00:59:16.2830498+00:00", + "finished_at": "2026-07-11T00:59:16.7760070+00:00", + "duration_seconds": 0.493, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\server-connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\server-connection-count-before.stderr.log" + }, + { + "name": "repeat-1-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_3ce6312b91ffa9ad_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_3ce6312b91ffa9ad_r1';", + "started_at": "2026-07-11T00:59:16.7869458+00:00", + "finished_at": "2026-07-11T00:59:17.1844556+00:00", + "duration_seconds": 0.398, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\connection-count-before.stderr.log" + }, + { + "name": "repeat-1-go-test", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "test", + "-json", + "-p", + "1", + "-parallel", + "1", + "-count=1", + "-timeout", + "30m", + "-covermode=atomic", + "-coverprofile=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\coverage.out", + "-run", + "^TestEC_F1_TagDerivedBackfill_T007$", + "./internal/mcp" + ], + "environment_keys": [ + "DATABASE_DSN", + "DATABASE_MAX_CONNS", + "ENGRAM_RELEASE_GATE_REPEAT", + "ENGRAM_RELEASE_GATE_RUN_ID", + "ENGRAM_TEST_DSN", + "TEST_DATABASE_DSN" + ], + "command": "C:\\Program Files\\Go\\bin\\go.exe test -json -p 1 -parallel 1 -count=1 -timeout 30m -covermode=atomic -coverprofile=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\coverage.out -run ^TestEC_F1_TagDerivedBackfill_T007$ ./internal/mcp", + "started_at": "2026-07-11T00:59:17.1912635+00:00", + "finished_at": "2026-07-11T00:59:24.3503515+00:00", + "duration_seconds": 7.159, + "exit_code": 1, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\go-test.stdout.jsonl", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\go-test.stderr.log" + }, + { + "name": "repeat-1-assert-go-test-json", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\assert-go-test-json.ps1", + "-InputPath", + ".agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\go-test.stdout.jsonl", + "-SummaryPath", + ".agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\go-test-summary.json", + "-FailOnUnexpectedSkip" + ], + "environment_keys": [], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\assert-go-test-json.ps1 -InputPath .agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\go-test.stdout.jsonl -SummaryPath .agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\go-test-summary.json -FailOnUnexpectedSkip", + "started_at": "2026-07-11T00:59:24.3547238+00:00", + "finished_at": "2026-07-11T00:59:25.0707540+00:00", + "duration_seconds": 0.716, + "exit_code": 1, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\assert-go-test-json.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\assert-go-test-json.stderr.log" + }, + { + "name": "repeat-1-targeted-coverage-report", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "tool", + "cover", + "-func=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\coverage.out" + ], + "environment_keys": [], + "command": "C:\\Program Files\\Go\\bin\\go.exe tool cover -func=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\coverage.out", + "started_at": "2026-07-11T00:59:25.0765196+00:00", + "finished_at": "2026-07-11T00:59:25.5464079+00:00", + "duration_seconds": 0.47, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\targeted-coverage.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\targeted-coverage.stderr.log" + }, + { + "name": "repeat-1-pg-stat-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_3ce6312b91ffa9ad_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_3ce6312b91ffa9ad_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:59:25.5473323+00:00", + "finished_at": "2026-07-11T00:59:26.0273510+00:00", + "duration_seconds": 0.48, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\pg-stat-activity-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\pg-stat-activity-after.stderr.log" + }, + { + "name": "repeat-1-server-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T00:59:26.0292792+00:00", + "finished_at": "2026-07-11T00:59:26.3840118+00:00", + "duration_seconds": 0.355, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\server-connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\server-connection-count-after.stderr.log" + }, + { + "name": "repeat-1-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_3ce6312b91ffa9ad_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_3ce6312b91ffa9ad_r1';", + "started_at": "2026-07-11T00:59:26.3864647+00:00", + "finished_at": "2026-07-11T00:59:26.7352748+00:00", + "duration_seconds": 0.349, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\connection-count-after.stderr.log" + }, + { + "name": "repeat-1-cleanup", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\cleanup-db-sessions.ps1", + "-DatabaseName", + "engram_prc_rg_test_3ce6312b91ffa9ad_r1", + "-SchemaName", + "public", + "-ArtifactRoot", + ".agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01", + "-RunId", + "challenge-raw-sql-proof-repeat-1", + "-PostgresContainer", + "engram-prc-postgres" + ], + "environment_keys": [ + "ENGRAM_TEST_ADMIN_DSN" + ], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\cleanup-db-sessions.ps1 -DatabaseName engram_prc_rg_test_3ce6312b91ffa9ad_r1 -SchemaName public -ArtifactRoot .agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01 -RunId challenge-raw-sql-proof-repeat-1 -PostgresContainer engram-prc-postgres", + "started_at": "2026-07-11T00:59:26.7389312+00:00", + "finished_at": "2026-07-11T00:59:29.4058329+00:00", + "duration_seconds": 2.667, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\cleanup-process.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\cleanup-process.stderr.log" + } +] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/environment.json b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/environment.json new file mode 100644 index 00000000..2fed35d4 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/environment.json @@ -0,0 +1,52 @@ +{ + "schema_version": 1, + "run_id": "challenge-raw-sql-proof", + "timestamp": "2026-07-11T00:59:13.6976987+00:00", + "go_version": "go version go1.25.11 windows/amd64", + "postgres": { + "declared_image": "pgvector/pgvector:pg17", + "container": { + "name": "/engram-prc-postgres", + "configured_image": "pgvector/pgvector:pg17", + "image_id": "sha256:feb68f4f15446397d8cac7f4fe48fe4586de83160d1fc48b46283312d1a33966", + "running": true + }, + "server": { + "server_version": "17.10 (Debian 17.10-1.pgdg12+1)", + "server_version_num": "170010", + "version": "PostgreSQL 17.10 (Debian 17.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit", + "max_connections": "100", + "superuser_reserved_connections": "3", + "reserved_connections": "0", + "current_connections": "6", + "database": "postgres", + "schema": "public", + "user": "engram" + }, + "admin_dsn": "postgresql://engram:REDACTED@127.0.0.1:55432/postgres?sslmode=disable" + }, + "packages": [ + "./internal/mcp" + ], + "run_pattern": "^TestEC_F1_TagDerivedBackfill_T007$", + "repeat": 1, + "fail_on_unexpected_skip": true, + "allowed_skip_identities": [], + "coverage_policy": "Targeted", + "connection_budget": 20, + "race": false, + "require_session_start_execution": false, + "required_session_start_test_count": 12, + "sequential_execution": { + "go_package_parallelism": 1, + "go_test_parallelism": 1, + "database_max_connections": 20 + }, + "govulncheck_policy": { + "authoritative": [ + "source scan with tests", + "unstripped binary scan" + ], + "non_authoritative": "stripped binary scan (module-level fallback when symbols are absent)" + } +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/go-version.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/go-version.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/go-version.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/go-version.stdout.log new file mode 100644 index 00000000..a857be3f --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/go-version.stdout.log @@ -0,0 +1 @@ +go version go1.25.11 windows/amd64 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/postgres-container-identity.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/postgres-container-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/postgres-container-identity.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/postgres-container-identity.stdout.log new file mode 100644 index 00000000..c110d492 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/postgres-container-identity.stdout.log @@ -0,0 +1 @@ +/engram-prc-postgres|pgvector/pgvector:pg17|sha256:feb68f4f15446397d8cac7f4fe48fe4586de83160d1fc48b46283312d1a33966|true diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/postgres-server-identity.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/postgres-server-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/postgres-server-identity.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/postgres-server-identity.stdout.log new file mode 100644 index 00000000..2e33d56e --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/postgres-server-identity.stdout.log @@ -0,0 +1 @@ +{"server_version" : "17.10 (Debian 17.10-1.pgdg12+1)", "server_version_num" : "170010", "version" : "PostgreSQL 17.10 (Debian 17.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit", "max_connections" : "100", "superuser_reserved_connections" : "3", "reserved_connections" : "0", "current_connections" : "6", "database" : "postgres", "schema" : "public", "user" : "engram"} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/assert-go-test-json.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/assert-go-test-json.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/assert-go-test-json.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/assert-go-test-json.stdout.log new file mode 100644 index 00000000..92c18e66 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/assert-go-test-json.stdout.log @@ -0,0 +1,2 @@ +go test JSON verdict=FAIL packages=1 tests=1 passed=0 failed=1 skipped=0 unexpected_skips=0 malformed=0 +summary=D:\Dev\engram\.w\t007-r1-checker\.agent\reviews\t007-r1-fresh-checker\evidence\challenge-raw-sql-proof\repeat-01\go-test-summary.json diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/cleanup-process.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/cleanup-process.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/cleanup-process.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/cleanup-process.stdout.log new file mode 100644 index 00000000..a07f5f2d --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/cleanup-process.stdout.log @@ -0,0 +1,2 @@ +cleanup verdict=PASS database=engram_prc_rg_test_3ce6312b91ffa9ad_r1 schema=public terminated_sessions=0 remaining_database_count=0 +summary=D:\Dev\engram\.w\t007-r1-checker\.agent\reviews\t007-r1-fresh-checker\evidence\challenge-raw-sql-proof\repeat-01\cleanup\cleanup.json diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/cleanup/cleanup.json b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/cleanup/cleanup.json new file mode 100644 index 00000000..96455ceb --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/cleanup/cleanup.json @@ -0,0 +1,170 @@ +{ + "schema_version": 1, + "run_id": "challenge-raw-sql-proof-repeat-1", + "timestamp": "2026-07-11T00:59:29.3226094+00:00", + "verdict": "PASS", + "database": "engram_prc_rg_test_3ce6312b91ffa9ad_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_3ce6312b91ffa9ad_r1.public", + "admin_dsn": "postgresql://engram:REDACTED@127.0.0.1:55432/postgres?sslmode=disable", + "postgres_container": "engram-prc-postgres", + "cleanup_status": "PASS", + "cleanup_attempted": true, + "database_existed_before": true, + "absence_verified": true, + "terminated_sessions": 0, + "remaining_database_count": 0, + "commands": [ + { + "name": "database-exists-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_3ce6312b91ffa9ad_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_3ce6312b91ffa9ad_r1';", + "started_at": "2026-07-11T00:59:27.2760206+00:00", + "finished_at": "2026-07-11T00:59:27.6612144+00:00", + "duration_seconds": 0.385, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\cleanup\\database-exists-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\cleanup\\database-exists-before.stderr.log" + }, + { + "name": "pg-stat-activity-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_3ce6312b91ffa9ad_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_3ce6312b91ffa9ad_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:59:27.7259988+00:00", + "finished_at": "2026-07-11T00:59:28.1034833+00:00", + "duration_seconds": 0.377, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\cleanup\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\cleanup\\pg-stat-activity-before.stderr.log" + }, + { + "name": "terminate-database-sessions", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_3ce6312b91ffa9ad_r1' AND pid <> pg_backend_pid() ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_3ce6312b91ffa9ad_r1' AND pid <> pg_backend_pid() ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:59:28.1080975+00:00", + "finished_at": "2026-07-11T00:59:28.5477358+00:00", + "duration_seconds": 0.44, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\cleanup\\terminate-sessions.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\cleanup\\terminate-sessions.stderr.log" + }, + { + "name": "drop-fresh-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "DROP DATABASE IF EXISTS \"engram_prc_rg_test_3ce6312b91ffa9ad_r1\" WITH (FORCE);" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c DROP DATABASE IF EXISTS \"engram_prc_rg_test_3ce6312b91ffa9ad_r1\" WITH (FORCE);", + "started_at": "2026-07-11T00:59:28.5546997+00:00", + "finished_at": "2026-07-11T00:59:28.9675840+00:00", + "duration_seconds": 0.413, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\cleanup\\drop-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\cleanup\\drop-database.stderr.log" + }, + { + "name": "verify-database-absent", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_3ce6312b91ffa9ad_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_3ce6312b91ffa9ad_r1';", + "started_at": "2026-07-11T00:59:28.9709342+00:00", + "finished_at": "2026-07-11T00:59:29.3147040+00:00", + "duration_seconds": 0.344, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\cleanup\\verify-database-absent.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\cleanup\\verify-database-absent.stderr.log" + } + ], + "errors": [] +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/cleanup/database-exists-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/cleanup/database-exists-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/cleanup/database-exists-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/cleanup/database-exists-before.stdout.log new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/cleanup/database-exists-before.stdout.log @@ -0,0 +1 @@ +1 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/cleanup/drop-database.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/cleanup/drop-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/cleanup/drop-database.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/cleanup/drop-database.stdout.log new file mode 100644 index 00000000..ca12dce0 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/cleanup/drop-database.stdout.log @@ -0,0 +1 @@ +DROP DATABASE diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/cleanup/pg-stat-activity-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/cleanup/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/cleanup/pg-stat-activity-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/cleanup/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/cleanup/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/cleanup/terminate-sessions.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/cleanup/terminate-sessions.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/cleanup/terminate-sessions.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/cleanup/terminate-sessions.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/cleanup/terminate-sessions.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/cleanup/verify-database-absent.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/cleanup/verify-database-absent.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/cleanup/verify-database-absent.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/cleanup/verify-database-absent.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/cleanup/verify-database-absent.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/connection-count-after.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/connection-count-after.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/connection-count-after.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/connection-count-after.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/connection-count-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/connection-count-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/connection-count-before.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/connection-count-before.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/coverage.out b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/coverage.out new file mode 100644 index 00000000..52335d8a --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/coverage.out @@ -0,0 +1,3472 @@ +mode: atomic +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33.53,34.30 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:34.30,36.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.2,37.25 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.25,39.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:40.2,40.12 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44.28,46.2 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52.83,53.12 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:53.12,54.16 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:54.16,55.32 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:55.32,61.5 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:63.3,65.33 3 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:65.33,71.4 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77.54,78.14 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:78.14,80.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:81.2,82.16 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:82.16,85.3 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:86.2,87.13 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92.91,93.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:93.23,95.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:96.2,97.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:97.15,99.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:100.2,105.65 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:105.65,113.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117.95,118.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:118.23,120.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:121.2,122.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:122.15,124.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:125.2,129.65 5 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:129.65,138.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142.87,143.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:143.23,145.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:146.2,147.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:150.2,153.65 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:153.65,161.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166.96,167.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:167.23,169.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:170.2,171.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:171.15,173.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:174.2,177.63 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:177.63,185.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189.97,190.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:190.23,192.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:193.2,194.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:194.15,196.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:197.2,200.68 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:200.68,208.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:30.62,31.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:31.20,33.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:34.2,35.49 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:35.49,37.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:38.2,38.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:38.14,40.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:41.2,41.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:46.52,47.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:47.14,49.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:50.2,50.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:51.14,52.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:53.19,54.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:55.15,56.45 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:57.12,58.31 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:59.10,60.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:67.43,68.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:68.14,70.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:71.2,71.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:72.15,73.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:74.19,75.38 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:75.38,77.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:78.3,78.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:78.40,80.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:81.3,81.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:82.14,83.56 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:83.56,85.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:86.3,86.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:86.54,88.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:89.3,89.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:90.10,91.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:97.49,98.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:98.14,100.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:101.2,101.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:102.15,103.18 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:104.19,105.38 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:105.38,107.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:108.3,108.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:108.40,110.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:111.3,111.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:112.14,113.56 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:113.56,115.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:116.3,116.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:116.54,118.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:119.3,119.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:120.10,121.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:127.55,128.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:128.14,130.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:131.2,131.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:132.15,133.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:134.19,135.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:135.40,137.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:138.3,138.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:139.14,140.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:140.54,142.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:143.3,143.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:144.10,145.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:151.46,152.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:152.14,154.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:155.2,155.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:156.12,157.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:158.14,159.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:159.54,161.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:162.3,162.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:163.15,164.16 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:165.19,166.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:166.40,168.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:169.3,169.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:170.10,171.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:177.40,178.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:178.14,180.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:181.2,181.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:182.13,184.26 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:184.26,185.36 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:185.36,187.5 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:189.3,189.16 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:190.16,191.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:192.14,193.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:193.14,195.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:196.3,196.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:197.10,198.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:204.38,205.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:205.14,207.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:208.2,209.9 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:209.9,211.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:212.2,213.27 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:213.27,214.42 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:214.42,216.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:218.2,218.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:222.32,223.39 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:223.39,225.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:226.2,226.30 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:226.30,228.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:229.2,229.30 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:229.30,231.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:232.2,232.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:236.35,237.28 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:237.28,239.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.2,240.28 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.28,242.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:243.2,243.15 1 0 +github.com/thebtf/engram/internal/mcp/context.go:17.55,19.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:22.78,24.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:29.78,31.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:35.53,38.2 2 0 +github.com/thebtf/engram/internal/mcp/context.go:41.80,43.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:48.80,50.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:54.53,57.2 2 0 +github.com/thebtf/engram/internal/mcp/context.go:61.51,62.43 1 0 +github.com/thebtf/engram/internal/mcp/context.go:62.43,64.3 1 0 +github.com/thebtf/engram/internal/mcp/context.go:65.2,65.16 1 0 +github.com/thebtf/engram/internal/mcp/health.go:22.32,26.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:29.37,33.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:36.35,40.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:42.44,45.25 3 0 +github.com/thebtf/engram/internal/mcp/health.go:45.25,47.50 1 0 +github.com/thebtf/engram/internal/mcp/health.go:47.50,50.4 2 0 +github.com/thebtf/engram/internal/mcp/health.go:55.74,60.16 5 0 +github.com/thebtf/engram/internal/mcp/health.go:60.16,62.3 1 0 +github.com/thebtf/engram/internal/mcp/health.go:63.2,71.4 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28.42,29.65 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:29.65,32.3 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.2,33.40 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.40,35.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:36.2,36.14 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39.120,40.69 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:40.69,42.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:43.2,44.19 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:44.19,46.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:47.2,48.17 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:48.17,50.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:51.2,52.59 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:52.59,54.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:55.2,56.20 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:56.20,58.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:59.2,60.17 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:60.17,62.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:63.2,64.21 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:64.21,66.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:67.2,68.22 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:68.22,70.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:71.2,72.23 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:76.2,98.19 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:98.19,100.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:101.2,101.66 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104.52,106.29 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:106.29,108.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:109.2,110.46 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113.113,123.27 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:123.27,125.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:130.2,130.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:127.44,138.2 1 1 +github.com/thebtf/engram/internal/mcp/server.go:141.64,143.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:146.78,148.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:151.53,153.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:156.55,158.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:161.58,163.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:166.62,168.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:171.50,173.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:176.78,178.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:181.74,183.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:186.71,189.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:191.85,193.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:195.61,197.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:199.49,201.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:204.54,206.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:211.53,213.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:216.53,218.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:222.61,224.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:228.59,230.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:234.51,236.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:240.52,242.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:246.55,248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:252.82,254.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:260.70,262.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:269.68,271.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:274.87,277.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:282.60,284.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:290.45,292.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:297.77,299.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:303.37,313.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:313.38,315.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:316.2,317.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:317.9,319.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:320.2,321.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:321.9,323.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:324.2,325.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:325.9,327.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:328.2,328.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:332.35,334.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:383.49,387.12 3 0 +github.com/thebtf/engram/internal/mcp/server.go:387.12,388.22 1 0 +github.com/thebtf/engram/internal/mcp/server.go:388.22,389.11 1 0 +github.com/thebtf/engram/internal/mcp/server.go:390.22,392.11 2 0 +github.com/thebtf/engram/internal/mcp/server.go:393.12,393.12 0 0 +github.com/thebtf/engram/internal/mcp/server.go:396.4,397.18 2 0 +github.com/thebtf/engram/internal/mcp/server.go:397.18,398.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:401.4,402.61 2 0 +github.com/thebtf/engram/internal/mcp/server.go:402.61,404.13 2 0 +github.com/thebtf/engram/internal/mcp/server.go:407.4,407.55 1 0 +github.com/thebtf/engram/internal/mcp/server.go:407.55,409.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:411.3,411.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:414.2,414.9 1 0 +github.com/thebtf/engram/internal/mcp/server.go:415.20,416.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:417.25,418.17 1 0 +github.com/thebtf/engram/internal/mcp/server.go:418.17,420.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:421.3,421.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:427.77,428.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:428.19,431.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:433.2,433.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:434.20,435.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:436.20,437.32 1 0 +github.com/thebtf/engram/internal/mcp/server.go:438.20,439.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:443.24,444.93 1 0 +github.com/thebtf/engram/internal/mcp/server.go:445.34,446.101 1 0 +github.com/thebtf/engram/internal/mcp/server.go:447.22,448.91 1 0 +github.com/thebtf/engram/internal/mcp/server.go:449.29,450.120 1 0 +github.com/thebtf/engram/internal/mcp/server.go:451.10,456.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:461.51,462.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:463.50,464.70 1 0 +github.com/thebtf/engram/internal/mcp/server.go:465.46,466.79 1 0 +github.com/thebtf/engram/internal/mcp/server.go:467.10,468.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:473.59,485.63 2 0 +github.com/thebtf/engram/internal/mcp/server.go:485.63,487.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:489.2,493.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:496.45,503.33 3 0 +github.com/thebtf/engram/internal/mcp/server.go:503.33,505.57 2 0 +github.com/thebtf/engram/internal/mcp/server.go:505.57,506.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:506.76,507.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.4,509.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.18,511.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:511.10,513.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:514.4,518.11 5 0 +github.com/thebtf/engram/internal/mcp/server.go:522.2,522.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:660.29,683.21 2 0 +github.com/thebtf/engram/internal/mcp/server.go:683.21,689.3 5 0 +github.com/thebtf/engram/internal/mcp/server.go:690.2,699.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:712.30,765.49 3 0 +github.com/thebtf/engram/internal/mcp/server.go:765.49,789.3 5 0 +github.com/thebtf/engram/internal/mcp/server.go:790.2,799.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:805.40,936.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:942.58,1048.35 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1048.35,1077.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.2,1080.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.33,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.2,1093.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.26,1123.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1124.2,1124.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1124.80,1126.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1127.2,1127.55 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1127.55,1129.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1130.2,1130.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1130.38,1132.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1134.2,1134.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1134.25,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1138.2,1138.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1138.33,1140.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1141.2,1141.69 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1141.69,1143.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1144.2,1144.75 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1144.75,1146.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1148.2,1148.27 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1148.27,1165.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.2,1168.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.76,1191.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1195.2,1195.48 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1195.48,1197.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.2,1201.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.47,1203.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.2,1205.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.38,1207.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1212.2,1212.21 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1212.21,1214.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1228.2,1228.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1228.51,1230.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1233.2,1233.56 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1233.56,1235.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1238.2,1238.71 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1238.71,1298.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1302.2,1302.104 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1302.104,1321.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1324.2,1324.72 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1324.72,1333.154 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1333.154,1334.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1334.26,1336.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1337.7,1337.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1338.35,1340.26 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1340.26,1342.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1343.7,1343.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1371.2,1371.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1371.26,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1393.2,1393.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1393.28,1443.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.2,1446.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.28,1478.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.2,1481.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.37,1561.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1564.2,1568.23 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1568.23,1570.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1572.2,1588.57 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1588.57,1591.29 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1591.29,1593.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1594.3,1594.27 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1594.27,1595.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1595.29,1597.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1601.2,1607.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1612.79,1614.60 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1614.60,1620.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1622.2,1623.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1623.16,1631.3 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1633.2,1641.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1644.69,1645.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1645.34,1647.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1648.2,1649.22 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1649.22,1651.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1652.2,1652.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1656.99,1658.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1659.16,1660.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1661.15,1662.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1663.18,1664.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1665.15,1666.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1667.18,1668.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1669.14,1670.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1671.15,1672.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1676.2,1676.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1677.35,1678.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1679.26,1680.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1681.20,1682.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1683.20,1684.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1685.16,1686.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1687.29,1688.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1689.33,1690.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1691.25,1692.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1693.23,1694.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1696.26,1697.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1698.24,1699.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1700.22,1701.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1702.25,1703.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1704.27,1705.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1706.25,1707.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1709.30,1710.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1711.28,1712.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1713.17,1714.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1715.20,1716.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1717.20,1718.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1719.20,1720.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1722.20,1723.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1724.18,1725.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1726.20,1727.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1728.18,1729.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1730.21,1731.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1732.21,1733.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1734.26,1735.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1736.25,1737.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1738.26,1739.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1740.24,1741.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1742.26,1743.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1744.27,1745.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1746.22,1747.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1748.19,1749.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1750.15,1751.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1752.16,1753.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1755.21,1756.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1757.19,1758.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1759.20,1760.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1761.22,1762.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1763.22,1764.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1765.23,1766.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1767.20,1768.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1769.32,1770.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1771.19,1772.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1773.19,1774.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1775.33,1776.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1777.35,1778.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1779.24,1780.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1781.32,1782.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1783.28,1784.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1785.21,1786.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1787.34,1788.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1789.25,1790.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1791.29,1792.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1793.26,1794.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1795.27,1796.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1798.25,1799.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1800.23,1801.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1802.27,1803.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1804.26,1805.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1806.29,1807.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1809.29,1810.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1811.27,1812.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1813.30,1814.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1815.38,1816.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1817.36,1818.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1820.24,1821.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1822.27,1823.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1824.22,1825.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1826.32,1827.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1828.32,1829.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1830.31,1831.48 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1832.35,1833.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1834.36,1835.53 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1836.36,1837.53 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1838.38,1839.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1840.34,1841.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1843.22,1844.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1845.21,1846.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1847.24,1848.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1850.25,1851.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1852.25,1853.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1859.2,1859.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1860.22,1863.131 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1866.51,1867.123 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1868.10,1869.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1874.47,1876.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1876.16,1879.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1880.2,1880.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1884.72,1890.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1896.105,1898.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1898.16,1900.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1902.2,1903.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1903.17,1905.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1907.2,1908.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1908.17,1910.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1912.2,1918.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1918.16,1920.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1921.2,1921.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1927.76,1933.15 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1933.15,1936.17 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1936.17,1938.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1939.3,1939.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1943.2,1950.36 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1950.36,1952.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1952.8,1955.29 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1955.29,1958.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1959.3,1962.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.2,1966.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.20,1977.20 6 0 +github.com/thebtf/engram/internal/mcp/server.go:1977.20,1979.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.3,1980.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.20,1982.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.3,1985.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.37,1987.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1987.30,1988.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1988.16,1990.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1990.11,1992.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1994.4,1995.56 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1995.56,1997.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1998.4,2003.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.2,2008.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.29,2009.63 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2009.63,2011.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2011.9,2013.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.2,2021.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.29,2029.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2029.38,2031.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2031.9,2033.31 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2033.31,2035.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2035.30,2037.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2039.4,2042.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2046.2,2047.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2047.16,2049.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2050.2,2050.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2055.57,2056.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2056.33,2058.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2059.2,2060.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2060.16,2062.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2063.2,2064.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2064.16,2066.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2067.2,2067.23 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2071.79,2105.15 6 0 +github.com/thebtf/engram/internal/mcp/server.go:2105.15,2107.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2107.17,2111.4 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2111.9,2112.17 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2112.17,2114.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2115.4,2117.26 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2117.26,2119.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2119.10,2121.29 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2121.29,2123.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2125.4,2129.25 5 0 +github.com/thebtf/engram/internal/mcp/server.go:2130.19,2130.19 0 0 +github.com/thebtf/engram/internal/mcp/server.go:2132.20,2134.106 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2135.12,2137.103 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2140.8,2143.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2144.2,2150.49 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2150.49,2152.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2152.8,2154.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2155.2,2168.27 4 0 +github.com/thebtf/engram/internal/mcp/server.go:2168.27,2170.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2170.17,2173.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2173.9,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2177.2,2182.40 4 0 +github.com/thebtf/engram/internal/mcp/server.go:2182.40,2183.21 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2184.20,2185.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2186.19,2187.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.2,2191.24 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.24,2193.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.8,2193.30 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.30,2195.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.2,2198.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.28,2200.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.2,2203.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.29,2205.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2207.2,2208.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2208.16,2210.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2211.2,2211.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2216.103,2218.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2218.16,2220.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2222.2,2223.15 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2223.15,2225.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2227.2,2239.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2239.16,2241.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2242.2,2242.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2246.93,2248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2251.91,2253.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:18.28,29.20 4 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:29.20,33.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:35.2,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:68.36,69.49 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:69.49,74.3 4 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:75.2,75.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:80.26,82.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:84.89,86.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:89.2,90.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:90.18,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:94.2,94.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:95.15,96.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:97.26,98.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:99.25,100.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:101.23,105.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:105.22,107.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:108.3,108.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:109.10,110.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:120.92,126.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:126.26,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:130.2,131.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:131.19,133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:134.2,135.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:135.19,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.2,138.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.24,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.2,142.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.25,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:146.2,147.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:151.2,151.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27.40,30.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32.30,46.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48.99,49.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:49.34,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.2,52.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.69,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:56.2,57.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:60.2,61.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:61.21,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:64.2,67.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:67.26,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:70.2,71.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:71.25,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:75.2,77.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:77.44,79.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.2,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.33,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:83.2,83.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86.52,87.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:87.16,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.2,90.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.15,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:93.2,93.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96.73,97.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:97.21,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:100.2,101.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:101.29,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:111.2,111.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114.34,116.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:31.98,32.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:32.52,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.2,35.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.26,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:39.2,40.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:40.49,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.2,43.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.21,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.2,46.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.21,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.2,49.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.18,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.2,52.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.18,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.2,56.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.38,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:60.2,61.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:61.16,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:68.2,70.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:70.26,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:79.2,81.36 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:81.36,84.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:86.2,89.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:89.28,90.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:90.39,91.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:93.3,97.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:100.2,104.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:107.60,113.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:115.101,116.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:116.38,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:120.2,122.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:122.21,123.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:123.26,125.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.3,126.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.23,128.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:129.8,130.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:130.26,132.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.3,133.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.68,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:137.2,140.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:141.17,142.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:143.67,143.67 0 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:144.10,145.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:148.2,162.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:162.16,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.2,165.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.2,174.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.30,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.2,177.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.31,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:181.2,182.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:182.36,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:198.2,199.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:199.19,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:202.2,203.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:203.18,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:206.2,207.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:207.21,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:210.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:211.25,213.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:214.2,225.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:225.21,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.25,230.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.2,231.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.18,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:235.2,244.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:244.21,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.2,247.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.25,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.2,250.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.18,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.2,253.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:256.2,256.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:259.50,261.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:261.22,263.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:264.2,264.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:270.90,272.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:272.42,276.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:277.2,281.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:281.27,282.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:282.45,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:286.2,286.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25.28,88.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95.95,96.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:96.22,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:99.2,100.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:100.32,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:104.2,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:109.2,114.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:114.35,121.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.2,123.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.25,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:127.2,134.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:138.2,146.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154.94,155.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:155.22,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:158.2,159.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:159.32,161.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:163.2,164.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:164.16,166.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:168.2,172.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:172.35,179.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.2,181.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.25,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:185.2,192.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:192.16,194.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:196.2,203.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211.97,212.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:212.22,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:215.2,216.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:216.32,218.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:220.2,221.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:221.16,223.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:225.2,229.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:229.35,236.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.2,238.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.25,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:242.2,249.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:249.16,251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:253.2,260.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31.80,32.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:32.14,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:35.2,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51.136,53.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:53.51,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:56.2,56.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59.94,60.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:60.21,62.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:63.2,63.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68.30,162.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165.98,166.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:166.49,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:169.2,170.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:170.16,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:173.2,174.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:174.19,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:177.2,179.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:179.17,181.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:188.2,189.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:189.31,190.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:190.15,191.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:193.3,193.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:196.2,201.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:201.16,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:204.2,204.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208.96,209.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:209.49,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:212.2,213.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:213.16,215.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:216.2,217.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:217.13,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.2,225.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.22,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:229.2,230.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:230.16,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:233.2,233.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239.100,240.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:240.22,242.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:243.2,244.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:244.16,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:247.2,248.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:248.13,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:255.2,256.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:256.12,263.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:263.30,264.77 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:264.77,269.5 4 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:271.3,272.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:272.21,274.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:275.3,275.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.2,279.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.29,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:284.2,285.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:285.16,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.2,288.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.22,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.2,291.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.55,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.2,294.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.74,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:297.2,298.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:298.16,300.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:306.2,307.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:307.41,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:310.2,324.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:324.16,325.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:325.50,327.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:328.3,328.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.2,330.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.38,332.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:334.2,341.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:341.16,343.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:344.2,344.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348.99,349.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:349.49,351.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:352.2,353.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:353.16,355.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:356.2,357.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:357.13,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:360.2,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.2,365.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.22,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.2,368.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.74,370.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:371.2,372.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:372.16,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.2,375.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.85,377.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:379.2,380.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:380.16,381.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:381.50,383.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:384.3,384.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.2,386.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.20,388.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:390.2,395.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:395.16,397.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:398.2,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402.102,403.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:403.49,405.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:406.2,407.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:407.16,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:410.2,411.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:411.13,413.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:414.2,415.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:415.16,417.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.2,418.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.22,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.2,421.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.74,423.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:424.2,425.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:425.16,427.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.2,428.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.88,430.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:432.2,433.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:433.16,434.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:434.50,436.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:437.3,437.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.2,439.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.20,441.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:443.2,448.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:448.16,450.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:451.2,451.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34.30,36.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42.61,44.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48.32,75.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79.32,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100.98,101.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:101.25,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.2,104.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.29,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:108.2,113.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:113.17,114.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:114.55,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.2,118.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.24,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.2,121.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.23,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.2,124.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.23,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:134.2,135.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:135.21,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:142.2,147.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:154.2,165.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:165.25,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:177.2,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:186.2,186.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194.98,195.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:195.25,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.2,198.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.29,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:202.2,205.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:205.17,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:208.2,209.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:209.21,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:213.2,214.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:214.16,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:217.2,218.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:218.16,220.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:226.2,231.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:231.11,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:21.52,22.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:22.24,25.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:25.28,27.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:29.2,29.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:35.72,37.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:37.15,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:45.2,45.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:49.99,51.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:51.16,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:55.2,56.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:56.16,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:60.2,72.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.2,75.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.24,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.2,78.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.24,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:81.2,81.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:82.27,82.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:84.10,85.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.2,87.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.30,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.2,90.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.26,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:104.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:116.2,123.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:126.2,126.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:130.97,132.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:132.16,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:136.2,137.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:141.2,147.23 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:147.23,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.2,150.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.26,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:154.2,155.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:155.16,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:160.16,161.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:161.47,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:164.3,164.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.2,167.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.97,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:174.2,175.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:175.16,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:179.2,185.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:185.16,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:188.2,188.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:192.99,194.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:194.16,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:198.2,199.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:199.16,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:203.2,207.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:207.26,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:211.2,212.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:212.16,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:216.2,223.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:223.26,229.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:229.28,231.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:232.3,232.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:243.100,245.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:245.16,247.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:249.2,250.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:250.16,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:254.2,262.23 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:262.23,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.2,265.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.24,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:268.2,268.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:269.27,269.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:271.10,272.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.2,274.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.30,276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.2,277.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.26,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.2,281.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.71,282.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:282.47,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:285.3,285.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:288.2,293.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:293.16,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:296.2,296.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:302.92,309.19 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:309.19,310.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:310.53,313.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:316.2,317.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:317.51,318.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:318.66,320.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:323.2,331.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:331.16,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:334.2,334.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:338.46,342.32 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:342.32,343.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:343.20,346.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:348.2,350.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:350.26,352.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:352.27,353.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:353.13,355.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:356.4,356.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:358.3,358.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:360.2,360.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:16.45,18.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:20.35,36.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:38.84,39.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:39.40,41.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.2,42.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.50,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:45.2,45.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:48.101,50.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:50.16,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:53.2,54.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:57.2,58.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:58.19,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:61.2,62.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:62.21,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:65.2,66.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:66.16,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:69.2,69.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:72.102,74.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:77.2,82.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10.100,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:22.16,23.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:24.14,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:26.14,27.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:28.17,29.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:30.17,31.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:32.21,33.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:34.19,35.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:36.17,37.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:38.16,39.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:40.16,41.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:42.21,43.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:44.10,45.167 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:15.77,16.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:16.33,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:20.2,21.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:21.27,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:25.2,26.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:26.28,29.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:29.17,31.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:34.2,41.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:41.32,46.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:46.20,48.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:49.3,49.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:61.97,62.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:62.28,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:71.2,75.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:75.29,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:79.2,80.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:80.16,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.2,84.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.20,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:88.2,97.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:97.25,103.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:103.20,105.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.3,106.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.19,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:109.3,109.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:112.2,113.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:113.16,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:117.2,117.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:121.95,122.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:122.28,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:131.2,137.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:137.50,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:141.2,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.2,145.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.16,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.2,149.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.21,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:153.2,154.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:154.16,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.2,157.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.20,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:161.2,161.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:165.98,166.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:166.28,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:170.2,171.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:171.16,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:175.2,181.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:181.50,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.2,185.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.96,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:189.2,189.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:197.98,198.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:198.28,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:207.2,217.74 6 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:217.74,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:222.2,223.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:223.16,225.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:227.2,229.156 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:235.98,237.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:237.16,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:241.2,247.24 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:247.24,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:252.2,253.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:253.29,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:256.2,256.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15.93,16.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:16.37,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:20.2,21.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:21.16,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:25.2,32.16 7 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:32.16,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.2,35.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.19,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.2,38.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.19,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:42.2,43.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:43.16,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:47.2,54.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61.91,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:62.37,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:71.2,73.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:73.16,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.2,76.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.19,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:80.2,81.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:81.43,83.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:83.19,85.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:86.3,86.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:87.8,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.2,90.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.16,91.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:91.45,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:94.3,94.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:97.2,110.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:110.16,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:113.2,113.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117.93,119.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122.91,123.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:123.37,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:132.2,133.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:133.19,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:136.2,141.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:141.16,143.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:145.2,155.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:155.25,165.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:167.2,168.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:168.16,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:171.2,171.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175.94,176.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:176.37,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:180.2,181.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:181.16,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:185.2,187.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:187.16,189.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.2,190.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.19,192.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:193.2,196.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:200.2,208.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:208.25,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:218.2,225.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232.94,233.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:233.37,235.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:242.2,243.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:243.21,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:246.2,248.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:248.19,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:252.2,253.46 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:253.46,255.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:255.13,257.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.2,259.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.44,261.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:261.13,263.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:266.2,267.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:267.16,269.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:271.2,278.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:278.16,280.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:281.2,281.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19.69,21.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23.38,38.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40.51,63.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65.53,80.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82.46,85.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:85.32,87.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:88.2,88.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91.105,93.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:93.16,95.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:96.2,97.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:100.2,100.70 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103.107,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:108.2,109.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:109.16,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:112.2,112.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115.101,117.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:117.16,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:120.2,121.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:121.17,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:124.2,139.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142.109,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:147.2,154.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157.100,159.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:159.28,161.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:161.18,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:164.3,164.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:166.2,167.72 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:167.72,169.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.2,170.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.53,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:173.2,174.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:174.26,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:177.2,177.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180.73,182.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:182.16,184.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:185.2,185.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12.104,14.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:14.16,16.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:18.2,19.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:19.18,21.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:23.2,23.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:24.14,25.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:26.18,27.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:28.17,29.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:30.10,31.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36.101,37.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:37.27,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:46.2,47.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:47.21,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:50.2,51.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:51.19,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:54.2,54.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:55.52,55.52 0 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:56.10,57.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:59.2,61.93 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:61.93,64.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:66.2,70.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:27.31,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:98.97,100.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:100.26,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.2,103.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.28,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:112.2,115.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:115.15,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.2,118.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.17,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:122.2,123.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:127.2,140.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:140.29,151.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:151.31,154.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:155.3,155.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:158.2,162.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:167.100,169.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:169.26,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.2,172.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.28,174.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.2,175.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.26,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:179.2,180.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:184.2,185.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:185.22,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:189.2,190.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:190.20,191.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:191.54,199.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.3,200.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.61,202.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:203.3,203.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:206.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:215.95,217.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:217.32,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.2,220.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.28,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:224.2,225.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:229.2,230.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:230.22,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.2,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.25,246.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:248.2,252.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:258.104,260.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:260.26,262.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:267.2,271.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:271.20,275.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:275.8,279.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:280.2,280.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:284.60,285.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:285.30,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.2,288.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.42,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:291.2,291.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:64.89,65.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:65.25,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:69.2,70.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:70.49,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:74.2,74.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:75.18,76.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:77.21,78.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:79.19,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:81.18,82.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:83.19,84.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:85.18,86.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:87.18,91.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:91.23,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:94.3,94.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:95.10,96.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:100.81,103.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:103.19,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:106.2,107.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:107.19,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.2,112.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.46,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.2,115.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.46,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.2,122.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.66,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.25,128.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:128.22,130.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:131.8,132.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:132.26,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.2,138.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.25,139.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:139.22,141.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:142.8,143.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:143.26,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.2,148.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.22,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.2,151.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.38,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.2,154.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.19,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:159.2,161.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:161.25,164.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.2,165.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.25,168.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:169.2,171.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:171.23,174.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.2,175.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.23,178.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:180.2,193.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:193.16,195.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:198.2,199.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:199.29,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.2,202.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.29,204.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:205.2,213.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:216.121,217.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:217.28,218.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:218.26,220.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:221.3,222.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:222.17,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:223.49,225.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:226.4,226.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:228.3,228.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.2,230.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.26,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:233.2,234.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:234.16,235.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:235.48,237.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:238.3,238.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:240.2,240.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:243.101,248.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:248.36,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:250.8,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.2,253.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.16,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.2,256.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.32,257.128 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:257.128,262.72 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:262.72,264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:267.2,267.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:276.81,277.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:277.25,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.2,280.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.22,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.2,283.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.39,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.2,286.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.25,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.2,289.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.21,291.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:292.2,293.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:293.14,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:296.2,305.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:305.16,307.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:308.2,314.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:317.84,318.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:318.19,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:321.2,323.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:323.63,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:326.2,329.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:332.82,333.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:333.38,335.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:336.2,337.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:338.18,339.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:340.18,341.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.2,345.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.59,347.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:349.2,351.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:351.21,353.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:353.8,356.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.2,357.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:366.2,367.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:367.41,369.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:371.2,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:397.115,398.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:398.15,400.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:403.2,404.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:404.26,405.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:405.28,407.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.3,408.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.28,410.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.2,412.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.23,415.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:420.2,426.12 4 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:426.12,427.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:427.27,429.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:429.18,431.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.4,433.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.33,435.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:440.2,441.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:441.26,442.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:442.28,443.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:443.49,445.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.3,448.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.28,449.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:449.49,451.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:454.2,454.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:457.82,458.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:458.21,460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:461.2,462.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:462.16,464.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.2,465.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.36,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:468.2,469.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:469.16,471.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:472.2,477.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:480.82,481.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:481.40,483.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:484.2,485.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:485.19,487.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:488.2,489.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:489.16,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:492.2,499.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:502.82,503.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:503.21,505.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:506.2,507.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:507.16,509.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:510.2,514.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23.179,24.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:24.22,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:28.2,32.22 4 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:32.22,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:35.2,36.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:36.22,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:40.2,41.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:41.26,43.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.2,44.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.26,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.2,47.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.30,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.2,50.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.30,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:54.2,55.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:55.16,57.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.2,58.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.13,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:61.2,62.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:62.16,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.2,65.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.13,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:69.2,70.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:70.16,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.2,73.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.15,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:77.2,77.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80.172,81.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:81.28,82.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:82.23,84.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.3,85.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.18,87.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:88.3,89.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:89.17,90.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:90.49,92.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:93.4,93.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:95.3,95.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.2,98.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.24,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.2,101.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.19,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:104.2,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:105.16,106.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:106.48,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:109.3,109.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:111.2,111.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114.119,116.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:116.22,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:119.2,120.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:120.22,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:124.2,126.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:126.26,127.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:127.36,129.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:130.3,130.105 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:131.8,132.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:132.32,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:135.3,135.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.2,137.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.2,141.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.32,143.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:143.27,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:146.3,147.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:147.27,149.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.3,150.106 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.106,151.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.3,153.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.27,154.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:154.114,155.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.9,157.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.104,158.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.3,160.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.27,161.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:161.114,162.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.9,164.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.104,165.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:167.3,167.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:169.2,169.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25.90,26.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:26.26,28.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:30.2,31.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:31.49,33.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:35.2,35.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:36.16,37.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:38.10,39.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43.84,44.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:44.21,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.2,47.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.25,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.2,50.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.21,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.2,53.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.21,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:57.2,58.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:59.18,60.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:61.15,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:63.24,64.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:65.10,66.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:69.2,70.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:70.22,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:73.2,74.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:74.29,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.2,78.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.14,85.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:87.2,89.37 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:89.37,92.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:92.21,94.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:97.2,100.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:100.31,102.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:102.38,104.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:104.37,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:109.3,122.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:122.26,124.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.3,125.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.19,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:131.3,133.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:133.39,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:135.9,137.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.3,138.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.17,140.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.3,142.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.34,144.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:145.3,145.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:148.2,155.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20.99,22.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:22.16,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:26.2,31.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:31.44,32.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:32.33,33.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:33.43,38.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.2,43.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.49,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.2,46.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.48,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:50.2,52.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:52.27,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:55.8,60.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:60.24,62.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.3,64.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.57,66.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:68.3,68.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.2,71.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.16,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:75.2,76.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:76.23,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:80.2,80.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:19.40,89.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:109.71,111.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:111.9,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:115.2,116.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:116.38,117.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:118.13,119.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:119.41,121.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:122.17,123.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:123.43,125.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:126.11,127.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:127.40,129.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.2,133.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.22,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:139.2,139.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:143.90,144.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:144.25,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:148.2,149.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:149.16,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:153.2,157.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:157.61,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:161.2,161.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:162.16,163.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:164.14,165.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:166.13,167.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:168.16,169.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:170.17,171.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:172.16,173.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:174.15,175.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:176.10,177.120 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:189.85,191.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:191.39,192.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:192.44,194.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.2,196.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.15,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.2,199.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.15,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:202.2,202.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:205.91,207.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:207.17,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:211.2,215.25 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:215.25,217.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:218.2,224.25 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:224.25,226.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.2,227.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.25,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:231.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:247.2,247.139 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:250.89,252.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:252.19,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:255.2,256.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:256.25,258.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:259.2,264.52 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:264.52,266.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:266.14,268.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:271.2,277.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:277.25,280.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:282.2,283.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:283.16,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.2,287.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.22,288.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:288.20,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:291.3,291.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:294.2,297.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:297.31,300.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:300.29,302.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:303.3,305.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:308.2,308.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:311.88,313.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:313.13,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:317.2,318.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:318.16,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:322.2,328.22 6 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:328.22,331.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.2,333.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.23,335.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:335.30,338.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:341.2,341.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:344.91,346.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:346.13,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:350.2,353.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:353.18,354.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:354.27,356.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.3,357.73 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.73,359.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.2,362.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.19,370.17 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:370.17,372.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:375.2,376.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:376.26,378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:379.2,379.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:382.92,384.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:384.13,386.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:388.2,389.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:389.16,391.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:393.2,401.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:401.16,403.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:405.2,405.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:408.91,410.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:410.13,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:414.2,418.95 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:418.95,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:422.2,422.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:425.90,427.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:427.13,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:431.2,433.167 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:433.167,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.2,437.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.89,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:441.2,441.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22.93,24.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:24.49,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:28.2,28.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:29.14,30.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:31.17,32.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:33.16,34.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:35.24,36.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:37.27,38.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:39.22,40.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:41.23,42.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:43.10,44.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48.79,49.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:49.13,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:57.2,58.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:58.32,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:61.2,84.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87.101,88.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:88.13,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.2,91.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.38,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.2,98.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.53,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:102.2,104.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:104.17,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.2,107.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.29,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:110.2,115.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118.100,119.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:119.13,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.2,122.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.38,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.2,129.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.53,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:133.2,135.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:135.17,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.2,138.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.29,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:141.2,146.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149.123,150.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:150.13,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.2,153.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.18,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.2,156.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.38,158.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:159.2,161.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:161.17,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:164.2,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172.113,173.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:173.13,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.2,176.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.50,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:179.2,181.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:181.17,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:184.2,188.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191.57,195.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197.102,198.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:198.13,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.2,201.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.20,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:204.2,205.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:205.16,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:209.2,210.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:210.32,212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:214.2,217.56 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:217.56,223.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:225.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233.41,235.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:235.16,237.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:238.2,238.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:35.27,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:42.41,43.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:44.48,45.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:46.10,47.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:54.57,55.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:56.17,57.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:58.16,59.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:60.10,61.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:82.58,83.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:84.28,85.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:86.26,87.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:88.10,89.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:93.114,95.68 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:95.68,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:99.2,101.42 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:101.42,102.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:102.71,105.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:107.2,117.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:117.23,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:121.2,124.22 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:124.22,125.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:125.31,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:128.3,128.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.8,129.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.37,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:132.2,132.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:135.74,136.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:136.30,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.2,139.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.34,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.2,142.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.31,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.2,145.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.22,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:161.169,162.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:162.17,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:165.2,166.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:166.51,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:169.2,169.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:172.92,174.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:174.42,177.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:177.63,179.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:179.9,181.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:183.2,183.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:186.65,190.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:192.115,194.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:194.26,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.8,196.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.31,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:199.2,199.117 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:202.122,206.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:206.31,207.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:207.45,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:211.2,211.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:214.72,216.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:218.117,219.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:222.2,223.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:223.20,225.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:225.17,227.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.3,228.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.27,229.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:229.50,231.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:231.30,232.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:236.3,236.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:239.2,241.60 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:241.60,243.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:243.61,245.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.3,246.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.24,247.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:249.3,250.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:250.17,252.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.3,253.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.22,254.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.3,256.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.29,257.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:257.50,259.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:259.30,260.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:264.3,265.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:265.32,266.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:269.2,269.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:272.51,273.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:273.16,275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:276.2,277.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:277.18,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.2,280.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.19,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:283.2,283.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:286.97,288.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:288.30,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.2,291.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.49,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:294.2,294.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:297.108,299.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:301.108,303.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:305.102,307.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:319.55,320.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:320.31,322.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.2,323.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.26,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:326.2,326.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:329.71,330.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:343.26,344.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:345.10,346.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:354.95,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:366.2,397.39 14 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:397.39,399.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:399.27,401.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:402.8,404.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:405.2,407.46 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:407.46,410.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.2,411.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.44,413.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:413.12,415.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.2,417.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.26,419.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.2,420.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.84,422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.2,427.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.65,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:431.2,433.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:433.20,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:436.2,437.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:437.20,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.2,440.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.56,442.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.2,443.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.56,448.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.2,450.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.45,453.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.2,459.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.31,461.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:461.22,462.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:462.62,465.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:466.4,466.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:468.3,468.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:471.2,472.115 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:472.115,474.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.2,491.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.19,493.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:493.23,495.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:496.3,508.21 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:508.21,510.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:511.3,511.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.2,522.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.43,535.34 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:535.34,556.30 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:556.30,558.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.4,559.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.44,561.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.4,562.106 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.106,564.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.4,575.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.74,577.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:578.4,579.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:579.18,581.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:583.4,584.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:584.28,586.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.4,588.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.31,599.57 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:599.57,601.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:601.17,604.7 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:606.5,607.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:607.21,609.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.5,615.138 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.138,617.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:617.27,619.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:620.6,620.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:622.5,623.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:623.26,625.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:626.5,626.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:630.4,631.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:631.20,633.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.4,634.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.22,637.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:637.26,639.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:640.5,640.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:645.4,660.77 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:660.77,662.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:663.4,664.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:664.25,666.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:667.4,667.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.2,673.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.26,675.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:677.2,678.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:678.25,680.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.2,681.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.97,683.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:690.2,691.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:691.21,693.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:693.33,695.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.3,696.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.33,698.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.3,699.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.49,704.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.3,721.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.54,722.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:722.84,724.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.2,728.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.99,730.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:732.2,733.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:733.22,735.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:736.109,737.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:738.100,739.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:740.114,741.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:742.107,743.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:744.11,745.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:748.2,749.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:749.43,751.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:753.2,755.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:755.34,756.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:756.48,757.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:757.19,760.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.2,764.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.31,767.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.2,768.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.35,771.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.2,772.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.76,776.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:778.2,780.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:780.16,782.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:782.20,785.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.2,788.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.25,798.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:798.18,800.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.9,800.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.30,807.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.3,808.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.36,810.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:811.3,812.50 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:812.50,815.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:816.3,822.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:822.17,824.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:826.3,836.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:836.17,838.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:839.3,839.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:842.2,843.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:843.30,844.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:844.52,846.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:846.9,848.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:851.2,869.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:869.21,871.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:871.43,873.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.3,874.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.29,876.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.3,886.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.76,888.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.2,890.105 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.105,892.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:893.2,894.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:894.16,896.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:901.2,904.40 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:904.40,905.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:905.15,906.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:909.3,910.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:910.63,912.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:912.9,914.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.3,916.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.43,918.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:919.3,920.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:920.20,922.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.3,925.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.23,928.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:929.3,931.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:931.33,934.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:934.39,936.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:939.2,948.42 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:948.42,950.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:950.21,952.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:952.9,955.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.2,959.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.53,960.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:960.54,961.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:961.33,963.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:964.9,972.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.3,973.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.60,974.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:974.40,976.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.3,978.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.61,979.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:979.41,981.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.3,983.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.28,985.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:986.3,987.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.2,989.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.51,991.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:995.2,997.53 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:997.53,999.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:999.8,1001.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.2,1002.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.22,1004.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1008.2,1014.76 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1014.76,1016.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.2,1021.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.57,1026.13 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1026.13,1029.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1029.21,1032.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.4,1033.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.49,1035.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1036.4,1043.89 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1043.89,1046.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1048.4,1048.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1052.2,1063.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1063.21,1065.40 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1065.40,1067.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.3,1068.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.38,1070.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1072.2,1074.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1074.18,1081.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.2,1082.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.28,1084.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.2,1085.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.16,1087.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.2,1088.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.30,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.2,1091.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.30,1093.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.2,1098.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.76,1100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1101.2,1102.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1102.16,1104.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1105.2,1105.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111.94,1113.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1113.15,1115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1117.2,1118.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1118.16,1120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1122.2,1123.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1123.13,1125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1126.2,1131.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1131.16,1133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.2,1134.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.19,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.2,1146.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.39,1148.55 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1148.55,1150.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.2,1152.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.39,1154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1157.2,1158.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1158.21,1163.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1163.21,1165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1166.3,1167.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1167.21,1169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.3,1170.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.52,1172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.3,1173.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.52,1178.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.3,1179.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.41,1182.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1183.3,1183.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.2,1188.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.46,1190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.2,1191.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.27,1193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1195.2,1196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1196.16,1198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1201.2,1210.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1210.16,1212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1213.2,1213.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218.59,1220.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1220.38,1222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1225.2,1226.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1226.29,1227.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1227.22,1229.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.2,1232.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.18,1234.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1237.2,1244.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1244.29,1245.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1245.67,1247.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.2,1249.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.16,1251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1254.2,1254.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258.55,1260.47 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1260.47,1262.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1263.2,1264.58 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1264.58,1266.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1267.2,1267.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270.252,1271.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1271.108,1273.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.2,1274.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.55,1276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1277.2,1277.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280.184,1282.69 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1282.69,1284.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1284.32,1285.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1285.58,1287.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.3,1290.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.18,1292.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.2,1294.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.19,1297.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1297.32,1298.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1298.39,1300.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.3,1303.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.19,1305.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.2,1307.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.21,1309.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1309.32,1310.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1310.49,1312.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.3,1315.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.18,1317.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.2,1319.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.28,1321.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1321.17,1323.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.3,1324.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.27,1326.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.2,1328.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.76,1330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1331.2,1331.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342.96,1343.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1343.26,1345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1347.2,1348.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1348.16,1350.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1352.2,1363.23 9 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1363.23,1364.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1364.58,1365.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1365.31,1367.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1367.10,1369.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.2,1373.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.17,1375.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.2,1376.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.16,1378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.2,1379.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.16,1381.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.2,1382.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.18,1384.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.2,1385.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.19,1387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.2,1388.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.19,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1396.2,1399.18 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1399.18,1400.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1400.61,1401.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1402.50,1403.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1404.12,1405.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1409.2,1410.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1410.42,1414.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1415.2,1420.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1420.16,1422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1429.2,1444.43 6 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1444.43,1446.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1449.2,1451.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1451.27,1453.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.2,1458.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.46,1460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.2,1461.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.63,1463.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1465.2,1466.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1466.15,1472.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1472.29,1479.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1479.18,1481.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.4,1482.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.23,1483.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.4,1485.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.30,1486.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1486.24,1488.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1488.32,1489.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1493.4,1494.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1494.30,1495.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1498.8,1504.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1504.29,1506.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1506.18,1508.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.4,1509.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.23,1510.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.4,1512.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.30,1513.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1513.24,1515.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1515.32,1516.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1520.4,1521.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1521.30,1522.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.2,1526.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.26,1528.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1528.17,1530.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.2,1535.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.74,1536.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1536.13,1537.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1537.33,1542.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1542.26,1544.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1544.39,1546.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1548.5,1548.82 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.2,1565.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.38,1569.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1569.27,1571.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.3,1572.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.27,1574.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1576.3,1581.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1581.32,1586.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1588.3,1592.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1592.18,1594.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1595.3,1596.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1596.17,1598.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1599.3,1599.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1602.2,1602.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1603.15,1618.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1618.32,1620.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1620.33,1621.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1621.40,1623.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1626.4,1638.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1640.3,1641.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1641.17,1643.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1644.3,1644.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1646.18,1648.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1648.17,1650.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1651.3,1651.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1653.10,1654.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1654.25,1656.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1657.3,1659.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1659.32,1661.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1661.33,1662.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1662.40,1664.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1667.4,1669.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1669.26,1671.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1672.4,1673.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1673.25,1675.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1676.4,1676.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1678.3,1678.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690.51,1695.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700.73,1702.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1702.16,1704.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1705.2,1706.48 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1706.48,1710.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1711.2,1713.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1713.16,1715.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1716.2,1716.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727.117,1731.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1731.21,1733.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1734.2,1735.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1735.16,1737.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1738.2,1739.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1739.27,1741.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1742.2,1742.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1764.19,1775.30 7 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1775.30,1777.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1777.37,1779.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.3,1781.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.20,1783.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.2,1797.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.39,1799.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1801.2,1811.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1811.25,1813.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1815.2,1816.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1816.29,1818.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.2,1824.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.27,1826.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1831.2,1833.22 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1833.22,1835.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1837.2,1846.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1846.16,1848.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1853.2,1855.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1855.27,1857.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1859.2,1876.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1876.33,1878.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1880.2,1881.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1881.28,1885.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1885.20,1888.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1888.33,1889.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1889.40,1891.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.4,1894.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.20,1895.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.3,1900.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.22,1902.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1902.33,1903.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1903.50,1905.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.4,1908.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.19,1909.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.3,1918.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.56,1919.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.3,1927.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.64,1928.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1932.3,1935.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1935.32,1936.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1936.39,1938.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1942.3,1956.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1956.14,1957.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1957.37,1959.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1961.3,1962.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1962.26,1963.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.2,1975.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.59,1986.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1986.17,1988.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1990.3,1991.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1991.34,1993.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1995.3,1996.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1996.29,1998.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1998.21,2001.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2001.34,2002.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2002.41,2004.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.5,2007.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.21,2008.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.4,2011.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.23,2013.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2013.34,2014.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2014.51,2016.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.5,2019.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.20,2020.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.4,2023.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.57,2024.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.4,2027.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.65,2028.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2030.4,2031.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2031.33,2032.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2032.40,2034.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2037.4,2051.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2051.15,2052.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2052.38,2054.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2056.4,2057.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2057.27,2058.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2065.2,2066.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2066.28,2068.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.2,2072.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.71,2080.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2080.30,2081.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2081.41,2087.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.3,2089.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.13,2090.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2090.31,2095.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2095.25,2097.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2097.38,2099.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2101.5,2101.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.2,2112.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.38,2115.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2115.27,2117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2121.3,2138.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2138.30,2140.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2140.11,2141.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2143.4,2160.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2160.15,2161.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2161.39,2163.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2165.4,2165.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2167.3,2173.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2173.24,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2176.3,2176.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2179.2,2179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2180.15,2182.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2182.24,2184.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2185.3,2185.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2187.18,2199.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2199.30,2201.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2201.11,2202.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2204.4,2208.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2208.15,2209.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2209.39,2211.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2213.4,2213.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2215.3,2216.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2216.24,2218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2219.3,2219.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2220.10,2221.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2221.22,2223.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2224.3,2226.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2226.27,2228.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2228.20,2230.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2231.4,2233.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2233.26,2235.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2236.4,2237.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2237.23,2239.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.4,2240.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.46,2244.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2245.4,2245.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2247.3,2247.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252.94,2254.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2254.16,2256.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2258.2,2260.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2260.18,2261.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2261.59,2262.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2262.36,2264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2264.10,2266.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.2,2270.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.13,2272.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.2,2273.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.50,2275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2277.2,2277.98 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281.98,2282.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2282.26,2284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2286.2,2287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2287.16,2289.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2291.2,2292.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2292.13,2294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2297.2,2298.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2298.19,2299.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2299.51,2301.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2302.3,2302.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.2,2304.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.42,2306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.2,2308.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.54,2309.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2309.48,2311.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2312.3,2312.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2316.2,2318.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17.82,19.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21.149,22.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:22.55,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.2,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.36,27.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:28.2,34.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:34.16,36.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.2,37.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.42,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:40.2,40.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43.105,44.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:44.48,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:47.2,48.54 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51.129,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:56.2,57.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:57.53,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:60.2,61.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:61.25,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:64.2,65.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:65.16,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:68.2,68.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26.97,27.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:27.18,29.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:30.2,30.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33.37,35.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37.81,38.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:38.44,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.2,41.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.38,43.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:44.2,44.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47.88,48.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:48.32,50.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:51.2,52.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:52.20,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:55.2,55.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58.40,72.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74.106,75.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:75.34,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:78.2,79.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:79.16,81.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:83.2,84.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:88.2,89.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:89.13,91.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:93.2,94.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:94.63,96.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.2,98.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.72,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:102.2,106.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109.117,110.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:110.32,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.2,113.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.34,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:117.2,118.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:118.16,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.2,121.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.19,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:125.2,126.69 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:126.69,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:130.2,136.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18.33,20.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22.27,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39.93,40.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:40.30,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.2,43.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.28,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:46.2,47.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:47.16,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:51.2,52.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:52.17,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:55.2,56.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:56.19,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.2,59.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.19,61.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:62.2,63.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:63.16,65.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:67.2,74.9 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:74.9,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:77.2,78.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:78.15,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:81.2,85.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:85.16,87.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.2,88.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.17,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:92.2,101.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104.48,105.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:108.2,109.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:109.29,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.2,112.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.31,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:115.2,115.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118.75,120.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:120.27,121.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:121.32,123.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:123.17,124.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:126.4,126.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:129.2,134.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:134.33,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.2,137.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.40,138.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:138.39,140.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:141.3,141.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.2,143.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.34,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:146.2,147.35 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:147.35,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:150.2,150.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153.77,154.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:154.20,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:157.2,159.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:159.31,160.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:160.33,162.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.3,163.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.30,165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:167.2,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23.91,25.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27.38,50.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52.104,53.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:53.38,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:56.2,57.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:61.2,62.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:62.26,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:65.2,66.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:66.30,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.2,69.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.72,71.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:73.2,74.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:77.2,78.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:78.16,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:81.2,82.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:82.16,84.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:85.2,86.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:90.2,105.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.2,109.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.19,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.2,118.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.25,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.2,121.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.30,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.2,124.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.31,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:131.2,131.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134.91,136.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:136.9,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:139.2,140.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:140.15,141.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:141.19,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:144.3,144.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:146.2,146.94 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149.59,150.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:150.16,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:153.2,154.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:154.61,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:157.2,157.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160.56,161.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:161.75,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:164.2,164.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167.67,169.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:170.17,171.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:172.67,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:174.10,175.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179.60,180.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:183.2,184.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:184.25,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:187.2,187.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190.57,191.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:192.15,193.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:193.81,195.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:196.3,196.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:197.19,199.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:199.17,201.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.3,202.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.55,204.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:205.3,205.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:206.14,207.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:208.11,209.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:210.10,211.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215.59,216.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:216.16,218.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:219.2,219.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:220.12,221.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:222.14,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:224.10,225.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:28.90,30.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:30.16,32.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:34.2,36.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:37.16,38.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:40.16,42.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:44.20,46.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:48.17,50.142 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:52.17,56.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:56.50,62.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:62.63,64.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.4,66.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.45,68.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:72.4,74.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:74.25,76.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:77.4,77.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:80.3,80.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:82.18,84.141 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:86.18,88.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:88.18,90.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:91.3,91.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:93.17,96.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:96.50,99.59 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:99.59,101.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:102.4,104.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:104.25,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:107.4,107.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:110.3,110.98 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:112.10,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:125.86,126.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:129.2,130.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:130.9,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.2,133.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.22,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:137.2,139.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:139.31,141.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:141.10,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:144.3,145.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:145.22,147.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:148.3,149.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:149.26,151.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.3,152.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.68,154.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:155.3,156.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:156.37,158.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:159.3,160.107 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:162.2,162.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:165.249,166.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:166.24,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.2,169.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.38,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:173.2,174.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:174.31,175.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:175.32,177.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:180.2,181.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:181.34,182.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:182.29,183.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:185.3,197.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:197.17,199.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.3,200.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.20,201.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.3,203.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.37,205.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:205.33,206.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.4,208.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.19,209.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:209.43,210.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:212.5,212.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:214.4,215.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:215.30,216.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:220.2,220.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:223.113,229.2 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:231.101,233.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:247.92,251.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:251.16,253.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.8,253.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:259.2,272.51 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:272.51,274.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:274.38,275.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:276.50,277.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:278.12,279.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:287.2,292.26 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:292.26,294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.2,297.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.19,301.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:303.2,311.42 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:311.42,315.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:316.2,341.64 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:341.64,342.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:342.86,344.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.3,345.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.56,347.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:348.3,360.19 6 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:360.19,364.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:365.3,365.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:369.2,370.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:370.15,372.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:372.27,374.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.3,375.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.27,377.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:380.2,381.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:381.15,387.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:387.28,395.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:395.18,397.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.4,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.23,399.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.4,401.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.30,402.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:402.66,403.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:405.5,406.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:406.12,407.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.5,409.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.28,413.6 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:414.5,415.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:415.30,416.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:419.4,420.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:420.30,421.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:424.8,432.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:432.28,438.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:438.18,440.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.4,441.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.23,442.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.4,444.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.30,445.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:445.40,447.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:447.31,448.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:452.4,455.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:455.30,456.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:461.2,465.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:465.17,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:469.2,470.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:470.16,472.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:473.2,473.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20.79,21.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:21.43,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.2,24.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.29,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:27.2,27.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30.40,63.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65.68,71.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:71.25,74.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:75.2,75.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78.62,83.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:83.19,87.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:88.2,88.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91.101,92.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:92.22,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:95.2,96.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:96.18,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:103.2,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:107.2,107.119 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110.99,111.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:111.22,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:114.2,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:115.18,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:118.2,119.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:119.16,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.2,122.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.51,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:129.2,131.15 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:131.15,132.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:132.69,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:135.3,135.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:137.2,137.130 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140.102,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.2,145.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.64,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:148.2,148.113 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151.109,153.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:157.16,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:160.2,161.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:161.16,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:164.2,164.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167.107,169.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:169.16,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:172.2,173.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:173.16,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.2,176.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.107,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:179.2,179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:180.41,181.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:182.41,183.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:184.10,185.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189.111,191.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:191.16,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:194.2,195.57 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:195.57,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:198.2,199.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:199.23,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.2,206.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.17,208.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:209.2,209.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212.63,215.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217.69,219.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:222.2,222.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225.60,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:230.2,230.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233.137,234.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:234.49,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:241.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:246.2,247.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:247.16,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.2,250.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.22,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:253.2,253.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256.142,258.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:258.16,260.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:261.2,262.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:262.16,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.2,265.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.47,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:268.2,269.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:269.16,270.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:270.50,272.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:273.3,273.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:275.2,275.173 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278.157,280.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:280.16,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.2,283.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.47,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:286.2,287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:287.16,288.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:288.50,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:291.3,291.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:293.2,293.169 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296.104,297.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:297.22,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:300.2,301.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:301.61,303.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:303.20,304.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.2,307.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.19,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:310.2,317.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320.119,322.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:322.39,323.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:323.81,325.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:327.2,327.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330.71,332.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:332.16,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:335.2,335.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17.61,105.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:105.23,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:123.2,123.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126.104,127.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:127.61,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.2,130.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.38,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:133.2,134.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:137.2,138.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:138.16,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:141.2,147.107 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:147.107,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:150.2,151.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:151.16,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:154.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:170.19,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:173.2,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176.103,177.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:177.61,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.2,180.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.38,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:187.2,191.106 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:191.106,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:194.2,195.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:195.16,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:198.2,200.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:200.31,207.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:207.36,218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:219.3,220.35 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:222.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233.107,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.2,237.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.38,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:240.2,241.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:241.16,243.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:244.2,248.110 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:248.110,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:251.2,252.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:252.16,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:255.2,256.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:256.33,266.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:267.2,275.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278.108,279.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:279.61,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.2,282.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.37,284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:285.2,286.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:286.16,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:289.2,290.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:290.19,292.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.2,293.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.104,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:296.2,297.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:297.16,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:300.2,307.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:307.16,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:310.2,311.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:311.43,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:319.2,332.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:332.22,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:335.2,335.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338.108,339.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:339.62,341.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.2,342.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.38,344.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:345.2,346.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:346.9,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:349.2,350.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:350.16,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:353.2,357.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:360.2,370.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373.109,374.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:374.62,376.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.2,377.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.38,379.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:380.2,381.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:381.9,383.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:384.2,385.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:385.16,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:388.2,390.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:390.32,392.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:393.2,394.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:394.16,396.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:397.2,403.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406.106,407.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:407.62,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.2,410.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.38,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:413.2,414.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:414.9,416.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:417.2,418.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:418.16,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:421.2,423.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:423.16,424.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:424.41,434.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:435.3,435.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:437.2,445.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483.65,484.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:484.42,485.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:485.39,487.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.2,489.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.85,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:492.2,492.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495.102,496.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:496.38,498.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.2,499.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.58,501.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:502.2,502.90 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505.60,508.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510.66,512.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:512.26,514.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:515.2,515.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518.69,521.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:521.33,523.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:523.21,524.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.3,526.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.34,527.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:529.3,530.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:532.2,532.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535.63,537.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:537.19,539.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:540.2,541.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:541.42,543.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.2,544.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.57,546.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.2,547.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.54,549.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:550.2,550.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553.70,557.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559.66,561.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:561.9,563.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:564.2,566.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:566.17,568.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:569.2,569.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:570.103,572.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:573.34,574.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:575.10,576.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580.56,581.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:581.37,583.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.2,584.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.26,586.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:586.37,587.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:589.3,589.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:591.2,591.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594.90,602.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604.68,605.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:605.71,607.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:607.17,609.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:610.3,610.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:612.2,613.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:613.16,615.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:616.2,617.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:617.41,619.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:620.2,620.78 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623.65,625.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:625.16,627.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.2,628.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.17,630.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:631.2,631.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634.51,635.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:635.16,637.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:638.2,638.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641.56,642.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:642.28,644.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:645.2,646.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649.92,651.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:651.29,653.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:654.2,654.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657.86,659.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:659.29,661.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:662.2,662.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665.94,667.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:667.29,669.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:670.2,670.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673.98,675.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:675.29,677.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:678.2,678.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:17.93,18.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:18.104,20.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:22.2,23.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:23.16,25.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:27.2,28.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:28.19,30.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:32.2,35.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:35.33,36.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:36.47,39.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:42.2,44.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:44.20,47.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:48.2,49.68 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:49.68,50.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:50.48,52.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.3,53.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.32,55.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:55.23,56.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:56.63,58.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:59.5,59.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:61.4,61.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:64.2,71.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:71.17,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.8,73.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.29,75.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:75.36,77.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:78.3,83.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.2,86.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.35,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:90.2,97.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:101.2,110.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:110.28,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:113.2,124.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:133.93,134.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:134.35,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:138.2,139.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:139.16,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:143.2,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.2,147.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.17,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:151.2,152.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:152.33,153.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:153.47,156.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:160.16,162.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:164.2,176.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:176.26,178.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:178.23,180.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:181.3,192.5 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:195.2,196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:199.2,199.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:22.104,24.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:24.16,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:28.2,29.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:29.18,31.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:33.2,33.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:34.13,35.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:36.13,37.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:38.14,39.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:40.16,41.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:42.10,43.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:51.67,53.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:57.68,58.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:58.33,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:61.2,61.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:67.42,69.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:74.61,76.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:76.26,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:79.2,79.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:85.90,86.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:86.49,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:90.2,91.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:91.15,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:94.2,95.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:95.17,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:100.2,103.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:103.16,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:107.2,113.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:113.12,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:115.18,117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:118.3,119.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:119.20,121.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:122.3,124.48 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:125.8,127.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:129.2,130.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:130.16,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:134.2,139.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:145.90,147.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:151.2,152.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:152.16,154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:157.16,158.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:158.47,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:161.3,161.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:164.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:170.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:173.8,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:176.2,176.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:181.92,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:187.2,188.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:188.16,190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:192.2,200.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:200.25,207.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:207.28,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:210.3,210.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:212.2,212.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:216.93,217.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:217.52,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:221.2,222.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:222.15,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:226.2,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.2,231.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.47,232.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:232.47,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:235.3,235.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:238.2,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:35.127,36.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:36.23,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:39.2,40.40 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:40.40,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.2,43.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.37,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.2,46.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.37,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:49.2,49.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:52.23,80.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:82.26,140.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:142.92,143.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:143.25,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:147.2,148.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:148.49,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:152.2,152.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:153.17,154.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:154.24,156.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:157.3,158.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:158.17,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:161.3,165.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:166.17,167.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:167.22,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.3,170.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.22,172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:173.3,174.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:174.17,176.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:177.3,181.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:182.16,189.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:189.23,191.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.3,192.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.24,194.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.3,195.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.39,197.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:198.3,207.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:207.17,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.3,210.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.69,212.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:213.3,213.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:214.10,215.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:219.92,220.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:220.25,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:224.2,225.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:225.49,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:229.2,229.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:230.17,232.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:232.24,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:235.3,236.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:236.17,238.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.3,239.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.59,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.3,242.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.81,244.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:245.3,250.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:251.17,253.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:253.22,255.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:256.3,257.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:257.17,259.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.3,260.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.79,262.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:263.3,268.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:269.10,270.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:274.91,276.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:276.16,278.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.2,279.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.67,280.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:280.76,282.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:285.2,286.52 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:286.52,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:289.2,289.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:292.74,294.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:294.16,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.2,297.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.62,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:300.2,300.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:303.109,304.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:304.56,306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.2,307.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.25,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.2,310.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.81,312.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.2,313.102 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.102,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.2,316.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.108,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.2,319.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.99,321.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.2,322.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.99,324.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.2,325.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.60,327.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.2,328.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.34,330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.2,331.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.114,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.2,334.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.66,336.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.2,337.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.40,339.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.2,340.132 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.132,342.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.2,343.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.35,345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:346.2,346.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:349.92,350.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:350.103,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:354.2,355.52 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:355.52,357.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.2,358.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.32,360.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:361.2,361.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:364.108,365.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:365.19,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:368.2,369.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:369.53,371.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.2,372.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.19,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.2,375.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.39,376.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:376.34,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:380.2,380.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:383.66,385.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:385.53,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.2,388.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.19,390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:391.2,391.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:16.2,18.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:19.16,20.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:21.14,22.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:23.15,24.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:25.16,26.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:27.10,28.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21.75,23.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25.41,28.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30.31,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39.38,46.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48.50,56.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58.43,70.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72.80,73.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:73.36,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.2,76.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.48,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:79.2,79.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82.97,84.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:87.2,88.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:88.16,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:91.2,92.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:92.16,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:95.2,96.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:96.16,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:99.2,99.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102.104,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:111.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:115.2,116.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:116.16,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:119.2,119.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122.96,124.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:127.2,128.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:128.19,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:131.2,132.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:132.18,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:135.2,141.79 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:141.79,143.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:143.17,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:146.3,146.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:148.2,148.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151.77,153.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:156.2,157.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:157.19,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:160.2,160.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:22.15,23.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:24.13,25.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:26.14,27.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:28.16,29.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:30.16,31.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:32.10,33.102 1 0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/create-database.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/create-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/create-database.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/create-database.stdout.log new file mode 100644 index 00000000..4b15bd57 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/create-database.stdout.log @@ -0,0 +1 @@ +CREATE DATABASE diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/create-pgvector.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/create-pgvector.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/create-pgvector.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/create-pgvector.stdout.log new file mode 100644 index 00000000..d26bad14 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/create-pgvector.stdout.log @@ -0,0 +1 @@ +CREATE EXTENSION diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/database-identity.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/database-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/database-identity.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/database-identity.stdout.log new file mode 100644 index 00000000..7f3454f0 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/database-identity.stdout.log @@ -0,0 +1 @@ +{"database" : "engram_prc_rg_test_3ce6312b91ffa9ad_r1", "schema" : "public", "server_version" : "17.10 (Debian 17.10-1.pgdg12+1)", "user" : "engram"} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/go-test-summary.json b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/go-test-summary.json new file mode 100644 index 00000000..30170530 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/go-test-summary.json @@ -0,0 +1,40 @@ +{ + "schema_version": 1, + "verdict": "FAIL", + "input_path": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\go-test.stdout.jsonl", + "fail_on_unexpected_skip": true, + "allowed_skip_identities": [], + "counts": { + "packages": 1, + "tests": 1, + "passed": 0, + "failed": 1, + "skipped": 0, + "no_tests": 0, + "zero_tests": 0, + "incomplete": 0, + "unexpected_skips": 0, + "malformed_lines": 0 + }, + "packages": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "outcome": "fail", + "elapsed_seconds": 3.95, + "last_output": "FAIL\tgithub.com/thebtf/engram/internal/mcp\t3.942s", + "tests_observed": 1 + } + ], + "tests": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEC_F1_TagDerivedBackfill_T007", + "outcome": "fail", + "elapsed_seconds": 3.69, + "last_output": "--- FAIL: TestEC_F1_TagDerivedBackfill_T007 (3.69s)", + "skip_allowed": false + } + ], + "unexpected_skips": [], + "errors": [] +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/go-test.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/go-test.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/go-test.stdout.jsonl b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/go-test.stdout.jsonl new file mode 100644 index 00000000..c5b1fcf9 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/go-test.stdout.jsonl @@ -0,0 +1,30 @@ +{"Time":"2026-07-11T03:59:20.2973848+03:00","Action":"start","Package":"github.com/thebtf/engram/internal/mcp"} +{"Time":"2026-07-11T03:59:20.5188465+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007"} +{"Time":"2026-07-11T03:59:20.5188465+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"=== RUN TestEC_F1_TagDerivedBackfill_T007\n"} +{"Time":"2026-07-11T03:59:21.3555561+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"warn\",\"error\":\"ERROR: relation \\\"observation_vectors\\\" does not exist (SQLSTATE 42P01)\",\"time\":\"2026-07-11T03:59:21+03:00\",\"message\":\"migration 040: orphan vector cleanup failed (non-fatal)\"}\n"} +{"Time":"2026-07-11T03:59:21.3555561+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"garbage_deleted\":0,\"orphan_vectors_deleted\":0,\"time\":\"2026-07-11T03:59:21+03:00\",\"message\":\"migration 040: garbage cleanup complete\"}\n"} +{"Time":"2026-07-11T03:59:21.3640555+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"orphan_vectors_deleted\":0,\"time\":\"2026-07-11T03:59:21+03:00\",\"message\":\"migration 041: orphan vector purge complete\"}\n"} +{"Time":"2026-07-11T03:59:21.3715555+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"patterns_deleted\":0,\"time\":\"2026-07-11T03:59:21+03:00\",\"message\":\"migration 042: low-quality pattern purge complete\"}\n"} +{"Time":"2026-07-11T03:59:21.4030853+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"total_deleted\":0,\"time\":\"2026-07-11T03:59:21+03:00\",\"message\":\"migration 043: radical observation cleanup complete\"}\n"} +{"Time":"2026-07-11T03:59:22.6441999+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"warn\",\"error\":\"ERROR: extension \\\"vectorscale\\\" is not available (SQLSTATE 0A000)\",\"time\":\"2026-07-11T03:59:22+03:00\",\"message\":\"migration 109: vectorscale extension not available, skipping DiskANN index\"}\n"} +{"Time":"2026-07-11T03:59:23.8483994+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:59:23+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:59:23.8704+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" store_memory_compat_t007_test.go:138: \n"} +{"Time":"2026-07-11T03:59:23.8704+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \tError Trace:\tD:/Dev/engram/.w/t007-r1-checker/internal/mcp/store_memory_compat_t007_test.go:138\n"} +{"Time":"2026-07-11T03:59:23.8704+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \tError: \tNot equal: \n"} +{"Time":"2026-07-11T03:59:23.8704+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \t \texpected: \"global\"\n"} +{"Time":"2026-07-11T03:59:23.8704+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \t \tactual : \"project\"\n"} +{"Time":"2026-07-11T03:59:23.8704+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \t \t\n"} +{"Time":"2026-07-11T03:59:23.8704+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \t \tDiff:\n"} +{"Time":"2026-07-11T03:59:23.8704+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \t \t--- Expected\n"} +{"Time":"2026-07-11T03:59:23.8704+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \t \t+++ Actual\n"} +{"Time":"2026-07-11T03:59:23.8704+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \t \t@@ -1 +1 @@\n"} +{"Time":"2026-07-11T03:59:23.8704+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \t \t-global\n"} +{"Time":"2026-07-11T03:59:23.8704+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \t \t+project\n"} +{"Time":"2026-07-11T03:59:23.8704+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \tTest: \tTestEC_F1_TagDerivedBackfill_T007\n"} +{"Time":"2026-07-11T03:59:23.8704+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \tMessages: \trow with scope:global tag -\u003e privacy_scope='global'\n"} +{"Time":"2026-07-11T03:59:24.2097994+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"--- FAIL: TestEC_F1_TagDerivedBackfill_T007 (3.69s)\n"} +{"Time":"2026-07-11T03:59:24.2097994+03:00","Action":"fail","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Elapsed":3.69} +{"Time":"2026-07-11T03:59:24.2097994+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"FAIL\n"} +{"Time":"2026-07-11T03:59:24.2237989+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"coverage: 0.1% of statements\n"} +{"Time":"2026-07-11T03:59:24.2473849+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"FAIL\tgithub.com/thebtf/engram/internal/mcp\t3.942s\n"} +{"Time":"2026-07-11T03:59:24.2473849+03:00","Action":"fail","Package":"github.com/thebtf/engram/internal/mcp","Elapsed":3.95} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/pg-stat-activity-after.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/pg-stat-activity-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/pg-stat-activity-after.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/pg-stat-activity-after.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/pg-stat-activity-after.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/pg-stat-activity-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/pg-stat-activity-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/repeat-summary.json b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/repeat-summary.json new file mode 100644 index 00000000..428125b9 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/repeat-summary.json @@ -0,0 +1,36 @@ +{ + "repeat": 1, + "verdict": "FAIL", + "database": "engram_prc_rg_test_3ce6312b91ffa9ad_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_3ce6312b91ffa9ad_r1.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": false, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 1, + "json_parser_exit": 1, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\cleanup\\cleanup.json", + "errors": [ + "go test failed with exit 1", + "go test JSON assertion failed with exit 1" + ], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01" +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/server-connection-count-after.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/server-connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/server-connection-count-after.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/server-connection-count-after.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/server-connection-count-after.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/server-connection-count-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/server-connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/server-connection-count-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/server-connection-count-before.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/server-connection-count-before.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/targeted-coverage.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/targeted-coverage.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/targeted-coverage.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/targeted-coverage.stdout.log new file mode 100644 index 00000000..c958686c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/repeat-01/targeted-coverage.stdout.log @@ -0,0 +1,352 @@ +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33: effectiveAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44: isAuditEnabled 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52: runAuditAsync 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77: marshalState 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92: logAuditCreate 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117: logAuditEdit 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142: logAuditDelete 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166: logAuditGeneric 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189: logAuditSupersede 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:30: parseArgs 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:46: coerceString 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:67: coerceInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:97: coerceInt64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:127: coerceFloat64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:151: coerceBool 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:177: coerceStringSlice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:204: coerceInt64Slice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:222: clampToInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:236: clampInt64ToInt 0.0% +github.com/thebtf/engram/internal/mcp/context.go:17: extractProjectFromHeader 0.0% +github.com/thebtf/engram/internal/mcp/context.go:22: contextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:29: ContextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:35: projectFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:41: contextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:48: ContextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:54: sessionFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:61: actorFromContext 0.0% +github.com/thebtf/engram/internal/mcp/health.go:22: NewMCPHealth 0.0% +github.com/thebtf/engram/internal/mcp/health.go:29: RecordRequest 0.0% +github.com/thebtf/engram/internal/mcp/health.go:36: RecordError 0.0% +github.com/thebtf/engram/internal/mcp/health.go:42: rotateWindowIfNeeded 0.0% +github.com/thebtf/engram/internal/mcp/health.go:55: HandleHealth 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28: ruleGovernanceCaptureEnabled 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39: captureActiveRuleIntent 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104: ruleIntentFingerprint 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113: marshalRuleCandidateIntentResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:127: NewServer 100.0% +github.com/thebtf/engram/internal/mcp/server.go:141: SetBackfillStatusFunc 0.0% +github.com/thebtf/engram/internal/mcp/server.go:146: SetVersionedDocumentStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:151: SetIssueStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:156: SetMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:161: SetMetaMemoryIndex 0.0% +github.com/thebtf/engram/internal/mcp/server.go:166: SetHintQueue 0.0% +github.com/thebtf/engram/internal/mcp/server.go:171: SetStateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:176: SetDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/server.go:181: SetBehavioralRulesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:186: SetRuleGovernanceStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:191: SetRuleInjectionTelemetryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:195: SetPromotionStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:199: SetGraphStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:204: SetNodesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:211: SetAuditStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:216: SetPurgeStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:222: SetCandidateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:228: SetSnapshotStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:234: SetBulkFacade 0.0% +github.com/thebtf/engram/internal/mcp/server.go:240: setTestAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/server.go:246: setTestMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/server.go:252: setTestMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/server.go:260: SetWriteLintOrchestrator 0.0% +github.com/thebtf/engram/internal/mcp/server.go:269: SetRedactionRules 0.0% +github.com/thebtf/engram/internal/mcp/server.go:274: SetEmbeddingStores 0.0% +github.com/thebtf/engram/internal/mcp/server.go:282: SetRerankClient 0.0% +github.com/thebtf/engram/internal/mcp/server.go:290: SetStatsDB 0.0% +github.com/thebtf/engram/internal/mcp/server.go:297: HandleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:303: ListTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:332: Version 0.0% +github.com/thebtf/engram/internal/mcp/server.go:383: Run 0.0% +github.com/thebtf/engram/internal/mcp/server.go:427: handleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:461: handleNotification 0.0% +github.com/thebtf/engram/internal/mcp/server.go:473: handleInitialize 0.0% +github.com/thebtf/engram/internal/mcp/server.go:496: buildInstructions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:660: storeMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:712: recallMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:805: primaryTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:942: handleToolsList 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1612: handleToolsCall 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1644: sanitizeToolCallArgs 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1656: callTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1874: sendResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1884: sendError 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1896: handleFindSimilarObservations 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1927: handleGetMemoryStats 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2055: handleBackfillStatus 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2071: handleCheckSystemHealth 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2216: handleAnalyzeSearchPatterns 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2246: handleSearchSessions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2251: handleListSessions 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:18: buildAdminTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:68: adminActionsForEnv 33.3% +github.com/thebtf/engram/internal/mcp/tools_admin.go:80: vnextEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:84: handleAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:120: handlePurgeProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27: ambientHintsEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32: ambientHintsTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48: handleGetAmbientHints 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86: normalizeAmbientHintsToolLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96: ambientHintItems 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114: errMissingSessionID 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:31: handleGetMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:107: memoryBriefUsesPrincipalScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:115: handlePrincipalMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:259: truncateBriefContent 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:270: filterInjectionByScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25: bulkOpsTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95: handleBulkPromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154: handleBulkDelete 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211: handleBulkSupersede 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31: candidateItemFromDomain 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51: newCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59: requireCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68: candidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165: handleListCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208: handleGetCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239: handlePromoteCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348: handleRejectCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402: handleSupersedeCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34: codeIntelEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42: SetCodeChunkStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48: codebaseSearchTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79: codebaseStatusTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100: handleCodebaseSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194: handleCodebaseStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:21: getVault 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:35: credentialStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:49: handleStoreCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:130: handleGetCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:192: handleListCredentials 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:243: handleDeleteCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:302: handleVaultStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:338: expandTagHierarchy 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:16: directivesCaptureEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:20: rememberDirectiveTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:38: currentDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:48: handleRememberDirective 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:72: parseRememberDirectiveArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10: handleDocsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:15: handleListCollections 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:61: handleListDocuments 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:121: handleGetDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:165: handleRemoveDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:197: handleIngestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:235: handleSearchCollection 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15: handleDocCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61: handleDocRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117: handleDocUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122: handleDocList 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175: handleDocHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232: handleDocComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19: SetExperienceProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23: experienceHistoryTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40: experienceHistoryReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65: experienceHistoryDetailSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82: experienceHistoryTriggerEnum 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91: handleExperienceHistoryRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103: handleExperienceHistoryDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115: parseExperienceHistoryReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142: parseExperienceHistoryDetailArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157: experienceHistoryTriggersFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180: marshalExperienceHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12: handleFeedbackConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36: handleSetSessionOutcome 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:27: governanceTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:98: handleListSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:167: handleRollbackSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:215: handlePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:258: handleRedactionRulesStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:284: resolveGovernanceActor 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:64: handleGraph 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:100: graphAddEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:216: mcpGraphEndpointExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:243: mcpGraphEdgeAlreadyExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:276: graphAddNode 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:317: graphRemoveEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:332: graphGetEdges 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:397: filterEdgesByNodeType 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:457: graphTraverse 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:480: graphFindPath 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:502: graphSynonyms 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23: graphCreateEdgeWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80: graphEndpointExistsWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114: graphDuplicateEdgeExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25: handleIngest 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43: ingestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20: handleImportInstincts 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:19: issuesToolSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:109: validateIssueActionParams 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:143: handleIssues 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:189: resolveSourceProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:205: handleIssueCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:250: handleIssueList 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:311: handleIssueGet 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:344: handleIssueUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:382: handleIssueComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:408: handleIssueReopen 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:425: handleIssueClose 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22: handleLifecycle 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48: lifecycleInfo 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87: lifecyclePromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118: lifecycleDemote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149: lifecycleSetConfidence 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172: lifecycleSetDefeasibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191: lifecycleSleepStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197: lifecycleDecayPreview 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233: marshalJSON 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:35: vnextFEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:42: isValidPrivacyScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:54: derivePrivacyScopeFromLegacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:82: deriveLegacyScopeFromPrivacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:93: applyPrincipalMemoryMetadata 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:135: addPrincipalMemoryFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:161: newScopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:172: writeLintVisibilityCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:186: writeLintVisibilityOptions 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:192: scopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:202: filterVisibleWriteGateCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:214: domainManageAllowed 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:218: List 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:272: writeLintVisibilityFetchLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:286: Get 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:297: Create 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:301: Update 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:305: MarkSuperseded 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:319: effectiveMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:329: isValidStoreObservationType 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:354: handleStoreMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111: handleEditMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218: computeTTLDays 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258: truncateTitle 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270: keepRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280: keepRecallMemoryFilters 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342: handleRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690: staleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700: marshalWithStaleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727: Rank 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1751: handleRecallMemoryHybrid 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252: handleRateMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281: handleSuppressMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17: SetDomainRegistryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21: checkDomainWriteMCP 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43: addDomainWriteDecisionFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51: marshalStoreMemoryAugmented 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26: newMemoryStoreSignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33: s6OutcomeEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37: effectiveMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47: currentMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58: rateMemorySignificanceTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74: handleRateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109: RateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18: s2MetaMemoryEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22: knowAboutTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39: handleKnowAbout 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104: parseKnowAboutLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118: summarizeMetaIndexTags 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153: summarizeMetaIndexDateRange 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23: SetPrincipalMemoryQueryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27: principalMemoryQueryTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52: handleQueryPrincipalMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134: principalMemoryQueryCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149: parsePrincipalMemoryQueryLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160: principalMemoryQueryText 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167: parsePrincipalMemoryQueryVisibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179: parsePrincipalMemoryQueryOffset 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190: parsePrincipalMemoryQueryInt 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215: parsePrincipalMemoryQueryBool 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:28: handleRecall 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:125: parseRecallIncludedPrincipals 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:165: appendRecallIncludedPrincipalMemories 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:223: recallIncludeTargetMatchesCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:231: recallPrincipalQueryItemToMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:247: handleRecallSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20: currentReviewLoopCandidateLister 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30: reviewLoopCandidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65: reviewLoopReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78: reviewPacketIDSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91: handleReviewMetricsRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110: handleReviewQueueRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140: handleReviewPacketDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151: handleReviewPacketPreviewAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167: handleReviewPacketApplyAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189: parseReviewLoopReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212: reviewLoopMCPPacketTypeSupported 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217: reviewLoopActionFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225: reviewLoopReasonFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233: loadReviewPacketCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256: applyReviewPacketPreserve 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278: applyReviewPacketSuppress 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296: reviewLoopMemoryFromCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320: filterRiskyMCPReviewCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330: marshalReviewLoop 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17: ruleGovernanceReadTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126: handleRuleGovernanceHealth 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176: handleRuleGovernanceQueue 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233: handleRuleGovernanceSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278: handleRuleGovernanceUsefulness 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338: handleRuleGovernanceTransition 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373: handleRuleGovernancePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406: handleRuleGovernanceRollback 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483: requireRuleGovernanceReadAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495: requireRuleGovernanceProjectOrAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505: ruleGovernanceCallerIsAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510: requireRuleGovernanceAdminAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518: redactRuleGovernanceEvidenceHandles 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535: redactRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553: ruleGovernanceEvidenceHandleHasSensitiveText 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559: isCanonicalRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580: isSafeRuleGovernanceEvidenceID 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594: parseRuleGovernanceTransitionRequest 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604: parseRuleGovernanceSince 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623: boundedRuleGovernanceLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634: formatRuleGovernanceTime 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641: formatRuleGovernanceTimePtr 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649: stringRuleCandidateStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657: stringRuleVersionStateCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665: stringRuleArbiterRunStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673: stringRuleInjectionEventTypeCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:17: handleStoreRule 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:133: handleListRules 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:22: handleSettingsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:51: SetSettingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:57: settingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:67: isSecretSettingKey 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:74: requireAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:85: handleSetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:145: handleGetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:181: handleListSettings 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:216: handleDeleteSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:35: resumeScopesFromFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:52: stateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:82: setStateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:142: handleGetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:219: handleSetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:274: decodeSessionStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:292: validateSessionStateBudget 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:303: validateNativeResumePacket 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:349: decodeProjectStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:364: requireStateObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:383: requireNestedObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10: handleStoreConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21: SetTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25: temporalTruthEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30: temporalTruthTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39: temporalTruthRefreshTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48: temporalTruthRefreshSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58: temporalTruthSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72: currentTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82: handleTemporalTruth 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102: handleTemporalTruthRefresh 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122: parseTemporalTruthArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151: parseTemporalTruthRefreshProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10: handleVaultConsolidated 0.0% +total: (statements) 0.1% diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/summary.json b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/summary.json new file mode 100644 index 00000000..c5aba6c2 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-raw-sql-proof/summary.json @@ -0,0 +1,67 @@ +{ + "schema_version": 1, + "gate": "release-gates-foundation", + "run_id": "challenge-raw-sql-proof", + "started_at": "2026-07-11T00:59:13.6976987+00:00", + "finished_at": "2026-07-11T00:59:29.4335250+00:00", + "duration_seconds": 15.736, + "verdict": "FAIL", + "counts": { + "requested_repeats": 1, + "completed_repeats": 1, + "passed_repeats": 0, + "failed_repeats": 1, + "child_commands": 16, + "nonzero_child_commands": 2 + }, + "packages": [ + "./internal/mcp" + ], + "run_pattern": "^TestEC_F1_TagDerivedBackfill_T007$", + "coverage_policy": "Targeted", + "connection_budget": 20, + "race": false, + "database_dsn": "REDACTED_DATABASE_DSN", + "environment": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\environment.json", + "commands": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\commands.json", + "repeats": [ + { + "repeat": 1, + "verdict": "FAIL", + "database": "engram_prc_rg_test_3ce6312b91ffa9ad_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_3ce6312b91ffa9ad_r1.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": false, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 1, + "json_parser_exit": 1, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01\\cleanup\\cleanup.json", + "errors": [ + "go test failed with exit 1", + "go test JSON assertion failed with exit 1" + ], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof\\repeat-01" + } + ], + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-raw-sql-proof" +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/commands.json b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/commands.json new file mode 100644 index 00000000..125e7b08 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/commands.json @@ -0,0 +1,444 @@ +[ + { + "name": "go-version", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "version" + ], + "environment_keys": [], + "command": "C:\\Program Files\\Go\\bin\\go.exe version", + "started_at": "2026-07-11T00:58:27.9916909+00:00", + "finished_at": "2026-07-11T00:58:28.2347914+00:00", + "duration_seconds": 0.243, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\go-version.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\go-version.stderr.log" + }, + { + "name": "postgres-container-identity", + "executable": "docker", + "arguments": [ + "inspect", + "--format", + "{{.Name}}|{{.Config.Image}}|{{.Image}}|{{.State.Running}}", + "engram-prc-postgres" + ], + "environment_keys": [], + "command": "docker inspect --format {{.Name}}|{{.Config.Image}}|{{.Image}}|{{.State.Running}} engram-prc-postgres", + "started_at": "2026-07-11T00:58:28.2976090+00:00", + "finished_at": "2026-07-11T00:58:28.6056473+00:00", + "duration_seconds": 0.308, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\postgres-container-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\postgres-container-identity.stderr.log" + }, + { + "name": "postgres-server-identity", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT json_build_object('server_version', current_setting('server_version'), 'server_version_num', current_setting('server_version_num'), 'version', version(), 'max_connections', current_setting('max_connections'), 'superuser_reserved_connections', current_setting('superuser_reserved_connections'), 'reserved_connections', COALESCE(NULLIF(current_setting('reserved_connections', true), ''), '0'), 'current_connections', (SELECT count(*)::text FROM pg_stat_activity), 'database', current_database(), 'schema', current_schema(), 'user', current_user)::text;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT json_build_object('server_version', current_setting('server_version'), 'server_version_num', current_setting('server_version_num'), 'version', version(), 'max_connections', current_setting('max_connections'), 'superuser_reserved_connections', current_setting('superuser_reserved_connections'), 'reserved_connections', COALESCE(NULLIF(current_setting('reserved_connections', true), ''), '0'), 'current_connections', (SELECT count(*)::text FROM pg_stat_activity), 'database', current_database(), 'schema', current_schema(), 'user', current_user)::text;", + "started_at": "2026-07-11T00:58:28.6160756+00:00", + "finished_at": "2026-07-11T00:58:28.9737483+00:00", + "duration_seconds": 0.358, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\postgres-server-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\postgres-server-identity.stderr.log" + }, + { + "name": "repeat-1-create-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "CREATE DATABASE \"engram_prc_rg_test_c1bf516c578dac52_r1\" OWNER \"engram\";" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c CREATE DATABASE \"engram_prc_rg_test_c1bf516c578dac52_r1\" OWNER \"engram\";", + "started_at": "2026-07-11T00:58:29.0119777+00:00", + "finished_at": "2026-07-11T00:58:29.4026933+00:00", + "duration_seconds": 0.391, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\create-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\create-database.stderr.log" + }, + { + "name": "repeat-1-create-pgvector", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_c1bf516c578dac52_r1", + "-At", + "-F", + "|", + "-c", + "CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_c1bf516c578dac52_r1 -At -F | -c CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;", + "started_at": "2026-07-11T00:58:29.4087221+00:00", + "finished_at": "2026-07-11T00:58:29.9017955+00:00", + "duration_seconds": 0.493, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\create-pgvector.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\create-pgvector.stderr.log" + }, + { + "name": "repeat-1-database-identity", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_c1bf516c578dac52_r1", + "-At", + "-F", + "|", + "-c", + "SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_c1bf516c578dac52_r1 -At -F | -c SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;", + "started_at": "2026-07-11T00:58:29.9047657+00:00", + "finished_at": "2026-07-11T00:58:30.2701764+00:00", + "duration_seconds": 0.365, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\database-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\database-identity.stderr.log" + }, + { + "name": "repeat-1-pg-stat-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_c1bf516c578dac52_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_c1bf516c578dac52_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:58:30.2761131+00:00", + "finished_at": "2026-07-11T00:58:30.6762320+00:00", + "duration_seconds": 0.4, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\pg-stat-activity-before.stderr.log" + }, + { + "name": "repeat-1-server-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T00:58:30.6796897+00:00", + "finished_at": "2026-07-11T00:58:31.0629143+00:00", + "duration_seconds": 0.383, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\server-connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\server-connection-count-before.stderr.log" + }, + { + "name": "repeat-1-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_c1bf516c578dac52_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_c1bf516c578dac52_r1';", + "started_at": "2026-07-11T00:58:31.0724617+00:00", + "finished_at": "2026-07-11T00:58:31.4391207+00:00", + "duration_seconds": 0.367, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\connection-count-before.stderr.log" + }, + { + "name": "repeat-1-go-test", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "test", + "-json", + "-p", + "1", + "-parallel", + "1", + "-count=1", + "-timeout", + "30m", + "-covermode=atomic", + "-coverprofile=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\coverage.out", + "-run", + "^TestEC_F1_TagDerivedBackfill_T007$", + "./internal/mcp" + ], + "environment_keys": [ + "DATABASE_DSN", + "DATABASE_MAX_CONNS", + "ENGRAM_RELEASE_GATE_REPEAT", + "ENGRAM_RELEASE_GATE_RUN_ID", + "ENGRAM_TEST_DSN", + "TEST_DATABASE_DSN" + ], + "command": "C:\\Program Files\\Go\\bin\\go.exe test -json -p 1 -parallel 1 -count=1 -timeout 30m -covermode=atomic -coverprofile=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\coverage.out -run ^TestEC_F1_TagDerivedBackfill_T007$ ./internal/mcp", + "started_at": "2026-07-11T00:58:31.4464017+00:00", + "finished_at": "2026-07-11T00:58:38.8762496+00:00", + "duration_seconds": 7.43, + "exit_code": 1, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\go-test.stdout.jsonl", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\go-test.stderr.log" + }, + { + "name": "repeat-1-assert-go-test-json", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\assert-go-test-json.ps1", + "-InputPath", + ".agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\go-test.stdout.jsonl", + "-SummaryPath", + ".agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\go-test-summary.json", + "-FailOnUnexpectedSkip" + ], + "environment_keys": [], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\assert-go-test-json.ps1 -InputPath .agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\go-test.stdout.jsonl -SummaryPath .agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\go-test-summary.json -FailOnUnexpectedSkip", + "started_at": "2026-07-11T00:58:38.8815863+00:00", + "finished_at": "2026-07-11T00:58:39.6060170+00:00", + "duration_seconds": 0.724, + "exit_code": 1, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\assert-go-test-json.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\assert-go-test-json.stderr.log" + }, + { + "name": "repeat-1-targeted-coverage-report", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "tool", + "cover", + "-func=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\coverage.out" + ], + "environment_keys": [], + "command": "C:\\Program Files\\Go\\bin\\go.exe tool cover -func=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\coverage.out", + "started_at": "2026-07-11T00:58:39.6117849+00:00", + "finished_at": "2026-07-11T00:58:40.1363480+00:00", + "duration_seconds": 0.525, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\targeted-coverage.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\targeted-coverage.stderr.log" + }, + { + "name": "repeat-1-pg-stat-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_c1bf516c578dac52_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_c1bf516c578dac52_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:58:40.1372366+00:00", + "finished_at": "2026-07-11T00:58:40.6170750+00:00", + "duration_seconds": 0.48, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\pg-stat-activity-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\pg-stat-activity-after.stderr.log" + }, + { + "name": "repeat-1-server-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T00:58:40.6192510+00:00", + "finished_at": "2026-07-11T00:58:41.3217993+00:00", + "duration_seconds": 0.703, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\server-connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\server-connection-count-after.stderr.log" + }, + { + "name": "repeat-1-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_c1bf516c578dac52_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_c1bf516c578dac52_r1';", + "started_at": "2026-07-11T00:58:41.3235852+00:00", + "finished_at": "2026-07-11T00:58:41.7075578+00:00", + "duration_seconds": 0.384, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\connection-count-after.stderr.log" + }, + { + "name": "repeat-1-cleanup", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\cleanup-db-sessions.ps1", + "-DatabaseName", + "engram_prc_rg_test_c1bf516c578dac52_r1", + "-SchemaName", + "public", + "-ArtifactRoot", + ".agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01", + "-RunId", + "challenge-wrong-fixture-repeat-1", + "-PostgresContainer", + "engram-prc-postgres" + ], + "environment_keys": [ + "ENGRAM_TEST_ADMIN_DSN" + ], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\cleanup-db-sessions.ps1 -DatabaseName engram_prc_rg_test_c1bf516c578dac52_r1 -SchemaName public -ArtifactRoot .agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01 -RunId challenge-wrong-fixture-repeat-1 -PostgresContainer engram-prc-postgres", + "started_at": "2026-07-11T00:58:41.7116261+00:00", + "finished_at": "2026-07-11T00:58:44.7607549+00:00", + "duration_seconds": 3.049, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\cleanup-process.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\cleanup-process.stderr.log" + } +] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/environment.json b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/environment.json new file mode 100644 index 00000000..fc6eb585 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/environment.json @@ -0,0 +1,52 @@ +{ + "schema_version": 1, + "run_id": "challenge-wrong-fixture", + "timestamp": "2026-07-11T00:58:27.9736535+00:00", + "go_version": "go version go1.25.11 windows/amd64", + "postgres": { + "declared_image": "pgvector/pgvector:pg17", + "container": { + "name": "/engram-prc-postgres", + "configured_image": "pgvector/pgvector:pg17", + "image_id": "sha256:feb68f4f15446397d8cac7f4fe48fe4586de83160d1fc48b46283312d1a33966", + "running": true + }, + "server": { + "server_version": "17.10 (Debian 17.10-1.pgdg12+1)", + "server_version_num": "170010", + "version": "PostgreSQL 17.10 (Debian 17.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit", + "max_connections": "100", + "superuser_reserved_connections": "3", + "reserved_connections": "0", + "current_connections": "6", + "database": "postgres", + "schema": "public", + "user": "engram" + }, + "admin_dsn": "postgresql://engram:REDACTED@127.0.0.1:55432/postgres?sslmode=disable" + }, + "packages": [ + "./internal/mcp" + ], + "run_pattern": "^TestEC_F1_TagDerivedBackfill_T007$", + "repeat": 1, + "fail_on_unexpected_skip": true, + "allowed_skip_identities": [], + "coverage_policy": "Targeted", + "connection_budget": 20, + "race": false, + "require_session_start_execution": false, + "required_session_start_test_count": 12, + "sequential_execution": { + "go_package_parallelism": 1, + "go_test_parallelism": 1, + "database_max_connections": 20 + }, + "govulncheck_policy": { + "authoritative": [ + "source scan with tests", + "unstripped binary scan" + ], + "non_authoritative": "stripped binary scan (module-level fallback when symbols are absent)" + } +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/go-version.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/go-version.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/go-version.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/go-version.stdout.log new file mode 100644 index 00000000..a857be3f --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/go-version.stdout.log @@ -0,0 +1 @@ +go version go1.25.11 windows/amd64 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/postgres-container-identity.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/postgres-container-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/postgres-container-identity.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/postgres-container-identity.stdout.log new file mode 100644 index 00000000..c110d492 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/postgres-container-identity.stdout.log @@ -0,0 +1 @@ +/engram-prc-postgres|pgvector/pgvector:pg17|sha256:feb68f4f15446397d8cac7f4fe48fe4586de83160d1fc48b46283312d1a33966|true diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/postgres-server-identity.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/postgres-server-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/postgres-server-identity.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/postgres-server-identity.stdout.log new file mode 100644 index 00000000..2e33d56e --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/postgres-server-identity.stdout.log @@ -0,0 +1 @@ +{"server_version" : "17.10 (Debian 17.10-1.pgdg12+1)", "server_version_num" : "170010", "version" : "PostgreSQL 17.10 (Debian 17.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit", "max_connections" : "100", "superuser_reserved_connections" : "3", "reserved_connections" : "0", "current_connections" : "6", "database" : "postgres", "schema" : "public", "user" : "engram"} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/assert-go-test-json.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/assert-go-test-json.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/assert-go-test-json.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/assert-go-test-json.stdout.log new file mode 100644 index 00000000..f29b3b94 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/assert-go-test-json.stdout.log @@ -0,0 +1,2 @@ +go test JSON verdict=FAIL packages=1 tests=1 passed=0 failed=1 skipped=0 unexpected_skips=0 malformed=0 +summary=D:\Dev\engram\.w\t007-r1-checker\.agent\reviews\t007-r1-fresh-checker\evidence\challenge-wrong-fixture\repeat-01\go-test-summary.json diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/cleanup-process.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/cleanup-process.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/cleanup-process.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/cleanup-process.stdout.log new file mode 100644 index 00000000..2bfb170e --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/cleanup-process.stdout.log @@ -0,0 +1,2 @@ +cleanup verdict=PASS database=engram_prc_rg_test_c1bf516c578dac52_r1 schema=public terminated_sessions=0 remaining_database_count=0 +summary=D:\Dev\engram\.w\t007-r1-checker\.agent\reviews\t007-r1-fresh-checker\evidence\challenge-wrong-fixture\repeat-01\cleanup\cleanup.json diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/cleanup/cleanup.json b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/cleanup/cleanup.json new file mode 100644 index 00000000..d541a915 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/cleanup/cleanup.json @@ -0,0 +1,170 @@ +{ + "schema_version": 1, + "run_id": "challenge-wrong-fixture-repeat-1", + "timestamp": "2026-07-11T00:58:44.6674523+00:00", + "verdict": "PASS", + "database": "engram_prc_rg_test_c1bf516c578dac52_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_c1bf516c578dac52_r1.public", + "admin_dsn": "postgresql://engram:REDACTED@127.0.0.1:55432/postgres?sslmode=disable", + "postgres_container": "engram-prc-postgres", + "cleanup_status": "PASS", + "cleanup_attempted": true, + "database_existed_before": true, + "absence_verified": true, + "terminated_sessions": 0, + "remaining_database_count": 0, + "commands": [ + { + "name": "database-exists-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_c1bf516c578dac52_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_c1bf516c578dac52_r1';", + "started_at": "2026-07-11T00:58:42.3112394+00:00", + "finished_at": "2026-07-11T00:58:42.7589762+00:00", + "duration_seconds": 0.448, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\cleanup\\database-exists-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\cleanup\\database-exists-before.stderr.log" + }, + { + "name": "pg-stat-activity-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_c1bf516c578dac52_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_c1bf516c578dac52_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:58:42.8287199+00:00", + "finished_at": "2026-07-11T00:58:43.2478832+00:00", + "duration_seconds": 0.419, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\cleanup\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\cleanup\\pg-stat-activity-before.stderr.log" + }, + { + "name": "terminate-database-sessions", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_c1bf516c578dac52_r1' AND pid <> pg_backend_pid() ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_c1bf516c578dac52_r1' AND pid <> pg_backend_pid() ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:58:43.2528098+00:00", + "finished_at": "2026-07-11T00:58:43.7220512+00:00", + "duration_seconds": 0.469, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\cleanup\\terminate-sessions.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\cleanup\\terminate-sessions.stderr.log" + }, + { + "name": "drop-fresh-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "DROP DATABASE IF EXISTS \"engram_prc_rg_test_c1bf516c578dac52_r1\" WITH (FORCE);" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c DROP DATABASE IF EXISTS \"engram_prc_rg_test_c1bf516c578dac52_r1\" WITH (FORCE);", + "started_at": "2026-07-11T00:58:43.7312462+00:00", + "finished_at": "2026-07-11T00:58:44.2936043+00:00", + "duration_seconds": 0.562, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\cleanup\\drop-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\cleanup\\drop-database.stderr.log" + }, + { + "name": "verify-database-absent", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_c1bf516c578dac52_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_c1bf516c578dac52_r1';", + "started_at": "2026-07-11T00:58:44.2968218+00:00", + "finished_at": "2026-07-11T00:58:44.6591882+00:00", + "duration_seconds": 0.362, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\cleanup\\verify-database-absent.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\cleanup\\verify-database-absent.stderr.log" + } + ], + "errors": [] +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/cleanup/database-exists-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/cleanup/database-exists-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/cleanup/database-exists-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/cleanup/database-exists-before.stdout.log new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/cleanup/database-exists-before.stdout.log @@ -0,0 +1 @@ +1 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/cleanup/drop-database.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/cleanup/drop-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/cleanup/drop-database.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/cleanup/drop-database.stdout.log new file mode 100644 index 00000000..ca12dce0 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/cleanup/drop-database.stdout.log @@ -0,0 +1 @@ +DROP DATABASE diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/cleanup/pg-stat-activity-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/cleanup/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/cleanup/pg-stat-activity-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/cleanup/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/cleanup/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/cleanup/terminate-sessions.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/cleanup/terminate-sessions.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/cleanup/terminate-sessions.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/cleanup/terminate-sessions.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/cleanup/terminate-sessions.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/cleanup/verify-database-absent.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/cleanup/verify-database-absent.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/cleanup/verify-database-absent.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/cleanup/verify-database-absent.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/cleanup/verify-database-absent.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/connection-count-after.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/connection-count-after.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/connection-count-after.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/connection-count-after.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/connection-count-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/connection-count-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/connection-count-before.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/connection-count-before.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/coverage.out b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/coverage.out new file mode 100644 index 00000000..52335d8a --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/coverage.out @@ -0,0 +1,3472 @@ +mode: atomic +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33.53,34.30 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:34.30,36.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.2,37.25 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.25,39.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:40.2,40.12 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44.28,46.2 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52.83,53.12 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:53.12,54.16 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:54.16,55.32 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:55.32,61.5 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:63.3,65.33 3 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:65.33,71.4 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77.54,78.14 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:78.14,80.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:81.2,82.16 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:82.16,85.3 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:86.2,87.13 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92.91,93.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:93.23,95.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:96.2,97.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:97.15,99.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:100.2,105.65 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:105.65,113.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117.95,118.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:118.23,120.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:121.2,122.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:122.15,124.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:125.2,129.65 5 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:129.65,138.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142.87,143.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:143.23,145.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:146.2,147.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:150.2,153.65 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:153.65,161.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166.96,167.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:167.23,169.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:170.2,171.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:171.15,173.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:174.2,177.63 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:177.63,185.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189.97,190.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:190.23,192.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:193.2,194.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:194.15,196.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:197.2,200.68 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:200.68,208.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:30.62,31.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:31.20,33.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:34.2,35.49 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:35.49,37.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:38.2,38.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:38.14,40.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:41.2,41.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:46.52,47.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:47.14,49.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:50.2,50.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:51.14,52.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:53.19,54.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:55.15,56.45 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:57.12,58.31 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:59.10,60.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:67.43,68.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:68.14,70.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:71.2,71.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:72.15,73.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:74.19,75.38 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:75.38,77.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:78.3,78.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:78.40,80.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:81.3,81.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:82.14,83.56 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:83.56,85.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:86.3,86.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:86.54,88.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:89.3,89.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:90.10,91.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:97.49,98.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:98.14,100.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:101.2,101.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:102.15,103.18 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:104.19,105.38 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:105.38,107.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:108.3,108.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:108.40,110.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:111.3,111.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:112.14,113.56 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:113.56,115.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:116.3,116.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:116.54,118.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:119.3,119.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:120.10,121.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:127.55,128.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:128.14,130.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:131.2,131.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:132.15,133.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:134.19,135.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:135.40,137.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:138.3,138.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:139.14,140.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:140.54,142.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:143.3,143.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:144.10,145.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:151.46,152.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:152.14,154.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:155.2,155.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:156.12,157.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:158.14,159.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:159.54,161.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:162.3,162.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:163.15,164.16 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:165.19,166.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:166.40,168.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:169.3,169.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:170.10,171.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:177.40,178.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:178.14,180.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:181.2,181.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:182.13,184.26 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:184.26,185.36 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:185.36,187.5 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:189.3,189.16 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:190.16,191.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:192.14,193.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:193.14,195.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:196.3,196.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:197.10,198.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:204.38,205.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:205.14,207.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:208.2,209.9 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:209.9,211.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:212.2,213.27 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:213.27,214.42 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:214.42,216.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:218.2,218.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:222.32,223.39 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:223.39,225.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:226.2,226.30 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:226.30,228.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:229.2,229.30 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:229.30,231.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:232.2,232.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:236.35,237.28 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:237.28,239.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.2,240.28 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.28,242.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:243.2,243.15 1 0 +github.com/thebtf/engram/internal/mcp/context.go:17.55,19.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:22.78,24.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:29.78,31.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:35.53,38.2 2 0 +github.com/thebtf/engram/internal/mcp/context.go:41.80,43.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:48.80,50.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:54.53,57.2 2 0 +github.com/thebtf/engram/internal/mcp/context.go:61.51,62.43 1 0 +github.com/thebtf/engram/internal/mcp/context.go:62.43,64.3 1 0 +github.com/thebtf/engram/internal/mcp/context.go:65.2,65.16 1 0 +github.com/thebtf/engram/internal/mcp/health.go:22.32,26.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:29.37,33.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:36.35,40.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:42.44,45.25 3 0 +github.com/thebtf/engram/internal/mcp/health.go:45.25,47.50 1 0 +github.com/thebtf/engram/internal/mcp/health.go:47.50,50.4 2 0 +github.com/thebtf/engram/internal/mcp/health.go:55.74,60.16 5 0 +github.com/thebtf/engram/internal/mcp/health.go:60.16,62.3 1 0 +github.com/thebtf/engram/internal/mcp/health.go:63.2,71.4 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28.42,29.65 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:29.65,32.3 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.2,33.40 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.40,35.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:36.2,36.14 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39.120,40.69 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:40.69,42.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:43.2,44.19 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:44.19,46.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:47.2,48.17 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:48.17,50.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:51.2,52.59 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:52.59,54.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:55.2,56.20 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:56.20,58.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:59.2,60.17 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:60.17,62.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:63.2,64.21 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:64.21,66.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:67.2,68.22 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:68.22,70.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:71.2,72.23 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:76.2,98.19 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:98.19,100.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:101.2,101.66 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104.52,106.29 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:106.29,108.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:109.2,110.46 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113.113,123.27 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:123.27,125.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:130.2,130.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:127.44,138.2 1 1 +github.com/thebtf/engram/internal/mcp/server.go:141.64,143.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:146.78,148.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:151.53,153.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:156.55,158.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:161.58,163.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:166.62,168.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:171.50,173.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:176.78,178.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:181.74,183.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:186.71,189.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:191.85,193.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:195.61,197.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:199.49,201.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:204.54,206.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:211.53,213.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:216.53,218.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:222.61,224.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:228.59,230.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:234.51,236.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:240.52,242.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:246.55,248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:252.82,254.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:260.70,262.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:269.68,271.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:274.87,277.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:282.60,284.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:290.45,292.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:297.77,299.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:303.37,313.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:313.38,315.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:316.2,317.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:317.9,319.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:320.2,321.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:321.9,323.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:324.2,325.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:325.9,327.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:328.2,328.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:332.35,334.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:383.49,387.12 3 0 +github.com/thebtf/engram/internal/mcp/server.go:387.12,388.22 1 0 +github.com/thebtf/engram/internal/mcp/server.go:388.22,389.11 1 0 +github.com/thebtf/engram/internal/mcp/server.go:390.22,392.11 2 0 +github.com/thebtf/engram/internal/mcp/server.go:393.12,393.12 0 0 +github.com/thebtf/engram/internal/mcp/server.go:396.4,397.18 2 0 +github.com/thebtf/engram/internal/mcp/server.go:397.18,398.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:401.4,402.61 2 0 +github.com/thebtf/engram/internal/mcp/server.go:402.61,404.13 2 0 +github.com/thebtf/engram/internal/mcp/server.go:407.4,407.55 1 0 +github.com/thebtf/engram/internal/mcp/server.go:407.55,409.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:411.3,411.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:414.2,414.9 1 0 +github.com/thebtf/engram/internal/mcp/server.go:415.20,416.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:417.25,418.17 1 0 +github.com/thebtf/engram/internal/mcp/server.go:418.17,420.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:421.3,421.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:427.77,428.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:428.19,431.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:433.2,433.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:434.20,435.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:436.20,437.32 1 0 +github.com/thebtf/engram/internal/mcp/server.go:438.20,439.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:443.24,444.93 1 0 +github.com/thebtf/engram/internal/mcp/server.go:445.34,446.101 1 0 +github.com/thebtf/engram/internal/mcp/server.go:447.22,448.91 1 0 +github.com/thebtf/engram/internal/mcp/server.go:449.29,450.120 1 0 +github.com/thebtf/engram/internal/mcp/server.go:451.10,456.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:461.51,462.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:463.50,464.70 1 0 +github.com/thebtf/engram/internal/mcp/server.go:465.46,466.79 1 0 +github.com/thebtf/engram/internal/mcp/server.go:467.10,468.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:473.59,485.63 2 0 +github.com/thebtf/engram/internal/mcp/server.go:485.63,487.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:489.2,493.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:496.45,503.33 3 0 +github.com/thebtf/engram/internal/mcp/server.go:503.33,505.57 2 0 +github.com/thebtf/engram/internal/mcp/server.go:505.57,506.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:506.76,507.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.4,509.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.18,511.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:511.10,513.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:514.4,518.11 5 0 +github.com/thebtf/engram/internal/mcp/server.go:522.2,522.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:660.29,683.21 2 0 +github.com/thebtf/engram/internal/mcp/server.go:683.21,689.3 5 0 +github.com/thebtf/engram/internal/mcp/server.go:690.2,699.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:712.30,765.49 3 0 +github.com/thebtf/engram/internal/mcp/server.go:765.49,789.3 5 0 +github.com/thebtf/engram/internal/mcp/server.go:790.2,799.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:805.40,936.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:942.58,1048.35 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1048.35,1077.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.2,1080.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.33,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.2,1093.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.26,1123.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1124.2,1124.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1124.80,1126.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1127.2,1127.55 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1127.55,1129.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1130.2,1130.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1130.38,1132.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1134.2,1134.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1134.25,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1138.2,1138.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1138.33,1140.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1141.2,1141.69 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1141.69,1143.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1144.2,1144.75 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1144.75,1146.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1148.2,1148.27 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1148.27,1165.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.2,1168.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.76,1191.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1195.2,1195.48 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1195.48,1197.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.2,1201.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.47,1203.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.2,1205.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.38,1207.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1212.2,1212.21 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1212.21,1214.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1228.2,1228.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1228.51,1230.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1233.2,1233.56 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1233.56,1235.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1238.2,1238.71 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1238.71,1298.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1302.2,1302.104 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1302.104,1321.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1324.2,1324.72 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1324.72,1333.154 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1333.154,1334.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1334.26,1336.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1337.7,1337.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1338.35,1340.26 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1340.26,1342.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1343.7,1343.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1371.2,1371.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1371.26,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1393.2,1393.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1393.28,1443.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.2,1446.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.28,1478.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.2,1481.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.37,1561.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1564.2,1568.23 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1568.23,1570.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1572.2,1588.57 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1588.57,1591.29 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1591.29,1593.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1594.3,1594.27 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1594.27,1595.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1595.29,1597.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1601.2,1607.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1612.79,1614.60 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1614.60,1620.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1622.2,1623.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1623.16,1631.3 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1633.2,1641.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1644.69,1645.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1645.34,1647.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1648.2,1649.22 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1649.22,1651.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1652.2,1652.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1656.99,1658.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1659.16,1660.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1661.15,1662.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1663.18,1664.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1665.15,1666.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1667.18,1668.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1669.14,1670.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1671.15,1672.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1676.2,1676.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1677.35,1678.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1679.26,1680.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1681.20,1682.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1683.20,1684.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1685.16,1686.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1687.29,1688.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1689.33,1690.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1691.25,1692.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1693.23,1694.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1696.26,1697.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1698.24,1699.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1700.22,1701.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1702.25,1703.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1704.27,1705.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1706.25,1707.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1709.30,1710.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1711.28,1712.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1713.17,1714.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1715.20,1716.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1717.20,1718.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1719.20,1720.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1722.20,1723.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1724.18,1725.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1726.20,1727.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1728.18,1729.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1730.21,1731.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1732.21,1733.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1734.26,1735.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1736.25,1737.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1738.26,1739.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1740.24,1741.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1742.26,1743.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1744.27,1745.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1746.22,1747.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1748.19,1749.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1750.15,1751.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1752.16,1753.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1755.21,1756.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1757.19,1758.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1759.20,1760.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1761.22,1762.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1763.22,1764.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1765.23,1766.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1767.20,1768.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1769.32,1770.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1771.19,1772.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1773.19,1774.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1775.33,1776.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1777.35,1778.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1779.24,1780.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1781.32,1782.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1783.28,1784.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1785.21,1786.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1787.34,1788.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1789.25,1790.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1791.29,1792.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1793.26,1794.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1795.27,1796.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1798.25,1799.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1800.23,1801.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1802.27,1803.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1804.26,1805.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1806.29,1807.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1809.29,1810.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1811.27,1812.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1813.30,1814.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1815.38,1816.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1817.36,1818.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1820.24,1821.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1822.27,1823.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1824.22,1825.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1826.32,1827.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1828.32,1829.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1830.31,1831.48 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1832.35,1833.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1834.36,1835.53 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1836.36,1837.53 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1838.38,1839.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1840.34,1841.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1843.22,1844.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1845.21,1846.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1847.24,1848.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1850.25,1851.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1852.25,1853.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1859.2,1859.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1860.22,1863.131 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1866.51,1867.123 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1868.10,1869.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1874.47,1876.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1876.16,1879.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1880.2,1880.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1884.72,1890.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1896.105,1898.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1898.16,1900.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1902.2,1903.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1903.17,1905.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1907.2,1908.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1908.17,1910.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1912.2,1918.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1918.16,1920.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1921.2,1921.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1927.76,1933.15 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1933.15,1936.17 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1936.17,1938.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1939.3,1939.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1943.2,1950.36 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1950.36,1952.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1952.8,1955.29 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1955.29,1958.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1959.3,1962.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.2,1966.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.20,1977.20 6 0 +github.com/thebtf/engram/internal/mcp/server.go:1977.20,1979.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.3,1980.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.20,1982.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.3,1985.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.37,1987.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1987.30,1988.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1988.16,1990.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1990.11,1992.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1994.4,1995.56 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1995.56,1997.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1998.4,2003.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.2,2008.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.29,2009.63 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2009.63,2011.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2011.9,2013.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.2,2021.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.29,2029.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2029.38,2031.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2031.9,2033.31 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2033.31,2035.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2035.30,2037.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2039.4,2042.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2046.2,2047.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2047.16,2049.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2050.2,2050.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2055.57,2056.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2056.33,2058.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2059.2,2060.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2060.16,2062.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2063.2,2064.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2064.16,2066.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2067.2,2067.23 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2071.79,2105.15 6 0 +github.com/thebtf/engram/internal/mcp/server.go:2105.15,2107.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2107.17,2111.4 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2111.9,2112.17 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2112.17,2114.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2115.4,2117.26 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2117.26,2119.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2119.10,2121.29 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2121.29,2123.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2125.4,2129.25 5 0 +github.com/thebtf/engram/internal/mcp/server.go:2130.19,2130.19 0 0 +github.com/thebtf/engram/internal/mcp/server.go:2132.20,2134.106 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2135.12,2137.103 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2140.8,2143.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2144.2,2150.49 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2150.49,2152.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2152.8,2154.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2155.2,2168.27 4 0 +github.com/thebtf/engram/internal/mcp/server.go:2168.27,2170.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2170.17,2173.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2173.9,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2177.2,2182.40 4 0 +github.com/thebtf/engram/internal/mcp/server.go:2182.40,2183.21 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2184.20,2185.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2186.19,2187.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.2,2191.24 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.24,2193.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.8,2193.30 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.30,2195.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.2,2198.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.28,2200.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.2,2203.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.29,2205.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2207.2,2208.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2208.16,2210.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2211.2,2211.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2216.103,2218.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2218.16,2220.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2222.2,2223.15 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2223.15,2225.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2227.2,2239.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2239.16,2241.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2242.2,2242.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2246.93,2248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2251.91,2253.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:18.28,29.20 4 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:29.20,33.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:35.2,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:68.36,69.49 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:69.49,74.3 4 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:75.2,75.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:80.26,82.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:84.89,86.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:89.2,90.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:90.18,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:94.2,94.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:95.15,96.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:97.26,98.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:99.25,100.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:101.23,105.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:105.22,107.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:108.3,108.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:109.10,110.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:120.92,126.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:126.26,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:130.2,131.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:131.19,133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:134.2,135.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:135.19,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.2,138.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.24,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.2,142.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.25,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:146.2,147.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:151.2,151.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27.40,30.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32.30,46.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48.99,49.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:49.34,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.2,52.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.69,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:56.2,57.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:60.2,61.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:61.21,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:64.2,67.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:67.26,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:70.2,71.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:71.25,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:75.2,77.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:77.44,79.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.2,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.33,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:83.2,83.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86.52,87.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:87.16,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.2,90.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.15,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:93.2,93.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96.73,97.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:97.21,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:100.2,101.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:101.29,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:111.2,111.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114.34,116.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:31.98,32.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:32.52,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.2,35.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.26,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:39.2,40.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:40.49,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.2,43.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.21,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.2,46.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.21,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.2,49.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.18,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.2,52.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.18,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.2,56.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.38,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:60.2,61.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:61.16,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:68.2,70.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:70.26,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:79.2,81.36 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:81.36,84.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:86.2,89.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:89.28,90.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:90.39,91.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:93.3,97.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:100.2,104.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:107.60,113.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:115.101,116.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:116.38,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:120.2,122.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:122.21,123.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:123.26,125.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.3,126.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.23,128.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:129.8,130.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:130.26,132.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.3,133.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.68,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:137.2,140.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:141.17,142.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:143.67,143.67 0 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:144.10,145.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:148.2,162.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:162.16,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.2,165.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.2,174.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.30,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.2,177.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.31,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:181.2,182.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:182.36,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:198.2,199.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:199.19,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:202.2,203.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:203.18,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:206.2,207.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:207.21,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:210.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:211.25,213.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:214.2,225.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:225.21,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.25,230.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.2,231.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.18,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:235.2,244.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:244.21,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.2,247.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.25,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.2,250.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.18,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.2,253.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:256.2,256.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:259.50,261.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:261.22,263.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:264.2,264.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:270.90,272.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:272.42,276.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:277.2,281.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:281.27,282.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:282.45,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:286.2,286.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25.28,88.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95.95,96.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:96.22,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:99.2,100.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:100.32,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:104.2,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:109.2,114.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:114.35,121.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.2,123.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.25,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:127.2,134.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:138.2,146.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154.94,155.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:155.22,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:158.2,159.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:159.32,161.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:163.2,164.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:164.16,166.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:168.2,172.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:172.35,179.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.2,181.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.25,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:185.2,192.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:192.16,194.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:196.2,203.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211.97,212.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:212.22,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:215.2,216.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:216.32,218.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:220.2,221.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:221.16,223.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:225.2,229.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:229.35,236.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.2,238.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.25,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:242.2,249.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:249.16,251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:253.2,260.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31.80,32.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:32.14,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:35.2,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51.136,53.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:53.51,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:56.2,56.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59.94,60.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:60.21,62.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:63.2,63.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68.30,162.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165.98,166.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:166.49,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:169.2,170.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:170.16,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:173.2,174.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:174.19,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:177.2,179.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:179.17,181.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:188.2,189.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:189.31,190.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:190.15,191.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:193.3,193.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:196.2,201.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:201.16,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:204.2,204.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208.96,209.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:209.49,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:212.2,213.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:213.16,215.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:216.2,217.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:217.13,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.2,225.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.22,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:229.2,230.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:230.16,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:233.2,233.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239.100,240.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:240.22,242.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:243.2,244.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:244.16,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:247.2,248.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:248.13,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:255.2,256.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:256.12,263.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:263.30,264.77 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:264.77,269.5 4 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:271.3,272.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:272.21,274.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:275.3,275.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.2,279.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.29,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:284.2,285.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:285.16,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.2,288.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.22,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.2,291.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.55,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.2,294.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.74,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:297.2,298.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:298.16,300.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:306.2,307.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:307.41,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:310.2,324.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:324.16,325.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:325.50,327.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:328.3,328.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.2,330.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.38,332.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:334.2,341.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:341.16,343.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:344.2,344.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348.99,349.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:349.49,351.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:352.2,353.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:353.16,355.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:356.2,357.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:357.13,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:360.2,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.2,365.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.22,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.2,368.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.74,370.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:371.2,372.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:372.16,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.2,375.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.85,377.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:379.2,380.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:380.16,381.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:381.50,383.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:384.3,384.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.2,386.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.20,388.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:390.2,395.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:395.16,397.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:398.2,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402.102,403.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:403.49,405.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:406.2,407.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:407.16,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:410.2,411.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:411.13,413.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:414.2,415.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:415.16,417.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.2,418.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.22,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.2,421.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.74,423.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:424.2,425.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:425.16,427.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.2,428.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.88,430.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:432.2,433.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:433.16,434.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:434.50,436.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:437.3,437.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.2,439.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.20,441.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:443.2,448.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:448.16,450.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:451.2,451.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34.30,36.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42.61,44.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48.32,75.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79.32,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100.98,101.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:101.25,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.2,104.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.29,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:108.2,113.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:113.17,114.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:114.55,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.2,118.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.24,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.2,121.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.23,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.2,124.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.23,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:134.2,135.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:135.21,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:142.2,147.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:154.2,165.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:165.25,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:177.2,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:186.2,186.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194.98,195.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:195.25,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.2,198.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.29,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:202.2,205.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:205.17,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:208.2,209.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:209.21,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:213.2,214.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:214.16,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:217.2,218.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:218.16,220.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:226.2,231.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:231.11,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:21.52,22.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:22.24,25.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:25.28,27.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:29.2,29.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:35.72,37.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:37.15,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:45.2,45.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:49.99,51.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:51.16,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:55.2,56.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:56.16,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:60.2,72.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.2,75.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.24,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.2,78.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.24,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:81.2,81.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:82.27,82.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:84.10,85.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.2,87.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.30,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.2,90.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.26,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:104.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:116.2,123.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:126.2,126.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:130.97,132.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:132.16,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:136.2,137.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:141.2,147.23 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:147.23,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.2,150.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.26,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:154.2,155.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:155.16,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:160.16,161.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:161.47,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:164.3,164.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.2,167.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.97,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:174.2,175.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:175.16,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:179.2,185.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:185.16,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:188.2,188.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:192.99,194.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:194.16,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:198.2,199.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:199.16,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:203.2,207.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:207.26,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:211.2,212.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:212.16,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:216.2,223.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:223.26,229.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:229.28,231.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:232.3,232.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:243.100,245.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:245.16,247.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:249.2,250.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:250.16,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:254.2,262.23 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:262.23,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.2,265.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.24,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:268.2,268.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:269.27,269.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:271.10,272.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.2,274.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.30,276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.2,277.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.26,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.2,281.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.71,282.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:282.47,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:285.3,285.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:288.2,293.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:293.16,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:296.2,296.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:302.92,309.19 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:309.19,310.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:310.53,313.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:316.2,317.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:317.51,318.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:318.66,320.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:323.2,331.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:331.16,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:334.2,334.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:338.46,342.32 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:342.32,343.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:343.20,346.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:348.2,350.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:350.26,352.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:352.27,353.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:353.13,355.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:356.4,356.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:358.3,358.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:360.2,360.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:16.45,18.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:20.35,36.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:38.84,39.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:39.40,41.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.2,42.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.50,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:45.2,45.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:48.101,50.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:50.16,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:53.2,54.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:57.2,58.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:58.19,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:61.2,62.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:62.21,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:65.2,66.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:66.16,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:69.2,69.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:72.102,74.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:77.2,82.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10.100,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:22.16,23.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:24.14,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:26.14,27.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:28.17,29.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:30.17,31.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:32.21,33.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:34.19,35.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:36.17,37.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:38.16,39.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:40.16,41.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:42.21,43.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:44.10,45.167 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:15.77,16.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:16.33,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:20.2,21.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:21.27,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:25.2,26.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:26.28,29.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:29.17,31.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:34.2,41.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:41.32,46.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:46.20,48.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:49.3,49.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:61.97,62.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:62.28,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:71.2,75.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:75.29,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:79.2,80.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:80.16,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.2,84.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.20,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:88.2,97.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:97.25,103.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:103.20,105.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.3,106.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.19,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:109.3,109.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:112.2,113.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:113.16,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:117.2,117.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:121.95,122.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:122.28,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:131.2,137.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:137.50,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:141.2,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.2,145.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.16,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.2,149.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.21,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:153.2,154.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:154.16,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.2,157.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.20,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:161.2,161.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:165.98,166.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:166.28,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:170.2,171.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:171.16,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:175.2,181.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:181.50,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.2,185.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.96,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:189.2,189.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:197.98,198.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:198.28,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:207.2,217.74 6 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:217.74,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:222.2,223.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:223.16,225.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:227.2,229.156 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:235.98,237.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:237.16,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:241.2,247.24 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:247.24,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:252.2,253.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:253.29,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:256.2,256.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15.93,16.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:16.37,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:20.2,21.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:21.16,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:25.2,32.16 7 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:32.16,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.2,35.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.19,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.2,38.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.19,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:42.2,43.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:43.16,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:47.2,54.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61.91,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:62.37,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:71.2,73.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:73.16,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.2,76.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.19,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:80.2,81.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:81.43,83.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:83.19,85.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:86.3,86.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:87.8,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.2,90.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.16,91.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:91.45,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:94.3,94.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:97.2,110.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:110.16,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:113.2,113.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117.93,119.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122.91,123.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:123.37,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:132.2,133.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:133.19,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:136.2,141.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:141.16,143.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:145.2,155.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:155.25,165.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:167.2,168.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:168.16,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:171.2,171.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175.94,176.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:176.37,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:180.2,181.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:181.16,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:185.2,187.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:187.16,189.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.2,190.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.19,192.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:193.2,196.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:200.2,208.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:208.25,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:218.2,225.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232.94,233.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:233.37,235.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:242.2,243.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:243.21,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:246.2,248.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:248.19,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:252.2,253.46 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:253.46,255.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:255.13,257.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.2,259.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.44,261.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:261.13,263.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:266.2,267.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:267.16,269.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:271.2,278.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:278.16,280.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:281.2,281.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19.69,21.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23.38,38.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40.51,63.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65.53,80.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82.46,85.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:85.32,87.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:88.2,88.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91.105,93.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:93.16,95.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:96.2,97.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:100.2,100.70 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103.107,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:108.2,109.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:109.16,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:112.2,112.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115.101,117.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:117.16,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:120.2,121.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:121.17,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:124.2,139.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142.109,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:147.2,154.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157.100,159.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:159.28,161.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:161.18,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:164.3,164.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:166.2,167.72 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:167.72,169.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.2,170.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.53,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:173.2,174.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:174.26,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:177.2,177.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180.73,182.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:182.16,184.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:185.2,185.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12.104,14.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:14.16,16.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:18.2,19.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:19.18,21.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:23.2,23.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:24.14,25.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:26.18,27.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:28.17,29.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:30.10,31.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36.101,37.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:37.27,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:46.2,47.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:47.21,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:50.2,51.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:51.19,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:54.2,54.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:55.52,55.52 0 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:56.10,57.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:59.2,61.93 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:61.93,64.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:66.2,70.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:27.31,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:98.97,100.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:100.26,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.2,103.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.28,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:112.2,115.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:115.15,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.2,118.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.17,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:122.2,123.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:127.2,140.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:140.29,151.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:151.31,154.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:155.3,155.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:158.2,162.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:167.100,169.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:169.26,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.2,172.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.28,174.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.2,175.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.26,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:179.2,180.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:184.2,185.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:185.22,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:189.2,190.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:190.20,191.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:191.54,199.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.3,200.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.61,202.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:203.3,203.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:206.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:215.95,217.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:217.32,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.2,220.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.28,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:224.2,225.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:229.2,230.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:230.22,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.2,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.25,246.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:248.2,252.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:258.104,260.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:260.26,262.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:267.2,271.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:271.20,275.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:275.8,279.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:280.2,280.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:284.60,285.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:285.30,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.2,288.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.42,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:291.2,291.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:64.89,65.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:65.25,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:69.2,70.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:70.49,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:74.2,74.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:75.18,76.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:77.21,78.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:79.19,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:81.18,82.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:83.19,84.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:85.18,86.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:87.18,91.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:91.23,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:94.3,94.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:95.10,96.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:100.81,103.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:103.19,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:106.2,107.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:107.19,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.2,112.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.46,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.2,115.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.46,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.2,122.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.66,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.25,128.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:128.22,130.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:131.8,132.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:132.26,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.2,138.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.25,139.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:139.22,141.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:142.8,143.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:143.26,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.2,148.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.22,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.2,151.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.38,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.2,154.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.19,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:159.2,161.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:161.25,164.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.2,165.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.25,168.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:169.2,171.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:171.23,174.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.2,175.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.23,178.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:180.2,193.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:193.16,195.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:198.2,199.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:199.29,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.2,202.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.29,204.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:205.2,213.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:216.121,217.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:217.28,218.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:218.26,220.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:221.3,222.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:222.17,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:223.49,225.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:226.4,226.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:228.3,228.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.2,230.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.26,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:233.2,234.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:234.16,235.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:235.48,237.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:238.3,238.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:240.2,240.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:243.101,248.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:248.36,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:250.8,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.2,253.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.16,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.2,256.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.32,257.128 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:257.128,262.72 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:262.72,264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:267.2,267.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:276.81,277.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:277.25,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.2,280.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.22,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.2,283.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.39,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.2,286.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.25,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.2,289.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.21,291.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:292.2,293.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:293.14,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:296.2,305.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:305.16,307.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:308.2,314.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:317.84,318.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:318.19,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:321.2,323.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:323.63,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:326.2,329.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:332.82,333.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:333.38,335.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:336.2,337.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:338.18,339.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:340.18,341.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.2,345.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.59,347.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:349.2,351.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:351.21,353.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:353.8,356.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.2,357.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:366.2,367.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:367.41,369.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:371.2,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:397.115,398.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:398.15,400.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:403.2,404.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:404.26,405.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:405.28,407.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.3,408.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.28,410.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.2,412.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.23,415.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:420.2,426.12 4 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:426.12,427.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:427.27,429.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:429.18,431.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.4,433.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.33,435.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:440.2,441.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:441.26,442.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:442.28,443.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:443.49,445.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.3,448.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.28,449.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:449.49,451.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:454.2,454.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:457.82,458.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:458.21,460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:461.2,462.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:462.16,464.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.2,465.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.36,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:468.2,469.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:469.16,471.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:472.2,477.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:480.82,481.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:481.40,483.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:484.2,485.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:485.19,487.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:488.2,489.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:489.16,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:492.2,499.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:502.82,503.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:503.21,505.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:506.2,507.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:507.16,509.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:510.2,514.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23.179,24.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:24.22,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:28.2,32.22 4 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:32.22,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:35.2,36.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:36.22,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:40.2,41.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:41.26,43.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.2,44.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.26,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.2,47.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.30,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.2,50.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.30,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:54.2,55.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:55.16,57.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.2,58.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.13,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:61.2,62.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:62.16,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.2,65.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.13,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:69.2,70.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:70.16,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.2,73.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.15,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:77.2,77.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80.172,81.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:81.28,82.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:82.23,84.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.3,85.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.18,87.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:88.3,89.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:89.17,90.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:90.49,92.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:93.4,93.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:95.3,95.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.2,98.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.24,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.2,101.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.19,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:104.2,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:105.16,106.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:106.48,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:109.3,109.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:111.2,111.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114.119,116.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:116.22,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:119.2,120.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:120.22,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:124.2,126.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:126.26,127.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:127.36,129.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:130.3,130.105 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:131.8,132.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:132.32,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:135.3,135.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.2,137.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.2,141.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.32,143.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:143.27,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:146.3,147.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:147.27,149.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.3,150.106 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.106,151.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.3,153.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.27,154.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:154.114,155.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.9,157.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.104,158.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.3,160.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.27,161.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:161.114,162.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.9,164.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.104,165.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:167.3,167.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:169.2,169.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25.90,26.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:26.26,28.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:30.2,31.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:31.49,33.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:35.2,35.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:36.16,37.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:38.10,39.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43.84,44.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:44.21,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.2,47.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.25,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.2,50.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.21,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.2,53.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.21,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:57.2,58.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:59.18,60.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:61.15,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:63.24,64.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:65.10,66.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:69.2,70.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:70.22,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:73.2,74.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:74.29,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.2,78.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.14,85.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:87.2,89.37 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:89.37,92.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:92.21,94.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:97.2,100.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:100.31,102.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:102.38,104.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:104.37,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:109.3,122.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:122.26,124.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.3,125.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.19,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:131.3,133.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:133.39,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:135.9,137.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.3,138.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.17,140.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.3,142.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.34,144.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:145.3,145.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:148.2,155.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20.99,22.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:22.16,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:26.2,31.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:31.44,32.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:32.33,33.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:33.43,38.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.2,43.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.49,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.2,46.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.48,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:50.2,52.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:52.27,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:55.8,60.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:60.24,62.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.3,64.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.57,66.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:68.3,68.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.2,71.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.16,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:75.2,76.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:76.23,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:80.2,80.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:19.40,89.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:109.71,111.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:111.9,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:115.2,116.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:116.38,117.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:118.13,119.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:119.41,121.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:122.17,123.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:123.43,125.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:126.11,127.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:127.40,129.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.2,133.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.22,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:139.2,139.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:143.90,144.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:144.25,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:148.2,149.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:149.16,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:153.2,157.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:157.61,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:161.2,161.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:162.16,163.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:164.14,165.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:166.13,167.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:168.16,169.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:170.17,171.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:172.16,173.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:174.15,175.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:176.10,177.120 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:189.85,191.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:191.39,192.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:192.44,194.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.2,196.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.15,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.2,199.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.15,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:202.2,202.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:205.91,207.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:207.17,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:211.2,215.25 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:215.25,217.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:218.2,224.25 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:224.25,226.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.2,227.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.25,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:231.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:247.2,247.139 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:250.89,252.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:252.19,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:255.2,256.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:256.25,258.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:259.2,264.52 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:264.52,266.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:266.14,268.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:271.2,277.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:277.25,280.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:282.2,283.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:283.16,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.2,287.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.22,288.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:288.20,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:291.3,291.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:294.2,297.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:297.31,300.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:300.29,302.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:303.3,305.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:308.2,308.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:311.88,313.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:313.13,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:317.2,318.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:318.16,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:322.2,328.22 6 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:328.22,331.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.2,333.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.23,335.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:335.30,338.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:341.2,341.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:344.91,346.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:346.13,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:350.2,353.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:353.18,354.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:354.27,356.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.3,357.73 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.73,359.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.2,362.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.19,370.17 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:370.17,372.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:375.2,376.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:376.26,378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:379.2,379.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:382.92,384.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:384.13,386.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:388.2,389.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:389.16,391.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:393.2,401.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:401.16,403.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:405.2,405.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:408.91,410.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:410.13,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:414.2,418.95 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:418.95,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:422.2,422.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:425.90,427.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:427.13,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:431.2,433.167 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:433.167,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.2,437.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.89,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:441.2,441.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22.93,24.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:24.49,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:28.2,28.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:29.14,30.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:31.17,32.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:33.16,34.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:35.24,36.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:37.27,38.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:39.22,40.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:41.23,42.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:43.10,44.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48.79,49.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:49.13,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:57.2,58.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:58.32,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:61.2,84.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87.101,88.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:88.13,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.2,91.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.38,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.2,98.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.53,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:102.2,104.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:104.17,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.2,107.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.29,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:110.2,115.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118.100,119.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:119.13,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.2,122.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.38,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.2,129.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.53,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:133.2,135.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:135.17,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.2,138.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.29,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:141.2,146.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149.123,150.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:150.13,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.2,153.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.18,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.2,156.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.38,158.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:159.2,161.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:161.17,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:164.2,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172.113,173.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:173.13,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.2,176.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.50,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:179.2,181.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:181.17,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:184.2,188.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191.57,195.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197.102,198.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:198.13,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.2,201.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.20,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:204.2,205.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:205.16,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:209.2,210.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:210.32,212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:214.2,217.56 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:217.56,223.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:225.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233.41,235.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:235.16,237.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:238.2,238.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:35.27,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:42.41,43.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:44.48,45.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:46.10,47.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:54.57,55.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:56.17,57.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:58.16,59.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:60.10,61.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:82.58,83.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:84.28,85.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:86.26,87.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:88.10,89.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:93.114,95.68 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:95.68,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:99.2,101.42 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:101.42,102.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:102.71,105.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:107.2,117.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:117.23,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:121.2,124.22 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:124.22,125.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:125.31,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:128.3,128.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.8,129.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.37,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:132.2,132.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:135.74,136.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:136.30,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.2,139.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.34,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.2,142.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.31,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.2,145.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.22,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:161.169,162.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:162.17,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:165.2,166.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:166.51,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:169.2,169.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:172.92,174.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:174.42,177.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:177.63,179.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:179.9,181.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:183.2,183.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:186.65,190.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:192.115,194.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:194.26,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.8,196.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.31,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:199.2,199.117 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:202.122,206.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:206.31,207.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:207.45,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:211.2,211.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:214.72,216.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:218.117,219.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:222.2,223.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:223.20,225.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:225.17,227.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.3,228.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.27,229.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:229.50,231.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:231.30,232.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:236.3,236.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:239.2,241.60 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:241.60,243.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:243.61,245.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.3,246.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.24,247.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:249.3,250.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:250.17,252.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.3,253.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.22,254.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.3,256.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.29,257.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:257.50,259.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:259.30,260.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:264.3,265.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:265.32,266.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:269.2,269.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:272.51,273.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:273.16,275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:276.2,277.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:277.18,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.2,280.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.19,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:283.2,283.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:286.97,288.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:288.30,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.2,291.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.49,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:294.2,294.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:297.108,299.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:301.108,303.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:305.102,307.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:319.55,320.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:320.31,322.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.2,323.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.26,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:326.2,326.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:329.71,330.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:343.26,344.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:345.10,346.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:354.95,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:366.2,397.39 14 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:397.39,399.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:399.27,401.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:402.8,404.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:405.2,407.46 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:407.46,410.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.2,411.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.44,413.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:413.12,415.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.2,417.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.26,419.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.2,420.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.84,422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.2,427.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.65,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:431.2,433.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:433.20,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:436.2,437.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:437.20,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.2,440.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.56,442.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.2,443.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.56,448.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.2,450.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.45,453.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.2,459.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.31,461.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:461.22,462.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:462.62,465.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:466.4,466.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:468.3,468.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:471.2,472.115 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:472.115,474.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.2,491.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.19,493.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:493.23,495.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:496.3,508.21 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:508.21,510.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:511.3,511.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.2,522.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.43,535.34 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:535.34,556.30 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:556.30,558.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.4,559.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.44,561.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.4,562.106 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.106,564.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.4,575.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.74,577.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:578.4,579.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:579.18,581.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:583.4,584.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:584.28,586.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.4,588.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.31,599.57 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:599.57,601.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:601.17,604.7 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:606.5,607.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:607.21,609.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.5,615.138 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.138,617.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:617.27,619.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:620.6,620.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:622.5,623.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:623.26,625.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:626.5,626.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:630.4,631.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:631.20,633.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.4,634.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.22,637.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:637.26,639.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:640.5,640.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:645.4,660.77 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:660.77,662.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:663.4,664.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:664.25,666.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:667.4,667.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.2,673.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.26,675.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:677.2,678.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:678.25,680.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.2,681.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.97,683.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:690.2,691.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:691.21,693.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:693.33,695.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.3,696.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.33,698.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.3,699.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.49,704.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.3,721.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.54,722.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:722.84,724.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.2,728.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.99,730.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:732.2,733.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:733.22,735.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:736.109,737.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:738.100,739.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:740.114,741.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:742.107,743.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:744.11,745.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:748.2,749.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:749.43,751.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:753.2,755.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:755.34,756.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:756.48,757.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:757.19,760.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.2,764.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.31,767.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.2,768.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.35,771.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.2,772.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.76,776.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:778.2,780.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:780.16,782.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:782.20,785.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.2,788.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.25,798.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:798.18,800.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.9,800.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.30,807.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.3,808.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.36,810.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:811.3,812.50 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:812.50,815.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:816.3,822.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:822.17,824.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:826.3,836.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:836.17,838.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:839.3,839.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:842.2,843.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:843.30,844.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:844.52,846.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:846.9,848.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:851.2,869.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:869.21,871.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:871.43,873.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.3,874.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.29,876.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.3,886.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.76,888.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.2,890.105 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.105,892.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:893.2,894.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:894.16,896.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:901.2,904.40 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:904.40,905.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:905.15,906.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:909.3,910.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:910.63,912.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:912.9,914.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.3,916.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.43,918.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:919.3,920.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:920.20,922.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.3,925.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.23,928.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:929.3,931.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:931.33,934.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:934.39,936.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:939.2,948.42 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:948.42,950.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:950.21,952.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:952.9,955.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.2,959.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.53,960.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:960.54,961.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:961.33,963.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:964.9,972.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.3,973.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.60,974.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:974.40,976.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.3,978.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.61,979.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:979.41,981.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.3,983.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.28,985.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:986.3,987.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.2,989.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.51,991.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:995.2,997.53 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:997.53,999.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:999.8,1001.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.2,1002.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.22,1004.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1008.2,1014.76 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1014.76,1016.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.2,1021.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.57,1026.13 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1026.13,1029.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1029.21,1032.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.4,1033.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.49,1035.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1036.4,1043.89 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1043.89,1046.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1048.4,1048.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1052.2,1063.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1063.21,1065.40 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1065.40,1067.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.3,1068.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.38,1070.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1072.2,1074.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1074.18,1081.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.2,1082.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.28,1084.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.2,1085.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.16,1087.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.2,1088.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.30,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.2,1091.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.30,1093.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.2,1098.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.76,1100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1101.2,1102.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1102.16,1104.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1105.2,1105.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111.94,1113.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1113.15,1115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1117.2,1118.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1118.16,1120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1122.2,1123.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1123.13,1125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1126.2,1131.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1131.16,1133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.2,1134.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.19,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.2,1146.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.39,1148.55 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1148.55,1150.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.2,1152.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.39,1154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1157.2,1158.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1158.21,1163.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1163.21,1165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1166.3,1167.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1167.21,1169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.3,1170.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.52,1172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.3,1173.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.52,1178.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.3,1179.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.41,1182.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1183.3,1183.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.2,1188.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.46,1190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.2,1191.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.27,1193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1195.2,1196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1196.16,1198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1201.2,1210.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1210.16,1212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1213.2,1213.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218.59,1220.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1220.38,1222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1225.2,1226.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1226.29,1227.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1227.22,1229.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.2,1232.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.18,1234.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1237.2,1244.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1244.29,1245.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1245.67,1247.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.2,1249.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.16,1251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1254.2,1254.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258.55,1260.47 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1260.47,1262.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1263.2,1264.58 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1264.58,1266.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1267.2,1267.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270.252,1271.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1271.108,1273.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.2,1274.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.55,1276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1277.2,1277.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280.184,1282.69 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1282.69,1284.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1284.32,1285.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1285.58,1287.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.3,1290.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.18,1292.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.2,1294.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.19,1297.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1297.32,1298.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1298.39,1300.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.3,1303.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.19,1305.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.2,1307.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.21,1309.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1309.32,1310.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1310.49,1312.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.3,1315.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.18,1317.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.2,1319.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.28,1321.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1321.17,1323.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.3,1324.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.27,1326.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.2,1328.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.76,1330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1331.2,1331.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342.96,1343.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1343.26,1345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1347.2,1348.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1348.16,1350.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1352.2,1363.23 9 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1363.23,1364.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1364.58,1365.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1365.31,1367.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1367.10,1369.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.2,1373.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.17,1375.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.2,1376.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.16,1378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.2,1379.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.16,1381.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.2,1382.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.18,1384.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.2,1385.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.19,1387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.2,1388.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.19,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1396.2,1399.18 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1399.18,1400.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1400.61,1401.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1402.50,1403.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1404.12,1405.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1409.2,1410.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1410.42,1414.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1415.2,1420.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1420.16,1422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1429.2,1444.43 6 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1444.43,1446.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1449.2,1451.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1451.27,1453.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.2,1458.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.46,1460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.2,1461.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.63,1463.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1465.2,1466.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1466.15,1472.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1472.29,1479.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1479.18,1481.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.4,1482.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.23,1483.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.4,1485.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.30,1486.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1486.24,1488.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1488.32,1489.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1493.4,1494.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1494.30,1495.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1498.8,1504.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1504.29,1506.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1506.18,1508.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.4,1509.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.23,1510.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.4,1512.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.30,1513.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1513.24,1515.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1515.32,1516.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1520.4,1521.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1521.30,1522.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.2,1526.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.26,1528.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1528.17,1530.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.2,1535.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.74,1536.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1536.13,1537.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1537.33,1542.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1542.26,1544.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1544.39,1546.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1548.5,1548.82 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.2,1565.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.38,1569.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1569.27,1571.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.3,1572.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.27,1574.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1576.3,1581.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1581.32,1586.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1588.3,1592.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1592.18,1594.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1595.3,1596.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1596.17,1598.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1599.3,1599.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1602.2,1602.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1603.15,1618.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1618.32,1620.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1620.33,1621.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1621.40,1623.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1626.4,1638.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1640.3,1641.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1641.17,1643.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1644.3,1644.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1646.18,1648.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1648.17,1650.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1651.3,1651.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1653.10,1654.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1654.25,1656.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1657.3,1659.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1659.32,1661.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1661.33,1662.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1662.40,1664.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1667.4,1669.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1669.26,1671.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1672.4,1673.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1673.25,1675.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1676.4,1676.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1678.3,1678.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690.51,1695.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700.73,1702.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1702.16,1704.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1705.2,1706.48 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1706.48,1710.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1711.2,1713.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1713.16,1715.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1716.2,1716.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727.117,1731.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1731.21,1733.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1734.2,1735.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1735.16,1737.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1738.2,1739.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1739.27,1741.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1742.2,1742.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1764.19,1775.30 7 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1775.30,1777.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1777.37,1779.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.3,1781.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.20,1783.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.2,1797.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.39,1799.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1801.2,1811.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1811.25,1813.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1815.2,1816.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1816.29,1818.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.2,1824.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.27,1826.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1831.2,1833.22 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1833.22,1835.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1837.2,1846.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1846.16,1848.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1853.2,1855.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1855.27,1857.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1859.2,1876.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1876.33,1878.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1880.2,1881.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1881.28,1885.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1885.20,1888.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1888.33,1889.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1889.40,1891.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.4,1894.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.20,1895.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.3,1900.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.22,1902.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1902.33,1903.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1903.50,1905.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.4,1908.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.19,1909.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.3,1918.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.56,1919.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.3,1927.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.64,1928.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1932.3,1935.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1935.32,1936.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1936.39,1938.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1942.3,1956.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1956.14,1957.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1957.37,1959.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1961.3,1962.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1962.26,1963.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.2,1975.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.59,1986.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1986.17,1988.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1990.3,1991.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1991.34,1993.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1995.3,1996.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1996.29,1998.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1998.21,2001.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2001.34,2002.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2002.41,2004.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.5,2007.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.21,2008.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.4,2011.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.23,2013.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2013.34,2014.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2014.51,2016.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.5,2019.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.20,2020.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.4,2023.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.57,2024.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.4,2027.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.65,2028.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2030.4,2031.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2031.33,2032.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2032.40,2034.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2037.4,2051.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2051.15,2052.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2052.38,2054.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2056.4,2057.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2057.27,2058.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2065.2,2066.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2066.28,2068.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.2,2072.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.71,2080.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2080.30,2081.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2081.41,2087.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.3,2089.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.13,2090.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2090.31,2095.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2095.25,2097.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2097.38,2099.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2101.5,2101.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.2,2112.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.38,2115.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2115.27,2117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2121.3,2138.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2138.30,2140.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2140.11,2141.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2143.4,2160.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2160.15,2161.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2161.39,2163.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2165.4,2165.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2167.3,2173.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2173.24,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2176.3,2176.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2179.2,2179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2180.15,2182.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2182.24,2184.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2185.3,2185.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2187.18,2199.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2199.30,2201.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2201.11,2202.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2204.4,2208.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2208.15,2209.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2209.39,2211.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2213.4,2213.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2215.3,2216.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2216.24,2218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2219.3,2219.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2220.10,2221.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2221.22,2223.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2224.3,2226.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2226.27,2228.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2228.20,2230.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2231.4,2233.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2233.26,2235.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2236.4,2237.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2237.23,2239.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.4,2240.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.46,2244.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2245.4,2245.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2247.3,2247.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252.94,2254.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2254.16,2256.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2258.2,2260.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2260.18,2261.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2261.59,2262.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2262.36,2264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2264.10,2266.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.2,2270.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.13,2272.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.2,2273.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.50,2275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2277.2,2277.98 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281.98,2282.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2282.26,2284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2286.2,2287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2287.16,2289.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2291.2,2292.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2292.13,2294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2297.2,2298.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2298.19,2299.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2299.51,2301.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2302.3,2302.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.2,2304.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.42,2306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.2,2308.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.54,2309.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2309.48,2311.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2312.3,2312.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2316.2,2318.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17.82,19.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21.149,22.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:22.55,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.2,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.36,27.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:28.2,34.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:34.16,36.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.2,37.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.42,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:40.2,40.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43.105,44.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:44.48,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:47.2,48.54 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51.129,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:56.2,57.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:57.53,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:60.2,61.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:61.25,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:64.2,65.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:65.16,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:68.2,68.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26.97,27.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:27.18,29.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:30.2,30.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33.37,35.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37.81,38.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:38.44,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.2,41.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.38,43.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:44.2,44.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47.88,48.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:48.32,50.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:51.2,52.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:52.20,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:55.2,55.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58.40,72.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74.106,75.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:75.34,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:78.2,79.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:79.16,81.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:83.2,84.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:88.2,89.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:89.13,91.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:93.2,94.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:94.63,96.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.2,98.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.72,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:102.2,106.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109.117,110.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:110.32,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.2,113.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.34,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:117.2,118.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:118.16,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.2,121.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.19,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:125.2,126.69 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:126.69,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:130.2,136.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18.33,20.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22.27,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39.93,40.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:40.30,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.2,43.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.28,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:46.2,47.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:47.16,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:51.2,52.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:52.17,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:55.2,56.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:56.19,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.2,59.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.19,61.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:62.2,63.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:63.16,65.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:67.2,74.9 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:74.9,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:77.2,78.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:78.15,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:81.2,85.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:85.16,87.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.2,88.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.17,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:92.2,101.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104.48,105.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:108.2,109.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:109.29,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.2,112.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.31,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:115.2,115.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118.75,120.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:120.27,121.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:121.32,123.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:123.17,124.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:126.4,126.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:129.2,134.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:134.33,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.2,137.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.40,138.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:138.39,140.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:141.3,141.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.2,143.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.34,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:146.2,147.35 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:147.35,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:150.2,150.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153.77,154.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:154.20,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:157.2,159.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:159.31,160.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:160.33,162.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.3,163.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.30,165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:167.2,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23.91,25.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27.38,50.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52.104,53.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:53.38,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:56.2,57.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:61.2,62.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:62.26,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:65.2,66.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:66.30,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.2,69.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.72,71.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:73.2,74.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:77.2,78.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:78.16,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:81.2,82.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:82.16,84.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:85.2,86.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:90.2,105.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.2,109.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.19,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.2,118.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.25,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.2,121.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.30,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.2,124.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.31,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:131.2,131.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134.91,136.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:136.9,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:139.2,140.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:140.15,141.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:141.19,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:144.3,144.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:146.2,146.94 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149.59,150.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:150.16,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:153.2,154.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:154.61,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:157.2,157.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160.56,161.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:161.75,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:164.2,164.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167.67,169.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:170.17,171.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:172.67,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:174.10,175.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179.60,180.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:183.2,184.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:184.25,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:187.2,187.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190.57,191.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:192.15,193.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:193.81,195.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:196.3,196.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:197.19,199.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:199.17,201.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.3,202.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.55,204.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:205.3,205.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:206.14,207.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:208.11,209.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:210.10,211.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215.59,216.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:216.16,218.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:219.2,219.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:220.12,221.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:222.14,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:224.10,225.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:28.90,30.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:30.16,32.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:34.2,36.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:37.16,38.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:40.16,42.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:44.20,46.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:48.17,50.142 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:52.17,56.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:56.50,62.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:62.63,64.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.4,66.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.45,68.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:72.4,74.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:74.25,76.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:77.4,77.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:80.3,80.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:82.18,84.141 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:86.18,88.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:88.18,90.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:91.3,91.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:93.17,96.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:96.50,99.59 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:99.59,101.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:102.4,104.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:104.25,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:107.4,107.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:110.3,110.98 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:112.10,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:125.86,126.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:129.2,130.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:130.9,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.2,133.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.22,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:137.2,139.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:139.31,141.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:141.10,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:144.3,145.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:145.22,147.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:148.3,149.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:149.26,151.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.3,152.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.68,154.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:155.3,156.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:156.37,158.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:159.3,160.107 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:162.2,162.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:165.249,166.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:166.24,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.2,169.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.38,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:173.2,174.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:174.31,175.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:175.32,177.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:180.2,181.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:181.34,182.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:182.29,183.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:185.3,197.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:197.17,199.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.3,200.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.20,201.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.3,203.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.37,205.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:205.33,206.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.4,208.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.19,209.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:209.43,210.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:212.5,212.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:214.4,215.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:215.30,216.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:220.2,220.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:223.113,229.2 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:231.101,233.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:247.92,251.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:251.16,253.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.8,253.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:259.2,272.51 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:272.51,274.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:274.38,275.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:276.50,277.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:278.12,279.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:287.2,292.26 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:292.26,294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.2,297.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.19,301.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:303.2,311.42 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:311.42,315.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:316.2,341.64 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:341.64,342.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:342.86,344.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.3,345.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.56,347.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:348.3,360.19 6 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:360.19,364.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:365.3,365.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:369.2,370.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:370.15,372.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:372.27,374.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.3,375.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.27,377.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:380.2,381.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:381.15,387.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:387.28,395.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:395.18,397.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.4,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.23,399.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.4,401.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.30,402.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:402.66,403.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:405.5,406.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:406.12,407.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.5,409.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.28,413.6 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:414.5,415.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:415.30,416.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:419.4,420.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:420.30,421.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:424.8,432.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:432.28,438.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:438.18,440.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.4,441.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.23,442.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.4,444.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.30,445.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:445.40,447.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:447.31,448.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:452.4,455.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:455.30,456.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:461.2,465.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:465.17,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:469.2,470.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:470.16,472.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:473.2,473.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20.79,21.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:21.43,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.2,24.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.29,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:27.2,27.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30.40,63.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65.68,71.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:71.25,74.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:75.2,75.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78.62,83.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:83.19,87.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:88.2,88.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91.101,92.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:92.22,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:95.2,96.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:96.18,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:103.2,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:107.2,107.119 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110.99,111.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:111.22,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:114.2,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:115.18,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:118.2,119.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:119.16,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.2,122.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.51,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:129.2,131.15 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:131.15,132.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:132.69,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:135.3,135.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:137.2,137.130 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140.102,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.2,145.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.64,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:148.2,148.113 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151.109,153.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:157.16,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:160.2,161.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:161.16,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:164.2,164.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167.107,169.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:169.16,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:172.2,173.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:173.16,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.2,176.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.107,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:179.2,179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:180.41,181.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:182.41,183.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:184.10,185.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189.111,191.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:191.16,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:194.2,195.57 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:195.57,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:198.2,199.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:199.23,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.2,206.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.17,208.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:209.2,209.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212.63,215.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217.69,219.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:222.2,222.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225.60,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:230.2,230.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233.137,234.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:234.49,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:241.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:246.2,247.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:247.16,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.2,250.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.22,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:253.2,253.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256.142,258.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:258.16,260.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:261.2,262.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:262.16,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.2,265.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.47,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:268.2,269.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:269.16,270.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:270.50,272.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:273.3,273.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:275.2,275.173 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278.157,280.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:280.16,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.2,283.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.47,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:286.2,287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:287.16,288.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:288.50,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:291.3,291.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:293.2,293.169 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296.104,297.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:297.22,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:300.2,301.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:301.61,303.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:303.20,304.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.2,307.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.19,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:310.2,317.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320.119,322.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:322.39,323.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:323.81,325.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:327.2,327.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330.71,332.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:332.16,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:335.2,335.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17.61,105.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:105.23,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:123.2,123.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126.104,127.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:127.61,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.2,130.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.38,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:133.2,134.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:137.2,138.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:138.16,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:141.2,147.107 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:147.107,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:150.2,151.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:151.16,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:154.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:170.19,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:173.2,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176.103,177.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:177.61,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.2,180.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.38,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:187.2,191.106 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:191.106,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:194.2,195.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:195.16,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:198.2,200.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:200.31,207.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:207.36,218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:219.3,220.35 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:222.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233.107,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.2,237.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.38,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:240.2,241.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:241.16,243.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:244.2,248.110 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:248.110,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:251.2,252.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:252.16,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:255.2,256.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:256.33,266.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:267.2,275.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278.108,279.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:279.61,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.2,282.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.37,284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:285.2,286.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:286.16,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:289.2,290.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:290.19,292.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.2,293.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.104,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:296.2,297.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:297.16,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:300.2,307.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:307.16,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:310.2,311.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:311.43,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:319.2,332.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:332.22,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:335.2,335.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338.108,339.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:339.62,341.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.2,342.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.38,344.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:345.2,346.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:346.9,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:349.2,350.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:350.16,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:353.2,357.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:360.2,370.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373.109,374.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:374.62,376.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.2,377.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.38,379.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:380.2,381.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:381.9,383.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:384.2,385.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:385.16,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:388.2,390.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:390.32,392.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:393.2,394.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:394.16,396.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:397.2,403.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406.106,407.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:407.62,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.2,410.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.38,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:413.2,414.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:414.9,416.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:417.2,418.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:418.16,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:421.2,423.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:423.16,424.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:424.41,434.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:435.3,435.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:437.2,445.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483.65,484.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:484.42,485.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:485.39,487.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.2,489.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.85,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:492.2,492.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495.102,496.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:496.38,498.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.2,499.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.58,501.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:502.2,502.90 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505.60,508.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510.66,512.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:512.26,514.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:515.2,515.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518.69,521.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:521.33,523.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:523.21,524.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.3,526.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.34,527.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:529.3,530.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:532.2,532.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535.63,537.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:537.19,539.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:540.2,541.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:541.42,543.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.2,544.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.57,546.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.2,547.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.54,549.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:550.2,550.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553.70,557.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559.66,561.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:561.9,563.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:564.2,566.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:566.17,568.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:569.2,569.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:570.103,572.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:573.34,574.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:575.10,576.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580.56,581.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:581.37,583.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.2,584.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.26,586.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:586.37,587.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:589.3,589.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:591.2,591.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594.90,602.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604.68,605.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:605.71,607.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:607.17,609.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:610.3,610.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:612.2,613.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:613.16,615.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:616.2,617.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:617.41,619.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:620.2,620.78 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623.65,625.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:625.16,627.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.2,628.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.17,630.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:631.2,631.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634.51,635.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:635.16,637.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:638.2,638.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641.56,642.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:642.28,644.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:645.2,646.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649.92,651.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:651.29,653.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:654.2,654.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657.86,659.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:659.29,661.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:662.2,662.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665.94,667.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:667.29,669.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:670.2,670.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673.98,675.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:675.29,677.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:678.2,678.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:17.93,18.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:18.104,20.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:22.2,23.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:23.16,25.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:27.2,28.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:28.19,30.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:32.2,35.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:35.33,36.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:36.47,39.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:42.2,44.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:44.20,47.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:48.2,49.68 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:49.68,50.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:50.48,52.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.3,53.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.32,55.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:55.23,56.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:56.63,58.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:59.5,59.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:61.4,61.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:64.2,71.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:71.17,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.8,73.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.29,75.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:75.36,77.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:78.3,83.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.2,86.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.35,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:90.2,97.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:101.2,110.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:110.28,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:113.2,124.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:133.93,134.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:134.35,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:138.2,139.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:139.16,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:143.2,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.2,147.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.17,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:151.2,152.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:152.33,153.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:153.47,156.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:160.16,162.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:164.2,176.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:176.26,178.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:178.23,180.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:181.3,192.5 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:195.2,196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:199.2,199.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:22.104,24.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:24.16,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:28.2,29.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:29.18,31.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:33.2,33.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:34.13,35.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:36.13,37.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:38.14,39.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:40.16,41.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:42.10,43.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:51.67,53.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:57.68,58.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:58.33,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:61.2,61.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:67.42,69.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:74.61,76.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:76.26,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:79.2,79.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:85.90,86.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:86.49,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:90.2,91.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:91.15,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:94.2,95.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:95.17,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:100.2,103.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:103.16,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:107.2,113.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:113.12,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:115.18,117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:118.3,119.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:119.20,121.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:122.3,124.48 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:125.8,127.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:129.2,130.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:130.16,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:134.2,139.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:145.90,147.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:151.2,152.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:152.16,154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:157.16,158.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:158.47,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:161.3,161.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:164.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:170.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:173.8,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:176.2,176.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:181.92,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:187.2,188.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:188.16,190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:192.2,200.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:200.25,207.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:207.28,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:210.3,210.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:212.2,212.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:216.93,217.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:217.52,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:221.2,222.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:222.15,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:226.2,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.2,231.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.47,232.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:232.47,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:235.3,235.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:238.2,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:35.127,36.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:36.23,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:39.2,40.40 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:40.40,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.2,43.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.37,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.2,46.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.37,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:49.2,49.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:52.23,80.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:82.26,140.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:142.92,143.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:143.25,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:147.2,148.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:148.49,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:152.2,152.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:153.17,154.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:154.24,156.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:157.3,158.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:158.17,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:161.3,165.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:166.17,167.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:167.22,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.3,170.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.22,172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:173.3,174.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:174.17,176.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:177.3,181.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:182.16,189.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:189.23,191.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.3,192.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.24,194.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.3,195.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.39,197.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:198.3,207.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:207.17,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.3,210.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.69,212.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:213.3,213.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:214.10,215.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:219.92,220.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:220.25,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:224.2,225.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:225.49,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:229.2,229.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:230.17,232.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:232.24,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:235.3,236.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:236.17,238.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.3,239.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.59,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.3,242.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.81,244.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:245.3,250.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:251.17,253.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:253.22,255.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:256.3,257.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:257.17,259.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.3,260.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.79,262.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:263.3,268.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:269.10,270.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:274.91,276.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:276.16,278.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.2,279.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.67,280.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:280.76,282.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:285.2,286.52 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:286.52,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:289.2,289.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:292.74,294.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:294.16,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.2,297.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.62,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:300.2,300.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:303.109,304.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:304.56,306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.2,307.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.25,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.2,310.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.81,312.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.2,313.102 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.102,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.2,316.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.108,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.2,319.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.99,321.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.2,322.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.99,324.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.2,325.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.60,327.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.2,328.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.34,330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.2,331.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.114,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.2,334.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.66,336.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.2,337.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.40,339.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.2,340.132 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.132,342.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.2,343.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.35,345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:346.2,346.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:349.92,350.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:350.103,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:354.2,355.52 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:355.52,357.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.2,358.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.32,360.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:361.2,361.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:364.108,365.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:365.19,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:368.2,369.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:369.53,371.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.2,372.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.19,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.2,375.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.39,376.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:376.34,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:380.2,380.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:383.66,385.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:385.53,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.2,388.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.19,390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:391.2,391.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:16.2,18.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:19.16,20.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:21.14,22.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:23.15,24.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:25.16,26.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:27.10,28.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21.75,23.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25.41,28.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30.31,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39.38,46.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48.50,56.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58.43,70.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72.80,73.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:73.36,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.2,76.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.48,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:79.2,79.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82.97,84.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:87.2,88.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:88.16,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:91.2,92.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:92.16,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:95.2,96.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:96.16,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:99.2,99.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102.104,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:111.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:115.2,116.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:116.16,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:119.2,119.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122.96,124.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:127.2,128.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:128.19,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:131.2,132.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:132.18,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:135.2,141.79 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:141.79,143.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:143.17,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:146.3,146.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:148.2,148.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151.77,153.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:156.2,157.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:157.19,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:160.2,160.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:22.15,23.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:24.13,25.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:26.14,27.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:28.16,29.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:30.16,31.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:32.10,33.102 1 0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/create-database.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/create-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/create-database.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/create-database.stdout.log new file mode 100644 index 00000000..4b15bd57 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/create-database.stdout.log @@ -0,0 +1 @@ +CREATE DATABASE diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/create-pgvector.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/create-pgvector.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/create-pgvector.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/create-pgvector.stdout.log new file mode 100644 index 00000000..d26bad14 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/create-pgvector.stdout.log @@ -0,0 +1 @@ +CREATE EXTENSION diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/database-identity.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/database-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/database-identity.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/database-identity.stdout.log new file mode 100644 index 00000000..101deaaa --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/database-identity.stdout.log @@ -0,0 +1 @@ +{"database" : "engram_prc_rg_test_c1bf516c578dac52_r1", "schema" : "public", "server_version" : "17.10 (Debian 17.10-1.pgdg12+1)", "user" : "engram"} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/go-test-summary.json b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/go-test-summary.json new file mode 100644 index 00000000..59cf84cb --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/go-test-summary.json @@ -0,0 +1,40 @@ +{ + "schema_version": 1, + "verdict": "FAIL", + "input_path": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\go-test.stdout.jsonl", + "fail_on_unexpected_skip": true, + "allowed_skip_identities": [], + "counts": { + "packages": 1, + "tests": 1, + "passed": 0, + "failed": 1, + "skipped": 0, + "no_tests": 0, + "zero_tests": 0, + "incomplete": 0, + "unexpected_skips": 0, + "malformed_lines": 0 + }, + "packages": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "outcome": "fail", + "elapsed_seconds": 4.115, + "last_output": "FAIL\tgithub.com/thebtf/engram/internal/mcp\t4.106s", + "tests_observed": 1 + } + ], + "tests": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEC_F1_TagDerivedBackfill_T007", + "outcome": "fail", + "elapsed_seconds": 3.89, + "last_output": "--- FAIL: TestEC_F1_TagDerivedBackfill_T007 (3.89s)", + "skip_allowed": false + } + ], + "unexpected_skips": [], + "errors": [] +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/go-test.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/go-test.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/go-test.stdout.jsonl b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/go-test.stdout.jsonl new file mode 100644 index 00000000..f761911e --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/go-test.stdout.jsonl @@ -0,0 +1,30 @@ +{"Time":"2026-07-11T03:58:34.6658114+03:00","Action":"start","Package":"github.com/thebtf/engram/internal/mcp"} +{"Time":"2026-07-11T03:58:34.8492367+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007"} +{"Time":"2026-07-11T03:58:34.8492367+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"=== RUN TestEC_F1_TagDerivedBackfill_T007\n"} +{"Time":"2026-07-11T03:58:35.8460969+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"warn\",\"error\":\"ERROR: relation \\\"observation_vectors\\\" does not exist (SQLSTATE 42P01)\",\"time\":\"2026-07-11T03:58:35+03:00\",\"message\":\"migration 040: orphan vector cleanup failed (non-fatal)\"}\n"} +{"Time":"2026-07-11T03:58:35.8460969+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"garbage_deleted\":0,\"orphan_vectors_deleted\":0,\"time\":\"2026-07-11T03:58:35+03:00\",\"message\":\"migration 040: garbage cleanup complete\"}\n"} +{"Time":"2026-07-11T03:58:35.8545969+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"orphan_vectors_deleted\":0,\"time\":\"2026-07-11T03:58:35+03:00\",\"message\":\"migration 041: orphan vector purge complete\"}\n"} +{"Time":"2026-07-11T03:58:35.8632116+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"patterns_deleted\":0,\"time\":\"2026-07-11T03:58:35+03:00\",\"message\":\"migration 042: low-quality pattern purge complete\"}\n"} +{"Time":"2026-07-11T03:58:35.8987377+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"total_deleted\":0,\"time\":\"2026-07-11T03:58:35+03:00\",\"message\":\"migration 043: radical observation cleanup complete\"}\n"} +{"Time":"2026-07-11T03:58:37.1451668+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"warn\",\"error\":\"ERROR: extension \\\"vectorscale\\\" is not available (SQLSTATE 0A000)\",\"time\":\"2026-07-11T03:58:37+03:00\",\"message\":\"migration 109: vectorscale extension not available, skipping DiskANN index\"}\n"} +{"Time":"2026-07-11T03:58:38.3658968+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:58:38+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:58:38.3888989+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" store_memory_compat_t007_test.go:158: \n"} +{"Time":"2026-07-11T03:58:38.3888989+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \tError Trace:\tD:/Dev/engram/.w/t007-r1-checker/internal/mcp/store_memory_compat_t007_test.go:158\n"} +{"Time":"2026-07-11T03:58:38.3888989+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \tError: \tNot equal: \n"} +{"Time":"2026-07-11T03:58:38.3888989+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \t \texpected: \"T007 fixture global-tagged\"\n"} +{"Time":"2026-07-11T03:58:38.3888989+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \t \tactual : \"T007 fixture project-tagged\"\n"} +{"Time":"2026-07-11T03:58:38.3888989+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \t \t\n"} +{"Time":"2026-07-11T03:58:38.3888989+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \t \tDiff:\n"} +{"Time":"2026-07-11T03:58:38.3888989+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \t \t--- Expected\n"} +{"Time":"2026-07-11T03:58:38.3888989+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \t \t+++ Actual\n"} +{"Time":"2026-07-11T03:58:38.3888989+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \t \t@@ -1 +1 @@\n"} +{"Time":"2026-07-11T03:58:38.3888989+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \t \t-T007 fixture global-tagged\n"} +{"Time":"2026-07-11T03:58:38.3888989+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \t \t+T007 fixture project-tagged\n"} +{"Time":"2026-07-11T03:58:38.3888989+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \tTest: \tTestEC_F1_TagDerivedBackfill_T007\n"} +{"Time":"2026-07-11T03:58:38.3888989+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \tMessages: \tMemoryStore.List must return the exact global-tagged fixture content\n"} +{"Time":"2026-07-11T03:58:38.7360231+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"--- FAIL: TestEC_F1_TagDerivedBackfill_T007 (3.89s)\n"} +{"Time":"2026-07-11T03:58:38.7360231+03:00","Action":"fail","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Elapsed":3.89} +{"Time":"2026-07-11T03:58:38.7360231+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"FAIL\n"} +{"Time":"2026-07-11T03:58:38.7540232+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"coverage: 0.1% of statements\n"} +{"Time":"2026-07-11T03:58:38.7807451+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"FAIL\tgithub.com/thebtf/engram/internal/mcp\t4.106s\n"} +{"Time":"2026-07-11T03:58:38.7812387+03:00","Action":"fail","Package":"github.com/thebtf/engram/internal/mcp","Elapsed":4.115} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/pg-stat-activity-after.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/pg-stat-activity-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/pg-stat-activity-after.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/pg-stat-activity-after.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/pg-stat-activity-after.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/pg-stat-activity-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/pg-stat-activity-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/repeat-summary.json b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/repeat-summary.json new file mode 100644 index 00000000..fb97faa3 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/repeat-summary.json @@ -0,0 +1,36 @@ +{ + "repeat": 1, + "verdict": "FAIL", + "database": "engram_prc_rg_test_c1bf516c578dac52_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_c1bf516c578dac52_r1.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": false, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 1, + "json_parser_exit": 1, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\cleanup\\cleanup.json", + "errors": [ + "go test failed with exit 1", + "go test JSON assertion failed with exit 1" + ], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01" +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/server-connection-count-after.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/server-connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/server-connection-count-after.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/server-connection-count-after.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/server-connection-count-after.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/server-connection-count-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/server-connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/server-connection-count-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/server-connection-count-before.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/server-connection-count-before.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/targeted-coverage.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/targeted-coverage.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/targeted-coverage.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/targeted-coverage.stdout.log new file mode 100644 index 00000000..c958686c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/repeat-01/targeted-coverage.stdout.log @@ -0,0 +1,352 @@ +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33: effectiveAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44: isAuditEnabled 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52: runAuditAsync 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77: marshalState 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92: logAuditCreate 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117: logAuditEdit 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142: logAuditDelete 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166: logAuditGeneric 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189: logAuditSupersede 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:30: parseArgs 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:46: coerceString 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:67: coerceInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:97: coerceInt64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:127: coerceFloat64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:151: coerceBool 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:177: coerceStringSlice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:204: coerceInt64Slice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:222: clampToInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:236: clampInt64ToInt 0.0% +github.com/thebtf/engram/internal/mcp/context.go:17: extractProjectFromHeader 0.0% +github.com/thebtf/engram/internal/mcp/context.go:22: contextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:29: ContextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:35: projectFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:41: contextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:48: ContextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:54: sessionFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:61: actorFromContext 0.0% +github.com/thebtf/engram/internal/mcp/health.go:22: NewMCPHealth 0.0% +github.com/thebtf/engram/internal/mcp/health.go:29: RecordRequest 0.0% +github.com/thebtf/engram/internal/mcp/health.go:36: RecordError 0.0% +github.com/thebtf/engram/internal/mcp/health.go:42: rotateWindowIfNeeded 0.0% +github.com/thebtf/engram/internal/mcp/health.go:55: HandleHealth 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28: ruleGovernanceCaptureEnabled 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39: captureActiveRuleIntent 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104: ruleIntentFingerprint 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113: marshalRuleCandidateIntentResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:127: NewServer 100.0% +github.com/thebtf/engram/internal/mcp/server.go:141: SetBackfillStatusFunc 0.0% +github.com/thebtf/engram/internal/mcp/server.go:146: SetVersionedDocumentStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:151: SetIssueStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:156: SetMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:161: SetMetaMemoryIndex 0.0% +github.com/thebtf/engram/internal/mcp/server.go:166: SetHintQueue 0.0% +github.com/thebtf/engram/internal/mcp/server.go:171: SetStateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:176: SetDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/server.go:181: SetBehavioralRulesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:186: SetRuleGovernanceStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:191: SetRuleInjectionTelemetryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:195: SetPromotionStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:199: SetGraphStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:204: SetNodesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:211: SetAuditStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:216: SetPurgeStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:222: SetCandidateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:228: SetSnapshotStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:234: SetBulkFacade 0.0% +github.com/thebtf/engram/internal/mcp/server.go:240: setTestAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/server.go:246: setTestMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/server.go:252: setTestMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/server.go:260: SetWriteLintOrchestrator 0.0% +github.com/thebtf/engram/internal/mcp/server.go:269: SetRedactionRules 0.0% +github.com/thebtf/engram/internal/mcp/server.go:274: SetEmbeddingStores 0.0% +github.com/thebtf/engram/internal/mcp/server.go:282: SetRerankClient 0.0% +github.com/thebtf/engram/internal/mcp/server.go:290: SetStatsDB 0.0% +github.com/thebtf/engram/internal/mcp/server.go:297: HandleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:303: ListTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:332: Version 0.0% +github.com/thebtf/engram/internal/mcp/server.go:383: Run 0.0% +github.com/thebtf/engram/internal/mcp/server.go:427: handleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:461: handleNotification 0.0% +github.com/thebtf/engram/internal/mcp/server.go:473: handleInitialize 0.0% +github.com/thebtf/engram/internal/mcp/server.go:496: buildInstructions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:660: storeMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:712: recallMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:805: primaryTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:942: handleToolsList 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1612: handleToolsCall 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1644: sanitizeToolCallArgs 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1656: callTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1874: sendResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1884: sendError 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1896: handleFindSimilarObservations 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1927: handleGetMemoryStats 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2055: handleBackfillStatus 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2071: handleCheckSystemHealth 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2216: handleAnalyzeSearchPatterns 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2246: handleSearchSessions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2251: handleListSessions 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:18: buildAdminTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:68: adminActionsForEnv 33.3% +github.com/thebtf/engram/internal/mcp/tools_admin.go:80: vnextEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:84: handleAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:120: handlePurgeProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27: ambientHintsEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32: ambientHintsTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48: handleGetAmbientHints 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86: normalizeAmbientHintsToolLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96: ambientHintItems 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114: errMissingSessionID 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:31: handleGetMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:107: memoryBriefUsesPrincipalScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:115: handlePrincipalMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:259: truncateBriefContent 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:270: filterInjectionByScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25: bulkOpsTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95: handleBulkPromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154: handleBulkDelete 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211: handleBulkSupersede 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31: candidateItemFromDomain 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51: newCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59: requireCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68: candidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165: handleListCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208: handleGetCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239: handlePromoteCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348: handleRejectCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402: handleSupersedeCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34: codeIntelEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42: SetCodeChunkStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48: codebaseSearchTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79: codebaseStatusTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100: handleCodebaseSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194: handleCodebaseStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:21: getVault 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:35: credentialStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:49: handleStoreCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:130: handleGetCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:192: handleListCredentials 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:243: handleDeleteCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:302: handleVaultStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:338: expandTagHierarchy 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:16: directivesCaptureEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:20: rememberDirectiveTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:38: currentDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:48: handleRememberDirective 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:72: parseRememberDirectiveArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10: handleDocsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:15: handleListCollections 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:61: handleListDocuments 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:121: handleGetDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:165: handleRemoveDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:197: handleIngestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:235: handleSearchCollection 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15: handleDocCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61: handleDocRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117: handleDocUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122: handleDocList 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175: handleDocHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232: handleDocComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19: SetExperienceProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23: experienceHistoryTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40: experienceHistoryReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65: experienceHistoryDetailSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82: experienceHistoryTriggerEnum 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91: handleExperienceHistoryRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103: handleExperienceHistoryDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115: parseExperienceHistoryReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142: parseExperienceHistoryDetailArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157: experienceHistoryTriggersFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180: marshalExperienceHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12: handleFeedbackConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36: handleSetSessionOutcome 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:27: governanceTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:98: handleListSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:167: handleRollbackSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:215: handlePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:258: handleRedactionRulesStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:284: resolveGovernanceActor 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:64: handleGraph 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:100: graphAddEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:216: mcpGraphEndpointExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:243: mcpGraphEdgeAlreadyExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:276: graphAddNode 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:317: graphRemoveEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:332: graphGetEdges 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:397: filterEdgesByNodeType 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:457: graphTraverse 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:480: graphFindPath 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:502: graphSynonyms 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23: graphCreateEdgeWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80: graphEndpointExistsWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114: graphDuplicateEdgeExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25: handleIngest 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43: ingestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20: handleImportInstincts 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:19: issuesToolSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:109: validateIssueActionParams 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:143: handleIssues 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:189: resolveSourceProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:205: handleIssueCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:250: handleIssueList 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:311: handleIssueGet 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:344: handleIssueUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:382: handleIssueComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:408: handleIssueReopen 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:425: handleIssueClose 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22: handleLifecycle 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48: lifecycleInfo 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87: lifecyclePromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118: lifecycleDemote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149: lifecycleSetConfidence 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172: lifecycleSetDefeasibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191: lifecycleSleepStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197: lifecycleDecayPreview 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233: marshalJSON 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:35: vnextFEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:42: isValidPrivacyScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:54: derivePrivacyScopeFromLegacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:82: deriveLegacyScopeFromPrivacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:93: applyPrincipalMemoryMetadata 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:135: addPrincipalMemoryFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:161: newScopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:172: writeLintVisibilityCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:186: writeLintVisibilityOptions 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:192: scopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:202: filterVisibleWriteGateCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:214: domainManageAllowed 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:218: List 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:272: writeLintVisibilityFetchLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:286: Get 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:297: Create 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:301: Update 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:305: MarkSuperseded 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:319: effectiveMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:329: isValidStoreObservationType 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:354: handleStoreMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111: handleEditMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218: computeTTLDays 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258: truncateTitle 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270: keepRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280: keepRecallMemoryFilters 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342: handleRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690: staleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700: marshalWithStaleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727: Rank 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1751: handleRecallMemoryHybrid 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252: handleRateMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281: handleSuppressMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17: SetDomainRegistryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21: checkDomainWriteMCP 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43: addDomainWriteDecisionFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51: marshalStoreMemoryAugmented 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26: newMemoryStoreSignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33: s6OutcomeEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37: effectiveMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47: currentMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58: rateMemorySignificanceTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74: handleRateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109: RateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18: s2MetaMemoryEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22: knowAboutTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39: handleKnowAbout 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104: parseKnowAboutLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118: summarizeMetaIndexTags 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153: summarizeMetaIndexDateRange 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23: SetPrincipalMemoryQueryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27: principalMemoryQueryTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52: handleQueryPrincipalMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134: principalMemoryQueryCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149: parsePrincipalMemoryQueryLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160: principalMemoryQueryText 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167: parsePrincipalMemoryQueryVisibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179: parsePrincipalMemoryQueryOffset 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190: parsePrincipalMemoryQueryInt 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215: parsePrincipalMemoryQueryBool 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:28: handleRecall 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:125: parseRecallIncludedPrincipals 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:165: appendRecallIncludedPrincipalMemories 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:223: recallIncludeTargetMatchesCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:231: recallPrincipalQueryItemToMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:247: handleRecallSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20: currentReviewLoopCandidateLister 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30: reviewLoopCandidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65: reviewLoopReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78: reviewPacketIDSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91: handleReviewMetricsRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110: handleReviewQueueRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140: handleReviewPacketDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151: handleReviewPacketPreviewAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167: handleReviewPacketApplyAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189: parseReviewLoopReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212: reviewLoopMCPPacketTypeSupported 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217: reviewLoopActionFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225: reviewLoopReasonFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233: loadReviewPacketCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256: applyReviewPacketPreserve 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278: applyReviewPacketSuppress 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296: reviewLoopMemoryFromCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320: filterRiskyMCPReviewCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330: marshalReviewLoop 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17: ruleGovernanceReadTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126: handleRuleGovernanceHealth 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176: handleRuleGovernanceQueue 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233: handleRuleGovernanceSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278: handleRuleGovernanceUsefulness 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338: handleRuleGovernanceTransition 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373: handleRuleGovernancePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406: handleRuleGovernanceRollback 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483: requireRuleGovernanceReadAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495: requireRuleGovernanceProjectOrAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505: ruleGovernanceCallerIsAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510: requireRuleGovernanceAdminAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518: redactRuleGovernanceEvidenceHandles 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535: redactRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553: ruleGovernanceEvidenceHandleHasSensitiveText 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559: isCanonicalRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580: isSafeRuleGovernanceEvidenceID 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594: parseRuleGovernanceTransitionRequest 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604: parseRuleGovernanceSince 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623: boundedRuleGovernanceLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634: formatRuleGovernanceTime 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641: formatRuleGovernanceTimePtr 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649: stringRuleCandidateStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657: stringRuleVersionStateCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665: stringRuleArbiterRunStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673: stringRuleInjectionEventTypeCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:17: handleStoreRule 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:133: handleListRules 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:22: handleSettingsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:51: SetSettingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:57: settingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:67: isSecretSettingKey 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:74: requireAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:85: handleSetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:145: handleGetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:181: handleListSettings 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:216: handleDeleteSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:35: resumeScopesFromFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:52: stateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:82: setStateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:142: handleGetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:219: handleSetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:274: decodeSessionStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:292: validateSessionStateBudget 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:303: validateNativeResumePacket 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:349: decodeProjectStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:364: requireStateObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:383: requireNestedObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10: handleStoreConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21: SetTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25: temporalTruthEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30: temporalTruthTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39: temporalTruthRefreshTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48: temporalTruthRefreshSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58: temporalTruthSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72: currentTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82: handleTemporalTruth 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102: handleTemporalTruthRefresh 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122: parseTemporalTruthArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151: parseTemporalTruthRefreshProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10: handleVaultConsolidated 0.0% +total: (statements) 0.1% diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/summary.json b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/summary.json new file mode 100644 index 00000000..c29ff0e9 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/challenge-wrong-fixture/summary.json @@ -0,0 +1,67 @@ +{ + "schema_version": 1, + "gate": "release-gates-foundation", + "run_id": "challenge-wrong-fixture", + "started_at": "2026-07-11T00:58:27.9736535+00:00", + "finished_at": "2026-07-11T00:58:44.7888279+00:00", + "duration_seconds": 16.815, + "verdict": "FAIL", + "counts": { + "requested_repeats": 1, + "completed_repeats": 1, + "passed_repeats": 0, + "failed_repeats": 1, + "child_commands": 16, + "nonzero_child_commands": 2 + }, + "packages": [ + "./internal/mcp" + ], + "run_pattern": "^TestEC_F1_TagDerivedBackfill_T007$", + "coverage_policy": "Targeted", + "connection_budget": 20, + "race": false, + "database_dsn": "REDACTED_DATABASE_DSN", + "environment": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\environment.json", + "commands": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\commands.json", + "repeats": [ + { + "repeat": 1, + "verdict": "FAIL", + "database": "engram_prc_rg_test_c1bf516c578dac52_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_c1bf516c578dac52_r1.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": false, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 1, + "json_parser_exit": 1, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01\\cleanup\\cleanup.json", + "errors": [ + "go test failed with exit 1", + "go test JSON assertion failed with exit 1" + ], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture\\repeat-01" + } + ], + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\challenge-wrong-fixture" +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/commands.json b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/commands.json new file mode 100644 index 00000000..10d6d6c2 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/commands.json @@ -0,0 +1,445 @@ +[ + { + "name": "go-version", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "version" + ], + "environment_keys": [], + "command": "C:\\Program Files\\Go\\bin\\go.exe version", + "started_at": "2026-07-11T00:54:31.4286481+00:00", + "finished_at": "2026-07-11T00:54:31.8226731+00:00", + "duration_seconds": 0.394, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\go-version.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\go-version.stderr.log" + }, + { + "name": "postgres-container-identity", + "executable": "docker", + "arguments": [ + "inspect", + "--format", + "{{.Name}}|{{.Config.Image}}|{{.Image}}|{{.State.Running}}", + "engram-prc-postgres" + ], + "environment_keys": [], + "command": "docker inspect --format {{.Name}}|{{.Config.Image}}|{{.Image}}|{{.State.Running}} engram-prc-postgres", + "started_at": "2026-07-11T00:54:31.8815750+00:00", + "finished_at": "2026-07-11T00:54:32.2524383+00:00", + "duration_seconds": 0.371, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\postgres-container-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\postgres-container-identity.stderr.log" + }, + { + "name": "postgres-server-identity", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT json_build_object('server_version', current_setting('server_version'), 'server_version_num', current_setting('server_version_num'), 'version', version(), 'max_connections', current_setting('max_connections'), 'superuser_reserved_connections', current_setting('superuser_reserved_connections'), 'reserved_connections', COALESCE(NULLIF(current_setting('reserved_connections', true), ''), '0'), 'current_connections', (SELECT count(*)::text FROM pg_stat_activity), 'database', current_database(), 'schema', current_schema(), 'user', current_user)::text;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT json_build_object('server_version', current_setting('server_version'), 'server_version_num', current_setting('server_version_num'), 'version', version(), 'max_connections', current_setting('max_connections'), 'superuser_reserved_connections', current_setting('superuser_reserved_connections'), 'reserved_connections', COALESCE(NULLIF(current_setting('reserved_connections', true), ''), '0'), 'current_connections', (SELECT count(*)::text FROM pg_stat_activity), 'database', current_database(), 'schema', current_schema(), 'user', current_user)::text;", + "started_at": "2026-07-11T00:54:32.2647322+00:00", + "finished_at": "2026-07-11T00:54:32.6761241+00:00", + "duration_seconds": 0.411, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\postgres-server-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\postgres-server-identity.stderr.log" + }, + { + "name": "repeat-1-create-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "CREATE DATABASE \"engram_prc_rg_test_72927a85c2e0d9a3_r1\" OWNER \"engram\";" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c CREATE DATABASE \"engram_prc_rg_test_72927a85c2e0d9a3_r1\" OWNER \"engram\";", + "started_at": "2026-07-11T00:54:32.7096191+00:00", + "finished_at": "2026-07-11T00:54:33.1909595+00:00", + "duration_seconds": 0.481, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\create-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\create-database.stderr.log" + }, + { + "name": "repeat-1-create-pgvector", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_72927a85c2e0d9a3_r1", + "-At", + "-F", + "|", + "-c", + "CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_72927a85c2e0d9a3_r1 -At -F | -c CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;", + "started_at": "2026-07-11T00:54:33.1976041+00:00", + "finished_at": "2026-07-11T00:54:33.6239981+00:00", + "duration_seconds": 0.426, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\create-pgvector.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\create-pgvector.stderr.log" + }, + { + "name": "repeat-1-database-identity", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_72927a85c2e0d9a3_r1", + "-At", + "-F", + "|", + "-c", + "SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_72927a85c2e0d9a3_r1 -At -F | -c SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;", + "started_at": "2026-07-11T00:54:33.6276019+00:00", + "finished_at": "2026-07-11T00:54:34.0330108+00:00", + "duration_seconds": 0.405, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\database-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\database-identity.stderr.log" + }, + { + "name": "repeat-1-pg-stat-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_72927a85c2e0d9a3_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_72927a85c2e0d9a3_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:54:34.0385049+00:00", + "finished_at": "2026-07-11T00:54:34.4013388+00:00", + "duration_seconds": 0.363, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\pg-stat-activity-before.stderr.log" + }, + { + "name": "repeat-1-server-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T00:54:34.4044881+00:00", + "finished_at": "2026-07-11T00:54:34.7726986+00:00", + "duration_seconds": 0.368, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\server-connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\server-connection-count-before.stderr.log" + }, + { + "name": "repeat-1-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_72927a85c2e0d9a3_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_72927a85c2e0d9a3_r1';", + "started_at": "2026-07-11T00:54:34.7816630+00:00", + "finished_at": "2026-07-11T00:54:35.2752813+00:00", + "duration_seconds": 0.494, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\connection-count-before.stderr.log" + }, + { + "name": "repeat-1-go-test", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "test", + "-json", + "-p", + "1", + "-parallel", + "1", + "-count=1", + "-timeout", + "30m", + "-covermode=atomic", + "-coverprofile=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\coverage.out", + "-race", + "-run", + "^TestEC_F1_TagDerivedBackfill_T007$", + "./internal/mcp" + ], + "environment_keys": [ + "DATABASE_DSN", + "DATABASE_MAX_CONNS", + "ENGRAM_RELEASE_GATE_REPEAT", + "ENGRAM_RELEASE_GATE_RUN_ID", + "ENGRAM_TEST_DSN", + "TEST_DATABASE_DSN" + ], + "command": "C:\\Program Files\\Go\\bin\\go.exe test -json -p 1 -parallel 1 -count=1 -timeout 30m -covermode=atomic -coverprofile=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\coverage.out -race -run ^TestEC_F1_TagDerivedBackfill_T007$ ./internal/mcp", + "started_at": "2026-07-11T00:54:35.2853017+00:00", + "finished_at": "2026-07-11T00:54:52.2425629+00:00", + "duration_seconds": 16.957, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\go-test.stdout.jsonl", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\go-test.stderr.log" + }, + { + "name": "repeat-1-assert-go-test-json", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\assert-go-test-json.ps1", + "-InputPath", + ".agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\go-test.stdout.jsonl", + "-SummaryPath", + ".agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\go-test-summary.json", + "-FailOnUnexpectedSkip" + ], + "environment_keys": [], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\assert-go-test-json.ps1 -InputPath .agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\go-test.stdout.jsonl -SummaryPath .agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\go-test-summary.json -FailOnUnexpectedSkip", + "started_at": "2026-07-11T00:54:52.2472141+00:00", + "finished_at": "2026-07-11T00:54:53.0742138+00:00", + "duration_seconds": 0.827, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\assert-go-test-json.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\assert-go-test-json.stderr.log" + }, + { + "name": "repeat-1-targeted-coverage-report", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "tool", + "cover", + "-func=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\coverage.out" + ], + "environment_keys": [], + "command": "C:\\Program Files\\Go\\bin\\go.exe tool cover -func=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\coverage.out", + "started_at": "2026-07-11T00:54:53.0791162+00:00", + "finished_at": "2026-07-11T00:54:53.5770730+00:00", + "duration_seconds": 0.498, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\targeted-coverage.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\targeted-coverage.stderr.log" + }, + { + "name": "repeat-1-pg-stat-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_72927a85c2e0d9a3_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_72927a85c2e0d9a3_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:54:53.5779824+00:00", + "finished_at": "2026-07-11T00:54:53.9353404+00:00", + "duration_seconds": 0.357, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\pg-stat-activity-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\pg-stat-activity-after.stderr.log" + }, + { + "name": "repeat-1-server-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T00:54:53.9372752+00:00", + "finished_at": "2026-07-11T00:54:54.3333009+00:00", + "duration_seconds": 0.396, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\server-connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\server-connection-count-after.stderr.log" + }, + { + "name": "repeat-1-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_72927a85c2e0d9a3_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_72927a85c2e0d9a3_r1';", + "started_at": "2026-07-11T00:54:54.3356973+00:00", + "finished_at": "2026-07-11T00:54:54.7186366+00:00", + "duration_seconds": 0.383, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\connection-count-after.stderr.log" + }, + { + "name": "repeat-1-cleanup", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\cleanup-db-sessions.ps1", + "-DatabaseName", + "engram_prc_rg_test_72927a85c2e0d9a3_r1", + "-SchemaName", + "public", + "-ArtifactRoot", + ".agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01", + "-RunId", + "focused-race-repeat-1", + "-PostgresContainer", + "engram-prc-postgres" + ], + "environment_keys": [ + "ENGRAM_TEST_ADMIN_DSN" + ], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\cleanup-db-sessions.ps1 -DatabaseName engram_prc_rg_test_72927a85c2e0d9a3_r1 -SchemaName public -ArtifactRoot .agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01 -RunId focused-race-repeat-1 -PostgresContainer engram-prc-postgres", + "started_at": "2026-07-11T00:54:54.7223563+00:00", + "finished_at": "2026-07-11T00:54:57.5246637+00:00", + "duration_seconds": 2.802, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\cleanup-process.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\cleanup-process.stderr.log" + } +] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/environment.json b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/environment.json new file mode 100644 index 00000000..2a29a8ce --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/environment.json @@ -0,0 +1,52 @@ +{ + "schema_version": 1, + "run_id": "focused-race", + "timestamp": "2026-07-11T00:54:31.4101236+00:00", + "go_version": "go version go1.25.11 windows/amd64", + "postgres": { + "declared_image": "pgvector/pgvector:pg17", + "container": { + "name": "/engram-prc-postgres", + "configured_image": "pgvector/pgvector:pg17", + "image_id": "sha256:feb68f4f15446397d8cac7f4fe48fe4586de83160d1fc48b46283312d1a33966", + "running": true + }, + "server": { + "server_version": "17.10 (Debian 17.10-1.pgdg12+1)", + "server_version_num": "170010", + "version": "PostgreSQL 17.10 (Debian 17.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit", + "max_connections": "100", + "superuser_reserved_connections": "3", + "reserved_connections": "0", + "current_connections": "6", + "database": "postgres", + "schema": "public", + "user": "engram" + }, + "admin_dsn": "postgresql://engram:REDACTED@127.0.0.1:55432/postgres?sslmode=disable" + }, + "packages": [ + "./internal/mcp" + ], + "run_pattern": "^TestEC_F1_TagDerivedBackfill_T007$", + "repeat": 1, + "fail_on_unexpected_skip": true, + "allowed_skip_identities": [], + "coverage_policy": "Targeted", + "connection_budget": 20, + "race": true, + "require_session_start_execution": false, + "required_session_start_test_count": 12, + "sequential_execution": { + "go_package_parallelism": 1, + "go_test_parallelism": 1, + "database_max_connections": 20 + }, + "govulncheck_policy": { + "authoritative": [ + "source scan with tests", + "unstripped binary scan" + ], + "non_authoritative": "stripped binary scan (module-level fallback when symbols are absent)" + } +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/go-version.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/go-version.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/go-version.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/go-version.stdout.log new file mode 100644 index 00000000..a857be3f --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/go-version.stdout.log @@ -0,0 +1 @@ +go version go1.25.11 windows/amd64 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/postgres-container-identity.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/postgres-container-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/postgres-container-identity.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/postgres-container-identity.stdout.log new file mode 100644 index 00000000..c110d492 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/postgres-container-identity.stdout.log @@ -0,0 +1 @@ +/engram-prc-postgres|pgvector/pgvector:pg17|sha256:feb68f4f15446397d8cac7f4fe48fe4586de83160d1fc48b46283312d1a33966|true diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/postgres-server-identity.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/postgres-server-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/postgres-server-identity.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/postgres-server-identity.stdout.log new file mode 100644 index 00000000..2e33d56e --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/postgres-server-identity.stdout.log @@ -0,0 +1 @@ +{"server_version" : "17.10 (Debian 17.10-1.pgdg12+1)", "server_version_num" : "170010", "version" : "PostgreSQL 17.10 (Debian 17.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit", "max_connections" : "100", "superuser_reserved_connections" : "3", "reserved_connections" : "0", "current_connections" : "6", "database" : "postgres", "schema" : "public", "user" : "engram"} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/assert-go-test-json.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/assert-go-test-json.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/assert-go-test-json.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/assert-go-test-json.stdout.log new file mode 100644 index 00000000..35856c35 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/assert-go-test-json.stdout.log @@ -0,0 +1,2 @@ +go test JSON verdict=PASS packages=1 tests=1 passed=1 failed=0 skipped=0 unexpected_skips=0 malformed=0 +summary=D:\Dev\engram\.w\t007-r1-checker\.agent\reviews\t007-r1-fresh-checker\evidence\focused-race\repeat-01\go-test-summary.json diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/cleanup-process.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/cleanup-process.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/cleanup-process.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/cleanup-process.stdout.log new file mode 100644 index 00000000..f1841ef6 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/cleanup-process.stdout.log @@ -0,0 +1,2 @@ +cleanup verdict=PASS database=engram_prc_rg_test_72927a85c2e0d9a3_r1 schema=public terminated_sessions=0 remaining_database_count=0 +summary=D:\Dev\engram\.w\t007-r1-checker\.agent\reviews\t007-r1-fresh-checker\evidence\focused-race\repeat-01\cleanup\cleanup.json diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/cleanup/cleanup.json b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/cleanup/cleanup.json new file mode 100644 index 00000000..a83290dd --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/cleanup/cleanup.json @@ -0,0 +1,170 @@ +{ + "schema_version": 1, + "run_id": "focused-race-repeat-1", + "timestamp": "2026-07-11T00:54:57.4408899+00:00", + "verdict": "PASS", + "database": "engram_prc_rg_test_72927a85c2e0d9a3_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_72927a85c2e0d9a3_r1.public", + "admin_dsn": "postgresql://engram:REDACTED@127.0.0.1:55432/postgres?sslmode=disable", + "postgres_container": "engram-prc-postgres", + "cleanup_status": "PASS", + "cleanup_attempted": true, + "database_existed_before": true, + "absence_verified": true, + "terminated_sessions": 0, + "remaining_database_count": 0, + "commands": [ + { + "name": "database-exists-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_72927a85c2e0d9a3_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_72927a85c2e0d9a3_r1';", + "started_at": "2026-07-11T00:54:55.3772919+00:00", + "finished_at": "2026-07-11T00:54:55.7960833+00:00", + "duration_seconds": 0.419, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\cleanup\\database-exists-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\cleanup\\database-exists-before.stderr.log" + }, + { + "name": "pg-stat-activity-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_72927a85c2e0d9a3_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_72927a85c2e0d9a3_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:54:55.8611113+00:00", + "finished_at": "2026-07-11T00:54:56.2336412+00:00", + "duration_seconds": 0.373, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\cleanup\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\cleanup\\pg-stat-activity-before.stderr.log" + }, + { + "name": "terminate-database-sessions", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_72927a85c2e0d9a3_r1' AND pid <> pg_backend_pid() ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_72927a85c2e0d9a3_r1' AND pid <> pg_backend_pid() ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:54:56.2377024+00:00", + "finished_at": "2026-07-11T00:54:56.6132619+00:00", + "duration_seconds": 0.376, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\cleanup\\terminate-sessions.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\cleanup\\terminate-sessions.stderr.log" + }, + { + "name": "drop-fresh-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "DROP DATABASE IF EXISTS \"engram_prc_rg_test_72927a85c2e0d9a3_r1\" WITH (FORCE);" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c DROP DATABASE IF EXISTS \"engram_prc_rg_test_72927a85c2e0d9a3_r1\" WITH (FORCE);", + "started_at": "2026-07-11T00:54:56.6223881+00:00", + "finished_at": "2026-07-11T00:54:57.0872992+00:00", + "duration_seconds": 0.465, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\cleanup\\drop-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\cleanup\\drop-database.stderr.log" + }, + { + "name": "verify-database-absent", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_72927a85c2e0d9a3_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_72927a85c2e0d9a3_r1';", + "started_at": "2026-07-11T00:54:57.0914691+00:00", + "finished_at": "2026-07-11T00:54:57.4330926+00:00", + "duration_seconds": 0.342, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\cleanup\\verify-database-absent.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\cleanup\\verify-database-absent.stderr.log" + } + ], + "errors": [] +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/cleanup/database-exists-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/cleanup/database-exists-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/cleanup/database-exists-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/cleanup/database-exists-before.stdout.log new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/cleanup/database-exists-before.stdout.log @@ -0,0 +1 @@ +1 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/cleanup/drop-database.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/cleanup/drop-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/cleanup/drop-database.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/cleanup/drop-database.stdout.log new file mode 100644 index 00000000..ca12dce0 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/cleanup/drop-database.stdout.log @@ -0,0 +1 @@ +DROP DATABASE diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/cleanup/pg-stat-activity-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/cleanup/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/cleanup/pg-stat-activity-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/cleanup/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/cleanup/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/cleanup/terminate-sessions.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/cleanup/terminate-sessions.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/cleanup/terminate-sessions.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/cleanup/terminate-sessions.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/cleanup/terminate-sessions.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/cleanup/verify-database-absent.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/cleanup/verify-database-absent.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/cleanup/verify-database-absent.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/cleanup/verify-database-absent.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/cleanup/verify-database-absent.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/connection-count-after.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/connection-count-after.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/connection-count-after.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/connection-count-after.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/connection-count-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/connection-count-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/connection-count-before.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/connection-count-before.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/coverage.out b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/coverage.out new file mode 100644 index 00000000..52335d8a --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/coverage.out @@ -0,0 +1,3472 @@ +mode: atomic +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33.53,34.30 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:34.30,36.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.2,37.25 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.25,39.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:40.2,40.12 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44.28,46.2 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52.83,53.12 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:53.12,54.16 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:54.16,55.32 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:55.32,61.5 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:63.3,65.33 3 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:65.33,71.4 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77.54,78.14 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:78.14,80.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:81.2,82.16 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:82.16,85.3 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:86.2,87.13 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92.91,93.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:93.23,95.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:96.2,97.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:97.15,99.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:100.2,105.65 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:105.65,113.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117.95,118.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:118.23,120.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:121.2,122.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:122.15,124.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:125.2,129.65 5 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:129.65,138.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142.87,143.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:143.23,145.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:146.2,147.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:150.2,153.65 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:153.65,161.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166.96,167.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:167.23,169.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:170.2,171.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:171.15,173.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:174.2,177.63 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:177.63,185.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189.97,190.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:190.23,192.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:193.2,194.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:194.15,196.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:197.2,200.68 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:200.68,208.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:30.62,31.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:31.20,33.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:34.2,35.49 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:35.49,37.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:38.2,38.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:38.14,40.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:41.2,41.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:46.52,47.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:47.14,49.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:50.2,50.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:51.14,52.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:53.19,54.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:55.15,56.45 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:57.12,58.31 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:59.10,60.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:67.43,68.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:68.14,70.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:71.2,71.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:72.15,73.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:74.19,75.38 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:75.38,77.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:78.3,78.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:78.40,80.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:81.3,81.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:82.14,83.56 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:83.56,85.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:86.3,86.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:86.54,88.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:89.3,89.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:90.10,91.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:97.49,98.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:98.14,100.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:101.2,101.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:102.15,103.18 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:104.19,105.38 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:105.38,107.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:108.3,108.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:108.40,110.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:111.3,111.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:112.14,113.56 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:113.56,115.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:116.3,116.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:116.54,118.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:119.3,119.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:120.10,121.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:127.55,128.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:128.14,130.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:131.2,131.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:132.15,133.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:134.19,135.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:135.40,137.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:138.3,138.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:139.14,140.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:140.54,142.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:143.3,143.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:144.10,145.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:151.46,152.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:152.14,154.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:155.2,155.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:156.12,157.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:158.14,159.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:159.54,161.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:162.3,162.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:163.15,164.16 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:165.19,166.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:166.40,168.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:169.3,169.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:170.10,171.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:177.40,178.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:178.14,180.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:181.2,181.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:182.13,184.26 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:184.26,185.36 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:185.36,187.5 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:189.3,189.16 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:190.16,191.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:192.14,193.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:193.14,195.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:196.3,196.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:197.10,198.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:204.38,205.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:205.14,207.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:208.2,209.9 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:209.9,211.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:212.2,213.27 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:213.27,214.42 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:214.42,216.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:218.2,218.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:222.32,223.39 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:223.39,225.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:226.2,226.30 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:226.30,228.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:229.2,229.30 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:229.30,231.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:232.2,232.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:236.35,237.28 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:237.28,239.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.2,240.28 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.28,242.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:243.2,243.15 1 0 +github.com/thebtf/engram/internal/mcp/context.go:17.55,19.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:22.78,24.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:29.78,31.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:35.53,38.2 2 0 +github.com/thebtf/engram/internal/mcp/context.go:41.80,43.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:48.80,50.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:54.53,57.2 2 0 +github.com/thebtf/engram/internal/mcp/context.go:61.51,62.43 1 0 +github.com/thebtf/engram/internal/mcp/context.go:62.43,64.3 1 0 +github.com/thebtf/engram/internal/mcp/context.go:65.2,65.16 1 0 +github.com/thebtf/engram/internal/mcp/health.go:22.32,26.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:29.37,33.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:36.35,40.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:42.44,45.25 3 0 +github.com/thebtf/engram/internal/mcp/health.go:45.25,47.50 1 0 +github.com/thebtf/engram/internal/mcp/health.go:47.50,50.4 2 0 +github.com/thebtf/engram/internal/mcp/health.go:55.74,60.16 5 0 +github.com/thebtf/engram/internal/mcp/health.go:60.16,62.3 1 0 +github.com/thebtf/engram/internal/mcp/health.go:63.2,71.4 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28.42,29.65 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:29.65,32.3 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.2,33.40 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.40,35.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:36.2,36.14 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39.120,40.69 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:40.69,42.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:43.2,44.19 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:44.19,46.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:47.2,48.17 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:48.17,50.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:51.2,52.59 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:52.59,54.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:55.2,56.20 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:56.20,58.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:59.2,60.17 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:60.17,62.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:63.2,64.21 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:64.21,66.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:67.2,68.22 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:68.22,70.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:71.2,72.23 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:76.2,98.19 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:98.19,100.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:101.2,101.66 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104.52,106.29 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:106.29,108.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:109.2,110.46 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113.113,123.27 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:123.27,125.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:130.2,130.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:127.44,138.2 1 1 +github.com/thebtf/engram/internal/mcp/server.go:141.64,143.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:146.78,148.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:151.53,153.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:156.55,158.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:161.58,163.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:166.62,168.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:171.50,173.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:176.78,178.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:181.74,183.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:186.71,189.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:191.85,193.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:195.61,197.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:199.49,201.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:204.54,206.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:211.53,213.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:216.53,218.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:222.61,224.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:228.59,230.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:234.51,236.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:240.52,242.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:246.55,248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:252.82,254.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:260.70,262.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:269.68,271.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:274.87,277.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:282.60,284.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:290.45,292.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:297.77,299.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:303.37,313.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:313.38,315.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:316.2,317.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:317.9,319.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:320.2,321.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:321.9,323.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:324.2,325.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:325.9,327.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:328.2,328.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:332.35,334.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:383.49,387.12 3 0 +github.com/thebtf/engram/internal/mcp/server.go:387.12,388.22 1 0 +github.com/thebtf/engram/internal/mcp/server.go:388.22,389.11 1 0 +github.com/thebtf/engram/internal/mcp/server.go:390.22,392.11 2 0 +github.com/thebtf/engram/internal/mcp/server.go:393.12,393.12 0 0 +github.com/thebtf/engram/internal/mcp/server.go:396.4,397.18 2 0 +github.com/thebtf/engram/internal/mcp/server.go:397.18,398.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:401.4,402.61 2 0 +github.com/thebtf/engram/internal/mcp/server.go:402.61,404.13 2 0 +github.com/thebtf/engram/internal/mcp/server.go:407.4,407.55 1 0 +github.com/thebtf/engram/internal/mcp/server.go:407.55,409.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:411.3,411.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:414.2,414.9 1 0 +github.com/thebtf/engram/internal/mcp/server.go:415.20,416.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:417.25,418.17 1 0 +github.com/thebtf/engram/internal/mcp/server.go:418.17,420.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:421.3,421.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:427.77,428.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:428.19,431.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:433.2,433.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:434.20,435.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:436.20,437.32 1 0 +github.com/thebtf/engram/internal/mcp/server.go:438.20,439.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:443.24,444.93 1 0 +github.com/thebtf/engram/internal/mcp/server.go:445.34,446.101 1 0 +github.com/thebtf/engram/internal/mcp/server.go:447.22,448.91 1 0 +github.com/thebtf/engram/internal/mcp/server.go:449.29,450.120 1 0 +github.com/thebtf/engram/internal/mcp/server.go:451.10,456.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:461.51,462.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:463.50,464.70 1 0 +github.com/thebtf/engram/internal/mcp/server.go:465.46,466.79 1 0 +github.com/thebtf/engram/internal/mcp/server.go:467.10,468.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:473.59,485.63 2 0 +github.com/thebtf/engram/internal/mcp/server.go:485.63,487.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:489.2,493.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:496.45,503.33 3 0 +github.com/thebtf/engram/internal/mcp/server.go:503.33,505.57 2 0 +github.com/thebtf/engram/internal/mcp/server.go:505.57,506.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:506.76,507.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.4,509.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.18,511.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:511.10,513.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:514.4,518.11 5 0 +github.com/thebtf/engram/internal/mcp/server.go:522.2,522.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:660.29,683.21 2 0 +github.com/thebtf/engram/internal/mcp/server.go:683.21,689.3 5 0 +github.com/thebtf/engram/internal/mcp/server.go:690.2,699.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:712.30,765.49 3 0 +github.com/thebtf/engram/internal/mcp/server.go:765.49,789.3 5 0 +github.com/thebtf/engram/internal/mcp/server.go:790.2,799.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:805.40,936.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:942.58,1048.35 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1048.35,1077.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.2,1080.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.33,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.2,1093.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.26,1123.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1124.2,1124.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1124.80,1126.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1127.2,1127.55 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1127.55,1129.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1130.2,1130.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1130.38,1132.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1134.2,1134.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1134.25,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1138.2,1138.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1138.33,1140.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1141.2,1141.69 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1141.69,1143.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1144.2,1144.75 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1144.75,1146.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1148.2,1148.27 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1148.27,1165.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.2,1168.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.76,1191.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1195.2,1195.48 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1195.48,1197.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.2,1201.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.47,1203.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.2,1205.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.38,1207.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1212.2,1212.21 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1212.21,1214.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1228.2,1228.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1228.51,1230.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1233.2,1233.56 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1233.56,1235.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1238.2,1238.71 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1238.71,1298.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1302.2,1302.104 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1302.104,1321.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1324.2,1324.72 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1324.72,1333.154 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1333.154,1334.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1334.26,1336.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1337.7,1337.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1338.35,1340.26 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1340.26,1342.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1343.7,1343.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1371.2,1371.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1371.26,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1393.2,1393.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1393.28,1443.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.2,1446.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.28,1478.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.2,1481.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.37,1561.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1564.2,1568.23 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1568.23,1570.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1572.2,1588.57 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1588.57,1591.29 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1591.29,1593.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1594.3,1594.27 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1594.27,1595.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1595.29,1597.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1601.2,1607.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1612.79,1614.60 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1614.60,1620.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1622.2,1623.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1623.16,1631.3 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1633.2,1641.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1644.69,1645.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1645.34,1647.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1648.2,1649.22 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1649.22,1651.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1652.2,1652.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1656.99,1658.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1659.16,1660.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1661.15,1662.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1663.18,1664.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1665.15,1666.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1667.18,1668.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1669.14,1670.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1671.15,1672.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1676.2,1676.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1677.35,1678.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1679.26,1680.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1681.20,1682.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1683.20,1684.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1685.16,1686.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1687.29,1688.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1689.33,1690.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1691.25,1692.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1693.23,1694.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1696.26,1697.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1698.24,1699.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1700.22,1701.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1702.25,1703.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1704.27,1705.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1706.25,1707.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1709.30,1710.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1711.28,1712.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1713.17,1714.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1715.20,1716.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1717.20,1718.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1719.20,1720.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1722.20,1723.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1724.18,1725.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1726.20,1727.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1728.18,1729.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1730.21,1731.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1732.21,1733.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1734.26,1735.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1736.25,1737.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1738.26,1739.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1740.24,1741.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1742.26,1743.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1744.27,1745.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1746.22,1747.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1748.19,1749.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1750.15,1751.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1752.16,1753.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1755.21,1756.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1757.19,1758.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1759.20,1760.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1761.22,1762.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1763.22,1764.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1765.23,1766.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1767.20,1768.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1769.32,1770.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1771.19,1772.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1773.19,1774.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1775.33,1776.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1777.35,1778.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1779.24,1780.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1781.32,1782.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1783.28,1784.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1785.21,1786.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1787.34,1788.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1789.25,1790.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1791.29,1792.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1793.26,1794.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1795.27,1796.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1798.25,1799.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1800.23,1801.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1802.27,1803.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1804.26,1805.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1806.29,1807.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1809.29,1810.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1811.27,1812.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1813.30,1814.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1815.38,1816.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1817.36,1818.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1820.24,1821.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1822.27,1823.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1824.22,1825.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1826.32,1827.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1828.32,1829.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1830.31,1831.48 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1832.35,1833.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1834.36,1835.53 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1836.36,1837.53 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1838.38,1839.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1840.34,1841.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1843.22,1844.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1845.21,1846.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1847.24,1848.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1850.25,1851.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1852.25,1853.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1859.2,1859.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1860.22,1863.131 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1866.51,1867.123 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1868.10,1869.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1874.47,1876.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1876.16,1879.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1880.2,1880.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1884.72,1890.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1896.105,1898.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1898.16,1900.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1902.2,1903.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1903.17,1905.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1907.2,1908.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1908.17,1910.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1912.2,1918.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1918.16,1920.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1921.2,1921.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1927.76,1933.15 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1933.15,1936.17 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1936.17,1938.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1939.3,1939.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1943.2,1950.36 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1950.36,1952.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1952.8,1955.29 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1955.29,1958.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1959.3,1962.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.2,1966.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.20,1977.20 6 0 +github.com/thebtf/engram/internal/mcp/server.go:1977.20,1979.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.3,1980.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.20,1982.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.3,1985.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.37,1987.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1987.30,1988.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1988.16,1990.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1990.11,1992.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1994.4,1995.56 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1995.56,1997.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1998.4,2003.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.2,2008.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.29,2009.63 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2009.63,2011.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2011.9,2013.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.2,2021.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.29,2029.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2029.38,2031.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2031.9,2033.31 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2033.31,2035.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2035.30,2037.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2039.4,2042.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2046.2,2047.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2047.16,2049.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2050.2,2050.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2055.57,2056.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2056.33,2058.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2059.2,2060.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2060.16,2062.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2063.2,2064.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2064.16,2066.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2067.2,2067.23 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2071.79,2105.15 6 0 +github.com/thebtf/engram/internal/mcp/server.go:2105.15,2107.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2107.17,2111.4 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2111.9,2112.17 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2112.17,2114.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2115.4,2117.26 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2117.26,2119.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2119.10,2121.29 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2121.29,2123.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2125.4,2129.25 5 0 +github.com/thebtf/engram/internal/mcp/server.go:2130.19,2130.19 0 0 +github.com/thebtf/engram/internal/mcp/server.go:2132.20,2134.106 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2135.12,2137.103 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2140.8,2143.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2144.2,2150.49 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2150.49,2152.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2152.8,2154.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2155.2,2168.27 4 0 +github.com/thebtf/engram/internal/mcp/server.go:2168.27,2170.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2170.17,2173.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2173.9,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2177.2,2182.40 4 0 +github.com/thebtf/engram/internal/mcp/server.go:2182.40,2183.21 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2184.20,2185.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2186.19,2187.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.2,2191.24 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.24,2193.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.8,2193.30 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.30,2195.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.2,2198.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.28,2200.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.2,2203.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.29,2205.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2207.2,2208.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2208.16,2210.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2211.2,2211.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2216.103,2218.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2218.16,2220.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2222.2,2223.15 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2223.15,2225.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2227.2,2239.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2239.16,2241.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2242.2,2242.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2246.93,2248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2251.91,2253.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:18.28,29.20 4 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:29.20,33.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:35.2,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:68.36,69.49 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:69.49,74.3 4 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:75.2,75.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:80.26,82.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:84.89,86.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:89.2,90.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:90.18,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:94.2,94.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:95.15,96.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:97.26,98.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:99.25,100.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:101.23,105.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:105.22,107.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:108.3,108.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:109.10,110.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:120.92,126.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:126.26,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:130.2,131.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:131.19,133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:134.2,135.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:135.19,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.2,138.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.24,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.2,142.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.25,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:146.2,147.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:151.2,151.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27.40,30.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32.30,46.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48.99,49.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:49.34,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.2,52.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.69,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:56.2,57.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:60.2,61.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:61.21,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:64.2,67.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:67.26,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:70.2,71.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:71.25,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:75.2,77.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:77.44,79.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.2,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.33,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:83.2,83.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86.52,87.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:87.16,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.2,90.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.15,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:93.2,93.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96.73,97.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:97.21,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:100.2,101.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:101.29,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:111.2,111.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114.34,116.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:31.98,32.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:32.52,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.2,35.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.26,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:39.2,40.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:40.49,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.2,43.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.21,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.2,46.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.21,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.2,49.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.18,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.2,52.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.18,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.2,56.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.38,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:60.2,61.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:61.16,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:68.2,70.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:70.26,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:79.2,81.36 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:81.36,84.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:86.2,89.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:89.28,90.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:90.39,91.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:93.3,97.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:100.2,104.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:107.60,113.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:115.101,116.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:116.38,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:120.2,122.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:122.21,123.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:123.26,125.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.3,126.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.23,128.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:129.8,130.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:130.26,132.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.3,133.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.68,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:137.2,140.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:141.17,142.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:143.67,143.67 0 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:144.10,145.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:148.2,162.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:162.16,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.2,165.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.2,174.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.30,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.2,177.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.31,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:181.2,182.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:182.36,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:198.2,199.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:199.19,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:202.2,203.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:203.18,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:206.2,207.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:207.21,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:210.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:211.25,213.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:214.2,225.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:225.21,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.25,230.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.2,231.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.18,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:235.2,244.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:244.21,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.2,247.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.25,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.2,250.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.18,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.2,253.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:256.2,256.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:259.50,261.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:261.22,263.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:264.2,264.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:270.90,272.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:272.42,276.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:277.2,281.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:281.27,282.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:282.45,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:286.2,286.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25.28,88.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95.95,96.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:96.22,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:99.2,100.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:100.32,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:104.2,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:109.2,114.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:114.35,121.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.2,123.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.25,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:127.2,134.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:138.2,146.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154.94,155.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:155.22,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:158.2,159.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:159.32,161.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:163.2,164.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:164.16,166.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:168.2,172.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:172.35,179.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.2,181.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.25,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:185.2,192.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:192.16,194.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:196.2,203.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211.97,212.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:212.22,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:215.2,216.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:216.32,218.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:220.2,221.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:221.16,223.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:225.2,229.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:229.35,236.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.2,238.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.25,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:242.2,249.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:249.16,251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:253.2,260.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31.80,32.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:32.14,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:35.2,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51.136,53.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:53.51,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:56.2,56.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59.94,60.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:60.21,62.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:63.2,63.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68.30,162.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165.98,166.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:166.49,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:169.2,170.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:170.16,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:173.2,174.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:174.19,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:177.2,179.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:179.17,181.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:188.2,189.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:189.31,190.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:190.15,191.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:193.3,193.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:196.2,201.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:201.16,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:204.2,204.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208.96,209.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:209.49,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:212.2,213.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:213.16,215.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:216.2,217.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:217.13,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.2,225.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.22,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:229.2,230.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:230.16,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:233.2,233.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239.100,240.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:240.22,242.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:243.2,244.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:244.16,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:247.2,248.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:248.13,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:255.2,256.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:256.12,263.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:263.30,264.77 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:264.77,269.5 4 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:271.3,272.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:272.21,274.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:275.3,275.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.2,279.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.29,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:284.2,285.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:285.16,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.2,288.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.22,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.2,291.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.55,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.2,294.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.74,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:297.2,298.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:298.16,300.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:306.2,307.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:307.41,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:310.2,324.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:324.16,325.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:325.50,327.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:328.3,328.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.2,330.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.38,332.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:334.2,341.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:341.16,343.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:344.2,344.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348.99,349.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:349.49,351.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:352.2,353.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:353.16,355.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:356.2,357.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:357.13,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:360.2,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.2,365.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.22,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.2,368.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.74,370.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:371.2,372.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:372.16,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.2,375.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.85,377.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:379.2,380.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:380.16,381.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:381.50,383.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:384.3,384.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.2,386.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.20,388.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:390.2,395.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:395.16,397.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:398.2,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402.102,403.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:403.49,405.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:406.2,407.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:407.16,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:410.2,411.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:411.13,413.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:414.2,415.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:415.16,417.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.2,418.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.22,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.2,421.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.74,423.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:424.2,425.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:425.16,427.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.2,428.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.88,430.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:432.2,433.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:433.16,434.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:434.50,436.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:437.3,437.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.2,439.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.20,441.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:443.2,448.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:448.16,450.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:451.2,451.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34.30,36.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42.61,44.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48.32,75.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79.32,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100.98,101.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:101.25,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.2,104.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.29,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:108.2,113.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:113.17,114.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:114.55,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.2,118.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.24,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.2,121.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.23,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.2,124.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.23,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:134.2,135.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:135.21,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:142.2,147.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:154.2,165.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:165.25,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:177.2,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:186.2,186.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194.98,195.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:195.25,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.2,198.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.29,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:202.2,205.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:205.17,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:208.2,209.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:209.21,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:213.2,214.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:214.16,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:217.2,218.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:218.16,220.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:226.2,231.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:231.11,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:21.52,22.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:22.24,25.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:25.28,27.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:29.2,29.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:35.72,37.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:37.15,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:45.2,45.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:49.99,51.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:51.16,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:55.2,56.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:56.16,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:60.2,72.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.2,75.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.24,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.2,78.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.24,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:81.2,81.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:82.27,82.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:84.10,85.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.2,87.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.30,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.2,90.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.26,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:104.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:116.2,123.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:126.2,126.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:130.97,132.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:132.16,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:136.2,137.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:141.2,147.23 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:147.23,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.2,150.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.26,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:154.2,155.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:155.16,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:160.16,161.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:161.47,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:164.3,164.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.2,167.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.97,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:174.2,175.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:175.16,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:179.2,185.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:185.16,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:188.2,188.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:192.99,194.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:194.16,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:198.2,199.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:199.16,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:203.2,207.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:207.26,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:211.2,212.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:212.16,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:216.2,223.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:223.26,229.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:229.28,231.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:232.3,232.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:243.100,245.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:245.16,247.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:249.2,250.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:250.16,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:254.2,262.23 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:262.23,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.2,265.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.24,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:268.2,268.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:269.27,269.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:271.10,272.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.2,274.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.30,276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.2,277.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.26,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.2,281.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.71,282.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:282.47,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:285.3,285.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:288.2,293.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:293.16,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:296.2,296.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:302.92,309.19 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:309.19,310.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:310.53,313.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:316.2,317.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:317.51,318.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:318.66,320.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:323.2,331.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:331.16,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:334.2,334.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:338.46,342.32 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:342.32,343.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:343.20,346.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:348.2,350.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:350.26,352.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:352.27,353.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:353.13,355.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:356.4,356.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:358.3,358.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:360.2,360.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:16.45,18.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:20.35,36.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:38.84,39.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:39.40,41.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.2,42.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.50,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:45.2,45.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:48.101,50.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:50.16,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:53.2,54.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:57.2,58.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:58.19,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:61.2,62.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:62.21,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:65.2,66.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:66.16,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:69.2,69.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:72.102,74.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:77.2,82.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10.100,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:22.16,23.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:24.14,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:26.14,27.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:28.17,29.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:30.17,31.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:32.21,33.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:34.19,35.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:36.17,37.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:38.16,39.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:40.16,41.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:42.21,43.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:44.10,45.167 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:15.77,16.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:16.33,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:20.2,21.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:21.27,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:25.2,26.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:26.28,29.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:29.17,31.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:34.2,41.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:41.32,46.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:46.20,48.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:49.3,49.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:61.97,62.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:62.28,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:71.2,75.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:75.29,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:79.2,80.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:80.16,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.2,84.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.20,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:88.2,97.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:97.25,103.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:103.20,105.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.3,106.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.19,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:109.3,109.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:112.2,113.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:113.16,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:117.2,117.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:121.95,122.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:122.28,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:131.2,137.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:137.50,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:141.2,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.2,145.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.16,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.2,149.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.21,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:153.2,154.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:154.16,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.2,157.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.20,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:161.2,161.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:165.98,166.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:166.28,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:170.2,171.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:171.16,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:175.2,181.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:181.50,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.2,185.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.96,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:189.2,189.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:197.98,198.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:198.28,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:207.2,217.74 6 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:217.74,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:222.2,223.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:223.16,225.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:227.2,229.156 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:235.98,237.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:237.16,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:241.2,247.24 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:247.24,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:252.2,253.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:253.29,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:256.2,256.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15.93,16.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:16.37,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:20.2,21.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:21.16,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:25.2,32.16 7 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:32.16,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.2,35.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.19,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.2,38.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.19,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:42.2,43.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:43.16,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:47.2,54.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61.91,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:62.37,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:71.2,73.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:73.16,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.2,76.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.19,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:80.2,81.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:81.43,83.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:83.19,85.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:86.3,86.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:87.8,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.2,90.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.16,91.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:91.45,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:94.3,94.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:97.2,110.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:110.16,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:113.2,113.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117.93,119.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122.91,123.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:123.37,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:132.2,133.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:133.19,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:136.2,141.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:141.16,143.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:145.2,155.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:155.25,165.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:167.2,168.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:168.16,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:171.2,171.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175.94,176.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:176.37,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:180.2,181.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:181.16,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:185.2,187.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:187.16,189.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.2,190.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.19,192.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:193.2,196.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:200.2,208.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:208.25,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:218.2,225.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232.94,233.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:233.37,235.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:242.2,243.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:243.21,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:246.2,248.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:248.19,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:252.2,253.46 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:253.46,255.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:255.13,257.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.2,259.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.44,261.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:261.13,263.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:266.2,267.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:267.16,269.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:271.2,278.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:278.16,280.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:281.2,281.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19.69,21.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23.38,38.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40.51,63.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65.53,80.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82.46,85.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:85.32,87.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:88.2,88.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91.105,93.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:93.16,95.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:96.2,97.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:100.2,100.70 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103.107,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:108.2,109.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:109.16,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:112.2,112.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115.101,117.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:117.16,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:120.2,121.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:121.17,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:124.2,139.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142.109,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:147.2,154.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157.100,159.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:159.28,161.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:161.18,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:164.3,164.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:166.2,167.72 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:167.72,169.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.2,170.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.53,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:173.2,174.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:174.26,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:177.2,177.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180.73,182.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:182.16,184.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:185.2,185.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12.104,14.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:14.16,16.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:18.2,19.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:19.18,21.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:23.2,23.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:24.14,25.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:26.18,27.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:28.17,29.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:30.10,31.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36.101,37.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:37.27,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:46.2,47.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:47.21,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:50.2,51.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:51.19,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:54.2,54.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:55.52,55.52 0 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:56.10,57.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:59.2,61.93 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:61.93,64.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:66.2,70.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:27.31,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:98.97,100.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:100.26,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.2,103.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.28,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:112.2,115.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:115.15,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.2,118.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.17,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:122.2,123.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:127.2,140.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:140.29,151.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:151.31,154.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:155.3,155.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:158.2,162.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:167.100,169.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:169.26,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.2,172.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.28,174.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.2,175.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.26,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:179.2,180.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:184.2,185.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:185.22,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:189.2,190.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:190.20,191.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:191.54,199.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.3,200.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.61,202.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:203.3,203.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:206.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:215.95,217.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:217.32,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.2,220.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.28,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:224.2,225.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:229.2,230.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:230.22,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.2,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.25,246.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:248.2,252.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:258.104,260.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:260.26,262.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:267.2,271.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:271.20,275.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:275.8,279.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:280.2,280.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:284.60,285.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:285.30,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.2,288.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.42,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:291.2,291.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:64.89,65.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:65.25,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:69.2,70.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:70.49,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:74.2,74.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:75.18,76.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:77.21,78.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:79.19,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:81.18,82.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:83.19,84.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:85.18,86.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:87.18,91.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:91.23,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:94.3,94.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:95.10,96.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:100.81,103.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:103.19,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:106.2,107.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:107.19,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.2,112.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.46,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.2,115.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.46,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.2,122.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.66,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.25,128.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:128.22,130.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:131.8,132.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:132.26,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.2,138.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.25,139.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:139.22,141.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:142.8,143.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:143.26,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.2,148.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.22,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.2,151.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.38,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.2,154.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.19,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:159.2,161.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:161.25,164.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.2,165.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.25,168.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:169.2,171.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:171.23,174.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.2,175.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.23,178.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:180.2,193.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:193.16,195.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:198.2,199.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:199.29,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.2,202.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.29,204.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:205.2,213.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:216.121,217.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:217.28,218.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:218.26,220.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:221.3,222.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:222.17,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:223.49,225.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:226.4,226.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:228.3,228.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.2,230.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.26,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:233.2,234.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:234.16,235.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:235.48,237.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:238.3,238.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:240.2,240.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:243.101,248.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:248.36,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:250.8,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.2,253.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.16,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.2,256.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.32,257.128 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:257.128,262.72 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:262.72,264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:267.2,267.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:276.81,277.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:277.25,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.2,280.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.22,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.2,283.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.39,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.2,286.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.25,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.2,289.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.21,291.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:292.2,293.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:293.14,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:296.2,305.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:305.16,307.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:308.2,314.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:317.84,318.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:318.19,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:321.2,323.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:323.63,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:326.2,329.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:332.82,333.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:333.38,335.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:336.2,337.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:338.18,339.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:340.18,341.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.2,345.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.59,347.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:349.2,351.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:351.21,353.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:353.8,356.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.2,357.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:366.2,367.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:367.41,369.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:371.2,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:397.115,398.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:398.15,400.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:403.2,404.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:404.26,405.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:405.28,407.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.3,408.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.28,410.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.2,412.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.23,415.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:420.2,426.12 4 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:426.12,427.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:427.27,429.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:429.18,431.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.4,433.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.33,435.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:440.2,441.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:441.26,442.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:442.28,443.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:443.49,445.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.3,448.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.28,449.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:449.49,451.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:454.2,454.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:457.82,458.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:458.21,460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:461.2,462.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:462.16,464.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.2,465.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.36,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:468.2,469.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:469.16,471.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:472.2,477.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:480.82,481.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:481.40,483.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:484.2,485.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:485.19,487.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:488.2,489.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:489.16,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:492.2,499.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:502.82,503.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:503.21,505.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:506.2,507.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:507.16,509.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:510.2,514.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23.179,24.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:24.22,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:28.2,32.22 4 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:32.22,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:35.2,36.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:36.22,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:40.2,41.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:41.26,43.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.2,44.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.26,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.2,47.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.30,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.2,50.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.30,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:54.2,55.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:55.16,57.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.2,58.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.13,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:61.2,62.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:62.16,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.2,65.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.13,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:69.2,70.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:70.16,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.2,73.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.15,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:77.2,77.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80.172,81.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:81.28,82.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:82.23,84.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.3,85.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.18,87.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:88.3,89.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:89.17,90.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:90.49,92.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:93.4,93.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:95.3,95.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.2,98.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.24,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.2,101.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.19,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:104.2,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:105.16,106.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:106.48,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:109.3,109.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:111.2,111.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114.119,116.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:116.22,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:119.2,120.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:120.22,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:124.2,126.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:126.26,127.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:127.36,129.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:130.3,130.105 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:131.8,132.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:132.32,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:135.3,135.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.2,137.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.2,141.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.32,143.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:143.27,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:146.3,147.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:147.27,149.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.3,150.106 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.106,151.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.3,153.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.27,154.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:154.114,155.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.9,157.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.104,158.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.3,160.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.27,161.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:161.114,162.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.9,164.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.104,165.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:167.3,167.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:169.2,169.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25.90,26.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:26.26,28.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:30.2,31.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:31.49,33.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:35.2,35.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:36.16,37.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:38.10,39.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43.84,44.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:44.21,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.2,47.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.25,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.2,50.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.21,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.2,53.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.21,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:57.2,58.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:59.18,60.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:61.15,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:63.24,64.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:65.10,66.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:69.2,70.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:70.22,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:73.2,74.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:74.29,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.2,78.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.14,85.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:87.2,89.37 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:89.37,92.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:92.21,94.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:97.2,100.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:100.31,102.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:102.38,104.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:104.37,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:109.3,122.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:122.26,124.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.3,125.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.19,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:131.3,133.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:133.39,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:135.9,137.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.3,138.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.17,140.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.3,142.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.34,144.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:145.3,145.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:148.2,155.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20.99,22.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:22.16,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:26.2,31.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:31.44,32.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:32.33,33.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:33.43,38.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.2,43.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.49,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.2,46.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.48,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:50.2,52.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:52.27,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:55.8,60.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:60.24,62.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.3,64.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.57,66.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:68.3,68.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.2,71.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.16,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:75.2,76.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:76.23,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:80.2,80.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:19.40,89.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:109.71,111.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:111.9,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:115.2,116.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:116.38,117.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:118.13,119.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:119.41,121.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:122.17,123.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:123.43,125.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:126.11,127.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:127.40,129.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.2,133.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.22,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:139.2,139.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:143.90,144.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:144.25,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:148.2,149.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:149.16,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:153.2,157.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:157.61,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:161.2,161.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:162.16,163.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:164.14,165.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:166.13,167.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:168.16,169.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:170.17,171.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:172.16,173.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:174.15,175.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:176.10,177.120 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:189.85,191.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:191.39,192.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:192.44,194.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.2,196.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.15,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.2,199.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.15,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:202.2,202.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:205.91,207.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:207.17,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:211.2,215.25 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:215.25,217.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:218.2,224.25 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:224.25,226.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.2,227.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.25,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:231.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:247.2,247.139 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:250.89,252.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:252.19,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:255.2,256.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:256.25,258.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:259.2,264.52 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:264.52,266.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:266.14,268.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:271.2,277.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:277.25,280.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:282.2,283.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:283.16,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.2,287.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.22,288.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:288.20,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:291.3,291.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:294.2,297.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:297.31,300.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:300.29,302.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:303.3,305.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:308.2,308.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:311.88,313.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:313.13,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:317.2,318.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:318.16,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:322.2,328.22 6 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:328.22,331.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.2,333.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.23,335.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:335.30,338.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:341.2,341.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:344.91,346.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:346.13,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:350.2,353.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:353.18,354.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:354.27,356.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.3,357.73 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.73,359.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.2,362.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.19,370.17 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:370.17,372.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:375.2,376.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:376.26,378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:379.2,379.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:382.92,384.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:384.13,386.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:388.2,389.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:389.16,391.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:393.2,401.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:401.16,403.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:405.2,405.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:408.91,410.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:410.13,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:414.2,418.95 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:418.95,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:422.2,422.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:425.90,427.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:427.13,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:431.2,433.167 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:433.167,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.2,437.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.89,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:441.2,441.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22.93,24.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:24.49,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:28.2,28.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:29.14,30.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:31.17,32.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:33.16,34.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:35.24,36.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:37.27,38.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:39.22,40.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:41.23,42.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:43.10,44.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48.79,49.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:49.13,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:57.2,58.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:58.32,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:61.2,84.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87.101,88.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:88.13,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.2,91.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.38,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.2,98.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.53,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:102.2,104.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:104.17,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.2,107.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.29,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:110.2,115.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118.100,119.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:119.13,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.2,122.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.38,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.2,129.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.53,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:133.2,135.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:135.17,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.2,138.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.29,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:141.2,146.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149.123,150.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:150.13,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.2,153.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.18,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.2,156.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.38,158.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:159.2,161.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:161.17,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:164.2,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172.113,173.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:173.13,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.2,176.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.50,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:179.2,181.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:181.17,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:184.2,188.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191.57,195.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197.102,198.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:198.13,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.2,201.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.20,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:204.2,205.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:205.16,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:209.2,210.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:210.32,212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:214.2,217.56 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:217.56,223.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:225.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233.41,235.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:235.16,237.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:238.2,238.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:35.27,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:42.41,43.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:44.48,45.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:46.10,47.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:54.57,55.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:56.17,57.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:58.16,59.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:60.10,61.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:82.58,83.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:84.28,85.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:86.26,87.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:88.10,89.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:93.114,95.68 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:95.68,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:99.2,101.42 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:101.42,102.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:102.71,105.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:107.2,117.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:117.23,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:121.2,124.22 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:124.22,125.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:125.31,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:128.3,128.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.8,129.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.37,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:132.2,132.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:135.74,136.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:136.30,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.2,139.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.34,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.2,142.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.31,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.2,145.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.22,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:161.169,162.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:162.17,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:165.2,166.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:166.51,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:169.2,169.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:172.92,174.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:174.42,177.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:177.63,179.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:179.9,181.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:183.2,183.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:186.65,190.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:192.115,194.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:194.26,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.8,196.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.31,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:199.2,199.117 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:202.122,206.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:206.31,207.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:207.45,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:211.2,211.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:214.72,216.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:218.117,219.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:222.2,223.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:223.20,225.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:225.17,227.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.3,228.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.27,229.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:229.50,231.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:231.30,232.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:236.3,236.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:239.2,241.60 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:241.60,243.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:243.61,245.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.3,246.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.24,247.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:249.3,250.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:250.17,252.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.3,253.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.22,254.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.3,256.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.29,257.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:257.50,259.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:259.30,260.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:264.3,265.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:265.32,266.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:269.2,269.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:272.51,273.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:273.16,275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:276.2,277.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:277.18,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.2,280.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.19,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:283.2,283.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:286.97,288.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:288.30,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.2,291.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.49,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:294.2,294.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:297.108,299.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:301.108,303.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:305.102,307.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:319.55,320.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:320.31,322.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.2,323.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.26,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:326.2,326.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:329.71,330.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:343.26,344.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:345.10,346.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:354.95,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:366.2,397.39 14 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:397.39,399.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:399.27,401.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:402.8,404.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:405.2,407.46 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:407.46,410.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.2,411.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.44,413.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:413.12,415.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.2,417.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.26,419.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.2,420.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.84,422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.2,427.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.65,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:431.2,433.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:433.20,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:436.2,437.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:437.20,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.2,440.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.56,442.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.2,443.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.56,448.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.2,450.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.45,453.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.2,459.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.31,461.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:461.22,462.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:462.62,465.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:466.4,466.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:468.3,468.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:471.2,472.115 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:472.115,474.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.2,491.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.19,493.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:493.23,495.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:496.3,508.21 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:508.21,510.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:511.3,511.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.2,522.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.43,535.34 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:535.34,556.30 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:556.30,558.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.4,559.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.44,561.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.4,562.106 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.106,564.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.4,575.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.74,577.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:578.4,579.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:579.18,581.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:583.4,584.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:584.28,586.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.4,588.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.31,599.57 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:599.57,601.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:601.17,604.7 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:606.5,607.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:607.21,609.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.5,615.138 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.138,617.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:617.27,619.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:620.6,620.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:622.5,623.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:623.26,625.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:626.5,626.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:630.4,631.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:631.20,633.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.4,634.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.22,637.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:637.26,639.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:640.5,640.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:645.4,660.77 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:660.77,662.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:663.4,664.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:664.25,666.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:667.4,667.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.2,673.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.26,675.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:677.2,678.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:678.25,680.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.2,681.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.97,683.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:690.2,691.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:691.21,693.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:693.33,695.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.3,696.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.33,698.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.3,699.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.49,704.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.3,721.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.54,722.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:722.84,724.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.2,728.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.99,730.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:732.2,733.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:733.22,735.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:736.109,737.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:738.100,739.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:740.114,741.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:742.107,743.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:744.11,745.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:748.2,749.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:749.43,751.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:753.2,755.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:755.34,756.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:756.48,757.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:757.19,760.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.2,764.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.31,767.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.2,768.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.35,771.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.2,772.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.76,776.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:778.2,780.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:780.16,782.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:782.20,785.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.2,788.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.25,798.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:798.18,800.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.9,800.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.30,807.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.3,808.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.36,810.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:811.3,812.50 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:812.50,815.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:816.3,822.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:822.17,824.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:826.3,836.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:836.17,838.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:839.3,839.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:842.2,843.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:843.30,844.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:844.52,846.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:846.9,848.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:851.2,869.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:869.21,871.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:871.43,873.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.3,874.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.29,876.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.3,886.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.76,888.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.2,890.105 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.105,892.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:893.2,894.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:894.16,896.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:901.2,904.40 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:904.40,905.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:905.15,906.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:909.3,910.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:910.63,912.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:912.9,914.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.3,916.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.43,918.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:919.3,920.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:920.20,922.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.3,925.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.23,928.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:929.3,931.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:931.33,934.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:934.39,936.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:939.2,948.42 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:948.42,950.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:950.21,952.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:952.9,955.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.2,959.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.53,960.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:960.54,961.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:961.33,963.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:964.9,972.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.3,973.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.60,974.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:974.40,976.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.3,978.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.61,979.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:979.41,981.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.3,983.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.28,985.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:986.3,987.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.2,989.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.51,991.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:995.2,997.53 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:997.53,999.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:999.8,1001.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.2,1002.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.22,1004.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1008.2,1014.76 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1014.76,1016.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.2,1021.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.57,1026.13 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1026.13,1029.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1029.21,1032.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.4,1033.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.49,1035.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1036.4,1043.89 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1043.89,1046.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1048.4,1048.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1052.2,1063.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1063.21,1065.40 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1065.40,1067.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.3,1068.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.38,1070.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1072.2,1074.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1074.18,1081.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.2,1082.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.28,1084.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.2,1085.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.16,1087.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.2,1088.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.30,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.2,1091.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.30,1093.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.2,1098.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.76,1100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1101.2,1102.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1102.16,1104.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1105.2,1105.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111.94,1113.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1113.15,1115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1117.2,1118.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1118.16,1120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1122.2,1123.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1123.13,1125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1126.2,1131.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1131.16,1133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.2,1134.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.19,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.2,1146.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.39,1148.55 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1148.55,1150.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.2,1152.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.39,1154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1157.2,1158.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1158.21,1163.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1163.21,1165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1166.3,1167.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1167.21,1169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.3,1170.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.52,1172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.3,1173.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.52,1178.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.3,1179.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.41,1182.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1183.3,1183.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.2,1188.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.46,1190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.2,1191.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.27,1193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1195.2,1196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1196.16,1198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1201.2,1210.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1210.16,1212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1213.2,1213.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218.59,1220.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1220.38,1222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1225.2,1226.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1226.29,1227.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1227.22,1229.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.2,1232.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.18,1234.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1237.2,1244.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1244.29,1245.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1245.67,1247.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.2,1249.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.16,1251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1254.2,1254.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258.55,1260.47 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1260.47,1262.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1263.2,1264.58 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1264.58,1266.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1267.2,1267.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270.252,1271.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1271.108,1273.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.2,1274.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.55,1276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1277.2,1277.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280.184,1282.69 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1282.69,1284.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1284.32,1285.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1285.58,1287.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.3,1290.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.18,1292.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.2,1294.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.19,1297.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1297.32,1298.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1298.39,1300.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.3,1303.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.19,1305.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.2,1307.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.21,1309.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1309.32,1310.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1310.49,1312.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.3,1315.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.18,1317.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.2,1319.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.28,1321.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1321.17,1323.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.3,1324.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.27,1326.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.2,1328.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.76,1330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1331.2,1331.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342.96,1343.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1343.26,1345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1347.2,1348.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1348.16,1350.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1352.2,1363.23 9 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1363.23,1364.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1364.58,1365.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1365.31,1367.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1367.10,1369.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.2,1373.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.17,1375.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.2,1376.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.16,1378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.2,1379.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.16,1381.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.2,1382.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.18,1384.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.2,1385.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.19,1387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.2,1388.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.19,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1396.2,1399.18 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1399.18,1400.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1400.61,1401.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1402.50,1403.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1404.12,1405.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1409.2,1410.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1410.42,1414.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1415.2,1420.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1420.16,1422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1429.2,1444.43 6 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1444.43,1446.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1449.2,1451.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1451.27,1453.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.2,1458.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.46,1460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.2,1461.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.63,1463.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1465.2,1466.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1466.15,1472.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1472.29,1479.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1479.18,1481.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.4,1482.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.23,1483.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.4,1485.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.30,1486.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1486.24,1488.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1488.32,1489.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1493.4,1494.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1494.30,1495.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1498.8,1504.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1504.29,1506.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1506.18,1508.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.4,1509.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.23,1510.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.4,1512.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.30,1513.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1513.24,1515.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1515.32,1516.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1520.4,1521.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1521.30,1522.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.2,1526.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.26,1528.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1528.17,1530.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.2,1535.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.74,1536.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1536.13,1537.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1537.33,1542.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1542.26,1544.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1544.39,1546.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1548.5,1548.82 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.2,1565.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.38,1569.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1569.27,1571.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.3,1572.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.27,1574.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1576.3,1581.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1581.32,1586.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1588.3,1592.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1592.18,1594.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1595.3,1596.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1596.17,1598.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1599.3,1599.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1602.2,1602.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1603.15,1618.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1618.32,1620.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1620.33,1621.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1621.40,1623.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1626.4,1638.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1640.3,1641.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1641.17,1643.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1644.3,1644.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1646.18,1648.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1648.17,1650.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1651.3,1651.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1653.10,1654.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1654.25,1656.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1657.3,1659.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1659.32,1661.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1661.33,1662.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1662.40,1664.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1667.4,1669.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1669.26,1671.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1672.4,1673.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1673.25,1675.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1676.4,1676.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1678.3,1678.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690.51,1695.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700.73,1702.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1702.16,1704.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1705.2,1706.48 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1706.48,1710.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1711.2,1713.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1713.16,1715.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1716.2,1716.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727.117,1731.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1731.21,1733.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1734.2,1735.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1735.16,1737.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1738.2,1739.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1739.27,1741.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1742.2,1742.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1764.19,1775.30 7 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1775.30,1777.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1777.37,1779.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.3,1781.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.20,1783.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.2,1797.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.39,1799.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1801.2,1811.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1811.25,1813.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1815.2,1816.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1816.29,1818.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.2,1824.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.27,1826.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1831.2,1833.22 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1833.22,1835.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1837.2,1846.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1846.16,1848.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1853.2,1855.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1855.27,1857.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1859.2,1876.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1876.33,1878.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1880.2,1881.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1881.28,1885.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1885.20,1888.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1888.33,1889.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1889.40,1891.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.4,1894.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.20,1895.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.3,1900.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.22,1902.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1902.33,1903.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1903.50,1905.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.4,1908.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.19,1909.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.3,1918.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.56,1919.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.3,1927.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.64,1928.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1932.3,1935.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1935.32,1936.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1936.39,1938.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1942.3,1956.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1956.14,1957.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1957.37,1959.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1961.3,1962.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1962.26,1963.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.2,1975.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.59,1986.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1986.17,1988.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1990.3,1991.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1991.34,1993.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1995.3,1996.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1996.29,1998.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1998.21,2001.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2001.34,2002.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2002.41,2004.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.5,2007.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.21,2008.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.4,2011.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.23,2013.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2013.34,2014.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2014.51,2016.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.5,2019.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.20,2020.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.4,2023.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.57,2024.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.4,2027.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.65,2028.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2030.4,2031.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2031.33,2032.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2032.40,2034.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2037.4,2051.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2051.15,2052.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2052.38,2054.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2056.4,2057.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2057.27,2058.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2065.2,2066.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2066.28,2068.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.2,2072.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.71,2080.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2080.30,2081.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2081.41,2087.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.3,2089.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.13,2090.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2090.31,2095.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2095.25,2097.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2097.38,2099.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2101.5,2101.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.2,2112.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.38,2115.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2115.27,2117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2121.3,2138.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2138.30,2140.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2140.11,2141.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2143.4,2160.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2160.15,2161.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2161.39,2163.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2165.4,2165.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2167.3,2173.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2173.24,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2176.3,2176.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2179.2,2179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2180.15,2182.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2182.24,2184.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2185.3,2185.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2187.18,2199.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2199.30,2201.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2201.11,2202.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2204.4,2208.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2208.15,2209.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2209.39,2211.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2213.4,2213.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2215.3,2216.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2216.24,2218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2219.3,2219.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2220.10,2221.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2221.22,2223.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2224.3,2226.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2226.27,2228.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2228.20,2230.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2231.4,2233.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2233.26,2235.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2236.4,2237.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2237.23,2239.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.4,2240.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.46,2244.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2245.4,2245.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2247.3,2247.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252.94,2254.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2254.16,2256.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2258.2,2260.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2260.18,2261.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2261.59,2262.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2262.36,2264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2264.10,2266.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.2,2270.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.13,2272.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.2,2273.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.50,2275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2277.2,2277.98 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281.98,2282.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2282.26,2284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2286.2,2287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2287.16,2289.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2291.2,2292.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2292.13,2294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2297.2,2298.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2298.19,2299.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2299.51,2301.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2302.3,2302.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.2,2304.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.42,2306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.2,2308.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.54,2309.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2309.48,2311.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2312.3,2312.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2316.2,2318.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17.82,19.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21.149,22.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:22.55,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.2,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.36,27.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:28.2,34.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:34.16,36.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.2,37.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.42,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:40.2,40.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43.105,44.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:44.48,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:47.2,48.54 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51.129,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:56.2,57.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:57.53,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:60.2,61.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:61.25,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:64.2,65.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:65.16,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:68.2,68.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26.97,27.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:27.18,29.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:30.2,30.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33.37,35.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37.81,38.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:38.44,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.2,41.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.38,43.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:44.2,44.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47.88,48.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:48.32,50.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:51.2,52.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:52.20,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:55.2,55.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58.40,72.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74.106,75.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:75.34,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:78.2,79.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:79.16,81.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:83.2,84.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:88.2,89.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:89.13,91.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:93.2,94.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:94.63,96.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.2,98.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.72,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:102.2,106.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109.117,110.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:110.32,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.2,113.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.34,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:117.2,118.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:118.16,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.2,121.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.19,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:125.2,126.69 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:126.69,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:130.2,136.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18.33,20.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22.27,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39.93,40.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:40.30,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.2,43.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.28,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:46.2,47.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:47.16,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:51.2,52.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:52.17,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:55.2,56.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:56.19,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.2,59.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.19,61.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:62.2,63.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:63.16,65.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:67.2,74.9 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:74.9,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:77.2,78.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:78.15,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:81.2,85.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:85.16,87.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.2,88.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.17,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:92.2,101.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104.48,105.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:108.2,109.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:109.29,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.2,112.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.31,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:115.2,115.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118.75,120.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:120.27,121.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:121.32,123.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:123.17,124.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:126.4,126.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:129.2,134.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:134.33,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.2,137.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.40,138.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:138.39,140.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:141.3,141.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.2,143.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.34,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:146.2,147.35 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:147.35,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:150.2,150.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153.77,154.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:154.20,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:157.2,159.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:159.31,160.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:160.33,162.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.3,163.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.30,165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:167.2,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23.91,25.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27.38,50.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52.104,53.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:53.38,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:56.2,57.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:61.2,62.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:62.26,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:65.2,66.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:66.30,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.2,69.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.72,71.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:73.2,74.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:77.2,78.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:78.16,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:81.2,82.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:82.16,84.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:85.2,86.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:90.2,105.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.2,109.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.19,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.2,118.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.25,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.2,121.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.30,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.2,124.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.31,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:131.2,131.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134.91,136.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:136.9,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:139.2,140.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:140.15,141.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:141.19,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:144.3,144.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:146.2,146.94 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149.59,150.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:150.16,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:153.2,154.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:154.61,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:157.2,157.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160.56,161.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:161.75,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:164.2,164.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167.67,169.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:170.17,171.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:172.67,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:174.10,175.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179.60,180.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:183.2,184.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:184.25,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:187.2,187.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190.57,191.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:192.15,193.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:193.81,195.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:196.3,196.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:197.19,199.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:199.17,201.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.3,202.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.55,204.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:205.3,205.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:206.14,207.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:208.11,209.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:210.10,211.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215.59,216.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:216.16,218.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:219.2,219.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:220.12,221.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:222.14,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:224.10,225.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:28.90,30.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:30.16,32.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:34.2,36.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:37.16,38.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:40.16,42.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:44.20,46.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:48.17,50.142 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:52.17,56.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:56.50,62.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:62.63,64.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.4,66.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.45,68.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:72.4,74.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:74.25,76.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:77.4,77.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:80.3,80.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:82.18,84.141 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:86.18,88.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:88.18,90.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:91.3,91.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:93.17,96.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:96.50,99.59 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:99.59,101.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:102.4,104.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:104.25,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:107.4,107.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:110.3,110.98 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:112.10,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:125.86,126.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:129.2,130.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:130.9,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.2,133.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.22,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:137.2,139.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:139.31,141.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:141.10,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:144.3,145.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:145.22,147.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:148.3,149.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:149.26,151.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.3,152.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.68,154.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:155.3,156.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:156.37,158.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:159.3,160.107 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:162.2,162.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:165.249,166.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:166.24,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.2,169.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.38,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:173.2,174.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:174.31,175.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:175.32,177.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:180.2,181.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:181.34,182.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:182.29,183.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:185.3,197.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:197.17,199.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.3,200.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.20,201.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.3,203.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.37,205.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:205.33,206.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.4,208.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.19,209.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:209.43,210.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:212.5,212.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:214.4,215.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:215.30,216.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:220.2,220.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:223.113,229.2 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:231.101,233.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:247.92,251.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:251.16,253.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.8,253.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:259.2,272.51 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:272.51,274.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:274.38,275.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:276.50,277.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:278.12,279.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:287.2,292.26 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:292.26,294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.2,297.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.19,301.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:303.2,311.42 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:311.42,315.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:316.2,341.64 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:341.64,342.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:342.86,344.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.3,345.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.56,347.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:348.3,360.19 6 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:360.19,364.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:365.3,365.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:369.2,370.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:370.15,372.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:372.27,374.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.3,375.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.27,377.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:380.2,381.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:381.15,387.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:387.28,395.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:395.18,397.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.4,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.23,399.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.4,401.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.30,402.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:402.66,403.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:405.5,406.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:406.12,407.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.5,409.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.28,413.6 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:414.5,415.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:415.30,416.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:419.4,420.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:420.30,421.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:424.8,432.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:432.28,438.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:438.18,440.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.4,441.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.23,442.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.4,444.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.30,445.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:445.40,447.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:447.31,448.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:452.4,455.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:455.30,456.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:461.2,465.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:465.17,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:469.2,470.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:470.16,472.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:473.2,473.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20.79,21.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:21.43,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.2,24.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.29,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:27.2,27.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30.40,63.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65.68,71.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:71.25,74.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:75.2,75.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78.62,83.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:83.19,87.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:88.2,88.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91.101,92.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:92.22,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:95.2,96.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:96.18,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:103.2,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:107.2,107.119 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110.99,111.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:111.22,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:114.2,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:115.18,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:118.2,119.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:119.16,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.2,122.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.51,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:129.2,131.15 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:131.15,132.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:132.69,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:135.3,135.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:137.2,137.130 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140.102,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.2,145.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.64,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:148.2,148.113 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151.109,153.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:157.16,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:160.2,161.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:161.16,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:164.2,164.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167.107,169.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:169.16,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:172.2,173.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:173.16,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.2,176.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.107,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:179.2,179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:180.41,181.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:182.41,183.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:184.10,185.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189.111,191.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:191.16,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:194.2,195.57 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:195.57,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:198.2,199.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:199.23,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.2,206.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.17,208.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:209.2,209.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212.63,215.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217.69,219.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:222.2,222.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225.60,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:230.2,230.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233.137,234.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:234.49,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:241.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:246.2,247.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:247.16,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.2,250.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.22,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:253.2,253.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256.142,258.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:258.16,260.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:261.2,262.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:262.16,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.2,265.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.47,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:268.2,269.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:269.16,270.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:270.50,272.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:273.3,273.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:275.2,275.173 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278.157,280.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:280.16,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.2,283.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.47,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:286.2,287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:287.16,288.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:288.50,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:291.3,291.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:293.2,293.169 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296.104,297.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:297.22,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:300.2,301.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:301.61,303.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:303.20,304.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.2,307.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.19,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:310.2,317.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320.119,322.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:322.39,323.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:323.81,325.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:327.2,327.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330.71,332.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:332.16,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:335.2,335.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17.61,105.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:105.23,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:123.2,123.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126.104,127.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:127.61,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.2,130.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.38,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:133.2,134.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:137.2,138.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:138.16,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:141.2,147.107 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:147.107,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:150.2,151.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:151.16,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:154.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:170.19,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:173.2,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176.103,177.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:177.61,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.2,180.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.38,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:187.2,191.106 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:191.106,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:194.2,195.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:195.16,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:198.2,200.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:200.31,207.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:207.36,218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:219.3,220.35 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:222.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233.107,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.2,237.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.38,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:240.2,241.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:241.16,243.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:244.2,248.110 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:248.110,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:251.2,252.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:252.16,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:255.2,256.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:256.33,266.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:267.2,275.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278.108,279.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:279.61,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.2,282.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.37,284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:285.2,286.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:286.16,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:289.2,290.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:290.19,292.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.2,293.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.104,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:296.2,297.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:297.16,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:300.2,307.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:307.16,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:310.2,311.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:311.43,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:319.2,332.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:332.22,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:335.2,335.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338.108,339.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:339.62,341.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.2,342.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.38,344.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:345.2,346.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:346.9,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:349.2,350.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:350.16,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:353.2,357.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:360.2,370.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373.109,374.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:374.62,376.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.2,377.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.38,379.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:380.2,381.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:381.9,383.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:384.2,385.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:385.16,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:388.2,390.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:390.32,392.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:393.2,394.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:394.16,396.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:397.2,403.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406.106,407.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:407.62,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.2,410.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.38,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:413.2,414.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:414.9,416.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:417.2,418.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:418.16,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:421.2,423.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:423.16,424.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:424.41,434.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:435.3,435.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:437.2,445.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483.65,484.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:484.42,485.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:485.39,487.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.2,489.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.85,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:492.2,492.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495.102,496.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:496.38,498.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.2,499.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.58,501.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:502.2,502.90 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505.60,508.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510.66,512.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:512.26,514.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:515.2,515.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518.69,521.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:521.33,523.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:523.21,524.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.3,526.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.34,527.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:529.3,530.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:532.2,532.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535.63,537.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:537.19,539.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:540.2,541.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:541.42,543.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.2,544.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.57,546.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.2,547.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.54,549.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:550.2,550.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553.70,557.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559.66,561.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:561.9,563.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:564.2,566.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:566.17,568.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:569.2,569.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:570.103,572.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:573.34,574.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:575.10,576.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580.56,581.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:581.37,583.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.2,584.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.26,586.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:586.37,587.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:589.3,589.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:591.2,591.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594.90,602.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604.68,605.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:605.71,607.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:607.17,609.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:610.3,610.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:612.2,613.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:613.16,615.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:616.2,617.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:617.41,619.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:620.2,620.78 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623.65,625.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:625.16,627.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.2,628.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.17,630.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:631.2,631.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634.51,635.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:635.16,637.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:638.2,638.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641.56,642.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:642.28,644.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:645.2,646.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649.92,651.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:651.29,653.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:654.2,654.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657.86,659.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:659.29,661.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:662.2,662.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665.94,667.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:667.29,669.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:670.2,670.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673.98,675.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:675.29,677.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:678.2,678.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:17.93,18.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:18.104,20.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:22.2,23.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:23.16,25.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:27.2,28.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:28.19,30.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:32.2,35.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:35.33,36.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:36.47,39.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:42.2,44.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:44.20,47.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:48.2,49.68 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:49.68,50.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:50.48,52.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.3,53.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.32,55.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:55.23,56.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:56.63,58.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:59.5,59.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:61.4,61.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:64.2,71.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:71.17,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.8,73.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.29,75.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:75.36,77.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:78.3,83.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.2,86.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.35,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:90.2,97.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:101.2,110.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:110.28,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:113.2,124.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:133.93,134.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:134.35,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:138.2,139.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:139.16,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:143.2,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.2,147.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.17,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:151.2,152.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:152.33,153.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:153.47,156.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:160.16,162.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:164.2,176.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:176.26,178.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:178.23,180.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:181.3,192.5 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:195.2,196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:199.2,199.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:22.104,24.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:24.16,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:28.2,29.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:29.18,31.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:33.2,33.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:34.13,35.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:36.13,37.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:38.14,39.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:40.16,41.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:42.10,43.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:51.67,53.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:57.68,58.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:58.33,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:61.2,61.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:67.42,69.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:74.61,76.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:76.26,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:79.2,79.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:85.90,86.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:86.49,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:90.2,91.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:91.15,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:94.2,95.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:95.17,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:100.2,103.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:103.16,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:107.2,113.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:113.12,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:115.18,117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:118.3,119.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:119.20,121.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:122.3,124.48 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:125.8,127.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:129.2,130.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:130.16,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:134.2,139.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:145.90,147.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:151.2,152.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:152.16,154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:157.16,158.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:158.47,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:161.3,161.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:164.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:170.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:173.8,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:176.2,176.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:181.92,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:187.2,188.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:188.16,190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:192.2,200.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:200.25,207.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:207.28,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:210.3,210.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:212.2,212.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:216.93,217.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:217.52,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:221.2,222.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:222.15,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:226.2,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.2,231.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.47,232.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:232.47,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:235.3,235.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:238.2,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:35.127,36.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:36.23,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:39.2,40.40 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:40.40,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.2,43.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.37,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.2,46.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.37,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:49.2,49.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:52.23,80.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:82.26,140.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:142.92,143.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:143.25,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:147.2,148.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:148.49,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:152.2,152.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:153.17,154.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:154.24,156.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:157.3,158.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:158.17,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:161.3,165.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:166.17,167.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:167.22,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.3,170.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.22,172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:173.3,174.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:174.17,176.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:177.3,181.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:182.16,189.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:189.23,191.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.3,192.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.24,194.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.3,195.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.39,197.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:198.3,207.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:207.17,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.3,210.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.69,212.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:213.3,213.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:214.10,215.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:219.92,220.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:220.25,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:224.2,225.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:225.49,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:229.2,229.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:230.17,232.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:232.24,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:235.3,236.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:236.17,238.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.3,239.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.59,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.3,242.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.81,244.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:245.3,250.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:251.17,253.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:253.22,255.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:256.3,257.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:257.17,259.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.3,260.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.79,262.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:263.3,268.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:269.10,270.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:274.91,276.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:276.16,278.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.2,279.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.67,280.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:280.76,282.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:285.2,286.52 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:286.52,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:289.2,289.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:292.74,294.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:294.16,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.2,297.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.62,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:300.2,300.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:303.109,304.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:304.56,306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.2,307.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.25,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.2,310.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.81,312.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.2,313.102 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.102,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.2,316.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.108,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.2,319.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.99,321.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.2,322.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.99,324.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.2,325.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.60,327.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.2,328.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.34,330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.2,331.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.114,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.2,334.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.66,336.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.2,337.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.40,339.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.2,340.132 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.132,342.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.2,343.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.35,345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:346.2,346.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:349.92,350.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:350.103,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:354.2,355.52 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:355.52,357.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.2,358.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.32,360.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:361.2,361.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:364.108,365.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:365.19,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:368.2,369.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:369.53,371.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.2,372.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.19,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.2,375.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.39,376.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:376.34,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:380.2,380.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:383.66,385.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:385.53,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.2,388.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.19,390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:391.2,391.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:16.2,18.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:19.16,20.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:21.14,22.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:23.15,24.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:25.16,26.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:27.10,28.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21.75,23.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25.41,28.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30.31,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39.38,46.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48.50,56.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58.43,70.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72.80,73.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:73.36,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.2,76.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.48,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:79.2,79.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82.97,84.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:87.2,88.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:88.16,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:91.2,92.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:92.16,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:95.2,96.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:96.16,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:99.2,99.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102.104,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:111.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:115.2,116.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:116.16,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:119.2,119.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122.96,124.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:127.2,128.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:128.19,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:131.2,132.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:132.18,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:135.2,141.79 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:141.79,143.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:143.17,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:146.3,146.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:148.2,148.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151.77,153.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:156.2,157.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:157.19,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:160.2,160.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:22.15,23.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:24.13,25.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:26.14,27.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:28.16,29.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:30.16,31.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:32.10,33.102 1 0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/create-database.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/create-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/create-database.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/create-database.stdout.log new file mode 100644 index 00000000..4b15bd57 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/create-database.stdout.log @@ -0,0 +1 @@ +CREATE DATABASE diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/create-pgvector.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/create-pgvector.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/create-pgvector.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/create-pgvector.stdout.log new file mode 100644 index 00000000..d26bad14 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/create-pgvector.stdout.log @@ -0,0 +1 @@ +CREATE EXTENSION diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/database-identity.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/database-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/database-identity.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/database-identity.stdout.log new file mode 100644 index 00000000..c5d2870d --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/database-identity.stdout.log @@ -0,0 +1 @@ +{"database" : "engram_prc_rg_test_72927a85c2e0d9a3_r1", "schema" : "public", "server_version" : "17.10 (Debian 17.10-1.pgdg12+1)", "user" : "engram"} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/go-test-summary.json b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/go-test-summary.json new file mode 100644 index 00000000..ba118af4 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/go-test-summary.json @@ -0,0 +1,40 @@ +{ + "schema_version": 1, + "verdict": "PASS", + "input_path": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\go-test.stdout.jsonl", + "fail_on_unexpected_skip": true, + "allowed_skip_identities": [], + "counts": { + "packages": 1, + "tests": 1, + "passed": 1, + "failed": 0, + "skipped": 0, + "no_tests": 0, + "zero_tests": 0, + "incomplete": 0, + "unexpected_skips": 0, + "malformed_lines": 0 + }, + "packages": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "outcome": "pass", + "elapsed_seconds": 5.025, + "last_output": "ok \tgithub.com/thebtf/engram/internal/mcp\t5.016s\tcoverage: 0.1% of statements", + "tests_observed": 1 + } + ], + "tests": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEC_F1_TagDerivedBackfill_T007", + "outcome": "pass", + "elapsed_seconds": 3.87, + "last_output": "--- PASS: TestEC_F1_TagDerivedBackfill_T007 (3.87s)", + "skip_allowed": false + } + ], + "unexpected_skips": [], + "errors": [] +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/go-test.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/go-test.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/go-test.stdout.jsonl b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/go-test.stdout.jsonl new file mode 100644 index 00000000..31b358e8 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/go-test.stdout.jsonl @@ -0,0 +1,16 @@ +{"Time":"2026-07-11T03:54:47.0855978+03:00","Action":"start","Package":"github.com/thebtf/engram/internal/mcp"} +{"Time":"2026-07-11T03:54:47.1578451+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007"} +{"Time":"2026-07-11T03:54:47.1578451+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"=== RUN TestEC_F1_TagDerivedBackfill_T007\n"} +{"Time":"2026-07-11T03:54:48.0606+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"warn\",\"error\":\"ERROR: relation \\\"observation_vectors\\\" does not exist (SQLSTATE 42P01)\",\"time\":\"2026-07-11T03:54:48+03:00\",\"message\":\"migration 040: orphan vector cleanup failed (non-fatal)\"}\n"} +{"Time":"2026-07-11T03:54:48.0606+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"garbage_deleted\":0,\"orphan_vectors_deleted\":0,\"time\":\"2026-07-11T03:54:48+03:00\",\"message\":\"migration 040: garbage cleanup complete\"}\n"} +{"Time":"2026-07-11T03:54:48.0691283+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"orphan_vectors_deleted\":0,\"time\":\"2026-07-11T03:54:48+03:00\",\"message\":\"migration 041: orphan vector purge complete\"}\n"} +{"Time":"2026-07-11T03:54:48.0776322+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"patterns_deleted\":0,\"time\":\"2026-07-11T03:54:48+03:00\",\"message\":\"migration 042: low-quality pattern purge complete\"}\n"} +{"Time":"2026-07-11T03:54:48.1124034+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"total_deleted\":0,\"time\":\"2026-07-11T03:54:48+03:00\",\"message\":\"migration 043: radical observation cleanup complete\"}\n"} +{"Time":"2026-07-11T03:54:49.3896699+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"warn\",\"error\":\"ERROR: extension \\\"vectorscale\\\" is not available (SQLSTATE 0A000)\",\"time\":\"2026-07-11T03:54:49+03:00\",\"message\":\"migration 109: vectorscale extension not available, skipping DiskANN index\"}\n"} +{"Time":"2026-07-11T03:54:50.6247146+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:54:50+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:54:51.0251171+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"--- PASS: TestEC_F1_TagDerivedBackfill_T007 (3.87s)\n"} +{"Time":"2026-07-11T03:54:51.0251171+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Elapsed":3.87} +{"Time":"2026-07-11T03:54:51.0251171+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"PASS\n"} +{"Time":"2026-07-11T03:54:51.0436746+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"coverage: 0.1% of statements\n"} +{"Time":"2026-07-11T03:54:52.1107721+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"ok \tgithub.com/thebtf/engram/internal/mcp\t5.016s\tcoverage: 0.1% of statements\n"} +{"Time":"2026-07-11T03:54:52.1107721+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Elapsed":5.025} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/pg-stat-activity-after.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/pg-stat-activity-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/pg-stat-activity-after.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/pg-stat-activity-after.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/pg-stat-activity-after.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/pg-stat-activity-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/pg-stat-activity-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/repeat-summary.json b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/repeat-summary.json new file mode 100644 index 00000000..8db41de2 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/repeat-summary.json @@ -0,0 +1,33 @@ +{ + "repeat": 1, + "verdict": "PASS", + "database": "engram_prc_rg_test_72927a85c2e0d9a3_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_72927a85c2e0d9a3_r1.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": true, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 0, + "json_parser_exit": 0, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\cleanup\\cleanup.json", + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01" +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/server-connection-count-after.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/server-connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/server-connection-count-after.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/server-connection-count-after.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/server-connection-count-after.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/server-connection-count-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/server-connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/server-connection-count-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/server-connection-count-before.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/server-connection-count-before.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/targeted-coverage.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/targeted-coverage.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/targeted-coverage.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/targeted-coverage.stdout.log new file mode 100644 index 00000000..c958686c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/repeat-01/targeted-coverage.stdout.log @@ -0,0 +1,352 @@ +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33: effectiveAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44: isAuditEnabled 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52: runAuditAsync 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77: marshalState 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92: logAuditCreate 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117: logAuditEdit 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142: logAuditDelete 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166: logAuditGeneric 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189: logAuditSupersede 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:30: parseArgs 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:46: coerceString 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:67: coerceInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:97: coerceInt64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:127: coerceFloat64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:151: coerceBool 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:177: coerceStringSlice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:204: coerceInt64Slice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:222: clampToInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:236: clampInt64ToInt 0.0% +github.com/thebtf/engram/internal/mcp/context.go:17: extractProjectFromHeader 0.0% +github.com/thebtf/engram/internal/mcp/context.go:22: contextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:29: ContextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:35: projectFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:41: contextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:48: ContextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:54: sessionFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:61: actorFromContext 0.0% +github.com/thebtf/engram/internal/mcp/health.go:22: NewMCPHealth 0.0% +github.com/thebtf/engram/internal/mcp/health.go:29: RecordRequest 0.0% +github.com/thebtf/engram/internal/mcp/health.go:36: RecordError 0.0% +github.com/thebtf/engram/internal/mcp/health.go:42: rotateWindowIfNeeded 0.0% +github.com/thebtf/engram/internal/mcp/health.go:55: HandleHealth 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28: ruleGovernanceCaptureEnabled 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39: captureActiveRuleIntent 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104: ruleIntentFingerprint 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113: marshalRuleCandidateIntentResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:127: NewServer 100.0% +github.com/thebtf/engram/internal/mcp/server.go:141: SetBackfillStatusFunc 0.0% +github.com/thebtf/engram/internal/mcp/server.go:146: SetVersionedDocumentStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:151: SetIssueStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:156: SetMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:161: SetMetaMemoryIndex 0.0% +github.com/thebtf/engram/internal/mcp/server.go:166: SetHintQueue 0.0% +github.com/thebtf/engram/internal/mcp/server.go:171: SetStateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:176: SetDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/server.go:181: SetBehavioralRulesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:186: SetRuleGovernanceStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:191: SetRuleInjectionTelemetryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:195: SetPromotionStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:199: SetGraphStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:204: SetNodesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:211: SetAuditStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:216: SetPurgeStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:222: SetCandidateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:228: SetSnapshotStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:234: SetBulkFacade 0.0% +github.com/thebtf/engram/internal/mcp/server.go:240: setTestAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/server.go:246: setTestMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/server.go:252: setTestMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/server.go:260: SetWriteLintOrchestrator 0.0% +github.com/thebtf/engram/internal/mcp/server.go:269: SetRedactionRules 0.0% +github.com/thebtf/engram/internal/mcp/server.go:274: SetEmbeddingStores 0.0% +github.com/thebtf/engram/internal/mcp/server.go:282: SetRerankClient 0.0% +github.com/thebtf/engram/internal/mcp/server.go:290: SetStatsDB 0.0% +github.com/thebtf/engram/internal/mcp/server.go:297: HandleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:303: ListTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:332: Version 0.0% +github.com/thebtf/engram/internal/mcp/server.go:383: Run 0.0% +github.com/thebtf/engram/internal/mcp/server.go:427: handleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:461: handleNotification 0.0% +github.com/thebtf/engram/internal/mcp/server.go:473: handleInitialize 0.0% +github.com/thebtf/engram/internal/mcp/server.go:496: buildInstructions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:660: storeMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:712: recallMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:805: primaryTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:942: handleToolsList 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1612: handleToolsCall 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1644: sanitizeToolCallArgs 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1656: callTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1874: sendResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1884: sendError 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1896: handleFindSimilarObservations 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1927: handleGetMemoryStats 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2055: handleBackfillStatus 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2071: handleCheckSystemHealth 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2216: handleAnalyzeSearchPatterns 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2246: handleSearchSessions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2251: handleListSessions 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:18: buildAdminTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:68: adminActionsForEnv 33.3% +github.com/thebtf/engram/internal/mcp/tools_admin.go:80: vnextEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:84: handleAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:120: handlePurgeProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27: ambientHintsEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32: ambientHintsTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48: handleGetAmbientHints 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86: normalizeAmbientHintsToolLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96: ambientHintItems 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114: errMissingSessionID 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:31: handleGetMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:107: memoryBriefUsesPrincipalScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:115: handlePrincipalMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:259: truncateBriefContent 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:270: filterInjectionByScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25: bulkOpsTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95: handleBulkPromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154: handleBulkDelete 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211: handleBulkSupersede 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31: candidateItemFromDomain 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51: newCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59: requireCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68: candidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165: handleListCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208: handleGetCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239: handlePromoteCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348: handleRejectCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402: handleSupersedeCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34: codeIntelEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42: SetCodeChunkStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48: codebaseSearchTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79: codebaseStatusTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100: handleCodebaseSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194: handleCodebaseStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:21: getVault 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:35: credentialStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:49: handleStoreCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:130: handleGetCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:192: handleListCredentials 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:243: handleDeleteCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:302: handleVaultStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:338: expandTagHierarchy 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:16: directivesCaptureEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:20: rememberDirectiveTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:38: currentDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:48: handleRememberDirective 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:72: parseRememberDirectiveArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10: handleDocsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:15: handleListCollections 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:61: handleListDocuments 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:121: handleGetDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:165: handleRemoveDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:197: handleIngestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:235: handleSearchCollection 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15: handleDocCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61: handleDocRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117: handleDocUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122: handleDocList 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175: handleDocHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232: handleDocComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19: SetExperienceProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23: experienceHistoryTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40: experienceHistoryReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65: experienceHistoryDetailSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82: experienceHistoryTriggerEnum 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91: handleExperienceHistoryRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103: handleExperienceHistoryDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115: parseExperienceHistoryReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142: parseExperienceHistoryDetailArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157: experienceHistoryTriggersFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180: marshalExperienceHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12: handleFeedbackConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36: handleSetSessionOutcome 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:27: governanceTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:98: handleListSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:167: handleRollbackSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:215: handlePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:258: handleRedactionRulesStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:284: resolveGovernanceActor 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:64: handleGraph 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:100: graphAddEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:216: mcpGraphEndpointExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:243: mcpGraphEdgeAlreadyExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:276: graphAddNode 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:317: graphRemoveEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:332: graphGetEdges 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:397: filterEdgesByNodeType 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:457: graphTraverse 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:480: graphFindPath 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:502: graphSynonyms 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23: graphCreateEdgeWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80: graphEndpointExistsWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114: graphDuplicateEdgeExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25: handleIngest 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43: ingestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20: handleImportInstincts 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:19: issuesToolSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:109: validateIssueActionParams 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:143: handleIssues 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:189: resolveSourceProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:205: handleIssueCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:250: handleIssueList 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:311: handleIssueGet 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:344: handleIssueUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:382: handleIssueComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:408: handleIssueReopen 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:425: handleIssueClose 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22: handleLifecycle 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48: lifecycleInfo 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87: lifecyclePromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118: lifecycleDemote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149: lifecycleSetConfidence 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172: lifecycleSetDefeasibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191: lifecycleSleepStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197: lifecycleDecayPreview 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233: marshalJSON 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:35: vnextFEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:42: isValidPrivacyScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:54: derivePrivacyScopeFromLegacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:82: deriveLegacyScopeFromPrivacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:93: applyPrincipalMemoryMetadata 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:135: addPrincipalMemoryFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:161: newScopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:172: writeLintVisibilityCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:186: writeLintVisibilityOptions 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:192: scopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:202: filterVisibleWriteGateCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:214: domainManageAllowed 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:218: List 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:272: writeLintVisibilityFetchLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:286: Get 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:297: Create 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:301: Update 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:305: MarkSuperseded 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:319: effectiveMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:329: isValidStoreObservationType 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:354: handleStoreMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111: handleEditMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218: computeTTLDays 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258: truncateTitle 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270: keepRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280: keepRecallMemoryFilters 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342: handleRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690: staleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700: marshalWithStaleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727: Rank 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1751: handleRecallMemoryHybrid 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252: handleRateMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281: handleSuppressMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17: SetDomainRegistryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21: checkDomainWriteMCP 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43: addDomainWriteDecisionFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51: marshalStoreMemoryAugmented 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26: newMemoryStoreSignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33: s6OutcomeEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37: effectiveMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47: currentMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58: rateMemorySignificanceTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74: handleRateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109: RateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18: s2MetaMemoryEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22: knowAboutTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39: handleKnowAbout 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104: parseKnowAboutLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118: summarizeMetaIndexTags 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153: summarizeMetaIndexDateRange 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23: SetPrincipalMemoryQueryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27: principalMemoryQueryTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52: handleQueryPrincipalMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134: principalMemoryQueryCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149: parsePrincipalMemoryQueryLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160: principalMemoryQueryText 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167: parsePrincipalMemoryQueryVisibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179: parsePrincipalMemoryQueryOffset 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190: parsePrincipalMemoryQueryInt 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215: parsePrincipalMemoryQueryBool 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:28: handleRecall 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:125: parseRecallIncludedPrincipals 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:165: appendRecallIncludedPrincipalMemories 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:223: recallIncludeTargetMatchesCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:231: recallPrincipalQueryItemToMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:247: handleRecallSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20: currentReviewLoopCandidateLister 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30: reviewLoopCandidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65: reviewLoopReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78: reviewPacketIDSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91: handleReviewMetricsRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110: handleReviewQueueRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140: handleReviewPacketDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151: handleReviewPacketPreviewAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167: handleReviewPacketApplyAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189: parseReviewLoopReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212: reviewLoopMCPPacketTypeSupported 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217: reviewLoopActionFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225: reviewLoopReasonFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233: loadReviewPacketCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256: applyReviewPacketPreserve 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278: applyReviewPacketSuppress 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296: reviewLoopMemoryFromCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320: filterRiskyMCPReviewCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330: marshalReviewLoop 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17: ruleGovernanceReadTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126: handleRuleGovernanceHealth 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176: handleRuleGovernanceQueue 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233: handleRuleGovernanceSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278: handleRuleGovernanceUsefulness 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338: handleRuleGovernanceTransition 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373: handleRuleGovernancePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406: handleRuleGovernanceRollback 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483: requireRuleGovernanceReadAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495: requireRuleGovernanceProjectOrAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505: ruleGovernanceCallerIsAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510: requireRuleGovernanceAdminAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518: redactRuleGovernanceEvidenceHandles 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535: redactRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553: ruleGovernanceEvidenceHandleHasSensitiveText 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559: isCanonicalRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580: isSafeRuleGovernanceEvidenceID 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594: parseRuleGovernanceTransitionRequest 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604: parseRuleGovernanceSince 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623: boundedRuleGovernanceLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634: formatRuleGovernanceTime 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641: formatRuleGovernanceTimePtr 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649: stringRuleCandidateStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657: stringRuleVersionStateCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665: stringRuleArbiterRunStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673: stringRuleInjectionEventTypeCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:17: handleStoreRule 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:133: handleListRules 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:22: handleSettingsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:51: SetSettingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:57: settingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:67: isSecretSettingKey 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:74: requireAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:85: handleSetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:145: handleGetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:181: handleListSettings 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:216: handleDeleteSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:35: resumeScopesFromFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:52: stateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:82: setStateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:142: handleGetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:219: handleSetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:274: decodeSessionStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:292: validateSessionStateBudget 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:303: validateNativeResumePacket 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:349: decodeProjectStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:364: requireStateObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:383: requireNestedObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10: handleStoreConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21: SetTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25: temporalTruthEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30: temporalTruthTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39: temporalTruthRefreshTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48: temporalTruthRefreshSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58: temporalTruthSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72: currentTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82: handleTemporalTruth 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102: handleTemporalTruthRefresh 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122: parseTemporalTruthArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151: parseTemporalTruthRefreshProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10: handleVaultConsolidated 0.0% +total: (statements) 0.1% diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/summary.json b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/summary.json new file mode 100644 index 00000000..786b157f --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-race/summary.json @@ -0,0 +1,64 @@ +{ + "schema_version": 1, + "gate": "release-gates-foundation", + "run_id": "focused-race", + "started_at": "2026-07-11T00:54:31.4101236+00:00", + "finished_at": "2026-07-11T00:54:57.5497572+00:00", + "duration_seconds": 26.14, + "verdict": "PASS", + "counts": { + "requested_repeats": 1, + "completed_repeats": 1, + "passed_repeats": 1, + "failed_repeats": 0, + "child_commands": 16, + "nonzero_child_commands": 0 + }, + "packages": [ + "./internal/mcp" + ], + "run_pattern": "^TestEC_F1_TagDerivedBackfill_T007$", + "coverage_policy": "Targeted", + "connection_budget": 20, + "race": true, + "database_dsn": "REDACTED_DATABASE_DSN", + "environment": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\environment.json", + "commands": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\commands.json", + "repeats": [ + { + "repeat": 1, + "verdict": "PASS", + "database": "engram_prc_rg_test_72927a85c2e0d9a3_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_72927a85c2e0d9a3_r1.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": true, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 0, + "json_parser_exit": 0, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01\\cleanup\\cleanup.json", + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race\\repeat-01" + } + ], + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-race" +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/commands.json b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/commands.json new file mode 100644 index 00000000..149cd0bc --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/commands.json @@ -0,0 +1,1198 @@ +[ + { + "name": "go-version", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "version" + ], + "environment_keys": [], + "command": "C:\\Program Files\\Go\\bin\\go.exe version", + "started_at": "2026-07-11T00:53:21.3705087+00:00", + "finished_at": "2026-07-11T00:53:21.5802375+00:00", + "duration_seconds": 0.21, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\go-version.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\go-version.stderr.log" + }, + { + "name": "postgres-container-identity", + "executable": "docker", + "arguments": [ + "inspect", + "--format", + "{{.Name}}|{{.Config.Image}}|{{.Image}}|{{.State.Running}}", + "engram-prc-postgres" + ], + "environment_keys": [], + "command": "docker inspect --format {{.Name}}|{{.Config.Image}}|{{.Image}}|{{.State.Running}} engram-prc-postgres", + "started_at": "2026-07-11T00:53:21.6344064+00:00", + "finished_at": "2026-07-11T00:53:21.9155525+00:00", + "duration_seconds": 0.281, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\postgres-container-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\postgres-container-identity.stderr.log" + }, + { + "name": "postgres-server-identity", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT json_build_object('server_version', current_setting('server_version'), 'server_version_num', current_setting('server_version_num'), 'version', version(), 'max_connections', current_setting('max_connections'), 'superuser_reserved_connections', current_setting('superuser_reserved_connections'), 'reserved_connections', COALESCE(NULLIF(current_setting('reserved_connections', true), ''), '0'), 'current_connections', (SELECT count(*)::text FROM pg_stat_activity), 'database', current_database(), 'schema', current_schema(), 'user', current_user)::text;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT json_build_object('server_version', current_setting('server_version'), 'server_version_num', current_setting('server_version_num'), 'version', version(), 'max_connections', current_setting('max_connections'), 'superuser_reserved_connections', current_setting('superuser_reserved_connections'), 'reserved_connections', COALESCE(NULLIF(current_setting('reserved_connections', true), ''), '0'), 'current_connections', (SELECT count(*)::text FROM pg_stat_activity), 'database', current_database(), 'schema', current_schema(), 'user', current_user)::text;", + "started_at": "2026-07-11T00:53:21.9285696+00:00", + "finished_at": "2026-07-11T00:53:22.2977492+00:00", + "duration_seconds": 0.369, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\postgres-server-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\postgres-server-identity.stderr.log" + }, + { + "name": "repeat-1-create-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "CREATE DATABASE \"engram_prc_rg_test_08822acc1e43ac35_r1\" OWNER \"engram\";" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c CREATE DATABASE \"engram_prc_rg_test_08822acc1e43ac35_r1\" OWNER \"engram\";", + "started_at": "2026-07-11T00:53:22.3287542+00:00", + "finished_at": "2026-07-11T00:53:22.7296959+00:00", + "duration_seconds": 0.401, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\create-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\create-database.stderr.log" + }, + { + "name": "repeat-1-create-pgvector", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_08822acc1e43ac35_r1", + "-At", + "-F", + "|", + "-c", + "CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_08822acc1e43ac35_r1 -At -F | -c CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;", + "started_at": "2026-07-11T00:53:22.7342396+00:00", + "finished_at": "2026-07-11T00:53:23.0800737+00:00", + "duration_seconds": 0.346, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\create-pgvector.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\create-pgvector.stderr.log" + }, + { + "name": "repeat-1-database-identity", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_08822acc1e43ac35_r1", + "-At", + "-F", + "|", + "-c", + "SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_08822acc1e43ac35_r1 -At -F | -c SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;", + "started_at": "2026-07-11T00:53:23.0828665+00:00", + "finished_at": "2026-07-11T00:53:23.5366592+00:00", + "duration_seconds": 0.454, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\database-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\database-identity.stderr.log" + }, + { + "name": "repeat-1-pg-stat-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:53:23.5415121+00:00", + "finished_at": "2026-07-11T00:53:23.9183304+00:00", + "duration_seconds": 0.377, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\pg-stat-activity-before.stderr.log" + }, + { + "name": "repeat-1-server-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T00:53:23.9205808+00:00", + "finished_at": "2026-07-11T00:53:24.2797603+00:00", + "duration_seconds": 0.359, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\server-connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\server-connection-count-before.stderr.log" + }, + { + "name": "repeat-1-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r1';", + "started_at": "2026-07-11T00:53:24.2902078+00:00", + "finished_at": "2026-07-11T00:53:24.6625136+00:00", + "duration_seconds": 0.372, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\connection-count-before.stderr.log" + }, + { + "name": "repeat-1-go-test", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "test", + "-json", + "-p", + "1", + "-parallel", + "1", + "-count=1", + "-timeout", + "30m", + "-covermode=atomic", + "-coverprofile=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\coverage.out", + "-run", + "^TestEC_F1_TagDerivedBackfill_T007$", + "./internal/mcp" + ], + "environment_keys": [ + "DATABASE_DSN", + "DATABASE_MAX_CONNS", + "ENGRAM_RELEASE_GATE_REPEAT", + "ENGRAM_RELEASE_GATE_RUN_ID", + "ENGRAM_TEST_DSN", + "TEST_DATABASE_DSN" + ], + "command": "C:\\Program Files\\Go\\bin\\go.exe test -json -p 1 -parallel 1 -count=1 -timeout 30m -covermode=atomic -coverprofile=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\coverage.out -run ^TestEC_F1_TagDerivedBackfill_T007$ ./internal/mcp", + "started_at": "2026-07-11T00:53:24.6697360+00:00", + "finished_at": "2026-07-11T00:53:35.9901804+00:00", + "duration_seconds": 11.32, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\go-test.stdout.jsonl", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\go-test.stderr.log" + }, + { + "name": "repeat-1-assert-go-test-json", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\assert-go-test-json.ps1", + "-InputPath", + ".agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\go-test.stdout.jsonl", + "-SummaryPath", + ".agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\go-test-summary.json", + "-FailOnUnexpectedSkip" + ], + "environment_keys": [], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\assert-go-test-json.ps1 -InputPath .agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\go-test.stdout.jsonl -SummaryPath .agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\go-test-summary.json -FailOnUnexpectedSkip", + "started_at": "2026-07-11T00:53:35.9958589+00:00", + "finished_at": "2026-07-11T00:53:36.6901388+00:00", + "duration_seconds": 0.694, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\assert-go-test-json.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\assert-go-test-json.stderr.log" + }, + { + "name": "repeat-1-targeted-coverage-report", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "tool", + "cover", + "-func=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\coverage.out" + ], + "environment_keys": [], + "command": "C:\\Program Files\\Go\\bin\\go.exe tool cover -func=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\coverage.out", + "started_at": "2026-07-11T00:53:36.6956136+00:00", + "finished_at": "2026-07-11T00:53:37.2680489+00:00", + "duration_seconds": 0.572, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\targeted-coverage.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\targeted-coverage.stderr.log" + }, + { + "name": "repeat-1-pg-stat-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:53:37.2689127+00:00", + "finished_at": "2026-07-11T00:53:37.6569202+00:00", + "duration_seconds": 0.388, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\pg-stat-activity-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\pg-stat-activity-after.stderr.log" + }, + { + "name": "repeat-1-server-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T00:53:37.6593884+00:00", + "finished_at": "2026-07-11T00:53:38.1031702+00:00", + "duration_seconds": 0.444, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\server-connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\server-connection-count-after.stderr.log" + }, + { + "name": "repeat-1-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r1';", + "started_at": "2026-07-11T00:53:38.1054013+00:00", + "finished_at": "2026-07-11T00:53:38.5975827+00:00", + "duration_seconds": 0.492, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\connection-count-after.stderr.log" + }, + { + "name": "repeat-1-cleanup", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\cleanup-db-sessions.ps1", + "-DatabaseName", + "engram_prc_rg_test_08822acc1e43ac35_r1", + "-SchemaName", + "public", + "-ArtifactRoot", + ".agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01", + "-RunId", + "focused-repeat3-repeat-1", + "-PostgresContainer", + "engram-prc-postgres" + ], + "environment_keys": [ + "ENGRAM_TEST_ADMIN_DSN" + ], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\cleanup-db-sessions.ps1 -DatabaseName engram_prc_rg_test_08822acc1e43ac35_r1 -SchemaName public -ArtifactRoot .agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01 -RunId focused-repeat3-repeat-1 -PostgresContainer engram-prc-postgres", + "started_at": "2026-07-11T00:53:38.6019431+00:00", + "finished_at": "2026-07-11T00:53:41.4996236+00:00", + "duration_seconds": 2.898, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\cleanup-process.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\cleanup-process.stderr.log" + }, + { + "name": "repeat-2-create-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "CREATE DATABASE \"engram_prc_rg_test_08822acc1e43ac35_r2\" OWNER \"engram\";" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c CREATE DATABASE \"engram_prc_rg_test_08822acc1e43ac35_r2\" OWNER \"engram\";", + "started_at": "2026-07-11T00:53:41.5277867+00:00", + "finished_at": "2026-07-11T00:53:41.9514604+00:00", + "duration_seconds": 0.424, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\create-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\create-database.stderr.log" + }, + { + "name": "repeat-2-create-pgvector", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_08822acc1e43ac35_r2", + "-At", + "-F", + "|", + "-c", + "CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_08822acc1e43ac35_r2 -At -F | -c CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;", + "started_at": "2026-07-11T00:53:41.9537062+00:00", + "finished_at": "2026-07-11T00:53:42.3549386+00:00", + "duration_seconds": 0.401, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\create-pgvector.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\create-pgvector.stderr.log" + }, + { + "name": "repeat-2-database-identity", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_08822acc1e43ac35_r2", + "-At", + "-F", + "|", + "-c", + "SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_08822acc1e43ac35_r2 -At -F | -c SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;", + "started_at": "2026-07-11T00:53:42.3571597+00:00", + "finished_at": "2026-07-11T00:53:42.7421099+00:00", + "duration_seconds": 0.385, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\database-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\database-identity.stderr.log" + }, + { + "name": "repeat-2-pg-stat-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r2' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r2' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:53:42.7441754+00:00", + "finished_at": "2026-07-11T00:53:43.1074088+00:00", + "duration_seconds": 0.363, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\pg-stat-activity-before.stderr.log" + }, + { + "name": "repeat-2-server-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T00:53:43.1095256+00:00", + "finished_at": "2026-07-11T00:53:43.6153357+00:00", + "duration_seconds": 0.506, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\server-connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\server-connection-count-before.stderr.log" + }, + { + "name": "repeat-2-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r2';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r2';", + "started_at": "2026-07-11T00:53:43.6175389+00:00", + "finished_at": "2026-07-11T00:53:43.9780955+00:00", + "duration_seconds": 0.361, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\connection-count-before.stderr.log" + }, + { + "name": "repeat-2-go-test", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "test", + "-json", + "-p", + "1", + "-parallel", + "1", + "-count=1", + "-timeout", + "30m", + "-covermode=atomic", + "-coverprofile=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\coverage.out", + "-run", + "^TestEC_F1_TagDerivedBackfill_T007$", + "./internal/mcp" + ], + "environment_keys": [ + "DATABASE_DSN", + "DATABASE_MAX_CONNS", + "ENGRAM_RELEASE_GATE_REPEAT", + "ENGRAM_RELEASE_GATE_RUN_ID", + "ENGRAM_TEST_DSN", + "TEST_DATABASE_DSN" + ], + "command": "C:\\Program Files\\Go\\bin\\go.exe test -json -p 1 -parallel 1 -count=1 -timeout 30m -covermode=atomic -coverprofile=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\coverage.out -run ^TestEC_F1_TagDerivedBackfill_T007$ ./internal/mcp", + "started_at": "2026-07-11T00:53:43.9802973+00:00", + "finished_at": "2026-07-11T00:53:49.6439349+00:00", + "duration_seconds": 5.664, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\go-test.stdout.jsonl", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\go-test.stderr.log" + }, + { + "name": "repeat-2-assert-go-test-json", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\assert-go-test-json.ps1", + "-InputPath", + ".agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\go-test.stdout.jsonl", + "-SummaryPath", + ".agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\go-test-summary.json", + "-FailOnUnexpectedSkip" + ], + "environment_keys": [], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\assert-go-test-json.ps1 -InputPath .agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\go-test.stdout.jsonl -SummaryPath .agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\go-test-summary.json -FailOnUnexpectedSkip", + "started_at": "2026-07-11T00:53:49.6462890+00:00", + "finished_at": "2026-07-11T00:53:50.3595131+00:00", + "duration_seconds": 0.713, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\assert-go-test-json.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\assert-go-test-json.stderr.log" + }, + { + "name": "repeat-2-targeted-coverage-report", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "tool", + "cover", + "-func=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\coverage.out" + ], + "environment_keys": [], + "command": "C:\\Program Files\\Go\\bin\\go.exe tool cover -func=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\coverage.out", + "started_at": "2026-07-11T00:53:50.3614808+00:00", + "finished_at": "2026-07-11T00:53:50.8163935+00:00", + "duration_seconds": 0.455, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\targeted-coverage.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\targeted-coverage.stderr.log" + }, + { + "name": "repeat-2-pg-stat-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r2' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r2' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:53:50.8172567+00:00", + "finished_at": "2026-07-11T00:53:51.1774502+00:00", + "duration_seconds": 0.36, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\pg-stat-activity-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\pg-stat-activity-after.stderr.log" + }, + { + "name": "repeat-2-server-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T00:53:51.1794210+00:00", + "finished_at": "2026-07-11T00:53:51.5778474+00:00", + "duration_seconds": 0.398, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\server-connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\server-connection-count-after.stderr.log" + }, + { + "name": "repeat-2-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r2';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r2';", + "started_at": "2026-07-11T00:53:51.5797920+00:00", + "finished_at": "2026-07-11T00:53:51.9535324+00:00", + "duration_seconds": 0.374, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\connection-count-after.stderr.log" + }, + { + "name": "repeat-2-cleanup", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\cleanup-db-sessions.ps1", + "-DatabaseName", + "engram_prc_rg_test_08822acc1e43ac35_r2", + "-SchemaName", + "public", + "-ArtifactRoot", + ".agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02", + "-RunId", + "focused-repeat3-repeat-2", + "-PostgresContainer", + "engram-prc-postgres" + ], + "environment_keys": [ + "ENGRAM_TEST_ADMIN_DSN" + ], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\cleanup-db-sessions.ps1 -DatabaseName engram_prc_rg_test_08822acc1e43ac35_r2 -SchemaName public -ArtifactRoot .agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02 -RunId focused-repeat3-repeat-2 -PostgresContainer engram-prc-postgres", + "started_at": "2026-07-11T00:53:51.9555891+00:00", + "finished_at": "2026-07-11T00:53:56.5065618+00:00", + "duration_seconds": 4.551, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\cleanup-process.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\cleanup-process.stderr.log" + }, + { + "name": "repeat-3-create-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "CREATE DATABASE \"engram_prc_rg_test_08822acc1e43ac35_r3\" OWNER \"engram\";" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c CREATE DATABASE \"engram_prc_rg_test_08822acc1e43ac35_r3\" OWNER \"engram\";", + "started_at": "2026-07-11T00:53:56.5146815+00:00", + "finished_at": "2026-07-11T00:53:57.2437889+00:00", + "duration_seconds": 0.729, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\create-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\create-database.stderr.log" + }, + { + "name": "repeat-3-create-pgvector", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_08822acc1e43ac35_r3", + "-At", + "-F", + "|", + "-c", + "CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_08822acc1e43ac35_r3 -At -F | -c CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;", + "started_at": "2026-07-11T00:53:57.2461288+00:00", + "finished_at": "2026-07-11T00:53:58.1866045+00:00", + "duration_seconds": 0.94, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\create-pgvector.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\create-pgvector.stderr.log" + }, + { + "name": "repeat-3-database-identity", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_08822acc1e43ac35_r3", + "-At", + "-F", + "|", + "-c", + "SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_08822acc1e43ac35_r3 -At -F | -c SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;", + "started_at": "2026-07-11T00:53:58.1887954+00:00", + "finished_at": "2026-07-11T00:53:59.2643132+00:00", + "duration_seconds": 1.076, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\database-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\database-identity.stderr.log" + }, + { + "name": "repeat-3-pg-stat-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r3' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r3' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:53:59.2666952+00:00", + "finished_at": "2026-07-11T00:54:01.4744700+00:00", + "duration_seconds": 2.208, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\pg-stat-activity-before.stderr.log" + }, + { + "name": "repeat-3-server-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T00:54:01.4765746+00:00", + "finished_at": "2026-07-11T00:54:02.7357489+00:00", + "duration_seconds": 1.259, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\server-connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\server-connection-count-before.stderr.log" + }, + { + "name": "repeat-3-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r3';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r3';", + "started_at": "2026-07-11T00:54:02.7377944+00:00", + "finished_at": "2026-07-11T00:54:04.0553258+00:00", + "duration_seconds": 1.318, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\connection-count-before.stderr.log" + }, + { + "name": "repeat-3-go-test", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "test", + "-json", + "-p", + "1", + "-parallel", + "1", + "-count=1", + "-timeout", + "30m", + "-covermode=atomic", + "-coverprofile=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\coverage.out", + "-run", + "^TestEC_F1_TagDerivedBackfill_T007$", + "./internal/mcp" + ], + "environment_keys": [ + "DATABASE_DSN", + "DATABASE_MAX_CONNS", + "ENGRAM_RELEASE_GATE_REPEAT", + "ENGRAM_RELEASE_GATE_RUN_ID", + "ENGRAM_TEST_DSN", + "TEST_DATABASE_DSN" + ], + "command": "C:\\Program Files\\Go\\bin\\go.exe test -json -p 1 -parallel 1 -count=1 -timeout 30m -covermode=atomic -coverprofile=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\coverage.out -run ^TestEC_F1_TagDerivedBackfill_T007$ ./internal/mcp", + "started_at": "2026-07-11T00:54:04.0580580+00:00", + "finished_at": "2026-07-11T00:54:12.7863210+00:00", + "duration_seconds": 8.728, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\go-test.stdout.jsonl", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\go-test.stderr.log" + }, + { + "name": "repeat-3-assert-go-test-json", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\assert-go-test-json.ps1", + "-InputPath", + ".agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\go-test.stdout.jsonl", + "-SummaryPath", + ".agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\go-test-summary.json", + "-FailOnUnexpectedSkip" + ], + "environment_keys": [], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\assert-go-test-json.ps1 -InputPath .agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\go-test.stdout.jsonl -SummaryPath .agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\go-test-summary.json -FailOnUnexpectedSkip", + "started_at": "2026-07-11T00:54:12.7885999+00:00", + "finished_at": "2026-07-11T00:54:13.7721180+00:00", + "duration_seconds": 0.984, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\assert-go-test-json.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\assert-go-test-json.stderr.log" + }, + { + "name": "repeat-3-targeted-coverage-report", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "tool", + "cover", + "-func=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\coverage.out" + ], + "environment_keys": [], + "command": "C:\\Program Files\\Go\\bin\\go.exe tool cover -func=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\coverage.out", + "started_at": "2026-07-11T00:54:13.7738349+00:00", + "finished_at": "2026-07-11T00:54:14.4347715+00:00", + "duration_seconds": 0.661, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\targeted-coverage.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\targeted-coverage.stderr.log" + }, + { + "name": "repeat-3-pg-stat-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r3' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r3' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:54:14.4358950+00:00", + "finished_at": "2026-07-11T00:54:15.0222104+00:00", + "duration_seconds": 0.586, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\pg-stat-activity-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\pg-stat-activity-after.stderr.log" + }, + { + "name": "repeat-3-server-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T00:54:15.0243810+00:00", + "finished_at": "2026-07-11T00:54:15.5831250+00:00", + "duration_seconds": 0.559, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\server-connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\server-connection-count-after.stderr.log" + }, + { + "name": "repeat-3-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r3';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r3';", + "started_at": "2026-07-11T00:54:15.5854045+00:00", + "finished_at": "2026-07-11T00:54:16.0716840+00:00", + "duration_seconds": 0.486, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\connection-count-after.stderr.log" + }, + { + "name": "repeat-3-cleanup", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\cleanup-db-sessions.ps1", + "-DatabaseName", + "engram_prc_rg_test_08822acc1e43ac35_r3", + "-SchemaName", + "public", + "-ArtifactRoot", + ".agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03", + "-RunId", + "focused-repeat3-repeat-3", + "-PostgresContainer", + "engram-prc-postgres" + ], + "environment_keys": [ + "ENGRAM_TEST_ADMIN_DSN" + ], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\cleanup-db-sessions.ps1 -DatabaseName engram_prc_rg_test_08822acc1e43ac35_r3 -SchemaName public -ArtifactRoot .agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03 -RunId focused-repeat3-repeat-3 -PostgresContainer engram-prc-postgres", + "started_at": "2026-07-11T00:54:16.0738061+00:00", + "finished_at": "2026-07-11T00:54:19.5424569+00:00", + "duration_seconds": 3.469, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\cleanup-process.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\cleanup-process.stderr.log" + } +] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/environment.json b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/environment.json new file mode 100644 index 00000000..1552012d --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/environment.json @@ -0,0 +1,52 @@ +{ + "schema_version": 1, + "run_id": "focused-repeat3", + "timestamp": "2026-07-11T00:53:21.3539664+00:00", + "go_version": "go version go1.25.11 windows/amd64", + "postgres": { + "declared_image": "pgvector/pgvector:pg17", + "container": { + "name": "/engram-prc-postgres", + "configured_image": "pgvector/pgvector:pg17", + "image_id": "sha256:feb68f4f15446397d8cac7f4fe48fe4586de83160d1fc48b46283312d1a33966", + "running": true + }, + "server": { + "server_version": "17.10 (Debian 17.10-1.pgdg12+1)", + "server_version_num": "170010", + "version": "PostgreSQL 17.10 (Debian 17.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit", + "max_connections": "100", + "superuser_reserved_connections": "3", + "reserved_connections": "0", + "current_connections": "6", + "database": "postgres", + "schema": "public", + "user": "engram" + }, + "admin_dsn": "postgresql://engram:REDACTED@127.0.0.1:55432/postgres?sslmode=disable" + }, + "packages": [ + "./internal/mcp" + ], + "run_pattern": "^TestEC_F1_TagDerivedBackfill_T007$", + "repeat": 3, + "fail_on_unexpected_skip": true, + "allowed_skip_identities": [], + "coverage_policy": "Targeted", + "connection_budget": 20, + "race": false, + "require_session_start_execution": false, + "required_session_start_test_count": 12, + "sequential_execution": { + "go_package_parallelism": 1, + "go_test_parallelism": 1, + "database_max_connections": 20 + }, + "govulncheck_policy": { + "authoritative": [ + "source scan with tests", + "unstripped binary scan" + ], + "non_authoritative": "stripped binary scan (module-level fallback when symbols are absent)" + } +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/go-version.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/go-version.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/go-version.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/go-version.stdout.log new file mode 100644 index 00000000..a857be3f --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/go-version.stdout.log @@ -0,0 +1 @@ +go version go1.25.11 windows/amd64 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/postgres-container-identity.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/postgres-container-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/postgres-container-identity.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/postgres-container-identity.stdout.log new file mode 100644 index 00000000..c110d492 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/postgres-container-identity.stdout.log @@ -0,0 +1 @@ +/engram-prc-postgres|pgvector/pgvector:pg17|sha256:feb68f4f15446397d8cac7f4fe48fe4586de83160d1fc48b46283312d1a33966|true diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/postgres-server-identity.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/postgres-server-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/postgres-server-identity.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/postgres-server-identity.stdout.log new file mode 100644 index 00000000..2e33d56e --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/postgres-server-identity.stdout.log @@ -0,0 +1 @@ +{"server_version" : "17.10 (Debian 17.10-1.pgdg12+1)", "server_version_num" : "170010", "version" : "PostgreSQL 17.10 (Debian 17.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit", "max_connections" : "100", "superuser_reserved_connections" : "3", "reserved_connections" : "0", "current_connections" : "6", "database" : "postgres", "schema" : "public", "user" : "engram"} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/assert-go-test-json.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/assert-go-test-json.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/assert-go-test-json.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/assert-go-test-json.stdout.log new file mode 100644 index 00000000..a7ff043a --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/assert-go-test-json.stdout.log @@ -0,0 +1,2 @@ +go test JSON verdict=PASS packages=1 tests=1 passed=1 failed=0 skipped=0 unexpected_skips=0 malformed=0 +summary=D:\Dev\engram\.w\t007-r1-checker\.agent\reviews\t007-r1-fresh-checker\evidence\focused-repeat3\repeat-01\go-test-summary.json diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/cleanup-process.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/cleanup-process.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/cleanup-process.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/cleanup-process.stdout.log new file mode 100644 index 00000000..d6154bde --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/cleanup-process.stdout.log @@ -0,0 +1,2 @@ +cleanup verdict=PASS database=engram_prc_rg_test_08822acc1e43ac35_r1 schema=public terminated_sessions=0 remaining_database_count=0 +summary=D:\Dev\engram\.w\t007-r1-checker\.agent\reviews\t007-r1-fresh-checker\evidence\focused-repeat3\repeat-01\cleanup\cleanup.json diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/cleanup/cleanup.json b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/cleanup/cleanup.json new file mode 100644 index 00000000..91256d87 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/cleanup/cleanup.json @@ -0,0 +1,170 @@ +{ + "schema_version": 1, + "run_id": "focused-repeat3-repeat-1", + "timestamp": "2026-07-11T00:53:41.4154337+00:00", + "verdict": "PASS", + "database": "engram_prc_rg_test_08822acc1e43ac35_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_08822acc1e43ac35_r1.public", + "admin_dsn": "postgresql://engram:REDACTED@127.0.0.1:55432/postgres?sslmode=disable", + "postgres_container": "engram-prc-postgres", + "cleanup_status": "PASS", + "cleanup_attempted": true, + "database_existed_before": true, + "absence_verified": true, + "terminated_sessions": 0, + "remaining_database_count": 0, + "commands": [ + { + "name": "database-exists-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r1';", + "started_at": "2026-07-11T00:53:39.1769796+00:00", + "finished_at": "2026-07-11T00:53:39.5789778+00:00", + "duration_seconds": 0.402, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\cleanup\\database-exists-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\cleanup\\database-exists-before.stderr.log" + }, + { + "name": "pg-stat-activity-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:53:39.6455472+00:00", + "finished_at": "2026-07-11T00:53:40.0378972+00:00", + "duration_seconds": 0.392, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\cleanup\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\cleanup\\pg-stat-activity-before.stderr.log" + }, + { + "name": "terminate-database-sessions", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r1' AND pid <> pg_backend_pid() ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r1' AND pid <> pg_backend_pid() ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:53:40.0419827+00:00", + "finished_at": "2026-07-11T00:53:40.5201712+00:00", + "duration_seconds": 0.478, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\cleanup\\terminate-sessions.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\cleanup\\terminate-sessions.stderr.log" + }, + { + "name": "drop-fresh-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "DROP DATABASE IF EXISTS \"engram_prc_rg_test_08822acc1e43ac35_r1\" WITH (FORCE);" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c DROP DATABASE IF EXISTS \"engram_prc_rg_test_08822acc1e43ac35_r1\" WITH (FORCE);", + "started_at": "2026-07-11T00:53:40.5289454+00:00", + "finished_at": "2026-07-11T00:53:40.9816184+00:00", + "duration_seconds": 0.453, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\cleanup\\drop-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\cleanup\\drop-database.stderr.log" + }, + { + "name": "verify-database-absent", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r1';", + "started_at": "2026-07-11T00:53:40.9854438+00:00", + "finished_at": "2026-07-11T00:53:41.4070180+00:00", + "duration_seconds": 0.422, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\cleanup\\verify-database-absent.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\cleanup\\verify-database-absent.stderr.log" + } + ], + "errors": [] +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/cleanup/database-exists-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/cleanup/database-exists-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/cleanup/database-exists-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/cleanup/database-exists-before.stdout.log new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/cleanup/database-exists-before.stdout.log @@ -0,0 +1 @@ +1 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/cleanup/drop-database.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/cleanup/drop-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/cleanup/drop-database.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/cleanup/drop-database.stdout.log new file mode 100644 index 00000000..ca12dce0 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/cleanup/drop-database.stdout.log @@ -0,0 +1 @@ +DROP DATABASE diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/cleanup/pg-stat-activity-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/cleanup/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/cleanup/pg-stat-activity-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/cleanup/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/cleanup/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/cleanup/terminate-sessions.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/cleanup/terminate-sessions.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/cleanup/terminate-sessions.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/cleanup/terminate-sessions.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/cleanup/terminate-sessions.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/cleanup/verify-database-absent.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/cleanup/verify-database-absent.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/cleanup/verify-database-absent.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/cleanup/verify-database-absent.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/cleanup/verify-database-absent.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/connection-count-after.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/connection-count-after.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/connection-count-after.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/connection-count-after.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/connection-count-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/connection-count-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/connection-count-before.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/connection-count-before.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/coverage.out b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/coverage.out new file mode 100644 index 00000000..52335d8a --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/coverage.out @@ -0,0 +1,3472 @@ +mode: atomic +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33.53,34.30 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:34.30,36.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.2,37.25 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.25,39.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:40.2,40.12 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44.28,46.2 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52.83,53.12 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:53.12,54.16 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:54.16,55.32 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:55.32,61.5 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:63.3,65.33 3 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:65.33,71.4 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77.54,78.14 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:78.14,80.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:81.2,82.16 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:82.16,85.3 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:86.2,87.13 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92.91,93.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:93.23,95.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:96.2,97.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:97.15,99.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:100.2,105.65 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:105.65,113.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117.95,118.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:118.23,120.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:121.2,122.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:122.15,124.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:125.2,129.65 5 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:129.65,138.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142.87,143.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:143.23,145.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:146.2,147.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:150.2,153.65 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:153.65,161.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166.96,167.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:167.23,169.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:170.2,171.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:171.15,173.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:174.2,177.63 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:177.63,185.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189.97,190.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:190.23,192.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:193.2,194.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:194.15,196.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:197.2,200.68 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:200.68,208.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:30.62,31.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:31.20,33.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:34.2,35.49 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:35.49,37.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:38.2,38.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:38.14,40.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:41.2,41.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:46.52,47.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:47.14,49.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:50.2,50.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:51.14,52.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:53.19,54.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:55.15,56.45 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:57.12,58.31 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:59.10,60.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:67.43,68.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:68.14,70.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:71.2,71.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:72.15,73.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:74.19,75.38 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:75.38,77.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:78.3,78.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:78.40,80.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:81.3,81.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:82.14,83.56 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:83.56,85.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:86.3,86.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:86.54,88.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:89.3,89.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:90.10,91.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:97.49,98.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:98.14,100.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:101.2,101.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:102.15,103.18 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:104.19,105.38 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:105.38,107.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:108.3,108.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:108.40,110.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:111.3,111.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:112.14,113.56 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:113.56,115.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:116.3,116.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:116.54,118.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:119.3,119.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:120.10,121.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:127.55,128.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:128.14,130.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:131.2,131.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:132.15,133.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:134.19,135.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:135.40,137.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:138.3,138.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:139.14,140.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:140.54,142.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:143.3,143.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:144.10,145.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:151.46,152.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:152.14,154.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:155.2,155.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:156.12,157.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:158.14,159.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:159.54,161.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:162.3,162.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:163.15,164.16 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:165.19,166.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:166.40,168.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:169.3,169.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:170.10,171.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:177.40,178.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:178.14,180.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:181.2,181.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:182.13,184.26 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:184.26,185.36 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:185.36,187.5 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:189.3,189.16 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:190.16,191.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:192.14,193.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:193.14,195.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:196.3,196.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:197.10,198.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:204.38,205.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:205.14,207.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:208.2,209.9 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:209.9,211.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:212.2,213.27 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:213.27,214.42 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:214.42,216.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:218.2,218.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:222.32,223.39 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:223.39,225.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:226.2,226.30 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:226.30,228.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:229.2,229.30 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:229.30,231.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:232.2,232.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:236.35,237.28 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:237.28,239.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.2,240.28 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.28,242.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:243.2,243.15 1 0 +github.com/thebtf/engram/internal/mcp/context.go:17.55,19.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:22.78,24.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:29.78,31.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:35.53,38.2 2 0 +github.com/thebtf/engram/internal/mcp/context.go:41.80,43.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:48.80,50.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:54.53,57.2 2 0 +github.com/thebtf/engram/internal/mcp/context.go:61.51,62.43 1 0 +github.com/thebtf/engram/internal/mcp/context.go:62.43,64.3 1 0 +github.com/thebtf/engram/internal/mcp/context.go:65.2,65.16 1 0 +github.com/thebtf/engram/internal/mcp/health.go:22.32,26.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:29.37,33.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:36.35,40.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:42.44,45.25 3 0 +github.com/thebtf/engram/internal/mcp/health.go:45.25,47.50 1 0 +github.com/thebtf/engram/internal/mcp/health.go:47.50,50.4 2 0 +github.com/thebtf/engram/internal/mcp/health.go:55.74,60.16 5 0 +github.com/thebtf/engram/internal/mcp/health.go:60.16,62.3 1 0 +github.com/thebtf/engram/internal/mcp/health.go:63.2,71.4 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28.42,29.65 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:29.65,32.3 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.2,33.40 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.40,35.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:36.2,36.14 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39.120,40.69 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:40.69,42.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:43.2,44.19 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:44.19,46.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:47.2,48.17 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:48.17,50.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:51.2,52.59 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:52.59,54.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:55.2,56.20 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:56.20,58.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:59.2,60.17 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:60.17,62.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:63.2,64.21 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:64.21,66.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:67.2,68.22 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:68.22,70.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:71.2,72.23 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:76.2,98.19 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:98.19,100.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:101.2,101.66 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104.52,106.29 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:106.29,108.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:109.2,110.46 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113.113,123.27 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:123.27,125.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:130.2,130.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:127.44,138.2 1 1 +github.com/thebtf/engram/internal/mcp/server.go:141.64,143.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:146.78,148.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:151.53,153.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:156.55,158.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:161.58,163.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:166.62,168.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:171.50,173.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:176.78,178.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:181.74,183.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:186.71,189.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:191.85,193.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:195.61,197.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:199.49,201.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:204.54,206.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:211.53,213.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:216.53,218.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:222.61,224.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:228.59,230.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:234.51,236.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:240.52,242.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:246.55,248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:252.82,254.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:260.70,262.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:269.68,271.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:274.87,277.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:282.60,284.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:290.45,292.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:297.77,299.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:303.37,313.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:313.38,315.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:316.2,317.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:317.9,319.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:320.2,321.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:321.9,323.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:324.2,325.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:325.9,327.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:328.2,328.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:332.35,334.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:383.49,387.12 3 0 +github.com/thebtf/engram/internal/mcp/server.go:387.12,388.22 1 0 +github.com/thebtf/engram/internal/mcp/server.go:388.22,389.11 1 0 +github.com/thebtf/engram/internal/mcp/server.go:390.22,392.11 2 0 +github.com/thebtf/engram/internal/mcp/server.go:393.12,393.12 0 0 +github.com/thebtf/engram/internal/mcp/server.go:396.4,397.18 2 0 +github.com/thebtf/engram/internal/mcp/server.go:397.18,398.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:401.4,402.61 2 0 +github.com/thebtf/engram/internal/mcp/server.go:402.61,404.13 2 0 +github.com/thebtf/engram/internal/mcp/server.go:407.4,407.55 1 0 +github.com/thebtf/engram/internal/mcp/server.go:407.55,409.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:411.3,411.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:414.2,414.9 1 0 +github.com/thebtf/engram/internal/mcp/server.go:415.20,416.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:417.25,418.17 1 0 +github.com/thebtf/engram/internal/mcp/server.go:418.17,420.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:421.3,421.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:427.77,428.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:428.19,431.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:433.2,433.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:434.20,435.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:436.20,437.32 1 0 +github.com/thebtf/engram/internal/mcp/server.go:438.20,439.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:443.24,444.93 1 0 +github.com/thebtf/engram/internal/mcp/server.go:445.34,446.101 1 0 +github.com/thebtf/engram/internal/mcp/server.go:447.22,448.91 1 0 +github.com/thebtf/engram/internal/mcp/server.go:449.29,450.120 1 0 +github.com/thebtf/engram/internal/mcp/server.go:451.10,456.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:461.51,462.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:463.50,464.70 1 0 +github.com/thebtf/engram/internal/mcp/server.go:465.46,466.79 1 0 +github.com/thebtf/engram/internal/mcp/server.go:467.10,468.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:473.59,485.63 2 0 +github.com/thebtf/engram/internal/mcp/server.go:485.63,487.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:489.2,493.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:496.45,503.33 3 0 +github.com/thebtf/engram/internal/mcp/server.go:503.33,505.57 2 0 +github.com/thebtf/engram/internal/mcp/server.go:505.57,506.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:506.76,507.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.4,509.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.18,511.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:511.10,513.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:514.4,518.11 5 0 +github.com/thebtf/engram/internal/mcp/server.go:522.2,522.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:660.29,683.21 2 0 +github.com/thebtf/engram/internal/mcp/server.go:683.21,689.3 5 0 +github.com/thebtf/engram/internal/mcp/server.go:690.2,699.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:712.30,765.49 3 0 +github.com/thebtf/engram/internal/mcp/server.go:765.49,789.3 5 0 +github.com/thebtf/engram/internal/mcp/server.go:790.2,799.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:805.40,936.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:942.58,1048.35 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1048.35,1077.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.2,1080.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.33,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.2,1093.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.26,1123.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1124.2,1124.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1124.80,1126.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1127.2,1127.55 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1127.55,1129.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1130.2,1130.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1130.38,1132.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1134.2,1134.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1134.25,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1138.2,1138.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1138.33,1140.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1141.2,1141.69 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1141.69,1143.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1144.2,1144.75 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1144.75,1146.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1148.2,1148.27 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1148.27,1165.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.2,1168.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.76,1191.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1195.2,1195.48 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1195.48,1197.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.2,1201.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.47,1203.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.2,1205.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.38,1207.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1212.2,1212.21 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1212.21,1214.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1228.2,1228.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1228.51,1230.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1233.2,1233.56 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1233.56,1235.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1238.2,1238.71 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1238.71,1298.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1302.2,1302.104 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1302.104,1321.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1324.2,1324.72 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1324.72,1333.154 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1333.154,1334.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1334.26,1336.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1337.7,1337.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1338.35,1340.26 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1340.26,1342.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1343.7,1343.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1371.2,1371.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1371.26,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1393.2,1393.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1393.28,1443.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.2,1446.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.28,1478.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.2,1481.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.37,1561.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1564.2,1568.23 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1568.23,1570.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1572.2,1588.57 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1588.57,1591.29 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1591.29,1593.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1594.3,1594.27 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1594.27,1595.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1595.29,1597.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1601.2,1607.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1612.79,1614.60 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1614.60,1620.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1622.2,1623.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1623.16,1631.3 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1633.2,1641.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1644.69,1645.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1645.34,1647.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1648.2,1649.22 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1649.22,1651.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1652.2,1652.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1656.99,1658.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1659.16,1660.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1661.15,1662.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1663.18,1664.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1665.15,1666.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1667.18,1668.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1669.14,1670.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1671.15,1672.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1676.2,1676.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1677.35,1678.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1679.26,1680.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1681.20,1682.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1683.20,1684.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1685.16,1686.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1687.29,1688.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1689.33,1690.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1691.25,1692.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1693.23,1694.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1696.26,1697.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1698.24,1699.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1700.22,1701.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1702.25,1703.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1704.27,1705.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1706.25,1707.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1709.30,1710.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1711.28,1712.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1713.17,1714.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1715.20,1716.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1717.20,1718.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1719.20,1720.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1722.20,1723.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1724.18,1725.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1726.20,1727.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1728.18,1729.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1730.21,1731.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1732.21,1733.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1734.26,1735.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1736.25,1737.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1738.26,1739.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1740.24,1741.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1742.26,1743.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1744.27,1745.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1746.22,1747.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1748.19,1749.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1750.15,1751.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1752.16,1753.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1755.21,1756.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1757.19,1758.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1759.20,1760.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1761.22,1762.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1763.22,1764.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1765.23,1766.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1767.20,1768.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1769.32,1770.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1771.19,1772.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1773.19,1774.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1775.33,1776.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1777.35,1778.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1779.24,1780.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1781.32,1782.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1783.28,1784.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1785.21,1786.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1787.34,1788.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1789.25,1790.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1791.29,1792.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1793.26,1794.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1795.27,1796.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1798.25,1799.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1800.23,1801.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1802.27,1803.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1804.26,1805.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1806.29,1807.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1809.29,1810.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1811.27,1812.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1813.30,1814.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1815.38,1816.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1817.36,1818.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1820.24,1821.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1822.27,1823.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1824.22,1825.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1826.32,1827.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1828.32,1829.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1830.31,1831.48 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1832.35,1833.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1834.36,1835.53 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1836.36,1837.53 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1838.38,1839.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1840.34,1841.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1843.22,1844.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1845.21,1846.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1847.24,1848.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1850.25,1851.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1852.25,1853.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1859.2,1859.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1860.22,1863.131 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1866.51,1867.123 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1868.10,1869.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1874.47,1876.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1876.16,1879.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1880.2,1880.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1884.72,1890.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1896.105,1898.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1898.16,1900.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1902.2,1903.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1903.17,1905.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1907.2,1908.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1908.17,1910.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1912.2,1918.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1918.16,1920.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1921.2,1921.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1927.76,1933.15 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1933.15,1936.17 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1936.17,1938.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1939.3,1939.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1943.2,1950.36 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1950.36,1952.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1952.8,1955.29 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1955.29,1958.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1959.3,1962.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.2,1966.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.20,1977.20 6 0 +github.com/thebtf/engram/internal/mcp/server.go:1977.20,1979.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.3,1980.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.20,1982.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.3,1985.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.37,1987.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1987.30,1988.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1988.16,1990.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1990.11,1992.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1994.4,1995.56 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1995.56,1997.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1998.4,2003.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.2,2008.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.29,2009.63 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2009.63,2011.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2011.9,2013.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.2,2021.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.29,2029.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2029.38,2031.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2031.9,2033.31 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2033.31,2035.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2035.30,2037.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2039.4,2042.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2046.2,2047.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2047.16,2049.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2050.2,2050.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2055.57,2056.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2056.33,2058.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2059.2,2060.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2060.16,2062.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2063.2,2064.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2064.16,2066.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2067.2,2067.23 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2071.79,2105.15 6 0 +github.com/thebtf/engram/internal/mcp/server.go:2105.15,2107.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2107.17,2111.4 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2111.9,2112.17 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2112.17,2114.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2115.4,2117.26 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2117.26,2119.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2119.10,2121.29 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2121.29,2123.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2125.4,2129.25 5 0 +github.com/thebtf/engram/internal/mcp/server.go:2130.19,2130.19 0 0 +github.com/thebtf/engram/internal/mcp/server.go:2132.20,2134.106 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2135.12,2137.103 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2140.8,2143.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2144.2,2150.49 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2150.49,2152.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2152.8,2154.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2155.2,2168.27 4 0 +github.com/thebtf/engram/internal/mcp/server.go:2168.27,2170.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2170.17,2173.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2173.9,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2177.2,2182.40 4 0 +github.com/thebtf/engram/internal/mcp/server.go:2182.40,2183.21 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2184.20,2185.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2186.19,2187.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.2,2191.24 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.24,2193.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.8,2193.30 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.30,2195.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.2,2198.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.28,2200.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.2,2203.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.29,2205.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2207.2,2208.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2208.16,2210.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2211.2,2211.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2216.103,2218.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2218.16,2220.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2222.2,2223.15 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2223.15,2225.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2227.2,2239.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2239.16,2241.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2242.2,2242.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2246.93,2248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2251.91,2253.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:18.28,29.20 4 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:29.20,33.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:35.2,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:68.36,69.49 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:69.49,74.3 4 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:75.2,75.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:80.26,82.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:84.89,86.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:89.2,90.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:90.18,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:94.2,94.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:95.15,96.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:97.26,98.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:99.25,100.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:101.23,105.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:105.22,107.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:108.3,108.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:109.10,110.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:120.92,126.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:126.26,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:130.2,131.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:131.19,133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:134.2,135.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:135.19,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.2,138.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.24,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.2,142.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.25,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:146.2,147.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:151.2,151.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27.40,30.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32.30,46.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48.99,49.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:49.34,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.2,52.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.69,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:56.2,57.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:60.2,61.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:61.21,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:64.2,67.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:67.26,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:70.2,71.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:71.25,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:75.2,77.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:77.44,79.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.2,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.33,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:83.2,83.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86.52,87.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:87.16,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.2,90.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.15,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:93.2,93.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96.73,97.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:97.21,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:100.2,101.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:101.29,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:111.2,111.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114.34,116.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:31.98,32.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:32.52,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.2,35.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.26,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:39.2,40.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:40.49,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.2,43.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.21,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.2,46.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.21,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.2,49.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.18,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.2,52.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.18,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.2,56.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.38,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:60.2,61.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:61.16,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:68.2,70.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:70.26,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:79.2,81.36 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:81.36,84.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:86.2,89.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:89.28,90.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:90.39,91.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:93.3,97.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:100.2,104.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:107.60,113.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:115.101,116.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:116.38,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:120.2,122.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:122.21,123.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:123.26,125.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.3,126.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.23,128.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:129.8,130.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:130.26,132.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.3,133.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.68,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:137.2,140.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:141.17,142.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:143.67,143.67 0 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:144.10,145.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:148.2,162.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:162.16,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.2,165.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.2,174.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.30,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.2,177.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.31,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:181.2,182.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:182.36,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:198.2,199.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:199.19,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:202.2,203.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:203.18,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:206.2,207.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:207.21,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:210.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:211.25,213.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:214.2,225.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:225.21,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.25,230.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.2,231.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.18,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:235.2,244.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:244.21,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.2,247.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.25,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.2,250.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.18,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.2,253.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:256.2,256.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:259.50,261.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:261.22,263.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:264.2,264.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:270.90,272.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:272.42,276.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:277.2,281.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:281.27,282.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:282.45,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:286.2,286.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25.28,88.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95.95,96.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:96.22,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:99.2,100.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:100.32,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:104.2,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:109.2,114.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:114.35,121.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.2,123.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.25,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:127.2,134.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:138.2,146.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154.94,155.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:155.22,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:158.2,159.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:159.32,161.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:163.2,164.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:164.16,166.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:168.2,172.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:172.35,179.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.2,181.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.25,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:185.2,192.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:192.16,194.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:196.2,203.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211.97,212.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:212.22,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:215.2,216.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:216.32,218.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:220.2,221.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:221.16,223.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:225.2,229.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:229.35,236.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.2,238.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.25,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:242.2,249.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:249.16,251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:253.2,260.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31.80,32.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:32.14,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:35.2,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51.136,53.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:53.51,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:56.2,56.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59.94,60.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:60.21,62.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:63.2,63.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68.30,162.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165.98,166.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:166.49,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:169.2,170.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:170.16,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:173.2,174.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:174.19,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:177.2,179.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:179.17,181.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:188.2,189.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:189.31,190.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:190.15,191.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:193.3,193.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:196.2,201.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:201.16,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:204.2,204.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208.96,209.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:209.49,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:212.2,213.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:213.16,215.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:216.2,217.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:217.13,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.2,225.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.22,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:229.2,230.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:230.16,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:233.2,233.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239.100,240.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:240.22,242.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:243.2,244.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:244.16,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:247.2,248.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:248.13,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:255.2,256.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:256.12,263.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:263.30,264.77 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:264.77,269.5 4 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:271.3,272.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:272.21,274.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:275.3,275.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.2,279.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.29,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:284.2,285.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:285.16,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.2,288.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.22,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.2,291.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.55,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.2,294.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.74,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:297.2,298.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:298.16,300.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:306.2,307.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:307.41,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:310.2,324.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:324.16,325.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:325.50,327.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:328.3,328.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.2,330.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.38,332.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:334.2,341.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:341.16,343.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:344.2,344.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348.99,349.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:349.49,351.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:352.2,353.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:353.16,355.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:356.2,357.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:357.13,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:360.2,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.2,365.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.22,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.2,368.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.74,370.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:371.2,372.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:372.16,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.2,375.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.85,377.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:379.2,380.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:380.16,381.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:381.50,383.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:384.3,384.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.2,386.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.20,388.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:390.2,395.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:395.16,397.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:398.2,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402.102,403.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:403.49,405.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:406.2,407.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:407.16,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:410.2,411.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:411.13,413.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:414.2,415.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:415.16,417.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.2,418.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.22,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.2,421.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.74,423.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:424.2,425.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:425.16,427.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.2,428.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.88,430.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:432.2,433.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:433.16,434.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:434.50,436.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:437.3,437.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.2,439.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.20,441.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:443.2,448.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:448.16,450.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:451.2,451.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34.30,36.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42.61,44.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48.32,75.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79.32,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100.98,101.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:101.25,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.2,104.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.29,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:108.2,113.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:113.17,114.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:114.55,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.2,118.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.24,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.2,121.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.23,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.2,124.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.23,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:134.2,135.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:135.21,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:142.2,147.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:154.2,165.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:165.25,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:177.2,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:186.2,186.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194.98,195.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:195.25,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.2,198.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.29,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:202.2,205.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:205.17,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:208.2,209.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:209.21,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:213.2,214.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:214.16,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:217.2,218.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:218.16,220.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:226.2,231.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:231.11,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:21.52,22.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:22.24,25.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:25.28,27.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:29.2,29.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:35.72,37.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:37.15,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:45.2,45.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:49.99,51.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:51.16,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:55.2,56.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:56.16,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:60.2,72.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.2,75.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.24,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.2,78.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.24,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:81.2,81.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:82.27,82.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:84.10,85.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.2,87.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.30,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.2,90.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.26,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:104.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:116.2,123.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:126.2,126.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:130.97,132.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:132.16,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:136.2,137.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:141.2,147.23 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:147.23,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.2,150.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.26,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:154.2,155.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:155.16,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:160.16,161.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:161.47,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:164.3,164.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.2,167.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.97,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:174.2,175.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:175.16,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:179.2,185.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:185.16,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:188.2,188.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:192.99,194.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:194.16,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:198.2,199.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:199.16,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:203.2,207.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:207.26,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:211.2,212.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:212.16,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:216.2,223.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:223.26,229.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:229.28,231.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:232.3,232.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:243.100,245.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:245.16,247.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:249.2,250.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:250.16,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:254.2,262.23 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:262.23,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.2,265.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.24,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:268.2,268.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:269.27,269.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:271.10,272.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.2,274.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.30,276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.2,277.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.26,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.2,281.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.71,282.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:282.47,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:285.3,285.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:288.2,293.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:293.16,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:296.2,296.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:302.92,309.19 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:309.19,310.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:310.53,313.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:316.2,317.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:317.51,318.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:318.66,320.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:323.2,331.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:331.16,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:334.2,334.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:338.46,342.32 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:342.32,343.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:343.20,346.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:348.2,350.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:350.26,352.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:352.27,353.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:353.13,355.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:356.4,356.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:358.3,358.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:360.2,360.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:16.45,18.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:20.35,36.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:38.84,39.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:39.40,41.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.2,42.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.50,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:45.2,45.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:48.101,50.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:50.16,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:53.2,54.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:57.2,58.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:58.19,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:61.2,62.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:62.21,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:65.2,66.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:66.16,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:69.2,69.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:72.102,74.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:77.2,82.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10.100,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:22.16,23.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:24.14,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:26.14,27.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:28.17,29.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:30.17,31.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:32.21,33.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:34.19,35.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:36.17,37.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:38.16,39.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:40.16,41.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:42.21,43.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:44.10,45.167 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:15.77,16.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:16.33,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:20.2,21.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:21.27,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:25.2,26.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:26.28,29.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:29.17,31.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:34.2,41.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:41.32,46.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:46.20,48.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:49.3,49.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:61.97,62.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:62.28,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:71.2,75.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:75.29,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:79.2,80.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:80.16,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.2,84.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.20,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:88.2,97.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:97.25,103.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:103.20,105.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.3,106.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.19,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:109.3,109.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:112.2,113.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:113.16,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:117.2,117.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:121.95,122.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:122.28,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:131.2,137.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:137.50,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:141.2,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.2,145.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.16,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.2,149.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.21,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:153.2,154.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:154.16,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.2,157.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.20,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:161.2,161.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:165.98,166.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:166.28,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:170.2,171.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:171.16,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:175.2,181.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:181.50,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.2,185.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.96,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:189.2,189.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:197.98,198.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:198.28,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:207.2,217.74 6 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:217.74,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:222.2,223.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:223.16,225.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:227.2,229.156 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:235.98,237.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:237.16,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:241.2,247.24 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:247.24,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:252.2,253.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:253.29,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:256.2,256.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15.93,16.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:16.37,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:20.2,21.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:21.16,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:25.2,32.16 7 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:32.16,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.2,35.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.19,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.2,38.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.19,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:42.2,43.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:43.16,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:47.2,54.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61.91,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:62.37,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:71.2,73.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:73.16,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.2,76.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.19,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:80.2,81.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:81.43,83.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:83.19,85.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:86.3,86.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:87.8,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.2,90.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.16,91.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:91.45,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:94.3,94.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:97.2,110.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:110.16,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:113.2,113.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117.93,119.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122.91,123.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:123.37,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:132.2,133.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:133.19,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:136.2,141.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:141.16,143.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:145.2,155.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:155.25,165.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:167.2,168.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:168.16,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:171.2,171.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175.94,176.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:176.37,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:180.2,181.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:181.16,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:185.2,187.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:187.16,189.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.2,190.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.19,192.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:193.2,196.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:200.2,208.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:208.25,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:218.2,225.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232.94,233.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:233.37,235.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:242.2,243.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:243.21,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:246.2,248.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:248.19,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:252.2,253.46 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:253.46,255.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:255.13,257.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.2,259.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.44,261.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:261.13,263.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:266.2,267.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:267.16,269.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:271.2,278.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:278.16,280.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:281.2,281.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19.69,21.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23.38,38.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40.51,63.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65.53,80.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82.46,85.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:85.32,87.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:88.2,88.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91.105,93.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:93.16,95.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:96.2,97.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:100.2,100.70 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103.107,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:108.2,109.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:109.16,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:112.2,112.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115.101,117.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:117.16,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:120.2,121.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:121.17,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:124.2,139.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142.109,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:147.2,154.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157.100,159.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:159.28,161.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:161.18,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:164.3,164.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:166.2,167.72 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:167.72,169.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.2,170.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.53,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:173.2,174.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:174.26,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:177.2,177.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180.73,182.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:182.16,184.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:185.2,185.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12.104,14.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:14.16,16.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:18.2,19.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:19.18,21.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:23.2,23.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:24.14,25.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:26.18,27.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:28.17,29.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:30.10,31.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36.101,37.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:37.27,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:46.2,47.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:47.21,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:50.2,51.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:51.19,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:54.2,54.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:55.52,55.52 0 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:56.10,57.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:59.2,61.93 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:61.93,64.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:66.2,70.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:27.31,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:98.97,100.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:100.26,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.2,103.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.28,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:112.2,115.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:115.15,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.2,118.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.17,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:122.2,123.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:127.2,140.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:140.29,151.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:151.31,154.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:155.3,155.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:158.2,162.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:167.100,169.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:169.26,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.2,172.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.28,174.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.2,175.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.26,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:179.2,180.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:184.2,185.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:185.22,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:189.2,190.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:190.20,191.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:191.54,199.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.3,200.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.61,202.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:203.3,203.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:206.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:215.95,217.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:217.32,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.2,220.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.28,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:224.2,225.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:229.2,230.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:230.22,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.2,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.25,246.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:248.2,252.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:258.104,260.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:260.26,262.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:267.2,271.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:271.20,275.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:275.8,279.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:280.2,280.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:284.60,285.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:285.30,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.2,288.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.42,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:291.2,291.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:64.89,65.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:65.25,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:69.2,70.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:70.49,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:74.2,74.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:75.18,76.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:77.21,78.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:79.19,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:81.18,82.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:83.19,84.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:85.18,86.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:87.18,91.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:91.23,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:94.3,94.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:95.10,96.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:100.81,103.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:103.19,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:106.2,107.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:107.19,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.2,112.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.46,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.2,115.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.46,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.2,122.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.66,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.25,128.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:128.22,130.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:131.8,132.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:132.26,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.2,138.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.25,139.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:139.22,141.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:142.8,143.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:143.26,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.2,148.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.22,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.2,151.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.38,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.2,154.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.19,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:159.2,161.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:161.25,164.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.2,165.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.25,168.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:169.2,171.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:171.23,174.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.2,175.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.23,178.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:180.2,193.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:193.16,195.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:198.2,199.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:199.29,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.2,202.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.29,204.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:205.2,213.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:216.121,217.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:217.28,218.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:218.26,220.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:221.3,222.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:222.17,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:223.49,225.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:226.4,226.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:228.3,228.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.2,230.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.26,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:233.2,234.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:234.16,235.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:235.48,237.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:238.3,238.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:240.2,240.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:243.101,248.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:248.36,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:250.8,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.2,253.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.16,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.2,256.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.32,257.128 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:257.128,262.72 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:262.72,264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:267.2,267.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:276.81,277.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:277.25,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.2,280.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.22,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.2,283.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.39,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.2,286.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.25,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.2,289.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.21,291.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:292.2,293.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:293.14,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:296.2,305.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:305.16,307.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:308.2,314.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:317.84,318.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:318.19,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:321.2,323.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:323.63,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:326.2,329.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:332.82,333.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:333.38,335.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:336.2,337.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:338.18,339.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:340.18,341.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.2,345.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.59,347.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:349.2,351.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:351.21,353.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:353.8,356.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.2,357.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:366.2,367.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:367.41,369.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:371.2,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:397.115,398.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:398.15,400.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:403.2,404.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:404.26,405.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:405.28,407.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.3,408.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.28,410.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.2,412.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.23,415.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:420.2,426.12 4 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:426.12,427.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:427.27,429.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:429.18,431.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.4,433.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.33,435.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:440.2,441.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:441.26,442.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:442.28,443.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:443.49,445.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.3,448.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.28,449.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:449.49,451.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:454.2,454.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:457.82,458.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:458.21,460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:461.2,462.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:462.16,464.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.2,465.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.36,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:468.2,469.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:469.16,471.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:472.2,477.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:480.82,481.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:481.40,483.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:484.2,485.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:485.19,487.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:488.2,489.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:489.16,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:492.2,499.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:502.82,503.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:503.21,505.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:506.2,507.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:507.16,509.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:510.2,514.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23.179,24.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:24.22,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:28.2,32.22 4 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:32.22,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:35.2,36.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:36.22,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:40.2,41.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:41.26,43.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.2,44.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.26,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.2,47.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.30,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.2,50.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.30,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:54.2,55.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:55.16,57.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.2,58.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.13,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:61.2,62.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:62.16,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.2,65.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.13,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:69.2,70.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:70.16,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.2,73.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.15,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:77.2,77.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80.172,81.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:81.28,82.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:82.23,84.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.3,85.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.18,87.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:88.3,89.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:89.17,90.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:90.49,92.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:93.4,93.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:95.3,95.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.2,98.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.24,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.2,101.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.19,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:104.2,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:105.16,106.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:106.48,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:109.3,109.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:111.2,111.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114.119,116.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:116.22,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:119.2,120.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:120.22,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:124.2,126.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:126.26,127.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:127.36,129.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:130.3,130.105 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:131.8,132.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:132.32,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:135.3,135.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.2,137.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.2,141.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.32,143.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:143.27,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:146.3,147.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:147.27,149.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.3,150.106 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.106,151.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.3,153.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.27,154.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:154.114,155.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.9,157.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.104,158.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.3,160.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.27,161.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:161.114,162.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.9,164.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.104,165.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:167.3,167.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:169.2,169.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25.90,26.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:26.26,28.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:30.2,31.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:31.49,33.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:35.2,35.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:36.16,37.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:38.10,39.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43.84,44.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:44.21,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.2,47.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.25,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.2,50.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.21,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.2,53.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.21,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:57.2,58.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:59.18,60.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:61.15,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:63.24,64.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:65.10,66.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:69.2,70.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:70.22,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:73.2,74.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:74.29,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.2,78.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.14,85.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:87.2,89.37 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:89.37,92.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:92.21,94.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:97.2,100.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:100.31,102.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:102.38,104.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:104.37,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:109.3,122.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:122.26,124.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.3,125.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.19,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:131.3,133.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:133.39,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:135.9,137.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.3,138.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.17,140.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.3,142.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.34,144.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:145.3,145.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:148.2,155.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20.99,22.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:22.16,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:26.2,31.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:31.44,32.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:32.33,33.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:33.43,38.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.2,43.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.49,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.2,46.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.48,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:50.2,52.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:52.27,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:55.8,60.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:60.24,62.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.3,64.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.57,66.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:68.3,68.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.2,71.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.16,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:75.2,76.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:76.23,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:80.2,80.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:19.40,89.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:109.71,111.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:111.9,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:115.2,116.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:116.38,117.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:118.13,119.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:119.41,121.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:122.17,123.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:123.43,125.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:126.11,127.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:127.40,129.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.2,133.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.22,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:139.2,139.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:143.90,144.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:144.25,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:148.2,149.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:149.16,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:153.2,157.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:157.61,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:161.2,161.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:162.16,163.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:164.14,165.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:166.13,167.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:168.16,169.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:170.17,171.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:172.16,173.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:174.15,175.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:176.10,177.120 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:189.85,191.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:191.39,192.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:192.44,194.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.2,196.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.15,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.2,199.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.15,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:202.2,202.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:205.91,207.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:207.17,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:211.2,215.25 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:215.25,217.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:218.2,224.25 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:224.25,226.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.2,227.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.25,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:231.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:247.2,247.139 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:250.89,252.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:252.19,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:255.2,256.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:256.25,258.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:259.2,264.52 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:264.52,266.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:266.14,268.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:271.2,277.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:277.25,280.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:282.2,283.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:283.16,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.2,287.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.22,288.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:288.20,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:291.3,291.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:294.2,297.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:297.31,300.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:300.29,302.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:303.3,305.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:308.2,308.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:311.88,313.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:313.13,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:317.2,318.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:318.16,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:322.2,328.22 6 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:328.22,331.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.2,333.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.23,335.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:335.30,338.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:341.2,341.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:344.91,346.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:346.13,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:350.2,353.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:353.18,354.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:354.27,356.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.3,357.73 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.73,359.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.2,362.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.19,370.17 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:370.17,372.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:375.2,376.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:376.26,378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:379.2,379.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:382.92,384.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:384.13,386.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:388.2,389.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:389.16,391.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:393.2,401.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:401.16,403.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:405.2,405.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:408.91,410.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:410.13,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:414.2,418.95 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:418.95,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:422.2,422.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:425.90,427.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:427.13,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:431.2,433.167 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:433.167,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.2,437.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.89,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:441.2,441.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22.93,24.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:24.49,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:28.2,28.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:29.14,30.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:31.17,32.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:33.16,34.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:35.24,36.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:37.27,38.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:39.22,40.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:41.23,42.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:43.10,44.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48.79,49.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:49.13,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:57.2,58.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:58.32,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:61.2,84.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87.101,88.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:88.13,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.2,91.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.38,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.2,98.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.53,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:102.2,104.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:104.17,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.2,107.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.29,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:110.2,115.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118.100,119.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:119.13,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.2,122.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.38,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.2,129.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.53,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:133.2,135.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:135.17,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.2,138.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.29,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:141.2,146.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149.123,150.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:150.13,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.2,153.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.18,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.2,156.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.38,158.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:159.2,161.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:161.17,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:164.2,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172.113,173.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:173.13,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.2,176.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.50,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:179.2,181.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:181.17,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:184.2,188.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191.57,195.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197.102,198.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:198.13,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.2,201.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.20,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:204.2,205.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:205.16,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:209.2,210.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:210.32,212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:214.2,217.56 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:217.56,223.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:225.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233.41,235.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:235.16,237.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:238.2,238.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:35.27,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:42.41,43.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:44.48,45.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:46.10,47.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:54.57,55.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:56.17,57.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:58.16,59.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:60.10,61.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:82.58,83.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:84.28,85.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:86.26,87.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:88.10,89.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:93.114,95.68 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:95.68,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:99.2,101.42 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:101.42,102.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:102.71,105.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:107.2,117.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:117.23,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:121.2,124.22 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:124.22,125.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:125.31,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:128.3,128.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.8,129.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.37,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:132.2,132.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:135.74,136.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:136.30,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.2,139.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.34,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.2,142.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.31,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.2,145.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.22,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:161.169,162.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:162.17,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:165.2,166.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:166.51,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:169.2,169.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:172.92,174.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:174.42,177.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:177.63,179.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:179.9,181.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:183.2,183.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:186.65,190.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:192.115,194.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:194.26,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.8,196.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.31,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:199.2,199.117 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:202.122,206.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:206.31,207.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:207.45,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:211.2,211.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:214.72,216.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:218.117,219.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:222.2,223.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:223.20,225.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:225.17,227.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.3,228.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.27,229.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:229.50,231.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:231.30,232.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:236.3,236.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:239.2,241.60 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:241.60,243.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:243.61,245.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.3,246.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.24,247.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:249.3,250.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:250.17,252.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.3,253.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.22,254.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.3,256.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.29,257.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:257.50,259.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:259.30,260.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:264.3,265.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:265.32,266.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:269.2,269.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:272.51,273.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:273.16,275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:276.2,277.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:277.18,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.2,280.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.19,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:283.2,283.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:286.97,288.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:288.30,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.2,291.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.49,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:294.2,294.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:297.108,299.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:301.108,303.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:305.102,307.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:319.55,320.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:320.31,322.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.2,323.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.26,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:326.2,326.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:329.71,330.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:343.26,344.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:345.10,346.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:354.95,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:366.2,397.39 14 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:397.39,399.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:399.27,401.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:402.8,404.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:405.2,407.46 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:407.46,410.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.2,411.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.44,413.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:413.12,415.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.2,417.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.26,419.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.2,420.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.84,422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.2,427.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.65,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:431.2,433.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:433.20,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:436.2,437.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:437.20,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.2,440.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.56,442.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.2,443.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.56,448.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.2,450.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.45,453.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.2,459.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.31,461.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:461.22,462.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:462.62,465.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:466.4,466.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:468.3,468.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:471.2,472.115 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:472.115,474.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.2,491.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.19,493.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:493.23,495.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:496.3,508.21 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:508.21,510.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:511.3,511.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.2,522.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.43,535.34 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:535.34,556.30 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:556.30,558.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.4,559.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.44,561.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.4,562.106 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.106,564.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.4,575.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.74,577.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:578.4,579.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:579.18,581.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:583.4,584.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:584.28,586.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.4,588.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.31,599.57 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:599.57,601.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:601.17,604.7 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:606.5,607.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:607.21,609.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.5,615.138 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.138,617.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:617.27,619.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:620.6,620.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:622.5,623.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:623.26,625.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:626.5,626.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:630.4,631.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:631.20,633.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.4,634.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.22,637.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:637.26,639.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:640.5,640.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:645.4,660.77 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:660.77,662.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:663.4,664.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:664.25,666.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:667.4,667.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.2,673.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.26,675.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:677.2,678.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:678.25,680.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.2,681.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.97,683.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:690.2,691.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:691.21,693.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:693.33,695.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.3,696.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.33,698.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.3,699.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.49,704.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.3,721.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.54,722.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:722.84,724.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.2,728.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.99,730.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:732.2,733.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:733.22,735.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:736.109,737.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:738.100,739.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:740.114,741.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:742.107,743.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:744.11,745.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:748.2,749.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:749.43,751.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:753.2,755.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:755.34,756.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:756.48,757.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:757.19,760.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.2,764.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.31,767.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.2,768.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.35,771.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.2,772.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.76,776.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:778.2,780.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:780.16,782.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:782.20,785.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.2,788.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.25,798.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:798.18,800.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.9,800.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.30,807.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.3,808.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.36,810.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:811.3,812.50 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:812.50,815.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:816.3,822.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:822.17,824.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:826.3,836.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:836.17,838.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:839.3,839.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:842.2,843.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:843.30,844.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:844.52,846.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:846.9,848.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:851.2,869.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:869.21,871.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:871.43,873.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.3,874.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.29,876.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.3,886.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.76,888.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.2,890.105 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.105,892.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:893.2,894.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:894.16,896.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:901.2,904.40 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:904.40,905.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:905.15,906.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:909.3,910.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:910.63,912.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:912.9,914.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.3,916.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.43,918.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:919.3,920.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:920.20,922.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.3,925.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.23,928.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:929.3,931.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:931.33,934.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:934.39,936.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:939.2,948.42 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:948.42,950.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:950.21,952.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:952.9,955.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.2,959.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.53,960.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:960.54,961.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:961.33,963.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:964.9,972.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.3,973.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.60,974.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:974.40,976.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.3,978.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.61,979.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:979.41,981.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.3,983.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.28,985.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:986.3,987.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.2,989.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.51,991.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:995.2,997.53 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:997.53,999.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:999.8,1001.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.2,1002.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.22,1004.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1008.2,1014.76 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1014.76,1016.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.2,1021.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.57,1026.13 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1026.13,1029.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1029.21,1032.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.4,1033.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.49,1035.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1036.4,1043.89 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1043.89,1046.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1048.4,1048.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1052.2,1063.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1063.21,1065.40 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1065.40,1067.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.3,1068.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.38,1070.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1072.2,1074.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1074.18,1081.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.2,1082.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.28,1084.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.2,1085.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.16,1087.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.2,1088.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.30,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.2,1091.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.30,1093.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.2,1098.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.76,1100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1101.2,1102.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1102.16,1104.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1105.2,1105.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111.94,1113.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1113.15,1115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1117.2,1118.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1118.16,1120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1122.2,1123.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1123.13,1125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1126.2,1131.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1131.16,1133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.2,1134.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.19,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.2,1146.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.39,1148.55 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1148.55,1150.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.2,1152.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.39,1154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1157.2,1158.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1158.21,1163.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1163.21,1165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1166.3,1167.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1167.21,1169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.3,1170.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.52,1172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.3,1173.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.52,1178.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.3,1179.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.41,1182.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1183.3,1183.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.2,1188.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.46,1190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.2,1191.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.27,1193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1195.2,1196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1196.16,1198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1201.2,1210.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1210.16,1212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1213.2,1213.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218.59,1220.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1220.38,1222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1225.2,1226.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1226.29,1227.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1227.22,1229.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.2,1232.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.18,1234.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1237.2,1244.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1244.29,1245.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1245.67,1247.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.2,1249.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.16,1251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1254.2,1254.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258.55,1260.47 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1260.47,1262.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1263.2,1264.58 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1264.58,1266.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1267.2,1267.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270.252,1271.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1271.108,1273.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.2,1274.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.55,1276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1277.2,1277.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280.184,1282.69 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1282.69,1284.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1284.32,1285.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1285.58,1287.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.3,1290.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.18,1292.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.2,1294.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.19,1297.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1297.32,1298.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1298.39,1300.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.3,1303.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.19,1305.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.2,1307.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.21,1309.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1309.32,1310.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1310.49,1312.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.3,1315.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.18,1317.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.2,1319.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.28,1321.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1321.17,1323.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.3,1324.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.27,1326.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.2,1328.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.76,1330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1331.2,1331.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342.96,1343.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1343.26,1345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1347.2,1348.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1348.16,1350.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1352.2,1363.23 9 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1363.23,1364.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1364.58,1365.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1365.31,1367.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1367.10,1369.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.2,1373.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.17,1375.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.2,1376.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.16,1378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.2,1379.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.16,1381.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.2,1382.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.18,1384.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.2,1385.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.19,1387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.2,1388.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.19,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1396.2,1399.18 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1399.18,1400.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1400.61,1401.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1402.50,1403.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1404.12,1405.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1409.2,1410.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1410.42,1414.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1415.2,1420.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1420.16,1422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1429.2,1444.43 6 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1444.43,1446.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1449.2,1451.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1451.27,1453.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.2,1458.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.46,1460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.2,1461.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.63,1463.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1465.2,1466.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1466.15,1472.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1472.29,1479.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1479.18,1481.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.4,1482.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.23,1483.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.4,1485.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.30,1486.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1486.24,1488.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1488.32,1489.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1493.4,1494.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1494.30,1495.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1498.8,1504.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1504.29,1506.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1506.18,1508.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.4,1509.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.23,1510.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.4,1512.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.30,1513.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1513.24,1515.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1515.32,1516.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1520.4,1521.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1521.30,1522.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.2,1526.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.26,1528.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1528.17,1530.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.2,1535.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.74,1536.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1536.13,1537.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1537.33,1542.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1542.26,1544.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1544.39,1546.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1548.5,1548.82 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.2,1565.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.38,1569.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1569.27,1571.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.3,1572.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.27,1574.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1576.3,1581.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1581.32,1586.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1588.3,1592.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1592.18,1594.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1595.3,1596.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1596.17,1598.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1599.3,1599.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1602.2,1602.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1603.15,1618.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1618.32,1620.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1620.33,1621.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1621.40,1623.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1626.4,1638.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1640.3,1641.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1641.17,1643.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1644.3,1644.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1646.18,1648.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1648.17,1650.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1651.3,1651.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1653.10,1654.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1654.25,1656.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1657.3,1659.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1659.32,1661.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1661.33,1662.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1662.40,1664.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1667.4,1669.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1669.26,1671.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1672.4,1673.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1673.25,1675.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1676.4,1676.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1678.3,1678.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690.51,1695.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700.73,1702.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1702.16,1704.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1705.2,1706.48 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1706.48,1710.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1711.2,1713.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1713.16,1715.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1716.2,1716.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727.117,1731.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1731.21,1733.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1734.2,1735.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1735.16,1737.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1738.2,1739.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1739.27,1741.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1742.2,1742.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1764.19,1775.30 7 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1775.30,1777.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1777.37,1779.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.3,1781.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.20,1783.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.2,1797.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.39,1799.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1801.2,1811.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1811.25,1813.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1815.2,1816.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1816.29,1818.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.2,1824.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.27,1826.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1831.2,1833.22 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1833.22,1835.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1837.2,1846.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1846.16,1848.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1853.2,1855.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1855.27,1857.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1859.2,1876.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1876.33,1878.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1880.2,1881.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1881.28,1885.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1885.20,1888.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1888.33,1889.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1889.40,1891.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.4,1894.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.20,1895.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.3,1900.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.22,1902.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1902.33,1903.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1903.50,1905.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.4,1908.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.19,1909.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.3,1918.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.56,1919.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.3,1927.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.64,1928.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1932.3,1935.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1935.32,1936.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1936.39,1938.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1942.3,1956.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1956.14,1957.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1957.37,1959.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1961.3,1962.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1962.26,1963.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.2,1975.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.59,1986.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1986.17,1988.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1990.3,1991.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1991.34,1993.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1995.3,1996.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1996.29,1998.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1998.21,2001.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2001.34,2002.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2002.41,2004.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.5,2007.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.21,2008.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.4,2011.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.23,2013.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2013.34,2014.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2014.51,2016.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.5,2019.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.20,2020.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.4,2023.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.57,2024.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.4,2027.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.65,2028.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2030.4,2031.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2031.33,2032.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2032.40,2034.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2037.4,2051.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2051.15,2052.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2052.38,2054.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2056.4,2057.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2057.27,2058.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2065.2,2066.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2066.28,2068.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.2,2072.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.71,2080.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2080.30,2081.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2081.41,2087.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.3,2089.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.13,2090.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2090.31,2095.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2095.25,2097.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2097.38,2099.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2101.5,2101.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.2,2112.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.38,2115.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2115.27,2117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2121.3,2138.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2138.30,2140.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2140.11,2141.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2143.4,2160.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2160.15,2161.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2161.39,2163.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2165.4,2165.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2167.3,2173.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2173.24,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2176.3,2176.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2179.2,2179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2180.15,2182.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2182.24,2184.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2185.3,2185.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2187.18,2199.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2199.30,2201.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2201.11,2202.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2204.4,2208.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2208.15,2209.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2209.39,2211.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2213.4,2213.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2215.3,2216.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2216.24,2218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2219.3,2219.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2220.10,2221.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2221.22,2223.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2224.3,2226.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2226.27,2228.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2228.20,2230.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2231.4,2233.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2233.26,2235.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2236.4,2237.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2237.23,2239.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.4,2240.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.46,2244.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2245.4,2245.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2247.3,2247.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252.94,2254.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2254.16,2256.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2258.2,2260.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2260.18,2261.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2261.59,2262.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2262.36,2264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2264.10,2266.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.2,2270.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.13,2272.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.2,2273.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.50,2275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2277.2,2277.98 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281.98,2282.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2282.26,2284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2286.2,2287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2287.16,2289.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2291.2,2292.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2292.13,2294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2297.2,2298.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2298.19,2299.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2299.51,2301.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2302.3,2302.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.2,2304.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.42,2306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.2,2308.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.54,2309.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2309.48,2311.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2312.3,2312.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2316.2,2318.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17.82,19.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21.149,22.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:22.55,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.2,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.36,27.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:28.2,34.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:34.16,36.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.2,37.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.42,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:40.2,40.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43.105,44.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:44.48,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:47.2,48.54 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51.129,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:56.2,57.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:57.53,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:60.2,61.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:61.25,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:64.2,65.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:65.16,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:68.2,68.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26.97,27.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:27.18,29.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:30.2,30.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33.37,35.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37.81,38.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:38.44,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.2,41.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.38,43.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:44.2,44.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47.88,48.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:48.32,50.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:51.2,52.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:52.20,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:55.2,55.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58.40,72.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74.106,75.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:75.34,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:78.2,79.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:79.16,81.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:83.2,84.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:88.2,89.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:89.13,91.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:93.2,94.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:94.63,96.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.2,98.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.72,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:102.2,106.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109.117,110.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:110.32,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.2,113.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.34,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:117.2,118.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:118.16,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.2,121.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.19,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:125.2,126.69 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:126.69,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:130.2,136.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18.33,20.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22.27,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39.93,40.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:40.30,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.2,43.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.28,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:46.2,47.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:47.16,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:51.2,52.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:52.17,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:55.2,56.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:56.19,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.2,59.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.19,61.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:62.2,63.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:63.16,65.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:67.2,74.9 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:74.9,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:77.2,78.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:78.15,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:81.2,85.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:85.16,87.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.2,88.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.17,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:92.2,101.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104.48,105.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:108.2,109.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:109.29,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.2,112.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.31,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:115.2,115.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118.75,120.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:120.27,121.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:121.32,123.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:123.17,124.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:126.4,126.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:129.2,134.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:134.33,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.2,137.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.40,138.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:138.39,140.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:141.3,141.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.2,143.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.34,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:146.2,147.35 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:147.35,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:150.2,150.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153.77,154.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:154.20,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:157.2,159.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:159.31,160.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:160.33,162.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.3,163.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.30,165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:167.2,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23.91,25.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27.38,50.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52.104,53.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:53.38,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:56.2,57.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:61.2,62.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:62.26,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:65.2,66.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:66.30,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.2,69.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.72,71.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:73.2,74.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:77.2,78.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:78.16,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:81.2,82.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:82.16,84.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:85.2,86.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:90.2,105.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.2,109.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.19,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.2,118.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.25,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.2,121.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.30,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.2,124.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.31,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:131.2,131.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134.91,136.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:136.9,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:139.2,140.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:140.15,141.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:141.19,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:144.3,144.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:146.2,146.94 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149.59,150.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:150.16,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:153.2,154.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:154.61,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:157.2,157.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160.56,161.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:161.75,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:164.2,164.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167.67,169.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:170.17,171.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:172.67,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:174.10,175.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179.60,180.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:183.2,184.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:184.25,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:187.2,187.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190.57,191.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:192.15,193.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:193.81,195.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:196.3,196.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:197.19,199.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:199.17,201.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.3,202.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.55,204.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:205.3,205.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:206.14,207.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:208.11,209.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:210.10,211.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215.59,216.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:216.16,218.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:219.2,219.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:220.12,221.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:222.14,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:224.10,225.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:28.90,30.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:30.16,32.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:34.2,36.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:37.16,38.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:40.16,42.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:44.20,46.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:48.17,50.142 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:52.17,56.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:56.50,62.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:62.63,64.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.4,66.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.45,68.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:72.4,74.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:74.25,76.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:77.4,77.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:80.3,80.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:82.18,84.141 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:86.18,88.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:88.18,90.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:91.3,91.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:93.17,96.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:96.50,99.59 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:99.59,101.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:102.4,104.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:104.25,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:107.4,107.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:110.3,110.98 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:112.10,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:125.86,126.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:129.2,130.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:130.9,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.2,133.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.22,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:137.2,139.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:139.31,141.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:141.10,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:144.3,145.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:145.22,147.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:148.3,149.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:149.26,151.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.3,152.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.68,154.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:155.3,156.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:156.37,158.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:159.3,160.107 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:162.2,162.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:165.249,166.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:166.24,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.2,169.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.38,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:173.2,174.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:174.31,175.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:175.32,177.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:180.2,181.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:181.34,182.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:182.29,183.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:185.3,197.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:197.17,199.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.3,200.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.20,201.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.3,203.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.37,205.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:205.33,206.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.4,208.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.19,209.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:209.43,210.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:212.5,212.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:214.4,215.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:215.30,216.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:220.2,220.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:223.113,229.2 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:231.101,233.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:247.92,251.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:251.16,253.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.8,253.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:259.2,272.51 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:272.51,274.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:274.38,275.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:276.50,277.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:278.12,279.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:287.2,292.26 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:292.26,294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.2,297.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.19,301.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:303.2,311.42 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:311.42,315.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:316.2,341.64 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:341.64,342.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:342.86,344.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.3,345.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.56,347.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:348.3,360.19 6 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:360.19,364.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:365.3,365.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:369.2,370.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:370.15,372.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:372.27,374.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.3,375.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.27,377.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:380.2,381.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:381.15,387.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:387.28,395.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:395.18,397.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.4,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.23,399.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.4,401.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.30,402.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:402.66,403.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:405.5,406.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:406.12,407.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.5,409.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.28,413.6 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:414.5,415.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:415.30,416.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:419.4,420.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:420.30,421.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:424.8,432.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:432.28,438.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:438.18,440.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.4,441.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.23,442.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.4,444.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.30,445.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:445.40,447.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:447.31,448.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:452.4,455.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:455.30,456.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:461.2,465.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:465.17,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:469.2,470.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:470.16,472.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:473.2,473.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20.79,21.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:21.43,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.2,24.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.29,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:27.2,27.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30.40,63.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65.68,71.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:71.25,74.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:75.2,75.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78.62,83.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:83.19,87.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:88.2,88.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91.101,92.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:92.22,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:95.2,96.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:96.18,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:103.2,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:107.2,107.119 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110.99,111.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:111.22,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:114.2,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:115.18,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:118.2,119.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:119.16,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.2,122.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.51,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:129.2,131.15 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:131.15,132.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:132.69,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:135.3,135.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:137.2,137.130 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140.102,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.2,145.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.64,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:148.2,148.113 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151.109,153.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:157.16,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:160.2,161.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:161.16,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:164.2,164.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167.107,169.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:169.16,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:172.2,173.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:173.16,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.2,176.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.107,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:179.2,179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:180.41,181.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:182.41,183.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:184.10,185.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189.111,191.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:191.16,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:194.2,195.57 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:195.57,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:198.2,199.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:199.23,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.2,206.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.17,208.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:209.2,209.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212.63,215.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217.69,219.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:222.2,222.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225.60,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:230.2,230.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233.137,234.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:234.49,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:241.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:246.2,247.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:247.16,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.2,250.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.22,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:253.2,253.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256.142,258.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:258.16,260.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:261.2,262.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:262.16,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.2,265.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.47,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:268.2,269.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:269.16,270.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:270.50,272.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:273.3,273.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:275.2,275.173 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278.157,280.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:280.16,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.2,283.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.47,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:286.2,287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:287.16,288.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:288.50,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:291.3,291.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:293.2,293.169 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296.104,297.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:297.22,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:300.2,301.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:301.61,303.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:303.20,304.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.2,307.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.19,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:310.2,317.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320.119,322.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:322.39,323.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:323.81,325.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:327.2,327.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330.71,332.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:332.16,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:335.2,335.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17.61,105.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:105.23,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:123.2,123.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126.104,127.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:127.61,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.2,130.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.38,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:133.2,134.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:137.2,138.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:138.16,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:141.2,147.107 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:147.107,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:150.2,151.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:151.16,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:154.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:170.19,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:173.2,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176.103,177.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:177.61,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.2,180.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.38,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:187.2,191.106 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:191.106,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:194.2,195.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:195.16,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:198.2,200.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:200.31,207.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:207.36,218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:219.3,220.35 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:222.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233.107,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.2,237.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.38,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:240.2,241.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:241.16,243.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:244.2,248.110 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:248.110,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:251.2,252.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:252.16,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:255.2,256.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:256.33,266.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:267.2,275.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278.108,279.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:279.61,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.2,282.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.37,284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:285.2,286.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:286.16,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:289.2,290.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:290.19,292.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.2,293.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.104,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:296.2,297.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:297.16,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:300.2,307.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:307.16,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:310.2,311.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:311.43,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:319.2,332.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:332.22,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:335.2,335.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338.108,339.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:339.62,341.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.2,342.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.38,344.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:345.2,346.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:346.9,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:349.2,350.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:350.16,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:353.2,357.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:360.2,370.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373.109,374.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:374.62,376.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.2,377.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.38,379.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:380.2,381.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:381.9,383.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:384.2,385.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:385.16,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:388.2,390.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:390.32,392.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:393.2,394.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:394.16,396.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:397.2,403.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406.106,407.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:407.62,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.2,410.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.38,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:413.2,414.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:414.9,416.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:417.2,418.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:418.16,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:421.2,423.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:423.16,424.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:424.41,434.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:435.3,435.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:437.2,445.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483.65,484.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:484.42,485.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:485.39,487.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.2,489.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.85,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:492.2,492.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495.102,496.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:496.38,498.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.2,499.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.58,501.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:502.2,502.90 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505.60,508.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510.66,512.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:512.26,514.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:515.2,515.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518.69,521.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:521.33,523.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:523.21,524.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.3,526.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.34,527.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:529.3,530.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:532.2,532.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535.63,537.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:537.19,539.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:540.2,541.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:541.42,543.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.2,544.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.57,546.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.2,547.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.54,549.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:550.2,550.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553.70,557.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559.66,561.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:561.9,563.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:564.2,566.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:566.17,568.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:569.2,569.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:570.103,572.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:573.34,574.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:575.10,576.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580.56,581.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:581.37,583.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.2,584.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.26,586.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:586.37,587.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:589.3,589.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:591.2,591.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594.90,602.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604.68,605.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:605.71,607.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:607.17,609.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:610.3,610.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:612.2,613.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:613.16,615.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:616.2,617.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:617.41,619.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:620.2,620.78 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623.65,625.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:625.16,627.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.2,628.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.17,630.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:631.2,631.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634.51,635.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:635.16,637.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:638.2,638.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641.56,642.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:642.28,644.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:645.2,646.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649.92,651.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:651.29,653.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:654.2,654.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657.86,659.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:659.29,661.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:662.2,662.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665.94,667.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:667.29,669.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:670.2,670.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673.98,675.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:675.29,677.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:678.2,678.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:17.93,18.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:18.104,20.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:22.2,23.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:23.16,25.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:27.2,28.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:28.19,30.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:32.2,35.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:35.33,36.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:36.47,39.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:42.2,44.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:44.20,47.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:48.2,49.68 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:49.68,50.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:50.48,52.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.3,53.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.32,55.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:55.23,56.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:56.63,58.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:59.5,59.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:61.4,61.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:64.2,71.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:71.17,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.8,73.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.29,75.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:75.36,77.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:78.3,83.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.2,86.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.35,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:90.2,97.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:101.2,110.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:110.28,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:113.2,124.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:133.93,134.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:134.35,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:138.2,139.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:139.16,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:143.2,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.2,147.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.17,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:151.2,152.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:152.33,153.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:153.47,156.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:160.16,162.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:164.2,176.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:176.26,178.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:178.23,180.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:181.3,192.5 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:195.2,196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:199.2,199.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:22.104,24.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:24.16,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:28.2,29.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:29.18,31.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:33.2,33.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:34.13,35.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:36.13,37.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:38.14,39.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:40.16,41.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:42.10,43.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:51.67,53.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:57.68,58.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:58.33,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:61.2,61.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:67.42,69.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:74.61,76.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:76.26,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:79.2,79.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:85.90,86.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:86.49,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:90.2,91.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:91.15,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:94.2,95.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:95.17,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:100.2,103.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:103.16,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:107.2,113.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:113.12,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:115.18,117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:118.3,119.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:119.20,121.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:122.3,124.48 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:125.8,127.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:129.2,130.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:130.16,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:134.2,139.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:145.90,147.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:151.2,152.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:152.16,154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:157.16,158.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:158.47,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:161.3,161.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:164.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:170.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:173.8,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:176.2,176.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:181.92,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:187.2,188.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:188.16,190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:192.2,200.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:200.25,207.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:207.28,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:210.3,210.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:212.2,212.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:216.93,217.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:217.52,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:221.2,222.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:222.15,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:226.2,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.2,231.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.47,232.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:232.47,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:235.3,235.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:238.2,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:35.127,36.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:36.23,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:39.2,40.40 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:40.40,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.2,43.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.37,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.2,46.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.37,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:49.2,49.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:52.23,80.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:82.26,140.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:142.92,143.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:143.25,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:147.2,148.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:148.49,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:152.2,152.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:153.17,154.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:154.24,156.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:157.3,158.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:158.17,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:161.3,165.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:166.17,167.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:167.22,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.3,170.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.22,172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:173.3,174.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:174.17,176.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:177.3,181.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:182.16,189.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:189.23,191.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.3,192.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.24,194.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.3,195.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.39,197.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:198.3,207.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:207.17,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.3,210.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.69,212.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:213.3,213.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:214.10,215.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:219.92,220.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:220.25,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:224.2,225.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:225.49,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:229.2,229.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:230.17,232.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:232.24,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:235.3,236.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:236.17,238.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.3,239.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.59,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.3,242.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.81,244.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:245.3,250.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:251.17,253.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:253.22,255.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:256.3,257.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:257.17,259.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.3,260.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.79,262.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:263.3,268.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:269.10,270.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:274.91,276.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:276.16,278.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.2,279.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.67,280.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:280.76,282.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:285.2,286.52 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:286.52,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:289.2,289.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:292.74,294.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:294.16,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.2,297.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.62,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:300.2,300.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:303.109,304.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:304.56,306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.2,307.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.25,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.2,310.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.81,312.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.2,313.102 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.102,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.2,316.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.108,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.2,319.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.99,321.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.2,322.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.99,324.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.2,325.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.60,327.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.2,328.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.34,330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.2,331.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.114,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.2,334.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.66,336.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.2,337.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.40,339.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.2,340.132 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.132,342.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.2,343.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.35,345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:346.2,346.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:349.92,350.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:350.103,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:354.2,355.52 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:355.52,357.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.2,358.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.32,360.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:361.2,361.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:364.108,365.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:365.19,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:368.2,369.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:369.53,371.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.2,372.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.19,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.2,375.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.39,376.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:376.34,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:380.2,380.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:383.66,385.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:385.53,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.2,388.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.19,390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:391.2,391.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:16.2,18.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:19.16,20.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:21.14,22.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:23.15,24.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:25.16,26.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:27.10,28.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21.75,23.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25.41,28.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30.31,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39.38,46.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48.50,56.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58.43,70.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72.80,73.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:73.36,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.2,76.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.48,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:79.2,79.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82.97,84.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:87.2,88.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:88.16,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:91.2,92.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:92.16,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:95.2,96.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:96.16,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:99.2,99.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102.104,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:111.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:115.2,116.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:116.16,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:119.2,119.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122.96,124.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:127.2,128.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:128.19,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:131.2,132.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:132.18,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:135.2,141.79 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:141.79,143.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:143.17,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:146.3,146.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:148.2,148.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151.77,153.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:156.2,157.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:157.19,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:160.2,160.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:22.15,23.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:24.13,25.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:26.14,27.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:28.16,29.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:30.16,31.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:32.10,33.102 1 0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/create-database.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/create-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/create-database.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/create-database.stdout.log new file mode 100644 index 00000000..4b15bd57 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/create-database.stdout.log @@ -0,0 +1 @@ +CREATE DATABASE diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/create-pgvector.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/create-pgvector.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/create-pgvector.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/create-pgvector.stdout.log new file mode 100644 index 00000000..d26bad14 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/create-pgvector.stdout.log @@ -0,0 +1 @@ +CREATE EXTENSION diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/database-identity.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/database-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/database-identity.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/database-identity.stdout.log new file mode 100644 index 00000000..b40288cb --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/database-identity.stdout.log @@ -0,0 +1 @@ +{"database" : "engram_prc_rg_test_08822acc1e43ac35_r1", "schema" : "public", "server_version" : "17.10 (Debian 17.10-1.pgdg12+1)", "user" : "engram"} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/go-test-summary.json b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/go-test-summary.json new file mode 100644 index 00000000..ad51db94 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/go-test-summary.json @@ -0,0 +1,40 @@ +{ + "schema_version": 1, + "verdict": "PASS", + "input_path": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\go-test.stdout.jsonl", + "fail_on_unexpected_skip": true, + "allowed_skip_identities": [], + "counts": { + "packages": 1, + "tests": 1, + "passed": 1, + "failed": 0, + "skipped": 0, + "no_tests": 0, + "zero_tests": 0, + "incomplete": 0, + "unexpected_skips": 0, + "malformed_lines": 0 + }, + "packages": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "outcome": "pass", + "elapsed_seconds": 4.023, + "last_output": "ok \tgithub.com/thebtf/engram/internal/mcp\t4.013s\tcoverage: 0.1% of statements", + "tests_observed": 1 + } + ], + "tests": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEC_F1_TagDerivedBackfill_T007", + "outcome": "pass", + "elapsed_seconds": 3.89, + "last_output": "--- PASS: TestEC_F1_TagDerivedBackfill_T007 (3.89s)", + "skip_allowed": false + } + ], + "unexpected_skips": [], + "errors": [] +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/go-test.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/go-test.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/go-test.stdout.jsonl b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/go-test.stdout.jsonl new file mode 100644 index 00000000..fdfe2bf3 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/go-test.stdout.jsonl @@ -0,0 +1,16 @@ +{"Time":"2026-07-11T03:53:31.8291372+03:00","Action":"start","Package":"github.com/thebtf/engram/internal/mcp"} +{"Time":"2026-07-11T03:53:31.9181379+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007"} +{"Time":"2026-07-11T03:53:31.9181379+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"=== RUN TestEC_F1_TagDerivedBackfill_T007\n"} +{"Time":"2026-07-11T03:53:32.7706374+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"warn\",\"error\":\"ERROR: relation \\\"observation_vectors\\\" does not exist (SQLSTATE 42P01)\",\"time\":\"2026-07-11T03:53:32+03:00\",\"message\":\"migration 040: orphan vector cleanup failed (non-fatal)\"}\n"} +{"Time":"2026-07-11T03:53:32.7706374+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"garbage_deleted\":0,\"orphan_vectors_deleted\":0,\"time\":\"2026-07-11T03:53:32+03:00\",\"message\":\"migration 040: garbage cleanup complete\"}\n"} +{"Time":"2026-07-11T03:53:32.7791375+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"orphan_vectors_deleted\":0,\"time\":\"2026-07-11T03:53:32+03:00\",\"message\":\"migration 041: orphan vector purge complete\"}\n"} +{"Time":"2026-07-11T03:53:32.7871381+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"patterns_deleted\":0,\"time\":\"2026-07-11T03:53:32+03:00\",\"message\":\"migration 042: low-quality pattern purge complete\"}\n"} +{"Time":"2026-07-11T03:53:32.8221382+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"total_deleted\":0,\"time\":\"2026-07-11T03:53:32+03:00\",\"message\":\"migration 043: radical observation cleanup complete\"}\n"} +{"Time":"2026-07-11T03:53:34.0977369+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"warn\",\"error\":\"ERROR: extension \\\"vectorscale\\\" is not available (SQLSTATE 0A000)\",\"time\":\"2026-07-11T03:53:34+03:00\",\"message\":\"migration 109: vectorscale extension not available, skipping DiskANN index\"}\n"} +{"Time":"2026-07-11T03:53:35.4372054+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:53:35+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:53:35.8091407+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"--- PASS: TestEC_F1_TagDerivedBackfill_T007 (3.89s)\n"} +{"Time":"2026-07-11T03:53:35.8091407+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Elapsed":3.89} +{"Time":"2026-07-11T03:53:35.8091407+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"PASS\n"} +{"Time":"2026-07-11T03:53:35.8241416+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"coverage: 0.1% of statements\n"} +{"Time":"2026-07-11T03:53:35.8521419+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"ok \tgithub.com/thebtf/engram/internal/mcp\t4.013s\tcoverage: 0.1% of statements\n"} +{"Time":"2026-07-11T03:53:35.8521419+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Elapsed":4.023} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/pg-stat-activity-after.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/pg-stat-activity-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/pg-stat-activity-after.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/pg-stat-activity-after.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/pg-stat-activity-after.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/pg-stat-activity-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/pg-stat-activity-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/repeat-summary.json b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/repeat-summary.json new file mode 100644 index 00000000..d0d77e3f --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/repeat-summary.json @@ -0,0 +1,33 @@ +{ + "repeat": 1, + "verdict": "PASS", + "database": "engram_prc_rg_test_08822acc1e43ac35_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_08822acc1e43ac35_r1.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": false, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 0, + "json_parser_exit": 0, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\cleanup\\cleanup.json", + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01" +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/server-connection-count-after.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/server-connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/server-connection-count-after.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/server-connection-count-after.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/server-connection-count-after.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/server-connection-count-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/server-connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/server-connection-count-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/server-connection-count-before.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/server-connection-count-before.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/targeted-coverage.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/targeted-coverage.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/targeted-coverage.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/targeted-coverage.stdout.log new file mode 100644 index 00000000..c958686c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-01/targeted-coverage.stdout.log @@ -0,0 +1,352 @@ +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33: effectiveAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44: isAuditEnabled 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52: runAuditAsync 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77: marshalState 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92: logAuditCreate 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117: logAuditEdit 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142: logAuditDelete 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166: logAuditGeneric 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189: logAuditSupersede 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:30: parseArgs 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:46: coerceString 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:67: coerceInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:97: coerceInt64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:127: coerceFloat64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:151: coerceBool 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:177: coerceStringSlice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:204: coerceInt64Slice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:222: clampToInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:236: clampInt64ToInt 0.0% +github.com/thebtf/engram/internal/mcp/context.go:17: extractProjectFromHeader 0.0% +github.com/thebtf/engram/internal/mcp/context.go:22: contextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:29: ContextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:35: projectFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:41: contextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:48: ContextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:54: sessionFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:61: actorFromContext 0.0% +github.com/thebtf/engram/internal/mcp/health.go:22: NewMCPHealth 0.0% +github.com/thebtf/engram/internal/mcp/health.go:29: RecordRequest 0.0% +github.com/thebtf/engram/internal/mcp/health.go:36: RecordError 0.0% +github.com/thebtf/engram/internal/mcp/health.go:42: rotateWindowIfNeeded 0.0% +github.com/thebtf/engram/internal/mcp/health.go:55: HandleHealth 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28: ruleGovernanceCaptureEnabled 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39: captureActiveRuleIntent 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104: ruleIntentFingerprint 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113: marshalRuleCandidateIntentResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:127: NewServer 100.0% +github.com/thebtf/engram/internal/mcp/server.go:141: SetBackfillStatusFunc 0.0% +github.com/thebtf/engram/internal/mcp/server.go:146: SetVersionedDocumentStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:151: SetIssueStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:156: SetMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:161: SetMetaMemoryIndex 0.0% +github.com/thebtf/engram/internal/mcp/server.go:166: SetHintQueue 0.0% +github.com/thebtf/engram/internal/mcp/server.go:171: SetStateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:176: SetDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/server.go:181: SetBehavioralRulesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:186: SetRuleGovernanceStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:191: SetRuleInjectionTelemetryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:195: SetPromotionStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:199: SetGraphStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:204: SetNodesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:211: SetAuditStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:216: SetPurgeStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:222: SetCandidateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:228: SetSnapshotStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:234: SetBulkFacade 0.0% +github.com/thebtf/engram/internal/mcp/server.go:240: setTestAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/server.go:246: setTestMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/server.go:252: setTestMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/server.go:260: SetWriteLintOrchestrator 0.0% +github.com/thebtf/engram/internal/mcp/server.go:269: SetRedactionRules 0.0% +github.com/thebtf/engram/internal/mcp/server.go:274: SetEmbeddingStores 0.0% +github.com/thebtf/engram/internal/mcp/server.go:282: SetRerankClient 0.0% +github.com/thebtf/engram/internal/mcp/server.go:290: SetStatsDB 0.0% +github.com/thebtf/engram/internal/mcp/server.go:297: HandleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:303: ListTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:332: Version 0.0% +github.com/thebtf/engram/internal/mcp/server.go:383: Run 0.0% +github.com/thebtf/engram/internal/mcp/server.go:427: handleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:461: handleNotification 0.0% +github.com/thebtf/engram/internal/mcp/server.go:473: handleInitialize 0.0% +github.com/thebtf/engram/internal/mcp/server.go:496: buildInstructions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:660: storeMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:712: recallMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:805: primaryTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:942: handleToolsList 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1612: handleToolsCall 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1644: sanitizeToolCallArgs 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1656: callTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1874: sendResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1884: sendError 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1896: handleFindSimilarObservations 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1927: handleGetMemoryStats 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2055: handleBackfillStatus 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2071: handleCheckSystemHealth 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2216: handleAnalyzeSearchPatterns 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2246: handleSearchSessions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2251: handleListSessions 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:18: buildAdminTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:68: adminActionsForEnv 33.3% +github.com/thebtf/engram/internal/mcp/tools_admin.go:80: vnextEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:84: handleAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:120: handlePurgeProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27: ambientHintsEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32: ambientHintsTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48: handleGetAmbientHints 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86: normalizeAmbientHintsToolLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96: ambientHintItems 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114: errMissingSessionID 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:31: handleGetMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:107: memoryBriefUsesPrincipalScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:115: handlePrincipalMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:259: truncateBriefContent 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:270: filterInjectionByScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25: bulkOpsTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95: handleBulkPromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154: handleBulkDelete 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211: handleBulkSupersede 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31: candidateItemFromDomain 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51: newCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59: requireCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68: candidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165: handleListCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208: handleGetCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239: handlePromoteCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348: handleRejectCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402: handleSupersedeCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34: codeIntelEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42: SetCodeChunkStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48: codebaseSearchTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79: codebaseStatusTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100: handleCodebaseSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194: handleCodebaseStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:21: getVault 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:35: credentialStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:49: handleStoreCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:130: handleGetCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:192: handleListCredentials 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:243: handleDeleteCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:302: handleVaultStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:338: expandTagHierarchy 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:16: directivesCaptureEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:20: rememberDirectiveTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:38: currentDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:48: handleRememberDirective 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:72: parseRememberDirectiveArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10: handleDocsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:15: handleListCollections 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:61: handleListDocuments 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:121: handleGetDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:165: handleRemoveDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:197: handleIngestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:235: handleSearchCollection 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15: handleDocCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61: handleDocRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117: handleDocUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122: handleDocList 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175: handleDocHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232: handleDocComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19: SetExperienceProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23: experienceHistoryTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40: experienceHistoryReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65: experienceHistoryDetailSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82: experienceHistoryTriggerEnum 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91: handleExperienceHistoryRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103: handleExperienceHistoryDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115: parseExperienceHistoryReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142: parseExperienceHistoryDetailArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157: experienceHistoryTriggersFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180: marshalExperienceHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12: handleFeedbackConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36: handleSetSessionOutcome 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:27: governanceTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:98: handleListSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:167: handleRollbackSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:215: handlePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:258: handleRedactionRulesStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:284: resolveGovernanceActor 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:64: handleGraph 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:100: graphAddEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:216: mcpGraphEndpointExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:243: mcpGraphEdgeAlreadyExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:276: graphAddNode 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:317: graphRemoveEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:332: graphGetEdges 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:397: filterEdgesByNodeType 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:457: graphTraverse 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:480: graphFindPath 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:502: graphSynonyms 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23: graphCreateEdgeWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80: graphEndpointExistsWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114: graphDuplicateEdgeExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25: handleIngest 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43: ingestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20: handleImportInstincts 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:19: issuesToolSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:109: validateIssueActionParams 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:143: handleIssues 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:189: resolveSourceProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:205: handleIssueCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:250: handleIssueList 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:311: handleIssueGet 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:344: handleIssueUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:382: handleIssueComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:408: handleIssueReopen 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:425: handleIssueClose 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22: handleLifecycle 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48: lifecycleInfo 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87: lifecyclePromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118: lifecycleDemote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149: lifecycleSetConfidence 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172: lifecycleSetDefeasibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191: lifecycleSleepStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197: lifecycleDecayPreview 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233: marshalJSON 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:35: vnextFEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:42: isValidPrivacyScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:54: derivePrivacyScopeFromLegacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:82: deriveLegacyScopeFromPrivacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:93: applyPrincipalMemoryMetadata 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:135: addPrincipalMemoryFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:161: newScopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:172: writeLintVisibilityCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:186: writeLintVisibilityOptions 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:192: scopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:202: filterVisibleWriteGateCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:214: domainManageAllowed 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:218: List 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:272: writeLintVisibilityFetchLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:286: Get 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:297: Create 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:301: Update 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:305: MarkSuperseded 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:319: effectiveMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:329: isValidStoreObservationType 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:354: handleStoreMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111: handleEditMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218: computeTTLDays 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258: truncateTitle 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270: keepRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280: keepRecallMemoryFilters 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342: handleRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690: staleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700: marshalWithStaleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727: Rank 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1751: handleRecallMemoryHybrid 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252: handleRateMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281: handleSuppressMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17: SetDomainRegistryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21: checkDomainWriteMCP 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43: addDomainWriteDecisionFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51: marshalStoreMemoryAugmented 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26: newMemoryStoreSignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33: s6OutcomeEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37: effectiveMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47: currentMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58: rateMemorySignificanceTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74: handleRateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109: RateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18: s2MetaMemoryEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22: knowAboutTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39: handleKnowAbout 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104: parseKnowAboutLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118: summarizeMetaIndexTags 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153: summarizeMetaIndexDateRange 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23: SetPrincipalMemoryQueryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27: principalMemoryQueryTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52: handleQueryPrincipalMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134: principalMemoryQueryCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149: parsePrincipalMemoryQueryLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160: principalMemoryQueryText 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167: parsePrincipalMemoryQueryVisibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179: parsePrincipalMemoryQueryOffset 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190: parsePrincipalMemoryQueryInt 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215: parsePrincipalMemoryQueryBool 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:28: handleRecall 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:125: parseRecallIncludedPrincipals 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:165: appendRecallIncludedPrincipalMemories 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:223: recallIncludeTargetMatchesCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:231: recallPrincipalQueryItemToMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:247: handleRecallSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20: currentReviewLoopCandidateLister 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30: reviewLoopCandidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65: reviewLoopReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78: reviewPacketIDSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91: handleReviewMetricsRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110: handleReviewQueueRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140: handleReviewPacketDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151: handleReviewPacketPreviewAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167: handleReviewPacketApplyAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189: parseReviewLoopReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212: reviewLoopMCPPacketTypeSupported 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217: reviewLoopActionFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225: reviewLoopReasonFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233: loadReviewPacketCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256: applyReviewPacketPreserve 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278: applyReviewPacketSuppress 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296: reviewLoopMemoryFromCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320: filterRiskyMCPReviewCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330: marshalReviewLoop 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17: ruleGovernanceReadTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126: handleRuleGovernanceHealth 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176: handleRuleGovernanceQueue 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233: handleRuleGovernanceSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278: handleRuleGovernanceUsefulness 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338: handleRuleGovernanceTransition 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373: handleRuleGovernancePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406: handleRuleGovernanceRollback 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483: requireRuleGovernanceReadAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495: requireRuleGovernanceProjectOrAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505: ruleGovernanceCallerIsAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510: requireRuleGovernanceAdminAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518: redactRuleGovernanceEvidenceHandles 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535: redactRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553: ruleGovernanceEvidenceHandleHasSensitiveText 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559: isCanonicalRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580: isSafeRuleGovernanceEvidenceID 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594: parseRuleGovernanceTransitionRequest 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604: parseRuleGovernanceSince 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623: boundedRuleGovernanceLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634: formatRuleGovernanceTime 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641: formatRuleGovernanceTimePtr 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649: stringRuleCandidateStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657: stringRuleVersionStateCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665: stringRuleArbiterRunStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673: stringRuleInjectionEventTypeCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:17: handleStoreRule 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:133: handleListRules 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:22: handleSettingsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:51: SetSettingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:57: settingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:67: isSecretSettingKey 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:74: requireAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:85: handleSetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:145: handleGetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:181: handleListSettings 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:216: handleDeleteSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:35: resumeScopesFromFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:52: stateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:82: setStateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:142: handleGetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:219: handleSetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:274: decodeSessionStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:292: validateSessionStateBudget 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:303: validateNativeResumePacket 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:349: decodeProjectStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:364: requireStateObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:383: requireNestedObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10: handleStoreConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21: SetTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25: temporalTruthEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30: temporalTruthTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39: temporalTruthRefreshTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48: temporalTruthRefreshSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58: temporalTruthSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72: currentTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82: handleTemporalTruth 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102: handleTemporalTruthRefresh 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122: parseTemporalTruthArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151: parseTemporalTruthRefreshProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10: handleVaultConsolidated 0.0% +total: (statements) 0.1% diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/assert-go-test-json.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/assert-go-test-json.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/assert-go-test-json.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/assert-go-test-json.stdout.log new file mode 100644 index 00000000..72db0735 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/assert-go-test-json.stdout.log @@ -0,0 +1,2 @@ +go test JSON verdict=PASS packages=1 tests=1 passed=1 failed=0 skipped=0 unexpected_skips=0 malformed=0 +summary=D:\Dev\engram\.w\t007-r1-checker\.agent\reviews\t007-r1-fresh-checker\evidence\focused-repeat3\repeat-02\go-test-summary.json diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/cleanup-process.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/cleanup-process.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/cleanup-process.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/cleanup-process.stdout.log new file mode 100644 index 00000000..94a3967b --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/cleanup-process.stdout.log @@ -0,0 +1,2 @@ +cleanup verdict=PASS database=engram_prc_rg_test_08822acc1e43ac35_r2 schema=public terminated_sessions=0 remaining_database_count=0 +summary=D:\Dev\engram\.w\t007-r1-checker\.agent\reviews\t007-r1-fresh-checker\evidence\focused-repeat3\repeat-02\cleanup\cleanup.json diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/cleanup/cleanup.json b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/cleanup/cleanup.json new file mode 100644 index 00000000..9b76dea6 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/cleanup/cleanup.json @@ -0,0 +1,170 @@ +{ + "schema_version": 1, + "run_id": "focused-repeat3-repeat-2", + "timestamp": "2026-07-11T00:53:56.3555545+00:00", + "verdict": "PASS", + "database": "engram_prc_rg_test_08822acc1e43ac35_r2", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_08822acc1e43ac35_r2.public", + "admin_dsn": "postgresql://engram:REDACTED@127.0.0.1:55432/postgres?sslmode=disable", + "postgres_container": "engram-prc-postgres", + "cleanup_status": "PASS", + "cleanup_attempted": true, + "database_existed_before": true, + "absence_verified": true, + "terminated_sessions": 0, + "remaining_database_count": 0, + "commands": [ + { + "name": "database-exists-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r2';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r2';", + "started_at": "2026-07-11T00:53:52.5768696+00:00", + "finished_at": "2026-07-11T00:53:53.3124299+00:00", + "duration_seconds": 0.736, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\cleanup\\database-exists-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\cleanup\\database-exists-before.stderr.log" + }, + { + "name": "pg-stat-activity-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r2' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r2' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:53:53.4136315+00:00", + "finished_at": "2026-07-11T00:53:54.0303638+00:00", + "duration_seconds": 0.617, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\cleanup\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\cleanup\\pg-stat-activity-before.stderr.log" + }, + { + "name": "terminate-database-sessions", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r2' AND pid <> pg_backend_pid() ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r2' AND pid <> pg_backend_pid() ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:53:54.0382335+00:00", + "finished_at": "2026-07-11T00:53:54.7490309+00:00", + "duration_seconds": 0.711, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\cleanup\\terminate-sessions.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\cleanup\\terminate-sessions.stderr.log" + }, + { + "name": "drop-fresh-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "DROP DATABASE IF EXISTS \"engram_prc_rg_test_08822acc1e43ac35_r2\" WITH (FORCE);" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c DROP DATABASE IF EXISTS \"engram_prc_rg_test_08822acc1e43ac35_r2\" WITH (FORCE);", + "started_at": "2026-07-11T00:53:54.7618115+00:00", + "finished_at": "2026-07-11T00:53:55.6744952+00:00", + "duration_seconds": 0.913, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\cleanup\\drop-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\cleanup\\drop-database.stderr.log" + }, + { + "name": "verify-database-absent", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r2';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r2';", + "started_at": "2026-07-11T00:53:55.6799485+00:00", + "finished_at": "2026-07-11T00:53:56.3466989+00:00", + "duration_seconds": 0.667, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\cleanup\\verify-database-absent.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\cleanup\\verify-database-absent.stderr.log" + } + ], + "errors": [] +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/cleanup/database-exists-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/cleanup/database-exists-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/cleanup/database-exists-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/cleanup/database-exists-before.stdout.log new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/cleanup/database-exists-before.stdout.log @@ -0,0 +1 @@ +1 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/cleanup/drop-database.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/cleanup/drop-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/cleanup/drop-database.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/cleanup/drop-database.stdout.log new file mode 100644 index 00000000..ca12dce0 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/cleanup/drop-database.stdout.log @@ -0,0 +1 @@ +DROP DATABASE diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/cleanup/pg-stat-activity-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/cleanup/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/cleanup/pg-stat-activity-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/cleanup/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/cleanup/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/cleanup/terminate-sessions.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/cleanup/terminate-sessions.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/cleanup/terminate-sessions.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/cleanup/terminate-sessions.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/cleanup/terminate-sessions.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/cleanup/verify-database-absent.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/cleanup/verify-database-absent.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/cleanup/verify-database-absent.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/cleanup/verify-database-absent.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/cleanup/verify-database-absent.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/connection-count-after.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/connection-count-after.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/connection-count-after.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/connection-count-after.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/connection-count-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/connection-count-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/connection-count-before.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/connection-count-before.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/coverage.out b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/coverage.out new file mode 100644 index 00000000..52335d8a --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/coverage.out @@ -0,0 +1,3472 @@ +mode: atomic +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33.53,34.30 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:34.30,36.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.2,37.25 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.25,39.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:40.2,40.12 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44.28,46.2 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52.83,53.12 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:53.12,54.16 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:54.16,55.32 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:55.32,61.5 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:63.3,65.33 3 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:65.33,71.4 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77.54,78.14 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:78.14,80.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:81.2,82.16 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:82.16,85.3 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:86.2,87.13 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92.91,93.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:93.23,95.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:96.2,97.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:97.15,99.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:100.2,105.65 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:105.65,113.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117.95,118.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:118.23,120.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:121.2,122.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:122.15,124.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:125.2,129.65 5 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:129.65,138.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142.87,143.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:143.23,145.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:146.2,147.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:150.2,153.65 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:153.65,161.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166.96,167.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:167.23,169.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:170.2,171.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:171.15,173.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:174.2,177.63 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:177.63,185.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189.97,190.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:190.23,192.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:193.2,194.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:194.15,196.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:197.2,200.68 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:200.68,208.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:30.62,31.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:31.20,33.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:34.2,35.49 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:35.49,37.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:38.2,38.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:38.14,40.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:41.2,41.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:46.52,47.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:47.14,49.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:50.2,50.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:51.14,52.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:53.19,54.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:55.15,56.45 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:57.12,58.31 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:59.10,60.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:67.43,68.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:68.14,70.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:71.2,71.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:72.15,73.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:74.19,75.38 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:75.38,77.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:78.3,78.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:78.40,80.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:81.3,81.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:82.14,83.56 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:83.56,85.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:86.3,86.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:86.54,88.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:89.3,89.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:90.10,91.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:97.49,98.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:98.14,100.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:101.2,101.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:102.15,103.18 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:104.19,105.38 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:105.38,107.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:108.3,108.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:108.40,110.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:111.3,111.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:112.14,113.56 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:113.56,115.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:116.3,116.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:116.54,118.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:119.3,119.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:120.10,121.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:127.55,128.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:128.14,130.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:131.2,131.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:132.15,133.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:134.19,135.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:135.40,137.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:138.3,138.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:139.14,140.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:140.54,142.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:143.3,143.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:144.10,145.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:151.46,152.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:152.14,154.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:155.2,155.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:156.12,157.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:158.14,159.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:159.54,161.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:162.3,162.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:163.15,164.16 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:165.19,166.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:166.40,168.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:169.3,169.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:170.10,171.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:177.40,178.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:178.14,180.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:181.2,181.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:182.13,184.26 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:184.26,185.36 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:185.36,187.5 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:189.3,189.16 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:190.16,191.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:192.14,193.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:193.14,195.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:196.3,196.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:197.10,198.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:204.38,205.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:205.14,207.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:208.2,209.9 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:209.9,211.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:212.2,213.27 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:213.27,214.42 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:214.42,216.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:218.2,218.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:222.32,223.39 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:223.39,225.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:226.2,226.30 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:226.30,228.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:229.2,229.30 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:229.30,231.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:232.2,232.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:236.35,237.28 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:237.28,239.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.2,240.28 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.28,242.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:243.2,243.15 1 0 +github.com/thebtf/engram/internal/mcp/context.go:17.55,19.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:22.78,24.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:29.78,31.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:35.53,38.2 2 0 +github.com/thebtf/engram/internal/mcp/context.go:41.80,43.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:48.80,50.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:54.53,57.2 2 0 +github.com/thebtf/engram/internal/mcp/context.go:61.51,62.43 1 0 +github.com/thebtf/engram/internal/mcp/context.go:62.43,64.3 1 0 +github.com/thebtf/engram/internal/mcp/context.go:65.2,65.16 1 0 +github.com/thebtf/engram/internal/mcp/health.go:22.32,26.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:29.37,33.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:36.35,40.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:42.44,45.25 3 0 +github.com/thebtf/engram/internal/mcp/health.go:45.25,47.50 1 0 +github.com/thebtf/engram/internal/mcp/health.go:47.50,50.4 2 0 +github.com/thebtf/engram/internal/mcp/health.go:55.74,60.16 5 0 +github.com/thebtf/engram/internal/mcp/health.go:60.16,62.3 1 0 +github.com/thebtf/engram/internal/mcp/health.go:63.2,71.4 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28.42,29.65 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:29.65,32.3 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.2,33.40 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.40,35.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:36.2,36.14 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39.120,40.69 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:40.69,42.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:43.2,44.19 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:44.19,46.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:47.2,48.17 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:48.17,50.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:51.2,52.59 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:52.59,54.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:55.2,56.20 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:56.20,58.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:59.2,60.17 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:60.17,62.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:63.2,64.21 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:64.21,66.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:67.2,68.22 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:68.22,70.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:71.2,72.23 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:76.2,98.19 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:98.19,100.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:101.2,101.66 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104.52,106.29 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:106.29,108.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:109.2,110.46 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113.113,123.27 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:123.27,125.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:130.2,130.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:127.44,138.2 1 1 +github.com/thebtf/engram/internal/mcp/server.go:141.64,143.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:146.78,148.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:151.53,153.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:156.55,158.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:161.58,163.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:166.62,168.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:171.50,173.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:176.78,178.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:181.74,183.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:186.71,189.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:191.85,193.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:195.61,197.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:199.49,201.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:204.54,206.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:211.53,213.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:216.53,218.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:222.61,224.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:228.59,230.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:234.51,236.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:240.52,242.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:246.55,248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:252.82,254.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:260.70,262.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:269.68,271.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:274.87,277.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:282.60,284.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:290.45,292.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:297.77,299.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:303.37,313.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:313.38,315.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:316.2,317.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:317.9,319.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:320.2,321.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:321.9,323.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:324.2,325.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:325.9,327.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:328.2,328.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:332.35,334.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:383.49,387.12 3 0 +github.com/thebtf/engram/internal/mcp/server.go:387.12,388.22 1 0 +github.com/thebtf/engram/internal/mcp/server.go:388.22,389.11 1 0 +github.com/thebtf/engram/internal/mcp/server.go:390.22,392.11 2 0 +github.com/thebtf/engram/internal/mcp/server.go:393.12,393.12 0 0 +github.com/thebtf/engram/internal/mcp/server.go:396.4,397.18 2 0 +github.com/thebtf/engram/internal/mcp/server.go:397.18,398.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:401.4,402.61 2 0 +github.com/thebtf/engram/internal/mcp/server.go:402.61,404.13 2 0 +github.com/thebtf/engram/internal/mcp/server.go:407.4,407.55 1 0 +github.com/thebtf/engram/internal/mcp/server.go:407.55,409.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:411.3,411.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:414.2,414.9 1 0 +github.com/thebtf/engram/internal/mcp/server.go:415.20,416.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:417.25,418.17 1 0 +github.com/thebtf/engram/internal/mcp/server.go:418.17,420.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:421.3,421.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:427.77,428.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:428.19,431.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:433.2,433.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:434.20,435.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:436.20,437.32 1 0 +github.com/thebtf/engram/internal/mcp/server.go:438.20,439.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:443.24,444.93 1 0 +github.com/thebtf/engram/internal/mcp/server.go:445.34,446.101 1 0 +github.com/thebtf/engram/internal/mcp/server.go:447.22,448.91 1 0 +github.com/thebtf/engram/internal/mcp/server.go:449.29,450.120 1 0 +github.com/thebtf/engram/internal/mcp/server.go:451.10,456.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:461.51,462.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:463.50,464.70 1 0 +github.com/thebtf/engram/internal/mcp/server.go:465.46,466.79 1 0 +github.com/thebtf/engram/internal/mcp/server.go:467.10,468.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:473.59,485.63 2 0 +github.com/thebtf/engram/internal/mcp/server.go:485.63,487.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:489.2,493.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:496.45,503.33 3 0 +github.com/thebtf/engram/internal/mcp/server.go:503.33,505.57 2 0 +github.com/thebtf/engram/internal/mcp/server.go:505.57,506.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:506.76,507.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.4,509.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.18,511.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:511.10,513.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:514.4,518.11 5 0 +github.com/thebtf/engram/internal/mcp/server.go:522.2,522.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:660.29,683.21 2 0 +github.com/thebtf/engram/internal/mcp/server.go:683.21,689.3 5 0 +github.com/thebtf/engram/internal/mcp/server.go:690.2,699.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:712.30,765.49 3 0 +github.com/thebtf/engram/internal/mcp/server.go:765.49,789.3 5 0 +github.com/thebtf/engram/internal/mcp/server.go:790.2,799.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:805.40,936.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:942.58,1048.35 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1048.35,1077.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.2,1080.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.33,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.2,1093.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.26,1123.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1124.2,1124.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1124.80,1126.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1127.2,1127.55 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1127.55,1129.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1130.2,1130.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1130.38,1132.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1134.2,1134.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1134.25,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1138.2,1138.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1138.33,1140.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1141.2,1141.69 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1141.69,1143.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1144.2,1144.75 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1144.75,1146.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1148.2,1148.27 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1148.27,1165.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.2,1168.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.76,1191.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1195.2,1195.48 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1195.48,1197.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.2,1201.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.47,1203.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.2,1205.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.38,1207.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1212.2,1212.21 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1212.21,1214.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1228.2,1228.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1228.51,1230.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1233.2,1233.56 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1233.56,1235.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1238.2,1238.71 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1238.71,1298.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1302.2,1302.104 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1302.104,1321.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1324.2,1324.72 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1324.72,1333.154 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1333.154,1334.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1334.26,1336.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1337.7,1337.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1338.35,1340.26 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1340.26,1342.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1343.7,1343.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1371.2,1371.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1371.26,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1393.2,1393.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1393.28,1443.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.2,1446.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.28,1478.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.2,1481.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.37,1561.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1564.2,1568.23 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1568.23,1570.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1572.2,1588.57 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1588.57,1591.29 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1591.29,1593.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1594.3,1594.27 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1594.27,1595.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1595.29,1597.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1601.2,1607.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1612.79,1614.60 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1614.60,1620.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1622.2,1623.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1623.16,1631.3 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1633.2,1641.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1644.69,1645.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1645.34,1647.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1648.2,1649.22 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1649.22,1651.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1652.2,1652.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1656.99,1658.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1659.16,1660.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1661.15,1662.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1663.18,1664.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1665.15,1666.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1667.18,1668.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1669.14,1670.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1671.15,1672.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1676.2,1676.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1677.35,1678.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1679.26,1680.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1681.20,1682.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1683.20,1684.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1685.16,1686.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1687.29,1688.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1689.33,1690.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1691.25,1692.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1693.23,1694.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1696.26,1697.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1698.24,1699.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1700.22,1701.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1702.25,1703.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1704.27,1705.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1706.25,1707.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1709.30,1710.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1711.28,1712.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1713.17,1714.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1715.20,1716.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1717.20,1718.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1719.20,1720.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1722.20,1723.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1724.18,1725.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1726.20,1727.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1728.18,1729.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1730.21,1731.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1732.21,1733.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1734.26,1735.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1736.25,1737.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1738.26,1739.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1740.24,1741.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1742.26,1743.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1744.27,1745.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1746.22,1747.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1748.19,1749.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1750.15,1751.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1752.16,1753.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1755.21,1756.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1757.19,1758.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1759.20,1760.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1761.22,1762.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1763.22,1764.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1765.23,1766.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1767.20,1768.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1769.32,1770.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1771.19,1772.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1773.19,1774.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1775.33,1776.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1777.35,1778.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1779.24,1780.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1781.32,1782.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1783.28,1784.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1785.21,1786.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1787.34,1788.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1789.25,1790.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1791.29,1792.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1793.26,1794.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1795.27,1796.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1798.25,1799.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1800.23,1801.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1802.27,1803.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1804.26,1805.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1806.29,1807.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1809.29,1810.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1811.27,1812.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1813.30,1814.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1815.38,1816.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1817.36,1818.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1820.24,1821.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1822.27,1823.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1824.22,1825.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1826.32,1827.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1828.32,1829.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1830.31,1831.48 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1832.35,1833.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1834.36,1835.53 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1836.36,1837.53 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1838.38,1839.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1840.34,1841.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1843.22,1844.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1845.21,1846.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1847.24,1848.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1850.25,1851.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1852.25,1853.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1859.2,1859.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1860.22,1863.131 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1866.51,1867.123 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1868.10,1869.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1874.47,1876.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1876.16,1879.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1880.2,1880.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1884.72,1890.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1896.105,1898.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1898.16,1900.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1902.2,1903.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1903.17,1905.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1907.2,1908.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1908.17,1910.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1912.2,1918.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1918.16,1920.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1921.2,1921.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1927.76,1933.15 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1933.15,1936.17 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1936.17,1938.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1939.3,1939.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1943.2,1950.36 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1950.36,1952.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1952.8,1955.29 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1955.29,1958.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1959.3,1962.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.2,1966.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.20,1977.20 6 0 +github.com/thebtf/engram/internal/mcp/server.go:1977.20,1979.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.3,1980.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.20,1982.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.3,1985.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.37,1987.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1987.30,1988.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1988.16,1990.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1990.11,1992.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1994.4,1995.56 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1995.56,1997.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1998.4,2003.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.2,2008.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.29,2009.63 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2009.63,2011.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2011.9,2013.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.2,2021.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.29,2029.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2029.38,2031.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2031.9,2033.31 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2033.31,2035.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2035.30,2037.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2039.4,2042.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2046.2,2047.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2047.16,2049.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2050.2,2050.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2055.57,2056.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2056.33,2058.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2059.2,2060.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2060.16,2062.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2063.2,2064.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2064.16,2066.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2067.2,2067.23 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2071.79,2105.15 6 0 +github.com/thebtf/engram/internal/mcp/server.go:2105.15,2107.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2107.17,2111.4 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2111.9,2112.17 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2112.17,2114.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2115.4,2117.26 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2117.26,2119.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2119.10,2121.29 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2121.29,2123.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2125.4,2129.25 5 0 +github.com/thebtf/engram/internal/mcp/server.go:2130.19,2130.19 0 0 +github.com/thebtf/engram/internal/mcp/server.go:2132.20,2134.106 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2135.12,2137.103 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2140.8,2143.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2144.2,2150.49 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2150.49,2152.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2152.8,2154.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2155.2,2168.27 4 0 +github.com/thebtf/engram/internal/mcp/server.go:2168.27,2170.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2170.17,2173.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2173.9,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2177.2,2182.40 4 0 +github.com/thebtf/engram/internal/mcp/server.go:2182.40,2183.21 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2184.20,2185.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2186.19,2187.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.2,2191.24 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.24,2193.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.8,2193.30 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.30,2195.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.2,2198.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.28,2200.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.2,2203.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.29,2205.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2207.2,2208.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2208.16,2210.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2211.2,2211.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2216.103,2218.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2218.16,2220.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2222.2,2223.15 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2223.15,2225.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2227.2,2239.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2239.16,2241.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2242.2,2242.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2246.93,2248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2251.91,2253.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:18.28,29.20 4 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:29.20,33.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:35.2,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:68.36,69.49 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:69.49,74.3 4 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:75.2,75.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:80.26,82.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:84.89,86.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:89.2,90.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:90.18,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:94.2,94.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:95.15,96.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:97.26,98.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:99.25,100.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:101.23,105.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:105.22,107.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:108.3,108.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:109.10,110.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:120.92,126.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:126.26,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:130.2,131.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:131.19,133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:134.2,135.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:135.19,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.2,138.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.24,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.2,142.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.25,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:146.2,147.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:151.2,151.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27.40,30.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32.30,46.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48.99,49.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:49.34,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.2,52.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.69,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:56.2,57.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:60.2,61.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:61.21,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:64.2,67.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:67.26,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:70.2,71.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:71.25,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:75.2,77.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:77.44,79.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.2,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.33,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:83.2,83.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86.52,87.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:87.16,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.2,90.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.15,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:93.2,93.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96.73,97.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:97.21,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:100.2,101.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:101.29,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:111.2,111.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114.34,116.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:31.98,32.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:32.52,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.2,35.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.26,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:39.2,40.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:40.49,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.2,43.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.21,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.2,46.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.21,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.2,49.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.18,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.2,52.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.18,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.2,56.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.38,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:60.2,61.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:61.16,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:68.2,70.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:70.26,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:79.2,81.36 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:81.36,84.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:86.2,89.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:89.28,90.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:90.39,91.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:93.3,97.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:100.2,104.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:107.60,113.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:115.101,116.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:116.38,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:120.2,122.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:122.21,123.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:123.26,125.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.3,126.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.23,128.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:129.8,130.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:130.26,132.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.3,133.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.68,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:137.2,140.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:141.17,142.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:143.67,143.67 0 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:144.10,145.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:148.2,162.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:162.16,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.2,165.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.2,174.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.30,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.2,177.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.31,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:181.2,182.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:182.36,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:198.2,199.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:199.19,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:202.2,203.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:203.18,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:206.2,207.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:207.21,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:210.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:211.25,213.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:214.2,225.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:225.21,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.25,230.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.2,231.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.18,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:235.2,244.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:244.21,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.2,247.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.25,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.2,250.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.18,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.2,253.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:256.2,256.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:259.50,261.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:261.22,263.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:264.2,264.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:270.90,272.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:272.42,276.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:277.2,281.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:281.27,282.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:282.45,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:286.2,286.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25.28,88.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95.95,96.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:96.22,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:99.2,100.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:100.32,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:104.2,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:109.2,114.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:114.35,121.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.2,123.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.25,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:127.2,134.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:138.2,146.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154.94,155.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:155.22,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:158.2,159.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:159.32,161.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:163.2,164.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:164.16,166.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:168.2,172.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:172.35,179.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.2,181.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.25,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:185.2,192.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:192.16,194.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:196.2,203.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211.97,212.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:212.22,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:215.2,216.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:216.32,218.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:220.2,221.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:221.16,223.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:225.2,229.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:229.35,236.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.2,238.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.25,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:242.2,249.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:249.16,251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:253.2,260.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31.80,32.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:32.14,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:35.2,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51.136,53.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:53.51,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:56.2,56.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59.94,60.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:60.21,62.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:63.2,63.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68.30,162.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165.98,166.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:166.49,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:169.2,170.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:170.16,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:173.2,174.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:174.19,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:177.2,179.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:179.17,181.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:188.2,189.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:189.31,190.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:190.15,191.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:193.3,193.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:196.2,201.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:201.16,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:204.2,204.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208.96,209.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:209.49,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:212.2,213.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:213.16,215.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:216.2,217.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:217.13,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.2,225.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.22,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:229.2,230.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:230.16,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:233.2,233.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239.100,240.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:240.22,242.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:243.2,244.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:244.16,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:247.2,248.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:248.13,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:255.2,256.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:256.12,263.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:263.30,264.77 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:264.77,269.5 4 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:271.3,272.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:272.21,274.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:275.3,275.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.2,279.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.29,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:284.2,285.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:285.16,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.2,288.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.22,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.2,291.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.55,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.2,294.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.74,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:297.2,298.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:298.16,300.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:306.2,307.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:307.41,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:310.2,324.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:324.16,325.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:325.50,327.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:328.3,328.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.2,330.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.38,332.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:334.2,341.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:341.16,343.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:344.2,344.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348.99,349.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:349.49,351.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:352.2,353.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:353.16,355.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:356.2,357.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:357.13,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:360.2,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.2,365.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.22,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.2,368.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.74,370.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:371.2,372.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:372.16,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.2,375.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.85,377.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:379.2,380.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:380.16,381.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:381.50,383.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:384.3,384.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.2,386.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.20,388.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:390.2,395.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:395.16,397.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:398.2,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402.102,403.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:403.49,405.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:406.2,407.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:407.16,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:410.2,411.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:411.13,413.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:414.2,415.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:415.16,417.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.2,418.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.22,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.2,421.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.74,423.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:424.2,425.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:425.16,427.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.2,428.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.88,430.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:432.2,433.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:433.16,434.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:434.50,436.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:437.3,437.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.2,439.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.20,441.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:443.2,448.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:448.16,450.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:451.2,451.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34.30,36.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42.61,44.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48.32,75.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79.32,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100.98,101.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:101.25,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.2,104.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.29,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:108.2,113.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:113.17,114.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:114.55,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.2,118.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.24,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.2,121.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.23,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.2,124.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.23,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:134.2,135.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:135.21,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:142.2,147.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:154.2,165.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:165.25,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:177.2,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:186.2,186.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194.98,195.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:195.25,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.2,198.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.29,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:202.2,205.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:205.17,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:208.2,209.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:209.21,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:213.2,214.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:214.16,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:217.2,218.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:218.16,220.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:226.2,231.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:231.11,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:21.52,22.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:22.24,25.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:25.28,27.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:29.2,29.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:35.72,37.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:37.15,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:45.2,45.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:49.99,51.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:51.16,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:55.2,56.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:56.16,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:60.2,72.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.2,75.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.24,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.2,78.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.24,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:81.2,81.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:82.27,82.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:84.10,85.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.2,87.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.30,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.2,90.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.26,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:104.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:116.2,123.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:126.2,126.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:130.97,132.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:132.16,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:136.2,137.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:141.2,147.23 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:147.23,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.2,150.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.26,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:154.2,155.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:155.16,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:160.16,161.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:161.47,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:164.3,164.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.2,167.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.97,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:174.2,175.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:175.16,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:179.2,185.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:185.16,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:188.2,188.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:192.99,194.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:194.16,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:198.2,199.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:199.16,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:203.2,207.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:207.26,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:211.2,212.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:212.16,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:216.2,223.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:223.26,229.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:229.28,231.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:232.3,232.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:243.100,245.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:245.16,247.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:249.2,250.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:250.16,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:254.2,262.23 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:262.23,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.2,265.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.24,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:268.2,268.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:269.27,269.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:271.10,272.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.2,274.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.30,276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.2,277.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.26,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.2,281.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.71,282.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:282.47,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:285.3,285.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:288.2,293.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:293.16,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:296.2,296.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:302.92,309.19 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:309.19,310.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:310.53,313.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:316.2,317.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:317.51,318.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:318.66,320.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:323.2,331.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:331.16,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:334.2,334.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:338.46,342.32 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:342.32,343.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:343.20,346.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:348.2,350.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:350.26,352.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:352.27,353.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:353.13,355.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:356.4,356.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:358.3,358.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:360.2,360.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:16.45,18.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:20.35,36.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:38.84,39.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:39.40,41.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.2,42.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.50,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:45.2,45.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:48.101,50.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:50.16,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:53.2,54.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:57.2,58.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:58.19,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:61.2,62.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:62.21,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:65.2,66.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:66.16,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:69.2,69.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:72.102,74.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:77.2,82.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10.100,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:22.16,23.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:24.14,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:26.14,27.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:28.17,29.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:30.17,31.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:32.21,33.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:34.19,35.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:36.17,37.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:38.16,39.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:40.16,41.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:42.21,43.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:44.10,45.167 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:15.77,16.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:16.33,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:20.2,21.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:21.27,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:25.2,26.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:26.28,29.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:29.17,31.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:34.2,41.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:41.32,46.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:46.20,48.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:49.3,49.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:61.97,62.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:62.28,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:71.2,75.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:75.29,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:79.2,80.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:80.16,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.2,84.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.20,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:88.2,97.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:97.25,103.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:103.20,105.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.3,106.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.19,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:109.3,109.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:112.2,113.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:113.16,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:117.2,117.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:121.95,122.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:122.28,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:131.2,137.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:137.50,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:141.2,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.2,145.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.16,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.2,149.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.21,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:153.2,154.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:154.16,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.2,157.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.20,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:161.2,161.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:165.98,166.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:166.28,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:170.2,171.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:171.16,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:175.2,181.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:181.50,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.2,185.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.96,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:189.2,189.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:197.98,198.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:198.28,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:207.2,217.74 6 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:217.74,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:222.2,223.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:223.16,225.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:227.2,229.156 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:235.98,237.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:237.16,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:241.2,247.24 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:247.24,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:252.2,253.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:253.29,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:256.2,256.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15.93,16.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:16.37,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:20.2,21.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:21.16,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:25.2,32.16 7 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:32.16,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.2,35.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.19,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.2,38.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.19,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:42.2,43.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:43.16,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:47.2,54.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61.91,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:62.37,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:71.2,73.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:73.16,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.2,76.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.19,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:80.2,81.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:81.43,83.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:83.19,85.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:86.3,86.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:87.8,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.2,90.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.16,91.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:91.45,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:94.3,94.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:97.2,110.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:110.16,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:113.2,113.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117.93,119.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122.91,123.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:123.37,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:132.2,133.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:133.19,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:136.2,141.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:141.16,143.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:145.2,155.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:155.25,165.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:167.2,168.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:168.16,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:171.2,171.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175.94,176.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:176.37,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:180.2,181.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:181.16,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:185.2,187.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:187.16,189.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.2,190.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.19,192.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:193.2,196.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:200.2,208.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:208.25,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:218.2,225.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232.94,233.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:233.37,235.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:242.2,243.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:243.21,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:246.2,248.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:248.19,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:252.2,253.46 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:253.46,255.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:255.13,257.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.2,259.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.44,261.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:261.13,263.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:266.2,267.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:267.16,269.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:271.2,278.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:278.16,280.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:281.2,281.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19.69,21.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23.38,38.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40.51,63.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65.53,80.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82.46,85.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:85.32,87.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:88.2,88.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91.105,93.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:93.16,95.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:96.2,97.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:100.2,100.70 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103.107,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:108.2,109.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:109.16,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:112.2,112.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115.101,117.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:117.16,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:120.2,121.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:121.17,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:124.2,139.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142.109,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:147.2,154.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157.100,159.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:159.28,161.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:161.18,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:164.3,164.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:166.2,167.72 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:167.72,169.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.2,170.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.53,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:173.2,174.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:174.26,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:177.2,177.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180.73,182.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:182.16,184.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:185.2,185.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12.104,14.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:14.16,16.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:18.2,19.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:19.18,21.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:23.2,23.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:24.14,25.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:26.18,27.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:28.17,29.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:30.10,31.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36.101,37.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:37.27,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:46.2,47.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:47.21,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:50.2,51.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:51.19,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:54.2,54.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:55.52,55.52 0 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:56.10,57.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:59.2,61.93 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:61.93,64.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:66.2,70.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:27.31,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:98.97,100.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:100.26,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.2,103.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.28,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:112.2,115.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:115.15,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.2,118.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.17,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:122.2,123.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:127.2,140.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:140.29,151.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:151.31,154.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:155.3,155.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:158.2,162.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:167.100,169.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:169.26,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.2,172.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.28,174.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.2,175.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.26,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:179.2,180.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:184.2,185.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:185.22,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:189.2,190.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:190.20,191.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:191.54,199.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.3,200.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.61,202.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:203.3,203.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:206.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:215.95,217.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:217.32,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.2,220.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.28,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:224.2,225.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:229.2,230.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:230.22,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.2,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.25,246.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:248.2,252.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:258.104,260.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:260.26,262.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:267.2,271.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:271.20,275.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:275.8,279.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:280.2,280.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:284.60,285.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:285.30,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.2,288.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.42,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:291.2,291.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:64.89,65.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:65.25,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:69.2,70.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:70.49,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:74.2,74.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:75.18,76.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:77.21,78.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:79.19,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:81.18,82.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:83.19,84.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:85.18,86.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:87.18,91.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:91.23,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:94.3,94.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:95.10,96.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:100.81,103.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:103.19,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:106.2,107.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:107.19,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.2,112.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.46,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.2,115.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.46,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.2,122.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.66,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.25,128.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:128.22,130.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:131.8,132.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:132.26,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.2,138.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.25,139.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:139.22,141.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:142.8,143.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:143.26,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.2,148.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.22,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.2,151.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.38,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.2,154.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.19,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:159.2,161.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:161.25,164.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.2,165.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.25,168.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:169.2,171.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:171.23,174.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.2,175.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.23,178.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:180.2,193.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:193.16,195.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:198.2,199.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:199.29,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.2,202.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.29,204.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:205.2,213.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:216.121,217.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:217.28,218.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:218.26,220.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:221.3,222.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:222.17,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:223.49,225.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:226.4,226.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:228.3,228.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.2,230.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.26,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:233.2,234.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:234.16,235.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:235.48,237.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:238.3,238.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:240.2,240.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:243.101,248.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:248.36,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:250.8,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.2,253.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.16,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.2,256.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.32,257.128 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:257.128,262.72 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:262.72,264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:267.2,267.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:276.81,277.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:277.25,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.2,280.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.22,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.2,283.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.39,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.2,286.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.25,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.2,289.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.21,291.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:292.2,293.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:293.14,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:296.2,305.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:305.16,307.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:308.2,314.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:317.84,318.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:318.19,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:321.2,323.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:323.63,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:326.2,329.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:332.82,333.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:333.38,335.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:336.2,337.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:338.18,339.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:340.18,341.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.2,345.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.59,347.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:349.2,351.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:351.21,353.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:353.8,356.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.2,357.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:366.2,367.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:367.41,369.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:371.2,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:397.115,398.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:398.15,400.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:403.2,404.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:404.26,405.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:405.28,407.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.3,408.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.28,410.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.2,412.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.23,415.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:420.2,426.12 4 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:426.12,427.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:427.27,429.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:429.18,431.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.4,433.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.33,435.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:440.2,441.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:441.26,442.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:442.28,443.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:443.49,445.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.3,448.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.28,449.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:449.49,451.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:454.2,454.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:457.82,458.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:458.21,460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:461.2,462.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:462.16,464.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.2,465.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.36,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:468.2,469.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:469.16,471.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:472.2,477.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:480.82,481.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:481.40,483.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:484.2,485.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:485.19,487.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:488.2,489.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:489.16,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:492.2,499.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:502.82,503.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:503.21,505.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:506.2,507.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:507.16,509.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:510.2,514.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23.179,24.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:24.22,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:28.2,32.22 4 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:32.22,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:35.2,36.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:36.22,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:40.2,41.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:41.26,43.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.2,44.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.26,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.2,47.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.30,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.2,50.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.30,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:54.2,55.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:55.16,57.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.2,58.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.13,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:61.2,62.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:62.16,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.2,65.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.13,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:69.2,70.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:70.16,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.2,73.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.15,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:77.2,77.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80.172,81.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:81.28,82.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:82.23,84.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.3,85.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.18,87.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:88.3,89.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:89.17,90.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:90.49,92.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:93.4,93.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:95.3,95.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.2,98.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.24,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.2,101.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.19,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:104.2,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:105.16,106.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:106.48,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:109.3,109.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:111.2,111.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114.119,116.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:116.22,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:119.2,120.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:120.22,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:124.2,126.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:126.26,127.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:127.36,129.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:130.3,130.105 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:131.8,132.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:132.32,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:135.3,135.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.2,137.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.2,141.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.32,143.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:143.27,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:146.3,147.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:147.27,149.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.3,150.106 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.106,151.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.3,153.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.27,154.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:154.114,155.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.9,157.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.104,158.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.3,160.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.27,161.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:161.114,162.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.9,164.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.104,165.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:167.3,167.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:169.2,169.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25.90,26.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:26.26,28.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:30.2,31.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:31.49,33.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:35.2,35.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:36.16,37.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:38.10,39.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43.84,44.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:44.21,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.2,47.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.25,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.2,50.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.21,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.2,53.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.21,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:57.2,58.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:59.18,60.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:61.15,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:63.24,64.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:65.10,66.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:69.2,70.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:70.22,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:73.2,74.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:74.29,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.2,78.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.14,85.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:87.2,89.37 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:89.37,92.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:92.21,94.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:97.2,100.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:100.31,102.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:102.38,104.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:104.37,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:109.3,122.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:122.26,124.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.3,125.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.19,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:131.3,133.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:133.39,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:135.9,137.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.3,138.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.17,140.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.3,142.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.34,144.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:145.3,145.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:148.2,155.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20.99,22.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:22.16,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:26.2,31.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:31.44,32.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:32.33,33.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:33.43,38.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.2,43.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.49,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.2,46.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.48,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:50.2,52.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:52.27,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:55.8,60.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:60.24,62.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.3,64.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.57,66.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:68.3,68.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.2,71.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.16,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:75.2,76.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:76.23,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:80.2,80.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:19.40,89.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:109.71,111.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:111.9,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:115.2,116.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:116.38,117.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:118.13,119.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:119.41,121.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:122.17,123.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:123.43,125.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:126.11,127.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:127.40,129.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.2,133.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.22,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:139.2,139.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:143.90,144.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:144.25,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:148.2,149.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:149.16,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:153.2,157.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:157.61,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:161.2,161.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:162.16,163.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:164.14,165.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:166.13,167.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:168.16,169.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:170.17,171.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:172.16,173.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:174.15,175.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:176.10,177.120 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:189.85,191.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:191.39,192.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:192.44,194.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.2,196.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.15,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.2,199.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.15,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:202.2,202.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:205.91,207.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:207.17,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:211.2,215.25 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:215.25,217.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:218.2,224.25 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:224.25,226.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.2,227.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.25,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:231.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:247.2,247.139 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:250.89,252.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:252.19,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:255.2,256.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:256.25,258.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:259.2,264.52 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:264.52,266.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:266.14,268.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:271.2,277.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:277.25,280.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:282.2,283.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:283.16,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.2,287.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.22,288.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:288.20,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:291.3,291.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:294.2,297.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:297.31,300.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:300.29,302.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:303.3,305.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:308.2,308.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:311.88,313.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:313.13,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:317.2,318.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:318.16,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:322.2,328.22 6 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:328.22,331.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.2,333.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.23,335.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:335.30,338.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:341.2,341.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:344.91,346.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:346.13,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:350.2,353.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:353.18,354.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:354.27,356.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.3,357.73 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.73,359.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.2,362.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.19,370.17 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:370.17,372.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:375.2,376.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:376.26,378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:379.2,379.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:382.92,384.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:384.13,386.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:388.2,389.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:389.16,391.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:393.2,401.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:401.16,403.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:405.2,405.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:408.91,410.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:410.13,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:414.2,418.95 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:418.95,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:422.2,422.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:425.90,427.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:427.13,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:431.2,433.167 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:433.167,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.2,437.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.89,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:441.2,441.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22.93,24.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:24.49,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:28.2,28.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:29.14,30.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:31.17,32.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:33.16,34.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:35.24,36.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:37.27,38.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:39.22,40.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:41.23,42.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:43.10,44.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48.79,49.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:49.13,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:57.2,58.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:58.32,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:61.2,84.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87.101,88.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:88.13,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.2,91.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.38,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.2,98.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.53,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:102.2,104.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:104.17,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.2,107.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.29,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:110.2,115.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118.100,119.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:119.13,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.2,122.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.38,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.2,129.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.53,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:133.2,135.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:135.17,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.2,138.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.29,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:141.2,146.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149.123,150.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:150.13,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.2,153.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.18,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.2,156.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.38,158.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:159.2,161.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:161.17,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:164.2,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172.113,173.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:173.13,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.2,176.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.50,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:179.2,181.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:181.17,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:184.2,188.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191.57,195.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197.102,198.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:198.13,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.2,201.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.20,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:204.2,205.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:205.16,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:209.2,210.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:210.32,212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:214.2,217.56 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:217.56,223.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:225.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233.41,235.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:235.16,237.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:238.2,238.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:35.27,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:42.41,43.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:44.48,45.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:46.10,47.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:54.57,55.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:56.17,57.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:58.16,59.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:60.10,61.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:82.58,83.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:84.28,85.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:86.26,87.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:88.10,89.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:93.114,95.68 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:95.68,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:99.2,101.42 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:101.42,102.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:102.71,105.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:107.2,117.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:117.23,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:121.2,124.22 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:124.22,125.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:125.31,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:128.3,128.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.8,129.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.37,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:132.2,132.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:135.74,136.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:136.30,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.2,139.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.34,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.2,142.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.31,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.2,145.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.22,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:161.169,162.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:162.17,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:165.2,166.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:166.51,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:169.2,169.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:172.92,174.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:174.42,177.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:177.63,179.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:179.9,181.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:183.2,183.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:186.65,190.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:192.115,194.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:194.26,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.8,196.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.31,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:199.2,199.117 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:202.122,206.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:206.31,207.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:207.45,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:211.2,211.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:214.72,216.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:218.117,219.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:222.2,223.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:223.20,225.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:225.17,227.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.3,228.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.27,229.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:229.50,231.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:231.30,232.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:236.3,236.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:239.2,241.60 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:241.60,243.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:243.61,245.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.3,246.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.24,247.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:249.3,250.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:250.17,252.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.3,253.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.22,254.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.3,256.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.29,257.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:257.50,259.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:259.30,260.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:264.3,265.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:265.32,266.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:269.2,269.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:272.51,273.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:273.16,275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:276.2,277.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:277.18,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.2,280.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.19,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:283.2,283.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:286.97,288.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:288.30,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.2,291.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.49,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:294.2,294.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:297.108,299.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:301.108,303.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:305.102,307.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:319.55,320.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:320.31,322.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.2,323.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.26,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:326.2,326.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:329.71,330.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:343.26,344.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:345.10,346.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:354.95,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:366.2,397.39 14 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:397.39,399.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:399.27,401.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:402.8,404.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:405.2,407.46 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:407.46,410.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.2,411.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.44,413.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:413.12,415.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.2,417.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.26,419.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.2,420.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.84,422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.2,427.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.65,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:431.2,433.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:433.20,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:436.2,437.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:437.20,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.2,440.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.56,442.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.2,443.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.56,448.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.2,450.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.45,453.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.2,459.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.31,461.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:461.22,462.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:462.62,465.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:466.4,466.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:468.3,468.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:471.2,472.115 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:472.115,474.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.2,491.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.19,493.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:493.23,495.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:496.3,508.21 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:508.21,510.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:511.3,511.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.2,522.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.43,535.34 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:535.34,556.30 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:556.30,558.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.4,559.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.44,561.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.4,562.106 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.106,564.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.4,575.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.74,577.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:578.4,579.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:579.18,581.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:583.4,584.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:584.28,586.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.4,588.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.31,599.57 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:599.57,601.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:601.17,604.7 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:606.5,607.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:607.21,609.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.5,615.138 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.138,617.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:617.27,619.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:620.6,620.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:622.5,623.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:623.26,625.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:626.5,626.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:630.4,631.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:631.20,633.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.4,634.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.22,637.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:637.26,639.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:640.5,640.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:645.4,660.77 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:660.77,662.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:663.4,664.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:664.25,666.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:667.4,667.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.2,673.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.26,675.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:677.2,678.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:678.25,680.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.2,681.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.97,683.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:690.2,691.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:691.21,693.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:693.33,695.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.3,696.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.33,698.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.3,699.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.49,704.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.3,721.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.54,722.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:722.84,724.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.2,728.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.99,730.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:732.2,733.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:733.22,735.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:736.109,737.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:738.100,739.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:740.114,741.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:742.107,743.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:744.11,745.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:748.2,749.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:749.43,751.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:753.2,755.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:755.34,756.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:756.48,757.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:757.19,760.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.2,764.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.31,767.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.2,768.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.35,771.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.2,772.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.76,776.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:778.2,780.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:780.16,782.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:782.20,785.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.2,788.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.25,798.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:798.18,800.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.9,800.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.30,807.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.3,808.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.36,810.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:811.3,812.50 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:812.50,815.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:816.3,822.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:822.17,824.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:826.3,836.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:836.17,838.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:839.3,839.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:842.2,843.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:843.30,844.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:844.52,846.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:846.9,848.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:851.2,869.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:869.21,871.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:871.43,873.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.3,874.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.29,876.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.3,886.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.76,888.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.2,890.105 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.105,892.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:893.2,894.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:894.16,896.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:901.2,904.40 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:904.40,905.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:905.15,906.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:909.3,910.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:910.63,912.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:912.9,914.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.3,916.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.43,918.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:919.3,920.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:920.20,922.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.3,925.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.23,928.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:929.3,931.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:931.33,934.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:934.39,936.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:939.2,948.42 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:948.42,950.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:950.21,952.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:952.9,955.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.2,959.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.53,960.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:960.54,961.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:961.33,963.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:964.9,972.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.3,973.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.60,974.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:974.40,976.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.3,978.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.61,979.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:979.41,981.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.3,983.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.28,985.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:986.3,987.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.2,989.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.51,991.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:995.2,997.53 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:997.53,999.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:999.8,1001.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.2,1002.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.22,1004.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1008.2,1014.76 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1014.76,1016.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.2,1021.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.57,1026.13 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1026.13,1029.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1029.21,1032.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.4,1033.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.49,1035.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1036.4,1043.89 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1043.89,1046.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1048.4,1048.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1052.2,1063.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1063.21,1065.40 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1065.40,1067.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.3,1068.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.38,1070.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1072.2,1074.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1074.18,1081.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.2,1082.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.28,1084.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.2,1085.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.16,1087.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.2,1088.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.30,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.2,1091.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.30,1093.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.2,1098.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.76,1100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1101.2,1102.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1102.16,1104.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1105.2,1105.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111.94,1113.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1113.15,1115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1117.2,1118.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1118.16,1120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1122.2,1123.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1123.13,1125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1126.2,1131.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1131.16,1133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.2,1134.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.19,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.2,1146.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.39,1148.55 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1148.55,1150.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.2,1152.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.39,1154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1157.2,1158.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1158.21,1163.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1163.21,1165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1166.3,1167.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1167.21,1169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.3,1170.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.52,1172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.3,1173.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.52,1178.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.3,1179.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.41,1182.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1183.3,1183.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.2,1188.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.46,1190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.2,1191.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.27,1193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1195.2,1196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1196.16,1198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1201.2,1210.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1210.16,1212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1213.2,1213.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218.59,1220.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1220.38,1222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1225.2,1226.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1226.29,1227.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1227.22,1229.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.2,1232.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.18,1234.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1237.2,1244.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1244.29,1245.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1245.67,1247.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.2,1249.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.16,1251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1254.2,1254.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258.55,1260.47 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1260.47,1262.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1263.2,1264.58 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1264.58,1266.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1267.2,1267.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270.252,1271.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1271.108,1273.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.2,1274.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.55,1276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1277.2,1277.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280.184,1282.69 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1282.69,1284.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1284.32,1285.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1285.58,1287.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.3,1290.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.18,1292.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.2,1294.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.19,1297.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1297.32,1298.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1298.39,1300.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.3,1303.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.19,1305.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.2,1307.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.21,1309.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1309.32,1310.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1310.49,1312.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.3,1315.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.18,1317.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.2,1319.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.28,1321.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1321.17,1323.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.3,1324.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.27,1326.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.2,1328.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.76,1330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1331.2,1331.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342.96,1343.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1343.26,1345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1347.2,1348.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1348.16,1350.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1352.2,1363.23 9 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1363.23,1364.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1364.58,1365.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1365.31,1367.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1367.10,1369.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.2,1373.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.17,1375.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.2,1376.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.16,1378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.2,1379.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.16,1381.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.2,1382.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.18,1384.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.2,1385.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.19,1387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.2,1388.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.19,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1396.2,1399.18 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1399.18,1400.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1400.61,1401.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1402.50,1403.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1404.12,1405.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1409.2,1410.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1410.42,1414.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1415.2,1420.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1420.16,1422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1429.2,1444.43 6 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1444.43,1446.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1449.2,1451.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1451.27,1453.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.2,1458.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.46,1460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.2,1461.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.63,1463.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1465.2,1466.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1466.15,1472.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1472.29,1479.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1479.18,1481.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.4,1482.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.23,1483.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.4,1485.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.30,1486.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1486.24,1488.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1488.32,1489.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1493.4,1494.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1494.30,1495.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1498.8,1504.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1504.29,1506.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1506.18,1508.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.4,1509.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.23,1510.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.4,1512.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.30,1513.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1513.24,1515.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1515.32,1516.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1520.4,1521.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1521.30,1522.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.2,1526.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.26,1528.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1528.17,1530.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.2,1535.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.74,1536.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1536.13,1537.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1537.33,1542.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1542.26,1544.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1544.39,1546.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1548.5,1548.82 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.2,1565.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.38,1569.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1569.27,1571.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.3,1572.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.27,1574.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1576.3,1581.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1581.32,1586.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1588.3,1592.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1592.18,1594.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1595.3,1596.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1596.17,1598.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1599.3,1599.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1602.2,1602.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1603.15,1618.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1618.32,1620.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1620.33,1621.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1621.40,1623.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1626.4,1638.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1640.3,1641.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1641.17,1643.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1644.3,1644.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1646.18,1648.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1648.17,1650.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1651.3,1651.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1653.10,1654.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1654.25,1656.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1657.3,1659.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1659.32,1661.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1661.33,1662.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1662.40,1664.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1667.4,1669.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1669.26,1671.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1672.4,1673.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1673.25,1675.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1676.4,1676.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1678.3,1678.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690.51,1695.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700.73,1702.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1702.16,1704.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1705.2,1706.48 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1706.48,1710.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1711.2,1713.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1713.16,1715.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1716.2,1716.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727.117,1731.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1731.21,1733.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1734.2,1735.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1735.16,1737.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1738.2,1739.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1739.27,1741.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1742.2,1742.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1764.19,1775.30 7 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1775.30,1777.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1777.37,1779.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.3,1781.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.20,1783.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.2,1797.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.39,1799.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1801.2,1811.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1811.25,1813.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1815.2,1816.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1816.29,1818.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.2,1824.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.27,1826.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1831.2,1833.22 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1833.22,1835.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1837.2,1846.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1846.16,1848.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1853.2,1855.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1855.27,1857.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1859.2,1876.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1876.33,1878.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1880.2,1881.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1881.28,1885.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1885.20,1888.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1888.33,1889.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1889.40,1891.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.4,1894.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.20,1895.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.3,1900.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.22,1902.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1902.33,1903.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1903.50,1905.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.4,1908.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.19,1909.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.3,1918.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.56,1919.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.3,1927.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.64,1928.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1932.3,1935.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1935.32,1936.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1936.39,1938.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1942.3,1956.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1956.14,1957.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1957.37,1959.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1961.3,1962.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1962.26,1963.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.2,1975.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.59,1986.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1986.17,1988.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1990.3,1991.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1991.34,1993.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1995.3,1996.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1996.29,1998.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1998.21,2001.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2001.34,2002.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2002.41,2004.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.5,2007.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.21,2008.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.4,2011.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.23,2013.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2013.34,2014.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2014.51,2016.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.5,2019.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.20,2020.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.4,2023.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.57,2024.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.4,2027.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.65,2028.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2030.4,2031.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2031.33,2032.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2032.40,2034.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2037.4,2051.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2051.15,2052.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2052.38,2054.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2056.4,2057.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2057.27,2058.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2065.2,2066.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2066.28,2068.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.2,2072.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.71,2080.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2080.30,2081.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2081.41,2087.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.3,2089.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.13,2090.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2090.31,2095.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2095.25,2097.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2097.38,2099.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2101.5,2101.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.2,2112.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.38,2115.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2115.27,2117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2121.3,2138.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2138.30,2140.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2140.11,2141.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2143.4,2160.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2160.15,2161.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2161.39,2163.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2165.4,2165.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2167.3,2173.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2173.24,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2176.3,2176.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2179.2,2179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2180.15,2182.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2182.24,2184.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2185.3,2185.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2187.18,2199.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2199.30,2201.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2201.11,2202.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2204.4,2208.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2208.15,2209.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2209.39,2211.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2213.4,2213.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2215.3,2216.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2216.24,2218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2219.3,2219.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2220.10,2221.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2221.22,2223.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2224.3,2226.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2226.27,2228.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2228.20,2230.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2231.4,2233.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2233.26,2235.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2236.4,2237.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2237.23,2239.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.4,2240.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.46,2244.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2245.4,2245.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2247.3,2247.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252.94,2254.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2254.16,2256.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2258.2,2260.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2260.18,2261.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2261.59,2262.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2262.36,2264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2264.10,2266.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.2,2270.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.13,2272.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.2,2273.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.50,2275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2277.2,2277.98 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281.98,2282.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2282.26,2284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2286.2,2287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2287.16,2289.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2291.2,2292.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2292.13,2294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2297.2,2298.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2298.19,2299.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2299.51,2301.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2302.3,2302.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.2,2304.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.42,2306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.2,2308.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.54,2309.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2309.48,2311.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2312.3,2312.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2316.2,2318.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17.82,19.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21.149,22.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:22.55,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.2,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.36,27.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:28.2,34.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:34.16,36.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.2,37.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.42,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:40.2,40.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43.105,44.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:44.48,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:47.2,48.54 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51.129,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:56.2,57.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:57.53,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:60.2,61.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:61.25,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:64.2,65.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:65.16,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:68.2,68.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26.97,27.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:27.18,29.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:30.2,30.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33.37,35.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37.81,38.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:38.44,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.2,41.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.38,43.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:44.2,44.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47.88,48.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:48.32,50.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:51.2,52.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:52.20,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:55.2,55.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58.40,72.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74.106,75.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:75.34,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:78.2,79.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:79.16,81.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:83.2,84.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:88.2,89.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:89.13,91.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:93.2,94.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:94.63,96.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.2,98.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.72,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:102.2,106.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109.117,110.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:110.32,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.2,113.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.34,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:117.2,118.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:118.16,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.2,121.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.19,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:125.2,126.69 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:126.69,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:130.2,136.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18.33,20.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22.27,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39.93,40.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:40.30,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.2,43.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.28,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:46.2,47.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:47.16,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:51.2,52.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:52.17,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:55.2,56.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:56.19,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.2,59.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.19,61.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:62.2,63.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:63.16,65.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:67.2,74.9 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:74.9,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:77.2,78.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:78.15,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:81.2,85.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:85.16,87.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.2,88.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.17,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:92.2,101.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104.48,105.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:108.2,109.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:109.29,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.2,112.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.31,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:115.2,115.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118.75,120.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:120.27,121.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:121.32,123.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:123.17,124.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:126.4,126.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:129.2,134.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:134.33,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.2,137.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.40,138.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:138.39,140.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:141.3,141.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.2,143.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.34,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:146.2,147.35 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:147.35,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:150.2,150.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153.77,154.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:154.20,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:157.2,159.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:159.31,160.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:160.33,162.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.3,163.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.30,165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:167.2,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23.91,25.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27.38,50.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52.104,53.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:53.38,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:56.2,57.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:61.2,62.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:62.26,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:65.2,66.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:66.30,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.2,69.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.72,71.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:73.2,74.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:77.2,78.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:78.16,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:81.2,82.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:82.16,84.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:85.2,86.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:90.2,105.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.2,109.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.19,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.2,118.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.25,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.2,121.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.30,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.2,124.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.31,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:131.2,131.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134.91,136.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:136.9,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:139.2,140.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:140.15,141.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:141.19,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:144.3,144.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:146.2,146.94 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149.59,150.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:150.16,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:153.2,154.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:154.61,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:157.2,157.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160.56,161.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:161.75,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:164.2,164.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167.67,169.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:170.17,171.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:172.67,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:174.10,175.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179.60,180.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:183.2,184.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:184.25,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:187.2,187.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190.57,191.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:192.15,193.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:193.81,195.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:196.3,196.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:197.19,199.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:199.17,201.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.3,202.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.55,204.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:205.3,205.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:206.14,207.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:208.11,209.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:210.10,211.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215.59,216.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:216.16,218.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:219.2,219.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:220.12,221.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:222.14,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:224.10,225.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:28.90,30.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:30.16,32.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:34.2,36.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:37.16,38.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:40.16,42.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:44.20,46.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:48.17,50.142 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:52.17,56.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:56.50,62.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:62.63,64.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.4,66.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.45,68.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:72.4,74.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:74.25,76.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:77.4,77.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:80.3,80.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:82.18,84.141 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:86.18,88.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:88.18,90.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:91.3,91.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:93.17,96.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:96.50,99.59 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:99.59,101.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:102.4,104.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:104.25,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:107.4,107.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:110.3,110.98 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:112.10,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:125.86,126.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:129.2,130.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:130.9,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.2,133.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.22,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:137.2,139.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:139.31,141.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:141.10,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:144.3,145.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:145.22,147.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:148.3,149.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:149.26,151.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.3,152.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.68,154.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:155.3,156.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:156.37,158.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:159.3,160.107 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:162.2,162.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:165.249,166.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:166.24,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.2,169.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.38,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:173.2,174.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:174.31,175.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:175.32,177.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:180.2,181.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:181.34,182.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:182.29,183.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:185.3,197.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:197.17,199.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.3,200.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.20,201.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.3,203.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.37,205.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:205.33,206.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.4,208.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.19,209.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:209.43,210.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:212.5,212.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:214.4,215.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:215.30,216.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:220.2,220.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:223.113,229.2 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:231.101,233.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:247.92,251.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:251.16,253.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.8,253.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:259.2,272.51 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:272.51,274.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:274.38,275.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:276.50,277.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:278.12,279.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:287.2,292.26 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:292.26,294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.2,297.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.19,301.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:303.2,311.42 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:311.42,315.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:316.2,341.64 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:341.64,342.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:342.86,344.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.3,345.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.56,347.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:348.3,360.19 6 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:360.19,364.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:365.3,365.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:369.2,370.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:370.15,372.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:372.27,374.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.3,375.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.27,377.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:380.2,381.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:381.15,387.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:387.28,395.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:395.18,397.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.4,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.23,399.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.4,401.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.30,402.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:402.66,403.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:405.5,406.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:406.12,407.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.5,409.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.28,413.6 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:414.5,415.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:415.30,416.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:419.4,420.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:420.30,421.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:424.8,432.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:432.28,438.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:438.18,440.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.4,441.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.23,442.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.4,444.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.30,445.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:445.40,447.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:447.31,448.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:452.4,455.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:455.30,456.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:461.2,465.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:465.17,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:469.2,470.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:470.16,472.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:473.2,473.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20.79,21.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:21.43,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.2,24.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.29,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:27.2,27.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30.40,63.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65.68,71.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:71.25,74.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:75.2,75.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78.62,83.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:83.19,87.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:88.2,88.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91.101,92.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:92.22,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:95.2,96.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:96.18,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:103.2,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:107.2,107.119 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110.99,111.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:111.22,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:114.2,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:115.18,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:118.2,119.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:119.16,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.2,122.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.51,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:129.2,131.15 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:131.15,132.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:132.69,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:135.3,135.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:137.2,137.130 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140.102,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.2,145.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.64,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:148.2,148.113 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151.109,153.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:157.16,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:160.2,161.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:161.16,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:164.2,164.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167.107,169.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:169.16,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:172.2,173.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:173.16,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.2,176.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.107,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:179.2,179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:180.41,181.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:182.41,183.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:184.10,185.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189.111,191.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:191.16,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:194.2,195.57 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:195.57,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:198.2,199.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:199.23,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.2,206.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.17,208.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:209.2,209.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212.63,215.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217.69,219.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:222.2,222.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225.60,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:230.2,230.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233.137,234.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:234.49,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:241.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:246.2,247.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:247.16,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.2,250.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.22,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:253.2,253.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256.142,258.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:258.16,260.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:261.2,262.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:262.16,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.2,265.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.47,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:268.2,269.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:269.16,270.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:270.50,272.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:273.3,273.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:275.2,275.173 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278.157,280.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:280.16,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.2,283.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.47,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:286.2,287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:287.16,288.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:288.50,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:291.3,291.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:293.2,293.169 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296.104,297.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:297.22,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:300.2,301.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:301.61,303.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:303.20,304.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.2,307.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.19,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:310.2,317.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320.119,322.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:322.39,323.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:323.81,325.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:327.2,327.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330.71,332.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:332.16,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:335.2,335.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17.61,105.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:105.23,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:123.2,123.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126.104,127.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:127.61,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.2,130.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.38,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:133.2,134.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:137.2,138.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:138.16,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:141.2,147.107 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:147.107,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:150.2,151.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:151.16,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:154.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:170.19,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:173.2,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176.103,177.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:177.61,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.2,180.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.38,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:187.2,191.106 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:191.106,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:194.2,195.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:195.16,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:198.2,200.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:200.31,207.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:207.36,218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:219.3,220.35 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:222.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233.107,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.2,237.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.38,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:240.2,241.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:241.16,243.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:244.2,248.110 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:248.110,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:251.2,252.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:252.16,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:255.2,256.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:256.33,266.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:267.2,275.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278.108,279.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:279.61,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.2,282.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.37,284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:285.2,286.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:286.16,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:289.2,290.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:290.19,292.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.2,293.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.104,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:296.2,297.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:297.16,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:300.2,307.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:307.16,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:310.2,311.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:311.43,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:319.2,332.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:332.22,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:335.2,335.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338.108,339.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:339.62,341.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.2,342.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.38,344.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:345.2,346.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:346.9,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:349.2,350.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:350.16,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:353.2,357.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:360.2,370.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373.109,374.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:374.62,376.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.2,377.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.38,379.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:380.2,381.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:381.9,383.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:384.2,385.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:385.16,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:388.2,390.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:390.32,392.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:393.2,394.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:394.16,396.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:397.2,403.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406.106,407.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:407.62,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.2,410.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.38,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:413.2,414.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:414.9,416.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:417.2,418.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:418.16,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:421.2,423.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:423.16,424.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:424.41,434.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:435.3,435.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:437.2,445.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483.65,484.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:484.42,485.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:485.39,487.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.2,489.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.85,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:492.2,492.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495.102,496.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:496.38,498.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.2,499.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.58,501.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:502.2,502.90 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505.60,508.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510.66,512.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:512.26,514.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:515.2,515.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518.69,521.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:521.33,523.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:523.21,524.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.3,526.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.34,527.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:529.3,530.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:532.2,532.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535.63,537.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:537.19,539.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:540.2,541.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:541.42,543.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.2,544.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.57,546.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.2,547.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.54,549.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:550.2,550.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553.70,557.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559.66,561.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:561.9,563.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:564.2,566.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:566.17,568.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:569.2,569.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:570.103,572.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:573.34,574.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:575.10,576.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580.56,581.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:581.37,583.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.2,584.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.26,586.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:586.37,587.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:589.3,589.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:591.2,591.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594.90,602.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604.68,605.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:605.71,607.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:607.17,609.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:610.3,610.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:612.2,613.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:613.16,615.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:616.2,617.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:617.41,619.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:620.2,620.78 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623.65,625.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:625.16,627.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.2,628.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.17,630.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:631.2,631.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634.51,635.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:635.16,637.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:638.2,638.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641.56,642.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:642.28,644.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:645.2,646.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649.92,651.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:651.29,653.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:654.2,654.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657.86,659.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:659.29,661.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:662.2,662.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665.94,667.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:667.29,669.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:670.2,670.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673.98,675.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:675.29,677.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:678.2,678.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:17.93,18.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:18.104,20.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:22.2,23.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:23.16,25.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:27.2,28.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:28.19,30.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:32.2,35.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:35.33,36.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:36.47,39.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:42.2,44.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:44.20,47.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:48.2,49.68 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:49.68,50.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:50.48,52.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.3,53.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.32,55.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:55.23,56.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:56.63,58.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:59.5,59.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:61.4,61.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:64.2,71.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:71.17,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.8,73.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.29,75.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:75.36,77.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:78.3,83.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.2,86.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.35,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:90.2,97.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:101.2,110.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:110.28,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:113.2,124.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:133.93,134.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:134.35,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:138.2,139.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:139.16,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:143.2,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.2,147.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.17,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:151.2,152.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:152.33,153.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:153.47,156.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:160.16,162.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:164.2,176.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:176.26,178.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:178.23,180.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:181.3,192.5 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:195.2,196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:199.2,199.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:22.104,24.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:24.16,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:28.2,29.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:29.18,31.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:33.2,33.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:34.13,35.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:36.13,37.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:38.14,39.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:40.16,41.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:42.10,43.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:51.67,53.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:57.68,58.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:58.33,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:61.2,61.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:67.42,69.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:74.61,76.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:76.26,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:79.2,79.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:85.90,86.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:86.49,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:90.2,91.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:91.15,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:94.2,95.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:95.17,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:100.2,103.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:103.16,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:107.2,113.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:113.12,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:115.18,117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:118.3,119.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:119.20,121.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:122.3,124.48 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:125.8,127.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:129.2,130.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:130.16,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:134.2,139.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:145.90,147.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:151.2,152.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:152.16,154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:157.16,158.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:158.47,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:161.3,161.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:164.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:170.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:173.8,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:176.2,176.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:181.92,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:187.2,188.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:188.16,190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:192.2,200.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:200.25,207.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:207.28,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:210.3,210.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:212.2,212.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:216.93,217.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:217.52,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:221.2,222.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:222.15,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:226.2,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.2,231.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.47,232.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:232.47,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:235.3,235.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:238.2,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:35.127,36.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:36.23,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:39.2,40.40 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:40.40,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.2,43.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.37,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.2,46.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.37,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:49.2,49.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:52.23,80.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:82.26,140.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:142.92,143.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:143.25,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:147.2,148.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:148.49,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:152.2,152.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:153.17,154.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:154.24,156.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:157.3,158.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:158.17,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:161.3,165.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:166.17,167.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:167.22,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.3,170.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.22,172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:173.3,174.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:174.17,176.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:177.3,181.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:182.16,189.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:189.23,191.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.3,192.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.24,194.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.3,195.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.39,197.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:198.3,207.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:207.17,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.3,210.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.69,212.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:213.3,213.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:214.10,215.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:219.92,220.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:220.25,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:224.2,225.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:225.49,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:229.2,229.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:230.17,232.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:232.24,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:235.3,236.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:236.17,238.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.3,239.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.59,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.3,242.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.81,244.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:245.3,250.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:251.17,253.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:253.22,255.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:256.3,257.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:257.17,259.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.3,260.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.79,262.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:263.3,268.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:269.10,270.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:274.91,276.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:276.16,278.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.2,279.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.67,280.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:280.76,282.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:285.2,286.52 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:286.52,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:289.2,289.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:292.74,294.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:294.16,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.2,297.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.62,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:300.2,300.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:303.109,304.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:304.56,306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.2,307.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.25,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.2,310.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.81,312.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.2,313.102 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.102,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.2,316.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.108,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.2,319.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.99,321.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.2,322.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.99,324.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.2,325.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.60,327.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.2,328.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.34,330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.2,331.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.114,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.2,334.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.66,336.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.2,337.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.40,339.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.2,340.132 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.132,342.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.2,343.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.35,345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:346.2,346.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:349.92,350.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:350.103,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:354.2,355.52 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:355.52,357.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.2,358.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.32,360.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:361.2,361.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:364.108,365.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:365.19,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:368.2,369.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:369.53,371.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.2,372.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.19,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.2,375.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.39,376.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:376.34,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:380.2,380.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:383.66,385.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:385.53,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.2,388.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.19,390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:391.2,391.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:16.2,18.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:19.16,20.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:21.14,22.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:23.15,24.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:25.16,26.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:27.10,28.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21.75,23.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25.41,28.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30.31,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39.38,46.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48.50,56.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58.43,70.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72.80,73.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:73.36,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.2,76.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.48,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:79.2,79.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82.97,84.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:87.2,88.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:88.16,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:91.2,92.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:92.16,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:95.2,96.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:96.16,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:99.2,99.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102.104,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:111.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:115.2,116.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:116.16,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:119.2,119.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122.96,124.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:127.2,128.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:128.19,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:131.2,132.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:132.18,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:135.2,141.79 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:141.79,143.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:143.17,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:146.3,146.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:148.2,148.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151.77,153.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:156.2,157.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:157.19,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:160.2,160.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:22.15,23.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:24.13,25.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:26.14,27.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:28.16,29.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:30.16,31.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:32.10,33.102 1 0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/create-database.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/create-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/create-database.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/create-database.stdout.log new file mode 100644 index 00000000..4b15bd57 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/create-database.stdout.log @@ -0,0 +1 @@ +CREATE DATABASE diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/create-pgvector.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/create-pgvector.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/create-pgvector.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/create-pgvector.stdout.log new file mode 100644 index 00000000..d26bad14 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/create-pgvector.stdout.log @@ -0,0 +1 @@ +CREATE EXTENSION diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/database-identity.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/database-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/database-identity.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/database-identity.stdout.log new file mode 100644 index 00000000..1b4d5e27 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/database-identity.stdout.log @@ -0,0 +1 @@ +{"database" : "engram_prc_rg_test_08822acc1e43ac35_r2", "schema" : "public", "server_version" : "17.10 (Debian 17.10-1.pgdg12+1)", "user" : "engram"} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/go-test-summary.json b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/go-test-summary.json new file mode 100644 index 00000000..9950cc26 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/go-test-summary.json @@ -0,0 +1,40 @@ +{ + "schema_version": 1, + "verdict": "PASS", + "input_path": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\go-test.stdout.jsonl", + "fail_on_unexpected_skip": true, + "allowed_skip_identities": [], + "counts": { + "packages": 1, + "tests": 1, + "passed": 1, + "failed": 0, + "skipped": 0, + "no_tests": 0, + "zero_tests": 0, + "incomplete": 0, + "unexpected_skips": 0, + "malformed_lines": 0 + }, + "packages": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "outcome": "pass", + "elapsed_seconds": 3.941, + "last_output": "ok \tgithub.com/thebtf/engram/internal/mcp\t3.932s\tcoverage: 0.1% of statements", + "tests_observed": 1 + } + ], + "tests": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEC_F1_TagDerivedBackfill_T007", + "outcome": "pass", + "elapsed_seconds": 3.8, + "last_output": "--- PASS: TestEC_F1_TagDerivedBackfill_T007 (3.80s)", + "skip_allowed": false + } + ], + "unexpected_skips": [], + "errors": [] +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/go-test.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/go-test.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/go-test.stdout.jsonl b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/go-test.stdout.jsonl new file mode 100644 index 00000000..fd7f4ed8 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/go-test.stdout.jsonl @@ -0,0 +1,16 @@ +{"Time":"2026-07-11T03:53:45.6071547+03:00","Action":"start","Package":"github.com/thebtf/engram/internal/mcp"} +{"Time":"2026-07-11T03:53:45.700698+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007"} +{"Time":"2026-07-11T03:53:45.700698+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"=== RUN TestEC_F1_TagDerivedBackfill_T007\n"} +{"Time":"2026-07-11T03:53:46.6298778+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"warn\",\"error\":\"ERROR: relation \\\"observation_vectors\\\" does not exist (SQLSTATE 42P01)\",\"time\":\"2026-07-11T03:53:46+03:00\",\"message\":\"migration 040: orphan vector cleanup failed (non-fatal)\"}\n"} +{"Time":"2026-07-11T03:53:46.6298778+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"garbage_deleted\":0,\"orphan_vectors_deleted\":0,\"time\":\"2026-07-11T03:53:46+03:00\",\"message\":\"migration 040: garbage cleanup complete\"}\n"} +{"Time":"2026-07-11T03:53:46.6383775+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"orphan_vectors_deleted\":0,\"time\":\"2026-07-11T03:53:46+03:00\",\"message\":\"migration 041: orphan vector purge complete\"}\n"} +{"Time":"2026-07-11T03:53:46.6463803+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"patterns_deleted\":0,\"time\":\"2026-07-11T03:53:46+03:00\",\"message\":\"migration 042: low-quality pattern purge complete\"}\n"} +{"Time":"2026-07-11T03:53:46.6819063+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"total_deleted\":0,\"time\":\"2026-07-11T03:53:46+03:00\",\"message\":\"migration 043: radical observation cleanup complete\"}\n"} +{"Time":"2026-07-11T03:53:47.9215183+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"warn\",\"error\":\"ERROR: extension \\\"vectorscale\\\" is not available (SQLSTATE 0A000)\",\"time\":\"2026-07-11T03:53:47+03:00\",\"message\":\"migration 109: vectorscale extension not available, skipping DiskANN index\"}\n"} +{"Time":"2026-07-11T03:53:49.110737+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:53:49+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:53:49.5032686+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"--- PASS: TestEC_F1_TagDerivedBackfill_T007 (3.80s)\n"} +{"Time":"2026-07-11T03:53:49.5032686+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Elapsed":3.8} +{"Time":"2026-07-11T03:53:49.5032686+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"PASS\n"} +{"Time":"2026-07-11T03:53:49.5213011+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"coverage: 0.1% of statements\n"} +{"Time":"2026-07-11T03:53:49.5477999+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"ok \tgithub.com/thebtf/engram/internal/mcp\t3.932s\tcoverage: 0.1% of statements\n"} +{"Time":"2026-07-11T03:53:49.5477999+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Elapsed":3.941} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/pg-stat-activity-after.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/pg-stat-activity-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/pg-stat-activity-after.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/pg-stat-activity-after.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/pg-stat-activity-after.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/pg-stat-activity-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/pg-stat-activity-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/repeat-summary.json b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/repeat-summary.json new file mode 100644 index 00000000..a09784fa --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/repeat-summary.json @@ -0,0 +1,33 @@ +{ + "repeat": 2, + "verdict": "PASS", + "database": "engram_prc_rg_test_08822acc1e43ac35_r2", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_08822acc1e43ac35_r2.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": false, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 0, + "json_parser_exit": 0, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\cleanup\\cleanup.json", + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02" +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/server-connection-count-after.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/server-connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/server-connection-count-after.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/server-connection-count-after.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/server-connection-count-after.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/server-connection-count-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/server-connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/server-connection-count-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/server-connection-count-before.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/server-connection-count-before.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/targeted-coverage.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/targeted-coverage.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/targeted-coverage.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/targeted-coverage.stdout.log new file mode 100644 index 00000000..c958686c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-02/targeted-coverage.stdout.log @@ -0,0 +1,352 @@ +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33: effectiveAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44: isAuditEnabled 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52: runAuditAsync 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77: marshalState 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92: logAuditCreate 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117: logAuditEdit 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142: logAuditDelete 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166: logAuditGeneric 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189: logAuditSupersede 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:30: parseArgs 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:46: coerceString 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:67: coerceInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:97: coerceInt64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:127: coerceFloat64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:151: coerceBool 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:177: coerceStringSlice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:204: coerceInt64Slice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:222: clampToInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:236: clampInt64ToInt 0.0% +github.com/thebtf/engram/internal/mcp/context.go:17: extractProjectFromHeader 0.0% +github.com/thebtf/engram/internal/mcp/context.go:22: contextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:29: ContextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:35: projectFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:41: contextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:48: ContextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:54: sessionFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:61: actorFromContext 0.0% +github.com/thebtf/engram/internal/mcp/health.go:22: NewMCPHealth 0.0% +github.com/thebtf/engram/internal/mcp/health.go:29: RecordRequest 0.0% +github.com/thebtf/engram/internal/mcp/health.go:36: RecordError 0.0% +github.com/thebtf/engram/internal/mcp/health.go:42: rotateWindowIfNeeded 0.0% +github.com/thebtf/engram/internal/mcp/health.go:55: HandleHealth 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28: ruleGovernanceCaptureEnabled 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39: captureActiveRuleIntent 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104: ruleIntentFingerprint 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113: marshalRuleCandidateIntentResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:127: NewServer 100.0% +github.com/thebtf/engram/internal/mcp/server.go:141: SetBackfillStatusFunc 0.0% +github.com/thebtf/engram/internal/mcp/server.go:146: SetVersionedDocumentStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:151: SetIssueStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:156: SetMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:161: SetMetaMemoryIndex 0.0% +github.com/thebtf/engram/internal/mcp/server.go:166: SetHintQueue 0.0% +github.com/thebtf/engram/internal/mcp/server.go:171: SetStateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:176: SetDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/server.go:181: SetBehavioralRulesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:186: SetRuleGovernanceStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:191: SetRuleInjectionTelemetryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:195: SetPromotionStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:199: SetGraphStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:204: SetNodesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:211: SetAuditStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:216: SetPurgeStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:222: SetCandidateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:228: SetSnapshotStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:234: SetBulkFacade 0.0% +github.com/thebtf/engram/internal/mcp/server.go:240: setTestAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/server.go:246: setTestMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/server.go:252: setTestMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/server.go:260: SetWriteLintOrchestrator 0.0% +github.com/thebtf/engram/internal/mcp/server.go:269: SetRedactionRules 0.0% +github.com/thebtf/engram/internal/mcp/server.go:274: SetEmbeddingStores 0.0% +github.com/thebtf/engram/internal/mcp/server.go:282: SetRerankClient 0.0% +github.com/thebtf/engram/internal/mcp/server.go:290: SetStatsDB 0.0% +github.com/thebtf/engram/internal/mcp/server.go:297: HandleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:303: ListTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:332: Version 0.0% +github.com/thebtf/engram/internal/mcp/server.go:383: Run 0.0% +github.com/thebtf/engram/internal/mcp/server.go:427: handleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:461: handleNotification 0.0% +github.com/thebtf/engram/internal/mcp/server.go:473: handleInitialize 0.0% +github.com/thebtf/engram/internal/mcp/server.go:496: buildInstructions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:660: storeMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:712: recallMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:805: primaryTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:942: handleToolsList 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1612: handleToolsCall 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1644: sanitizeToolCallArgs 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1656: callTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1874: sendResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1884: sendError 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1896: handleFindSimilarObservations 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1927: handleGetMemoryStats 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2055: handleBackfillStatus 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2071: handleCheckSystemHealth 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2216: handleAnalyzeSearchPatterns 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2246: handleSearchSessions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2251: handleListSessions 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:18: buildAdminTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:68: adminActionsForEnv 33.3% +github.com/thebtf/engram/internal/mcp/tools_admin.go:80: vnextEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:84: handleAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:120: handlePurgeProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27: ambientHintsEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32: ambientHintsTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48: handleGetAmbientHints 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86: normalizeAmbientHintsToolLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96: ambientHintItems 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114: errMissingSessionID 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:31: handleGetMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:107: memoryBriefUsesPrincipalScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:115: handlePrincipalMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:259: truncateBriefContent 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:270: filterInjectionByScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25: bulkOpsTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95: handleBulkPromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154: handleBulkDelete 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211: handleBulkSupersede 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31: candidateItemFromDomain 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51: newCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59: requireCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68: candidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165: handleListCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208: handleGetCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239: handlePromoteCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348: handleRejectCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402: handleSupersedeCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34: codeIntelEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42: SetCodeChunkStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48: codebaseSearchTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79: codebaseStatusTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100: handleCodebaseSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194: handleCodebaseStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:21: getVault 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:35: credentialStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:49: handleStoreCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:130: handleGetCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:192: handleListCredentials 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:243: handleDeleteCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:302: handleVaultStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:338: expandTagHierarchy 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:16: directivesCaptureEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:20: rememberDirectiveTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:38: currentDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:48: handleRememberDirective 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:72: parseRememberDirectiveArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10: handleDocsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:15: handleListCollections 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:61: handleListDocuments 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:121: handleGetDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:165: handleRemoveDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:197: handleIngestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:235: handleSearchCollection 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15: handleDocCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61: handleDocRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117: handleDocUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122: handleDocList 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175: handleDocHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232: handleDocComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19: SetExperienceProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23: experienceHistoryTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40: experienceHistoryReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65: experienceHistoryDetailSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82: experienceHistoryTriggerEnum 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91: handleExperienceHistoryRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103: handleExperienceHistoryDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115: parseExperienceHistoryReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142: parseExperienceHistoryDetailArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157: experienceHistoryTriggersFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180: marshalExperienceHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12: handleFeedbackConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36: handleSetSessionOutcome 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:27: governanceTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:98: handleListSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:167: handleRollbackSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:215: handlePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:258: handleRedactionRulesStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:284: resolveGovernanceActor 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:64: handleGraph 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:100: graphAddEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:216: mcpGraphEndpointExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:243: mcpGraphEdgeAlreadyExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:276: graphAddNode 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:317: graphRemoveEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:332: graphGetEdges 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:397: filterEdgesByNodeType 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:457: graphTraverse 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:480: graphFindPath 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:502: graphSynonyms 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23: graphCreateEdgeWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80: graphEndpointExistsWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114: graphDuplicateEdgeExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25: handleIngest 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43: ingestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20: handleImportInstincts 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:19: issuesToolSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:109: validateIssueActionParams 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:143: handleIssues 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:189: resolveSourceProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:205: handleIssueCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:250: handleIssueList 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:311: handleIssueGet 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:344: handleIssueUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:382: handleIssueComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:408: handleIssueReopen 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:425: handleIssueClose 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22: handleLifecycle 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48: lifecycleInfo 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87: lifecyclePromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118: lifecycleDemote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149: lifecycleSetConfidence 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172: lifecycleSetDefeasibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191: lifecycleSleepStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197: lifecycleDecayPreview 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233: marshalJSON 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:35: vnextFEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:42: isValidPrivacyScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:54: derivePrivacyScopeFromLegacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:82: deriveLegacyScopeFromPrivacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:93: applyPrincipalMemoryMetadata 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:135: addPrincipalMemoryFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:161: newScopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:172: writeLintVisibilityCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:186: writeLintVisibilityOptions 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:192: scopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:202: filterVisibleWriteGateCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:214: domainManageAllowed 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:218: List 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:272: writeLintVisibilityFetchLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:286: Get 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:297: Create 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:301: Update 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:305: MarkSuperseded 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:319: effectiveMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:329: isValidStoreObservationType 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:354: handleStoreMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111: handleEditMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218: computeTTLDays 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258: truncateTitle 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270: keepRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280: keepRecallMemoryFilters 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342: handleRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690: staleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700: marshalWithStaleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727: Rank 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1751: handleRecallMemoryHybrid 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252: handleRateMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281: handleSuppressMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17: SetDomainRegistryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21: checkDomainWriteMCP 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43: addDomainWriteDecisionFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51: marshalStoreMemoryAugmented 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26: newMemoryStoreSignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33: s6OutcomeEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37: effectiveMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47: currentMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58: rateMemorySignificanceTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74: handleRateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109: RateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18: s2MetaMemoryEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22: knowAboutTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39: handleKnowAbout 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104: parseKnowAboutLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118: summarizeMetaIndexTags 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153: summarizeMetaIndexDateRange 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23: SetPrincipalMemoryQueryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27: principalMemoryQueryTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52: handleQueryPrincipalMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134: principalMemoryQueryCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149: parsePrincipalMemoryQueryLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160: principalMemoryQueryText 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167: parsePrincipalMemoryQueryVisibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179: parsePrincipalMemoryQueryOffset 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190: parsePrincipalMemoryQueryInt 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215: parsePrincipalMemoryQueryBool 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:28: handleRecall 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:125: parseRecallIncludedPrincipals 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:165: appendRecallIncludedPrincipalMemories 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:223: recallIncludeTargetMatchesCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:231: recallPrincipalQueryItemToMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:247: handleRecallSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20: currentReviewLoopCandidateLister 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30: reviewLoopCandidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65: reviewLoopReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78: reviewPacketIDSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91: handleReviewMetricsRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110: handleReviewQueueRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140: handleReviewPacketDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151: handleReviewPacketPreviewAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167: handleReviewPacketApplyAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189: parseReviewLoopReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212: reviewLoopMCPPacketTypeSupported 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217: reviewLoopActionFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225: reviewLoopReasonFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233: loadReviewPacketCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256: applyReviewPacketPreserve 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278: applyReviewPacketSuppress 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296: reviewLoopMemoryFromCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320: filterRiskyMCPReviewCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330: marshalReviewLoop 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17: ruleGovernanceReadTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126: handleRuleGovernanceHealth 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176: handleRuleGovernanceQueue 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233: handleRuleGovernanceSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278: handleRuleGovernanceUsefulness 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338: handleRuleGovernanceTransition 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373: handleRuleGovernancePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406: handleRuleGovernanceRollback 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483: requireRuleGovernanceReadAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495: requireRuleGovernanceProjectOrAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505: ruleGovernanceCallerIsAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510: requireRuleGovernanceAdminAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518: redactRuleGovernanceEvidenceHandles 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535: redactRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553: ruleGovernanceEvidenceHandleHasSensitiveText 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559: isCanonicalRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580: isSafeRuleGovernanceEvidenceID 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594: parseRuleGovernanceTransitionRequest 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604: parseRuleGovernanceSince 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623: boundedRuleGovernanceLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634: formatRuleGovernanceTime 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641: formatRuleGovernanceTimePtr 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649: stringRuleCandidateStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657: stringRuleVersionStateCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665: stringRuleArbiterRunStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673: stringRuleInjectionEventTypeCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:17: handleStoreRule 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:133: handleListRules 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:22: handleSettingsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:51: SetSettingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:57: settingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:67: isSecretSettingKey 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:74: requireAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:85: handleSetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:145: handleGetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:181: handleListSettings 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:216: handleDeleteSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:35: resumeScopesFromFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:52: stateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:82: setStateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:142: handleGetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:219: handleSetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:274: decodeSessionStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:292: validateSessionStateBudget 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:303: validateNativeResumePacket 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:349: decodeProjectStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:364: requireStateObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:383: requireNestedObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10: handleStoreConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21: SetTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25: temporalTruthEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30: temporalTruthTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39: temporalTruthRefreshTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48: temporalTruthRefreshSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58: temporalTruthSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72: currentTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82: handleTemporalTruth 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102: handleTemporalTruthRefresh 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122: parseTemporalTruthArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151: parseTemporalTruthRefreshProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10: handleVaultConsolidated 0.0% +total: (statements) 0.1% diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/assert-go-test-json.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/assert-go-test-json.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/assert-go-test-json.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/assert-go-test-json.stdout.log new file mode 100644 index 00000000..daf56bda --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/assert-go-test-json.stdout.log @@ -0,0 +1,2 @@ +go test JSON verdict=PASS packages=1 tests=1 passed=1 failed=0 skipped=0 unexpected_skips=0 malformed=0 +summary=D:\Dev\engram\.w\t007-r1-checker\.agent\reviews\t007-r1-fresh-checker\evidence\focused-repeat3\repeat-03\go-test-summary.json diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/cleanup-process.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/cleanup-process.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/cleanup-process.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/cleanup-process.stdout.log new file mode 100644 index 00000000..413a8e86 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/cleanup-process.stdout.log @@ -0,0 +1,2 @@ +cleanup verdict=PASS database=engram_prc_rg_test_08822acc1e43ac35_r3 schema=public terminated_sessions=0 remaining_database_count=0 +summary=D:\Dev\engram\.w\t007-r1-checker\.agent\reviews\t007-r1-fresh-checker\evidence\focused-repeat3\repeat-03\cleanup\cleanup.json diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/cleanup/cleanup.json b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/cleanup/cleanup.json new file mode 100644 index 00000000..a1d0bd8b --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/cleanup/cleanup.json @@ -0,0 +1,170 @@ +{ + "schema_version": 1, + "run_id": "focused-repeat3-repeat-3", + "timestamp": "2026-07-11T00:54:19.4331052+00:00", + "verdict": "PASS", + "database": "engram_prc_rg_test_08822acc1e43ac35_r3", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_08822acc1e43ac35_r3.public", + "admin_dsn": "postgresql://engram:REDACTED@127.0.0.1:55432/postgres?sslmode=disable", + "postgres_container": "engram-prc-postgres", + "cleanup_status": "PASS", + "cleanup_attempted": true, + "database_existed_before": true, + "absence_verified": true, + "terminated_sessions": 0, + "remaining_database_count": 0, + "commands": [ + { + "name": "database-exists-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r3';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r3';", + "started_at": "2026-07-11T00:54:17.0982973+00:00", + "finished_at": "2026-07-11T00:54:17.5408772+00:00", + "duration_seconds": 0.443, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\cleanup\\database-exists-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\cleanup\\database-exists-before.stderr.log" + }, + { + "name": "pg-stat-activity-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r3' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r3' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:54:17.6132252+00:00", + "finished_at": "2026-07-11T00:54:18.0888119+00:00", + "duration_seconds": 0.476, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\cleanup\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\cleanup\\pg-stat-activity-before.stderr.log" + }, + { + "name": "terminate-database-sessions", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r3' AND pid <> pg_backend_pid() ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r3' AND pid <> pg_backend_pid() ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:54:18.0940718+00:00", + "finished_at": "2026-07-11T00:54:18.4991019+00:00", + "duration_seconds": 0.405, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\cleanup\\terminate-sessions.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\cleanup\\terminate-sessions.stderr.log" + }, + { + "name": "drop-fresh-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "DROP DATABASE IF EXISTS \"engram_prc_rg_test_08822acc1e43ac35_r3\" WITH (FORCE);" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c DROP DATABASE IF EXISTS \"engram_prc_rg_test_08822acc1e43ac35_r3\" WITH (FORCE);", + "started_at": "2026-07-11T00:54:18.5069738+00:00", + "finished_at": "2026-07-11T00:54:19.0042401+00:00", + "duration_seconds": 0.497, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\cleanup\\drop-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\cleanup\\drop-database.stderr.log" + }, + { + "name": "verify-database-absent", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r3';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_08822acc1e43ac35_r3';", + "started_at": "2026-07-11T00:54:19.0092666+00:00", + "finished_at": "2026-07-11T00:54:19.4234822+00:00", + "duration_seconds": 0.414, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\cleanup\\verify-database-absent.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\cleanup\\verify-database-absent.stderr.log" + } + ], + "errors": [] +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/cleanup/database-exists-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/cleanup/database-exists-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/cleanup/database-exists-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/cleanup/database-exists-before.stdout.log new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/cleanup/database-exists-before.stdout.log @@ -0,0 +1 @@ +1 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/cleanup/drop-database.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/cleanup/drop-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/cleanup/drop-database.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/cleanup/drop-database.stdout.log new file mode 100644 index 00000000..ca12dce0 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/cleanup/drop-database.stdout.log @@ -0,0 +1 @@ +DROP DATABASE diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/cleanup/pg-stat-activity-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/cleanup/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/cleanup/pg-stat-activity-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/cleanup/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/cleanup/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/cleanup/terminate-sessions.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/cleanup/terminate-sessions.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/cleanup/terminate-sessions.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/cleanup/terminate-sessions.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/cleanup/terminate-sessions.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/cleanup/verify-database-absent.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/cleanup/verify-database-absent.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/cleanup/verify-database-absent.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/cleanup/verify-database-absent.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/cleanup/verify-database-absent.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/connection-count-after.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/connection-count-after.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/connection-count-after.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/connection-count-after.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/connection-count-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/connection-count-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/connection-count-before.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/connection-count-before.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/coverage.out b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/coverage.out new file mode 100644 index 00000000..52335d8a --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/coverage.out @@ -0,0 +1,3472 @@ +mode: atomic +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33.53,34.30 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:34.30,36.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.2,37.25 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.25,39.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:40.2,40.12 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44.28,46.2 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52.83,53.12 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:53.12,54.16 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:54.16,55.32 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:55.32,61.5 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:63.3,65.33 3 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:65.33,71.4 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77.54,78.14 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:78.14,80.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:81.2,82.16 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:82.16,85.3 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:86.2,87.13 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92.91,93.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:93.23,95.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:96.2,97.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:97.15,99.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:100.2,105.65 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:105.65,113.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117.95,118.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:118.23,120.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:121.2,122.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:122.15,124.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:125.2,129.65 5 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:129.65,138.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142.87,143.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:143.23,145.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:146.2,147.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:150.2,153.65 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:153.65,161.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166.96,167.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:167.23,169.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:170.2,171.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:171.15,173.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:174.2,177.63 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:177.63,185.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189.97,190.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:190.23,192.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:193.2,194.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:194.15,196.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:197.2,200.68 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:200.68,208.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:30.62,31.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:31.20,33.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:34.2,35.49 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:35.49,37.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:38.2,38.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:38.14,40.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:41.2,41.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:46.52,47.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:47.14,49.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:50.2,50.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:51.14,52.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:53.19,54.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:55.15,56.45 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:57.12,58.31 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:59.10,60.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:67.43,68.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:68.14,70.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:71.2,71.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:72.15,73.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:74.19,75.38 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:75.38,77.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:78.3,78.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:78.40,80.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:81.3,81.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:82.14,83.56 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:83.56,85.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:86.3,86.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:86.54,88.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:89.3,89.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:90.10,91.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:97.49,98.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:98.14,100.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:101.2,101.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:102.15,103.18 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:104.19,105.38 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:105.38,107.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:108.3,108.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:108.40,110.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:111.3,111.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:112.14,113.56 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:113.56,115.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:116.3,116.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:116.54,118.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:119.3,119.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:120.10,121.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:127.55,128.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:128.14,130.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:131.2,131.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:132.15,133.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:134.19,135.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:135.40,137.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:138.3,138.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:139.14,140.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:140.54,142.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:143.3,143.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:144.10,145.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:151.46,152.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:152.14,154.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:155.2,155.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:156.12,157.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:158.14,159.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:159.54,161.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:162.3,162.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:163.15,164.16 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:165.19,166.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:166.40,168.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:169.3,169.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:170.10,171.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:177.40,178.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:178.14,180.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:181.2,181.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:182.13,184.26 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:184.26,185.36 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:185.36,187.5 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:189.3,189.16 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:190.16,191.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:192.14,193.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:193.14,195.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:196.3,196.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:197.10,198.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:204.38,205.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:205.14,207.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:208.2,209.9 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:209.9,211.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:212.2,213.27 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:213.27,214.42 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:214.42,216.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:218.2,218.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:222.32,223.39 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:223.39,225.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:226.2,226.30 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:226.30,228.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:229.2,229.30 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:229.30,231.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:232.2,232.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:236.35,237.28 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:237.28,239.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.2,240.28 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.28,242.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:243.2,243.15 1 0 +github.com/thebtf/engram/internal/mcp/context.go:17.55,19.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:22.78,24.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:29.78,31.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:35.53,38.2 2 0 +github.com/thebtf/engram/internal/mcp/context.go:41.80,43.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:48.80,50.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:54.53,57.2 2 0 +github.com/thebtf/engram/internal/mcp/context.go:61.51,62.43 1 0 +github.com/thebtf/engram/internal/mcp/context.go:62.43,64.3 1 0 +github.com/thebtf/engram/internal/mcp/context.go:65.2,65.16 1 0 +github.com/thebtf/engram/internal/mcp/health.go:22.32,26.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:29.37,33.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:36.35,40.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:42.44,45.25 3 0 +github.com/thebtf/engram/internal/mcp/health.go:45.25,47.50 1 0 +github.com/thebtf/engram/internal/mcp/health.go:47.50,50.4 2 0 +github.com/thebtf/engram/internal/mcp/health.go:55.74,60.16 5 0 +github.com/thebtf/engram/internal/mcp/health.go:60.16,62.3 1 0 +github.com/thebtf/engram/internal/mcp/health.go:63.2,71.4 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28.42,29.65 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:29.65,32.3 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.2,33.40 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.40,35.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:36.2,36.14 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39.120,40.69 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:40.69,42.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:43.2,44.19 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:44.19,46.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:47.2,48.17 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:48.17,50.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:51.2,52.59 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:52.59,54.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:55.2,56.20 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:56.20,58.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:59.2,60.17 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:60.17,62.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:63.2,64.21 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:64.21,66.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:67.2,68.22 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:68.22,70.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:71.2,72.23 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:76.2,98.19 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:98.19,100.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:101.2,101.66 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104.52,106.29 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:106.29,108.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:109.2,110.46 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113.113,123.27 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:123.27,125.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:130.2,130.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:127.44,138.2 1 1 +github.com/thebtf/engram/internal/mcp/server.go:141.64,143.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:146.78,148.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:151.53,153.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:156.55,158.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:161.58,163.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:166.62,168.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:171.50,173.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:176.78,178.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:181.74,183.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:186.71,189.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:191.85,193.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:195.61,197.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:199.49,201.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:204.54,206.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:211.53,213.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:216.53,218.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:222.61,224.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:228.59,230.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:234.51,236.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:240.52,242.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:246.55,248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:252.82,254.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:260.70,262.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:269.68,271.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:274.87,277.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:282.60,284.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:290.45,292.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:297.77,299.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:303.37,313.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:313.38,315.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:316.2,317.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:317.9,319.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:320.2,321.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:321.9,323.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:324.2,325.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:325.9,327.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:328.2,328.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:332.35,334.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:383.49,387.12 3 0 +github.com/thebtf/engram/internal/mcp/server.go:387.12,388.22 1 0 +github.com/thebtf/engram/internal/mcp/server.go:388.22,389.11 1 0 +github.com/thebtf/engram/internal/mcp/server.go:390.22,392.11 2 0 +github.com/thebtf/engram/internal/mcp/server.go:393.12,393.12 0 0 +github.com/thebtf/engram/internal/mcp/server.go:396.4,397.18 2 0 +github.com/thebtf/engram/internal/mcp/server.go:397.18,398.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:401.4,402.61 2 0 +github.com/thebtf/engram/internal/mcp/server.go:402.61,404.13 2 0 +github.com/thebtf/engram/internal/mcp/server.go:407.4,407.55 1 0 +github.com/thebtf/engram/internal/mcp/server.go:407.55,409.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:411.3,411.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:414.2,414.9 1 0 +github.com/thebtf/engram/internal/mcp/server.go:415.20,416.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:417.25,418.17 1 0 +github.com/thebtf/engram/internal/mcp/server.go:418.17,420.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:421.3,421.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:427.77,428.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:428.19,431.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:433.2,433.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:434.20,435.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:436.20,437.32 1 0 +github.com/thebtf/engram/internal/mcp/server.go:438.20,439.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:443.24,444.93 1 0 +github.com/thebtf/engram/internal/mcp/server.go:445.34,446.101 1 0 +github.com/thebtf/engram/internal/mcp/server.go:447.22,448.91 1 0 +github.com/thebtf/engram/internal/mcp/server.go:449.29,450.120 1 0 +github.com/thebtf/engram/internal/mcp/server.go:451.10,456.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:461.51,462.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:463.50,464.70 1 0 +github.com/thebtf/engram/internal/mcp/server.go:465.46,466.79 1 0 +github.com/thebtf/engram/internal/mcp/server.go:467.10,468.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:473.59,485.63 2 0 +github.com/thebtf/engram/internal/mcp/server.go:485.63,487.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:489.2,493.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:496.45,503.33 3 0 +github.com/thebtf/engram/internal/mcp/server.go:503.33,505.57 2 0 +github.com/thebtf/engram/internal/mcp/server.go:505.57,506.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:506.76,507.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.4,509.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.18,511.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:511.10,513.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:514.4,518.11 5 0 +github.com/thebtf/engram/internal/mcp/server.go:522.2,522.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:660.29,683.21 2 0 +github.com/thebtf/engram/internal/mcp/server.go:683.21,689.3 5 0 +github.com/thebtf/engram/internal/mcp/server.go:690.2,699.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:712.30,765.49 3 0 +github.com/thebtf/engram/internal/mcp/server.go:765.49,789.3 5 0 +github.com/thebtf/engram/internal/mcp/server.go:790.2,799.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:805.40,936.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:942.58,1048.35 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1048.35,1077.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.2,1080.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.33,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.2,1093.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.26,1123.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1124.2,1124.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1124.80,1126.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1127.2,1127.55 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1127.55,1129.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1130.2,1130.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1130.38,1132.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1134.2,1134.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1134.25,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1138.2,1138.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1138.33,1140.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1141.2,1141.69 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1141.69,1143.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1144.2,1144.75 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1144.75,1146.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1148.2,1148.27 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1148.27,1165.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.2,1168.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.76,1191.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1195.2,1195.48 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1195.48,1197.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.2,1201.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.47,1203.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.2,1205.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.38,1207.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1212.2,1212.21 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1212.21,1214.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1228.2,1228.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1228.51,1230.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1233.2,1233.56 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1233.56,1235.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1238.2,1238.71 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1238.71,1298.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1302.2,1302.104 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1302.104,1321.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1324.2,1324.72 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1324.72,1333.154 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1333.154,1334.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1334.26,1336.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1337.7,1337.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1338.35,1340.26 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1340.26,1342.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1343.7,1343.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1371.2,1371.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1371.26,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1393.2,1393.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1393.28,1443.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.2,1446.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.28,1478.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.2,1481.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.37,1561.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1564.2,1568.23 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1568.23,1570.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1572.2,1588.57 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1588.57,1591.29 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1591.29,1593.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1594.3,1594.27 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1594.27,1595.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1595.29,1597.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1601.2,1607.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1612.79,1614.60 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1614.60,1620.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1622.2,1623.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1623.16,1631.3 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1633.2,1641.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1644.69,1645.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1645.34,1647.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1648.2,1649.22 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1649.22,1651.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1652.2,1652.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1656.99,1658.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1659.16,1660.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1661.15,1662.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1663.18,1664.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1665.15,1666.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1667.18,1668.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1669.14,1670.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1671.15,1672.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1676.2,1676.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1677.35,1678.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1679.26,1680.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1681.20,1682.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1683.20,1684.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1685.16,1686.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1687.29,1688.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1689.33,1690.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1691.25,1692.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1693.23,1694.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1696.26,1697.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1698.24,1699.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1700.22,1701.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1702.25,1703.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1704.27,1705.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1706.25,1707.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1709.30,1710.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1711.28,1712.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1713.17,1714.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1715.20,1716.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1717.20,1718.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1719.20,1720.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1722.20,1723.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1724.18,1725.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1726.20,1727.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1728.18,1729.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1730.21,1731.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1732.21,1733.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1734.26,1735.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1736.25,1737.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1738.26,1739.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1740.24,1741.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1742.26,1743.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1744.27,1745.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1746.22,1747.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1748.19,1749.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1750.15,1751.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1752.16,1753.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1755.21,1756.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1757.19,1758.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1759.20,1760.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1761.22,1762.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1763.22,1764.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1765.23,1766.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1767.20,1768.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1769.32,1770.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1771.19,1772.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1773.19,1774.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1775.33,1776.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1777.35,1778.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1779.24,1780.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1781.32,1782.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1783.28,1784.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1785.21,1786.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1787.34,1788.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1789.25,1790.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1791.29,1792.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1793.26,1794.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1795.27,1796.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1798.25,1799.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1800.23,1801.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1802.27,1803.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1804.26,1805.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1806.29,1807.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1809.29,1810.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1811.27,1812.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1813.30,1814.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1815.38,1816.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1817.36,1818.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1820.24,1821.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1822.27,1823.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1824.22,1825.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1826.32,1827.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1828.32,1829.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1830.31,1831.48 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1832.35,1833.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1834.36,1835.53 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1836.36,1837.53 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1838.38,1839.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1840.34,1841.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1843.22,1844.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1845.21,1846.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1847.24,1848.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1850.25,1851.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1852.25,1853.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1859.2,1859.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1860.22,1863.131 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1866.51,1867.123 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1868.10,1869.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1874.47,1876.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1876.16,1879.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1880.2,1880.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1884.72,1890.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1896.105,1898.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1898.16,1900.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1902.2,1903.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1903.17,1905.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1907.2,1908.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1908.17,1910.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1912.2,1918.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1918.16,1920.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1921.2,1921.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1927.76,1933.15 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1933.15,1936.17 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1936.17,1938.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1939.3,1939.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1943.2,1950.36 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1950.36,1952.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1952.8,1955.29 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1955.29,1958.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1959.3,1962.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.2,1966.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.20,1977.20 6 0 +github.com/thebtf/engram/internal/mcp/server.go:1977.20,1979.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.3,1980.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.20,1982.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.3,1985.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.37,1987.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1987.30,1988.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1988.16,1990.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1990.11,1992.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1994.4,1995.56 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1995.56,1997.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1998.4,2003.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.2,2008.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.29,2009.63 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2009.63,2011.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2011.9,2013.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.2,2021.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.29,2029.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2029.38,2031.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2031.9,2033.31 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2033.31,2035.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2035.30,2037.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2039.4,2042.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2046.2,2047.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2047.16,2049.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2050.2,2050.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2055.57,2056.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2056.33,2058.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2059.2,2060.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2060.16,2062.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2063.2,2064.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2064.16,2066.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2067.2,2067.23 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2071.79,2105.15 6 0 +github.com/thebtf/engram/internal/mcp/server.go:2105.15,2107.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2107.17,2111.4 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2111.9,2112.17 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2112.17,2114.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2115.4,2117.26 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2117.26,2119.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2119.10,2121.29 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2121.29,2123.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2125.4,2129.25 5 0 +github.com/thebtf/engram/internal/mcp/server.go:2130.19,2130.19 0 0 +github.com/thebtf/engram/internal/mcp/server.go:2132.20,2134.106 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2135.12,2137.103 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2140.8,2143.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2144.2,2150.49 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2150.49,2152.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2152.8,2154.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2155.2,2168.27 4 0 +github.com/thebtf/engram/internal/mcp/server.go:2168.27,2170.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2170.17,2173.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2173.9,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2177.2,2182.40 4 0 +github.com/thebtf/engram/internal/mcp/server.go:2182.40,2183.21 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2184.20,2185.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2186.19,2187.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.2,2191.24 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.24,2193.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.8,2193.30 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.30,2195.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.2,2198.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.28,2200.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.2,2203.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.29,2205.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2207.2,2208.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2208.16,2210.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2211.2,2211.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2216.103,2218.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2218.16,2220.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2222.2,2223.15 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2223.15,2225.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2227.2,2239.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2239.16,2241.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2242.2,2242.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2246.93,2248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2251.91,2253.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:18.28,29.20 4 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:29.20,33.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:35.2,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:68.36,69.49 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:69.49,74.3 4 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:75.2,75.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:80.26,82.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:84.89,86.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:89.2,90.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:90.18,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:94.2,94.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:95.15,96.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:97.26,98.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:99.25,100.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:101.23,105.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:105.22,107.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:108.3,108.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:109.10,110.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:120.92,126.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:126.26,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:130.2,131.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:131.19,133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:134.2,135.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:135.19,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.2,138.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.24,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.2,142.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.25,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:146.2,147.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:151.2,151.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27.40,30.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32.30,46.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48.99,49.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:49.34,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.2,52.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.69,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:56.2,57.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:60.2,61.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:61.21,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:64.2,67.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:67.26,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:70.2,71.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:71.25,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:75.2,77.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:77.44,79.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.2,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.33,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:83.2,83.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86.52,87.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:87.16,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.2,90.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.15,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:93.2,93.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96.73,97.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:97.21,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:100.2,101.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:101.29,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:111.2,111.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114.34,116.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:31.98,32.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:32.52,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.2,35.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.26,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:39.2,40.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:40.49,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.2,43.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.21,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.2,46.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.21,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.2,49.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.18,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.2,52.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.18,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.2,56.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.38,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:60.2,61.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:61.16,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:68.2,70.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:70.26,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:79.2,81.36 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:81.36,84.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:86.2,89.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:89.28,90.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:90.39,91.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:93.3,97.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:100.2,104.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:107.60,113.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:115.101,116.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:116.38,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:120.2,122.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:122.21,123.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:123.26,125.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.3,126.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.23,128.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:129.8,130.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:130.26,132.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.3,133.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.68,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:137.2,140.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:141.17,142.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:143.67,143.67 0 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:144.10,145.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:148.2,162.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:162.16,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.2,165.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.2,174.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.30,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.2,177.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.31,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:181.2,182.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:182.36,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:198.2,199.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:199.19,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:202.2,203.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:203.18,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:206.2,207.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:207.21,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:210.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:211.25,213.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:214.2,225.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:225.21,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.25,230.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.2,231.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.18,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:235.2,244.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:244.21,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.2,247.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.25,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.2,250.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.18,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.2,253.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:256.2,256.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:259.50,261.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:261.22,263.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:264.2,264.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:270.90,272.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:272.42,276.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:277.2,281.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:281.27,282.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:282.45,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:286.2,286.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25.28,88.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95.95,96.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:96.22,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:99.2,100.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:100.32,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:104.2,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:109.2,114.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:114.35,121.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.2,123.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.25,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:127.2,134.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:138.2,146.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154.94,155.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:155.22,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:158.2,159.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:159.32,161.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:163.2,164.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:164.16,166.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:168.2,172.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:172.35,179.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.2,181.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.25,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:185.2,192.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:192.16,194.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:196.2,203.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211.97,212.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:212.22,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:215.2,216.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:216.32,218.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:220.2,221.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:221.16,223.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:225.2,229.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:229.35,236.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.2,238.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.25,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:242.2,249.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:249.16,251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:253.2,260.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31.80,32.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:32.14,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:35.2,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51.136,53.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:53.51,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:56.2,56.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59.94,60.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:60.21,62.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:63.2,63.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68.30,162.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165.98,166.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:166.49,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:169.2,170.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:170.16,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:173.2,174.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:174.19,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:177.2,179.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:179.17,181.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:188.2,189.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:189.31,190.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:190.15,191.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:193.3,193.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:196.2,201.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:201.16,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:204.2,204.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208.96,209.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:209.49,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:212.2,213.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:213.16,215.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:216.2,217.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:217.13,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.2,225.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.22,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:229.2,230.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:230.16,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:233.2,233.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239.100,240.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:240.22,242.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:243.2,244.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:244.16,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:247.2,248.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:248.13,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:255.2,256.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:256.12,263.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:263.30,264.77 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:264.77,269.5 4 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:271.3,272.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:272.21,274.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:275.3,275.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.2,279.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.29,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:284.2,285.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:285.16,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.2,288.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.22,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.2,291.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.55,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.2,294.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.74,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:297.2,298.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:298.16,300.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:306.2,307.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:307.41,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:310.2,324.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:324.16,325.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:325.50,327.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:328.3,328.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.2,330.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.38,332.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:334.2,341.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:341.16,343.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:344.2,344.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348.99,349.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:349.49,351.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:352.2,353.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:353.16,355.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:356.2,357.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:357.13,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:360.2,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.2,365.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.22,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.2,368.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.74,370.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:371.2,372.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:372.16,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.2,375.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.85,377.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:379.2,380.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:380.16,381.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:381.50,383.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:384.3,384.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.2,386.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.20,388.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:390.2,395.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:395.16,397.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:398.2,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402.102,403.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:403.49,405.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:406.2,407.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:407.16,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:410.2,411.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:411.13,413.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:414.2,415.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:415.16,417.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.2,418.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.22,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.2,421.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.74,423.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:424.2,425.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:425.16,427.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.2,428.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.88,430.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:432.2,433.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:433.16,434.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:434.50,436.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:437.3,437.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.2,439.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.20,441.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:443.2,448.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:448.16,450.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:451.2,451.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34.30,36.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42.61,44.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48.32,75.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79.32,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100.98,101.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:101.25,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.2,104.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.29,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:108.2,113.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:113.17,114.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:114.55,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.2,118.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.24,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.2,121.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.23,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.2,124.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.23,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:134.2,135.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:135.21,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:142.2,147.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:154.2,165.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:165.25,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:177.2,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:186.2,186.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194.98,195.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:195.25,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.2,198.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.29,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:202.2,205.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:205.17,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:208.2,209.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:209.21,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:213.2,214.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:214.16,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:217.2,218.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:218.16,220.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:226.2,231.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:231.11,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:21.52,22.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:22.24,25.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:25.28,27.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:29.2,29.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:35.72,37.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:37.15,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:45.2,45.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:49.99,51.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:51.16,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:55.2,56.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:56.16,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:60.2,72.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.2,75.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.24,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.2,78.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.24,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:81.2,81.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:82.27,82.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:84.10,85.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.2,87.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.30,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.2,90.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.26,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:104.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:116.2,123.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:126.2,126.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:130.97,132.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:132.16,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:136.2,137.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:141.2,147.23 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:147.23,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.2,150.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.26,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:154.2,155.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:155.16,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:160.16,161.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:161.47,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:164.3,164.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.2,167.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.97,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:174.2,175.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:175.16,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:179.2,185.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:185.16,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:188.2,188.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:192.99,194.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:194.16,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:198.2,199.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:199.16,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:203.2,207.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:207.26,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:211.2,212.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:212.16,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:216.2,223.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:223.26,229.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:229.28,231.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:232.3,232.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:243.100,245.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:245.16,247.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:249.2,250.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:250.16,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:254.2,262.23 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:262.23,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.2,265.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.24,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:268.2,268.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:269.27,269.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:271.10,272.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.2,274.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.30,276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.2,277.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.26,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.2,281.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.71,282.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:282.47,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:285.3,285.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:288.2,293.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:293.16,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:296.2,296.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:302.92,309.19 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:309.19,310.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:310.53,313.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:316.2,317.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:317.51,318.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:318.66,320.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:323.2,331.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:331.16,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:334.2,334.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:338.46,342.32 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:342.32,343.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:343.20,346.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:348.2,350.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:350.26,352.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:352.27,353.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:353.13,355.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:356.4,356.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:358.3,358.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:360.2,360.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:16.45,18.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:20.35,36.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:38.84,39.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:39.40,41.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.2,42.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.50,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:45.2,45.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:48.101,50.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:50.16,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:53.2,54.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:57.2,58.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:58.19,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:61.2,62.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:62.21,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:65.2,66.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:66.16,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:69.2,69.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:72.102,74.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:77.2,82.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10.100,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:22.16,23.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:24.14,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:26.14,27.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:28.17,29.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:30.17,31.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:32.21,33.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:34.19,35.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:36.17,37.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:38.16,39.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:40.16,41.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:42.21,43.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:44.10,45.167 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:15.77,16.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:16.33,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:20.2,21.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:21.27,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:25.2,26.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:26.28,29.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:29.17,31.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:34.2,41.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:41.32,46.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:46.20,48.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:49.3,49.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:61.97,62.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:62.28,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:71.2,75.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:75.29,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:79.2,80.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:80.16,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.2,84.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.20,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:88.2,97.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:97.25,103.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:103.20,105.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.3,106.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.19,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:109.3,109.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:112.2,113.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:113.16,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:117.2,117.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:121.95,122.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:122.28,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:131.2,137.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:137.50,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:141.2,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.2,145.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.16,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.2,149.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.21,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:153.2,154.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:154.16,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.2,157.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.20,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:161.2,161.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:165.98,166.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:166.28,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:170.2,171.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:171.16,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:175.2,181.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:181.50,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.2,185.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.96,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:189.2,189.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:197.98,198.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:198.28,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:207.2,217.74 6 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:217.74,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:222.2,223.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:223.16,225.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:227.2,229.156 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:235.98,237.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:237.16,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:241.2,247.24 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:247.24,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:252.2,253.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:253.29,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:256.2,256.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15.93,16.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:16.37,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:20.2,21.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:21.16,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:25.2,32.16 7 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:32.16,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.2,35.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.19,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.2,38.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.19,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:42.2,43.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:43.16,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:47.2,54.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61.91,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:62.37,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:71.2,73.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:73.16,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.2,76.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.19,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:80.2,81.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:81.43,83.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:83.19,85.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:86.3,86.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:87.8,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.2,90.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.16,91.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:91.45,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:94.3,94.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:97.2,110.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:110.16,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:113.2,113.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117.93,119.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122.91,123.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:123.37,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:132.2,133.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:133.19,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:136.2,141.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:141.16,143.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:145.2,155.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:155.25,165.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:167.2,168.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:168.16,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:171.2,171.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175.94,176.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:176.37,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:180.2,181.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:181.16,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:185.2,187.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:187.16,189.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.2,190.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.19,192.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:193.2,196.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:200.2,208.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:208.25,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:218.2,225.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232.94,233.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:233.37,235.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:242.2,243.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:243.21,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:246.2,248.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:248.19,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:252.2,253.46 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:253.46,255.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:255.13,257.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.2,259.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.44,261.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:261.13,263.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:266.2,267.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:267.16,269.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:271.2,278.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:278.16,280.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:281.2,281.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19.69,21.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23.38,38.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40.51,63.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65.53,80.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82.46,85.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:85.32,87.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:88.2,88.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91.105,93.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:93.16,95.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:96.2,97.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:100.2,100.70 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103.107,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:108.2,109.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:109.16,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:112.2,112.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115.101,117.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:117.16,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:120.2,121.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:121.17,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:124.2,139.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142.109,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:147.2,154.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157.100,159.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:159.28,161.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:161.18,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:164.3,164.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:166.2,167.72 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:167.72,169.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.2,170.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.53,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:173.2,174.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:174.26,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:177.2,177.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180.73,182.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:182.16,184.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:185.2,185.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12.104,14.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:14.16,16.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:18.2,19.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:19.18,21.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:23.2,23.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:24.14,25.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:26.18,27.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:28.17,29.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:30.10,31.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36.101,37.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:37.27,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:46.2,47.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:47.21,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:50.2,51.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:51.19,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:54.2,54.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:55.52,55.52 0 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:56.10,57.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:59.2,61.93 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:61.93,64.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:66.2,70.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:27.31,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:98.97,100.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:100.26,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.2,103.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.28,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:112.2,115.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:115.15,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.2,118.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.17,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:122.2,123.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:127.2,140.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:140.29,151.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:151.31,154.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:155.3,155.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:158.2,162.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:167.100,169.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:169.26,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.2,172.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.28,174.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.2,175.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.26,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:179.2,180.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:184.2,185.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:185.22,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:189.2,190.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:190.20,191.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:191.54,199.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.3,200.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.61,202.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:203.3,203.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:206.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:215.95,217.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:217.32,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.2,220.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.28,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:224.2,225.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:229.2,230.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:230.22,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.2,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.25,246.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:248.2,252.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:258.104,260.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:260.26,262.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:267.2,271.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:271.20,275.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:275.8,279.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:280.2,280.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:284.60,285.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:285.30,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.2,288.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.42,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:291.2,291.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:64.89,65.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:65.25,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:69.2,70.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:70.49,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:74.2,74.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:75.18,76.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:77.21,78.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:79.19,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:81.18,82.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:83.19,84.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:85.18,86.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:87.18,91.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:91.23,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:94.3,94.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:95.10,96.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:100.81,103.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:103.19,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:106.2,107.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:107.19,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.2,112.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.46,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.2,115.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.46,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.2,122.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.66,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.25,128.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:128.22,130.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:131.8,132.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:132.26,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.2,138.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.25,139.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:139.22,141.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:142.8,143.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:143.26,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.2,148.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.22,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.2,151.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.38,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.2,154.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.19,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:159.2,161.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:161.25,164.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.2,165.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.25,168.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:169.2,171.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:171.23,174.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.2,175.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.23,178.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:180.2,193.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:193.16,195.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:198.2,199.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:199.29,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.2,202.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.29,204.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:205.2,213.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:216.121,217.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:217.28,218.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:218.26,220.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:221.3,222.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:222.17,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:223.49,225.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:226.4,226.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:228.3,228.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.2,230.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.26,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:233.2,234.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:234.16,235.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:235.48,237.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:238.3,238.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:240.2,240.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:243.101,248.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:248.36,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:250.8,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.2,253.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.16,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.2,256.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.32,257.128 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:257.128,262.72 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:262.72,264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:267.2,267.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:276.81,277.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:277.25,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.2,280.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.22,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.2,283.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.39,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.2,286.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.25,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.2,289.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.21,291.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:292.2,293.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:293.14,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:296.2,305.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:305.16,307.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:308.2,314.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:317.84,318.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:318.19,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:321.2,323.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:323.63,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:326.2,329.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:332.82,333.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:333.38,335.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:336.2,337.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:338.18,339.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:340.18,341.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.2,345.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.59,347.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:349.2,351.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:351.21,353.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:353.8,356.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.2,357.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:366.2,367.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:367.41,369.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:371.2,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:397.115,398.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:398.15,400.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:403.2,404.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:404.26,405.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:405.28,407.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.3,408.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.28,410.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.2,412.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.23,415.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:420.2,426.12 4 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:426.12,427.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:427.27,429.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:429.18,431.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.4,433.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.33,435.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:440.2,441.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:441.26,442.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:442.28,443.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:443.49,445.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.3,448.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.28,449.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:449.49,451.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:454.2,454.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:457.82,458.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:458.21,460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:461.2,462.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:462.16,464.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.2,465.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.36,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:468.2,469.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:469.16,471.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:472.2,477.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:480.82,481.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:481.40,483.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:484.2,485.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:485.19,487.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:488.2,489.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:489.16,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:492.2,499.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:502.82,503.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:503.21,505.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:506.2,507.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:507.16,509.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:510.2,514.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23.179,24.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:24.22,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:28.2,32.22 4 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:32.22,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:35.2,36.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:36.22,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:40.2,41.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:41.26,43.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.2,44.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.26,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.2,47.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.30,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.2,50.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.30,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:54.2,55.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:55.16,57.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.2,58.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.13,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:61.2,62.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:62.16,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.2,65.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.13,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:69.2,70.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:70.16,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.2,73.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.15,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:77.2,77.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80.172,81.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:81.28,82.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:82.23,84.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.3,85.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.18,87.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:88.3,89.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:89.17,90.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:90.49,92.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:93.4,93.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:95.3,95.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.2,98.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.24,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.2,101.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.19,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:104.2,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:105.16,106.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:106.48,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:109.3,109.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:111.2,111.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114.119,116.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:116.22,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:119.2,120.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:120.22,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:124.2,126.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:126.26,127.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:127.36,129.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:130.3,130.105 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:131.8,132.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:132.32,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:135.3,135.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.2,137.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.2,141.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.32,143.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:143.27,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:146.3,147.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:147.27,149.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.3,150.106 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.106,151.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.3,153.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.27,154.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:154.114,155.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.9,157.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.104,158.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.3,160.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.27,161.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:161.114,162.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.9,164.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.104,165.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:167.3,167.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:169.2,169.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25.90,26.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:26.26,28.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:30.2,31.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:31.49,33.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:35.2,35.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:36.16,37.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:38.10,39.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43.84,44.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:44.21,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.2,47.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.25,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.2,50.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.21,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.2,53.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.21,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:57.2,58.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:59.18,60.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:61.15,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:63.24,64.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:65.10,66.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:69.2,70.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:70.22,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:73.2,74.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:74.29,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.2,78.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.14,85.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:87.2,89.37 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:89.37,92.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:92.21,94.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:97.2,100.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:100.31,102.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:102.38,104.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:104.37,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:109.3,122.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:122.26,124.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.3,125.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.19,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:131.3,133.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:133.39,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:135.9,137.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.3,138.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.17,140.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.3,142.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.34,144.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:145.3,145.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:148.2,155.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20.99,22.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:22.16,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:26.2,31.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:31.44,32.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:32.33,33.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:33.43,38.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.2,43.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.49,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.2,46.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.48,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:50.2,52.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:52.27,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:55.8,60.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:60.24,62.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.3,64.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.57,66.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:68.3,68.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.2,71.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.16,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:75.2,76.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:76.23,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:80.2,80.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:19.40,89.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:109.71,111.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:111.9,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:115.2,116.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:116.38,117.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:118.13,119.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:119.41,121.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:122.17,123.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:123.43,125.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:126.11,127.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:127.40,129.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.2,133.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.22,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:139.2,139.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:143.90,144.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:144.25,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:148.2,149.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:149.16,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:153.2,157.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:157.61,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:161.2,161.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:162.16,163.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:164.14,165.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:166.13,167.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:168.16,169.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:170.17,171.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:172.16,173.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:174.15,175.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:176.10,177.120 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:189.85,191.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:191.39,192.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:192.44,194.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.2,196.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.15,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.2,199.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.15,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:202.2,202.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:205.91,207.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:207.17,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:211.2,215.25 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:215.25,217.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:218.2,224.25 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:224.25,226.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.2,227.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.25,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:231.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:247.2,247.139 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:250.89,252.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:252.19,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:255.2,256.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:256.25,258.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:259.2,264.52 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:264.52,266.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:266.14,268.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:271.2,277.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:277.25,280.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:282.2,283.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:283.16,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.2,287.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.22,288.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:288.20,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:291.3,291.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:294.2,297.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:297.31,300.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:300.29,302.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:303.3,305.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:308.2,308.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:311.88,313.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:313.13,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:317.2,318.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:318.16,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:322.2,328.22 6 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:328.22,331.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.2,333.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.23,335.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:335.30,338.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:341.2,341.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:344.91,346.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:346.13,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:350.2,353.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:353.18,354.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:354.27,356.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.3,357.73 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.73,359.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.2,362.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.19,370.17 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:370.17,372.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:375.2,376.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:376.26,378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:379.2,379.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:382.92,384.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:384.13,386.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:388.2,389.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:389.16,391.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:393.2,401.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:401.16,403.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:405.2,405.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:408.91,410.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:410.13,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:414.2,418.95 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:418.95,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:422.2,422.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:425.90,427.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:427.13,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:431.2,433.167 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:433.167,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.2,437.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.89,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:441.2,441.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22.93,24.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:24.49,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:28.2,28.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:29.14,30.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:31.17,32.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:33.16,34.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:35.24,36.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:37.27,38.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:39.22,40.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:41.23,42.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:43.10,44.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48.79,49.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:49.13,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:57.2,58.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:58.32,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:61.2,84.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87.101,88.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:88.13,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.2,91.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.38,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.2,98.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.53,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:102.2,104.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:104.17,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.2,107.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.29,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:110.2,115.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118.100,119.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:119.13,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.2,122.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.38,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.2,129.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.53,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:133.2,135.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:135.17,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.2,138.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.29,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:141.2,146.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149.123,150.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:150.13,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.2,153.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.18,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.2,156.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.38,158.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:159.2,161.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:161.17,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:164.2,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172.113,173.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:173.13,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.2,176.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.50,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:179.2,181.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:181.17,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:184.2,188.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191.57,195.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197.102,198.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:198.13,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.2,201.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.20,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:204.2,205.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:205.16,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:209.2,210.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:210.32,212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:214.2,217.56 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:217.56,223.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:225.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233.41,235.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:235.16,237.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:238.2,238.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:35.27,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:42.41,43.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:44.48,45.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:46.10,47.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:54.57,55.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:56.17,57.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:58.16,59.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:60.10,61.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:82.58,83.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:84.28,85.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:86.26,87.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:88.10,89.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:93.114,95.68 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:95.68,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:99.2,101.42 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:101.42,102.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:102.71,105.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:107.2,117.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:117.23,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:121.2,124.22 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:124.22,125.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:125.31,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:128.3,128.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.8,129.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.37,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:132.2,132.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:135.74,136.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:136.30,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.2,139.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.34,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.2,142.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.31,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.2,145.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.22,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:161.169,162.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:162.17,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:165.2,166.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:166.51,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:169.2,169.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:172.92,174.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:174.42,177.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:177.63,179.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:179.9,181.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:183.2,183.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:186.65,190.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:192.115,194.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:194.26,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.8,196.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.31,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:199.2,199.117 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:202.122,206.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:206.31,207.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:207.45,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:211.2,211.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:214.72,216.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:218.117,219.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:222.2,223.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:223.20,225.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:225.17,227.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.3,228.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.27,229.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:229.50,231.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:231.30,232.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:236.3,236.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:239.2,241.60 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:241.60,243.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:243.61,245.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.3,246.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.24,247.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:249.3,250.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:250.17,252.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.3,253.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.22,254.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.3,256.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.29,257.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:257.50,259.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:259.30,260.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:264.3,265.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:265.32,266.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:269.2,269.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:272.51,273.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:273.16,275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:276.2,277.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:277.18,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.2,280.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.19,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:283.2,283.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:286.97,288.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:288.30,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.2,291.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.49,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:294.2,294.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:297.108,299.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:301.108,303.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:305.102,307.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:319.55,320.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:320.31,322.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.2,323.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.26,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:326.2,326.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:329.71,330.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:343.26,344.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:345.10,346.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:354.95,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:366.2,397.39 14 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:397.39,399.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:399.27,401.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:402.8,404.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:405.2,407.46 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:407.46,410.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.2,411.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.44,413.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:413.12,415.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.2,417.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.26,419.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.2,420.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.84,422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.2,427.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.65,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:431.2,433.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:433.20,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:436.2,437.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:437.20,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.2,440.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.56,442.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.2,443.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.56,448.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.2,450.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.45,453.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.2,459.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.31,461.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:461.22,462.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:462.62,465.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:466.4,466.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:468.3,468.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:471.2,472.115 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:472.115,474.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.2,491.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.19,493.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:493.23,495.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:496.3,508.21 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:508.21,510.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:511.3,511.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.2,522.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.43,535.34 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:535.34,556.30 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:556.30,558.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.4,559.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.44,561.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.4,562.106 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.106,564.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.4,575.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.74,577.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:578.4,579.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:579.18,581.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:583.4,584.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:584.28,586.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.4,588.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.31,599.57 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:599.57,601.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:601.17,604.7 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:606.5,607.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:607.21,609.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.5,615.138 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.138,617.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:617.27,619.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:620.6,620.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:622.5,623.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:623.26,625.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:626.5,626.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:630.4,631.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:631.20,633.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.4,634.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.22,637.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:637.26,639.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:640.5,640.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:645.4,660.77 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:660.77,662.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:663.4,664.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:664.25,666.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:667.4,667.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.2,673.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.26,675.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:677.2,678.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:678.25,680.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.2,681.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.97,683.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:690.2,691.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:691.21,693.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:693.33,695.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.3,696.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.33,698.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.3,699.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.49,704.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.3,721.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.54,722.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:722.84,724.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.2,728.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.99,730.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:732.2,733.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:733.22,735.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:736.109,737.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:738.100,739.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:740.114,741.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:742.107,743.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:744.11,745.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:748.2,749.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:749.43,751.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:753.2,755.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:755.34,756.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:756.48,757.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:757.19,760.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.2,764.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.31,767.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.2,768.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.35,771.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.2,772.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.76,776.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:778.2,780.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:780.16,782.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:782.20,785.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.2,788.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.25,798.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:798.18,800.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.9,800.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.30,807.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.3,808.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.36,810.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:811.3,812.50 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:812.50,815.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:816.3,822.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:822.17,824.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:826.3,836.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:836.17,838.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:839.3,839.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:842.2,843.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:843.30,844.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:844.52,846.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:846.9,848.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:851.2,869.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:869.21,871.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:871.43,873.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.3,874.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.29,876.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.3,886.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.76,888.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.2,890.105 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.105,892.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:893.2,894.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:894.16,896.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:901.2,904.40 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:904.40,905.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:905.15,906.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:909.3,910.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:910.63,912.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:912.9,914.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.3,916.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.43,918.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:919.3,920.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:920.20,922.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.3,925.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.23,928.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:929.3,931.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:931.33,934.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:934.39,936.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:939.2,948.42 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:948.42,950.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:950.21,952.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:952.9,955.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.2,959.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.53,960.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:960.54,961.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:961.33,963.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:964.9,972.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.3,973.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.60,974.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:974.40,976.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.3,978.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.61,979.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:979.41,981.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.3,983.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.28,985.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:986.3,987.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.2,989.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.51,991.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:995.2,997.53 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:997.53,999.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:999.8,1001.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.2,1002.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.22,1004.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1008.2,1014.76 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1014.76,1016.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.2,1021.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.57,1026.13 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1026.13,1029.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1029.21,1032.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.4,1033.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.49,1035.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1036.4,1043.89 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1043.89,1046.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1048.4,1048.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1052.2,1063.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1063.21,1065.40 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1065.40,1067.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.3,1068.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.38,1070.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1072.2,1074.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1074.18,1081.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.2,1082.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.28,1084.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.2,1085.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.16,1087.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.2,1088.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.30,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.2,1091.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.30,1093.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.2,1098.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.76,1100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1101.2,1102.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1102.16,1104.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1105.2,1105.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111.94,1113.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1113.15,1115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1117.2,1118.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1118.16,1120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1122.2,1123.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1123.13,1125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1126.2,1131.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1131.16,1133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.2,1134.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.19,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.2,1146.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.39,1148.55 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1148.55,1150.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.2,1152.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.39,1154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1157.2,1158.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1158.21,1163.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1163.21,1165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1166.3,1167.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1167.21,1169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.3,1170.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.52,1172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.3,1173.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.52,1178.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.3,1179.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.41,1182.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1183.3,1183.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.2,1188.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.46,1190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.2,1191.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.27,1193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1195.2,1196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1196.16,1198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1201.2,1210.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1210.16,1212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1213.2,1213.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218.59,1220.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1220.38,1222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1225.2,1226.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1226.29,1227.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1227.22,1229.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.2,1232.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.18,1234.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1237.2,1244.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1244.29,1245.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1245.67,1247.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.2,1249.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.16,1251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1254.2,1254.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258.55,1260.47 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1260.47,1262.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1263.2,1264.58 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1264.58,1266.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1267.2,1267.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270.252,1271.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1271.108,1273.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.2,1274.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.55,1276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1277.2,1277.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280.184,1282.69 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1282.69,1284.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1284.32,1285.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1285.58,1287.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.3,1290.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.18,1292.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.2,1294.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.19,1297.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1297.32,1298.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1298.39,1300.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.3,1303.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.19,1305.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.2,1307.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.21,1309.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1309.32,1310.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1310.49,1312.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.3,1315.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.18,1317.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.2,1319.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.28,1321.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1321.17,1323.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.3,1324.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.27,1326.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.2,1328.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.76,1330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1331.2,1331.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342.96,1343.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1343.26,1345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1347.2,1348.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1348.16,1350.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1352.2,1363.23 9 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1363.23,1364.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1364.58,1365.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1365.31,1367.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1367.10,1369.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.2,1373.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.17,1375.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.2,1376.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.16,1378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.2,1379.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.16,1381.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.2,1382.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.18,1384.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.2,1385.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.19,1387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.2,1388.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.19,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1396.2,1399.18 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1399.18,1400.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1400.61,1401.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1402.50,1403.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1404.12,1405.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1409.2,1410.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1410.42,1414.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1415.2,1420.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1420.16,1422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1429.2,1444.43 6 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1444.43,1446.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1449.2,1451.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1451.27,1453.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.2,1458.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.46,1460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.2,1461.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.63,1463.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1465.2,1466.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1466.15,1472.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1472.29,1479.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1479.18,1481.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.4,1482.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.23,1483.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.4,1485.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.30,1486.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1486.24,1488.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1488.32,1489.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1493.4,1494.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1494.30,1495.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1498.8,1504.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1504.29,1506.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1506.18,1508.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.4,1509.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.23,1510.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.4,1512.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.30,1513.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1513.24,1515.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1515.32,1516.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1520.4,1521.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1521.30,1522.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.2,1526.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.26,1528.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1528.17,1530.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.2,1535.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.74,1536.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1536.13,1537.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1537.33,1542.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1542.26,1544.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1544.39,1546.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1548.5,1548.82 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.2,1565.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.38,1569.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1569.27,1571.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.3,1572.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.27,1574.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1576.3,1581.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1581.32,1586.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1588.3,1592.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1592.18,1594.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1595.3,1596.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1596.17,1598.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1599.3,1599.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1602.2,1602.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1603.15,1618.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1618.32,1620.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1620.33,1621.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1621.40,1623.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1626.4,1638.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1640.3,1641.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1641.17,1643.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1644.3,1644.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1646.18,1648.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1648.17,1650.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1651.3,1651.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1653.10,1654.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1654.25,1656.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1657.3,1659.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1659.32,1661.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1661.33,1662.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1662.40,1664.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1667.4,1669.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1669.26,1671.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1672.4,1673.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1673.25,1675.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1676.4,1676.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1678.3,1678.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690.51,1695.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700.73,1702.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1702.16,1704.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1705.2,1706.48 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1706.48,1710.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1711.2,1713.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1713.16,1715.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1716.2,1716.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727.117,1731.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1731.21,1733.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1734.2,1735.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1735.16,1737.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1738.2,1739.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1739.27,1741.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1742.2,1742.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1764.19,1775.30 7 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1775.30,1777.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1777.37,1779.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.3,1781.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.20,1783.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.2,1797.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.39,1799.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1801.2,1811.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1811.25,1813.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1815.2,1816.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1816.29,1818.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.2,1824.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.27,1826.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1831.2,1833.22 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1833.22,1835.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1837.2,1846.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1846.16,1848.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1853.2,1855.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1855.27,1857.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1859.2,1876.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1876.33,1878.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1880.2,1881.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1881.28,1885.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1885.20,1888.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1888.33,1889.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1889.40,1891.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.4,1894.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.20,1895.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.3,1900.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.22,1902.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1902.33,1903.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1903.50,1905.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.4,1908.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.19,1909.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.3,1918.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.56,1919.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.3,1927.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.64,1928.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1932.3,1935.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1935.32,1936.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1936.39,1938.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1942.3,1956.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1956.14,1957.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1957.37,1959.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1961.3,1962.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1962.26,1963.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.2,1975.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.59,1986.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1986.17,1988.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1990.3,1991.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1991.34,1993.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1995.3,1996.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1996.29,1998.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1998.21,2001.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2001.34,2002.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2002.41,2004.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.5,2007.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.21,2008.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.4,2011.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.23,2013.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2013.34,2014.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2014.51,2016.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.5,2019.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.20,2020.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.4,2023.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.57,2024.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.4,2027.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.65,2028.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2030.4,2031.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2031.33,2032.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2032.40,2034.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2037.4,2051.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2051.15,2052.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2052.38,2054.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2056.4,2057.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2057.27,2058.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2065.2,2066.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2066.28,2068.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.2,2072.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.71,2080.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2080.30,2081.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2081.41,2087.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.3,2089.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.13,2090.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2090.31,2095.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2095.25,2097.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2097.38,2099.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2101.5,2101.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.2,2112.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.38,2115.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2115.27,2117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2121.3,2138.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2138.30,2140.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2140.11,2141.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2143.4,2160.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2160.15,2161.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2161.39,2163.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2165.4,2165.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2167.3,2173.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2173.24,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2176.3,2176.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2179.2,2179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2180.15,2182.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2182.24,2184.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2185.3,2185.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2187.18,2199.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2199.30,2201.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2201.11,2202.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2204.4,2208.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2208.15,2209.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2209.39,2211.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2213.4,2213.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2215.3,2216.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2216.24,2218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2219.3,2219.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2220.10,2221.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2221.22,2223.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2224.3,2226.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2226.27,2228.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2228.20,2230.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2231.4,2233.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2233.26,2235.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2236.4,2237.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2237.23,2239.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.4,2240.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.46,2244.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2245.4,2245.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2247.3,2247.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252.94,2254.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2254.16,2256.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2258.2,2260.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2260.18,2261.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2261.59,2262.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2262.36,2264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2264.10,2266.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.2,2270.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.13,2272.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.2,2273.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.50,2275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2277.2,2277.98 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281.98,2282.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2282.26,2284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2286.2,2287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2287.16,2289.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2291.2,2292.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2292.13,2294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2297.2,2298.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2298.19,2299.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2299.51,2301.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2302.3,2302.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.2,2304.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.42,2306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.2,2308.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.54,2309.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2309.48,2311.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2312.3,2312.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2316.2,2318.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17.82,19.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21.149,22.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:22.55,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.2,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.36,27.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:28.2,34.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:34.16,36.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.2,37.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.42,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:40.2,40.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43.105,44.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:44.48,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:47.2,48.54 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51.129,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:56.2,57.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:57.53,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:60.2,61.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:61.25,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:64.2,65.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:65.16,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:68.2,68.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26.97,27.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:27.18,29.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:30.2,30.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33.37,35.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37.81,38.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:38.44,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.2,41.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.38,43.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:44.2,44.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47.88,48.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:48.32,50.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:51.2,52.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:52.20,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:55.2,55.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58.40,72.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74.106,75.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:75.34,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:78.2,79.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:79.16,81.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:83.2,84.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:88.2,89.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:89.13,91.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:93.2,94.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:94.63,96.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.2,98.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.72,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:102.2,106.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109.117,110.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:110.32,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.2,113.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.34,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:117.2,118.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:118.16,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.2,121.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.19,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:125.2,126.69 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:126.69,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:130.2,136.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18.33,20.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22.27,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39.93,40.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:40.30,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.2,43.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.28,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:46.2,47.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:47.16,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:51.2,52.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:52.17,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:55.2,56.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:56.19,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.2,59.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.19,61.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:62.2,63.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:63.16,65.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:67.2,74.9 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:74.9,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:77.2,78.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:78.15,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:81.2,85.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:85.16,87.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.2,88.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.17,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:92.2,101.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104.48,105.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:108.2,109.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:109.29,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.2,112.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.31,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:115.2,115.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118.75,120.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:120.27,121.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:121.32,123.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:123.17,124.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:126.4,126.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:129.2,134.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:134.33,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.2,137.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.40,138.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:138.39,140.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:141.3,141.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.2,143.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.34,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:146.2,147.35 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:147.35,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:150.2,150.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153.77,154.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:154.20,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:157.2,159.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:159.31,160.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:160.33,162.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.3,163.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.30,165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:167.2,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23.91,25.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27.38,50.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52.104,53.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:53.38,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:56.2,57.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:61.2,62.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:62.26,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:65.2,66.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:66.30,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.2,69.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.72,71.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:73.2,74.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:77.2,78.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:78.16,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:81.2,82.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:82.16,84.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:85.2,86.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:90.2,105.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.2,109.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.19,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.2,118.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.25,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.2,121.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.30,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.2,124.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.31,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:131.2,131.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134.91,136.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:136.9,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:139.2,140.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:140.15,141.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:141.19,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:144.3,144.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:146.2,146.94 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149.59,150.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:150.16,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:153.2,154.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:154.61,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:157.2,157.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160.56,161.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:161.75,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:164.2,164.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167.67,169.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:170.17,171.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:172.67,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:174.10,175.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179.60,180.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:183.2,184.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:184.25,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:187.2,187.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190.57,191.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:192.15,193.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:193.81,195.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:196.3,196.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:197.19,199.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:199.17,201.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.3,202.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.55,204.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:205.3,205.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:206.14,207.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:208.11,209.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:210.10,211.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215.59,216.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:216.16,218.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:219.2,219.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:220.12,221.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:222.14,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:224.10,225.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:28.90,30.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:30.16,32.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:34.2,36.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:37.16,38.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:40.16,42.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:44.20,46.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:48.17,50.142 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:52.17,56.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:56.50,62.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:62.63,64.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.4,66.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.45,68.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:72.4,74.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:74.25,76.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:77.4,77.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:80.3,80.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:82.18,84.141 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:86.18,88.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:88.18,90.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:91.3,91.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:93.17,96.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:96.50,99.59 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:99.59,101.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:102.4,104.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:104.25,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:107.4,107.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:110.3,110.98 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:112.10,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:125.86,126.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:129.2,130.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:130.9,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.2,133.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.22,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:137.2,139.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:139.31,141.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:141.10,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:144.3,145.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:145.22,147.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:148.3,149.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:149.26,151.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.3,152.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.68,154.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:155.3,156.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:156.37,158.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:159.3,160.107 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:162.2,162.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:165.249,166.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:166.24,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.2,169.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.38,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:173.2,174.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:174.31,175.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:175.32,177.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:180.2,181.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:181.34,182.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:182.29,183.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:185.3,197.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:197.17,199.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.3,200.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.20,201.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.3,203.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.37,205.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:205.33,206.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.4,208.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.19,209.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:209.43,210.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:212.5,212.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:214.4,215.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:215.30,216.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:220.2,220.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:223.113,229.2 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:231.101,233.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:247.92,251.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:251.16,253.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.8,253.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:259.2,272.51 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:272.51,274.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:274.38,275.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:276.50,277.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:278.12,279.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:287.2,292.26 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:292.26,294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.2,297.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.19,301.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:303.2,311.42 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:311.42,315.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:316.2,341.64 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:341.64,342.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:342.86,344.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.3,345.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.56,347.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:348.3,360.19 6 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:360.19,364.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:365.3,365.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:369.2,370.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:370.15,372.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:372.27,374.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.3,375.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.27,377.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:380.2,381.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:381.15,387.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:387.28,395.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:395.18,397.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.4,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.23,399.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.4,401.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.30,402.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:402.66,403.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:405.5,406.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:406.12,407.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.5,409.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.28,413.6 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:414.5,415.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:415.30,416.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:419.4,420.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:420.30,421.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:424.8,432.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:432.28,438.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:438.18,440.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.4,441.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.23,442.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.4,444.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.30,445.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:445.40,447.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:447.31,448.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:452.4,455.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:455.30,456.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:461.2,465.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:465.17,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:469.2,470.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:470.16,472.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:473.2,473.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20.79,21.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:21.43,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.2,24.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.29,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:27.2,27.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30.40,63.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65.68,71.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:71.25,74.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:75.2,75.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78.62,83.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:83.19,87.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:88.2,88.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91.101,92.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:92.22,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:95.2,96.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:96.18,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:103.2,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:107.2,107.119 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110.99,111.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:111.22,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:114.2,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:115.18,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:118.2,119.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:119.16,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.2,122.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.51,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:129.2,131.15 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:131.15,132.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:132.69,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:135.3,135.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:137.2,137.130 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140.102,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.2,145.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.64,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:148.2,148.113 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151.109,153.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:157.16,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:160.2,161.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:161.16,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:164.2,164.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167.107,169.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:169.16,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:172.2,173.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:173.16,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.2,176.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.107,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:179.2,179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:180.41,181.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:182.41,183.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:184.10,185.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189.111,191.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:191.16,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:194.2,195.57 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:195.57,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:198.2,199.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:199.23,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.2,206.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.17,208.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:209.2,209.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212.63,215.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217.69,219.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:222.2,222.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225.60,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:230.2,230.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233.137,234.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:234.49,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:241.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:246.2,247.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:247.16,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.2,250.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.22,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:253.2,253.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256.142,258.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:258.16,260.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:261.2,262.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:262.16,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.2,265.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.47,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:268.2,269.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:269.16,270.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:270.50,272.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:273.3,273.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:275.2,275.173 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278.157,280.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:280.16,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.2,283.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.47,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:286.2,287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:287.16,288.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:288.50,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:291.3,291.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:293.2,293.169 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296.104,297.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:297.22,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:300.2,301.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:301.61,303.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:303.20,304.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.2,307.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.19,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:310.2,317.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320.119,322.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:322.39,323.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:323.81,325.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:327.2,327.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330.71,332.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:332.16,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:335.2,335.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17.61,105.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:105.23,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:123.2,123.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126.104,127.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:127.61,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.2,130.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.38,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:133.2,134.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:137.2,138.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:138.16,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:141.2,147.107 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:147.107,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:150.2,151.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:151.16,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:154.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:170.19,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:173.2,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176.103,177.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:177.61,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.2,180.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.38,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:187.2,191.106 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:191.106,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:194.2,195.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:195.16,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:198.2,200.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:200.31,207.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:207.36,218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:219.3,220.35 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:222.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233.107,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.2,237.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.38,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:240.2,241.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:241.16,243.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:244.2,248.110 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:248.110,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:251.2,252.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:252.16,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:255.2,256.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:256.33,266.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:267.2,275.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278.108,279.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:279.61,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.2,282.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.37,284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:285.2,286.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:286.16,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:289.2,290.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:290.19,292.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.2,293.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.104,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:296.2,297.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:297.16,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:300.2,307.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:307.16,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:310.2,311.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:311.43,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:319.2,332.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:332.22,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:335.2,335.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338.108,339.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:339.62,341.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.2,342.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.38,344.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:345.2,346.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:346.9,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:349.2,350.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:350.16,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:353.2,357.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:360.2,370.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373.109,374.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:374.62,376.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.2,377.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.38,379.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:380.2,381.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:381.9,383.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:384.2,385.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:385.16,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:388.2,390.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:390.32,392.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:393.2,394.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:394.16,396.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:397.2,403.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406.106,407.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:407.62,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.2,410.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.38,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:413.2,414.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:414.9,416.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:417.2,418.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:418.16,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:421.2,423.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:423.16,424.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:424.41,434.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:435.3,435.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:437.2,445.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483.65,484.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:484.42,485.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:485.39,487.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.2,489.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.85,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:492.2,492.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495.102,496.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:496.38,498.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.2,499.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.58,501.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:502.2,502.90 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505.60,508.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510.66,512.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:512.26,514.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:515.2,515.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518.69,521.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:521.33,523.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:523.21,524.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.3,526.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.34,527.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:529.3,530.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:532.2,532.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535.63,537.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:537.19,539.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:540.2,541.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:541.42,543.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.2,544.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.57,546.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.2,547.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.54,549.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:550.2,550.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553.70,557.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559.66,561.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:561.9,563.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:564.2,566.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:566.17,568.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:569.2,569.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:570.103,572.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:573.34,574.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:575.10,576.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580.56,581.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:581.37,583.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.2,584.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.26,586.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:586.37,587.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:589.3,589.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:591.2,591.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594.90,602.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604.68,605.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:605.71,607.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:607.17,609.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:610.3,610.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:612.2,613.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:613.16,615.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:616.2,617.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:617.41,619.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:620.2,620.78 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623.65,625.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:625.16,627.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.2,628.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.17,630.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:631.2,631.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634.51,635.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:635.16,637.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:638.2,638.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641.56,642.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:642.28,644.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:645.2,646.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649.92,651.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:651.29,653.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:654.2,654.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657.86,659.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:659.29,661.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:662.2,662.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665.94,667.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:667.29,669.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:670.2,670.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673.98,675.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:675.29,677.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:678.2,678.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:17.93,18.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:18.104,20.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:22.2,23.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:23.16,25.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:27.2,28.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:28.19,30.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:32.2,35.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:35.33,36.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:36.47,39.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:42.2,44.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:44.20,47.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:48.2,49.68 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:49.68,50.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:50.48,52.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.3,53.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.32,55.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:55.23,56.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:56.63,58.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:59.5,59.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:61.4,61.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:64.2,71.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:71.17,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.8,73.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.29,75.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:75.36,77.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:78.3,83.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.2,86.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.35,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:90.2,97.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:101.2,110.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:110.28,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:113.2,124.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:133.93,134.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:134.35,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:138.2,139.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:139.16,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:143.2,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.2,147.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.17,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:151.2,152.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:152.33,153.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:153.47,156.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:160.16,162.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:164.2,176.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:176.26,178.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:178.23,180.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:181.3,192.5 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:195.2,196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:199.2,199.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:22.104,24.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:24.16,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:28.2,29.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:29.18,31.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:33.2,33.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:34.13,35.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:36.13,37.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:38.14,39.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:40.16,41.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:42.10,43.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:51.67,53.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:57.68,58.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:58.33,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:61.2,61.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:67.42,69.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:74.61,76.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:76.26,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:79.2,79.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:85.90,86.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:86.49,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:90.2,91.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:91.15,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:94.2,95.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:95.17,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:100.2,103.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:103.16,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:107.2,113.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:113.12,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:115.18,117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:118.3,119.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:119.20,121.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:122.3,124.48 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:125.8,127.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:129.2,130.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:130.16,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:134.2,139.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:145.90,147.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:151.2,152.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:152.16,154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:157.16,158.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:158.47,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:161.3,161.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:164.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:170.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:173.8,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:176.2,176.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:181.92,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:187.2,188.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:188.16,190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:192.2,200.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:200.25,207.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:207.28,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:210.3,210.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:212.2,212.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:216.93,217.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:217.52,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:221.2,222.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:222.15,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:226.2,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.2,231.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.47,232.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:232.47,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:235.3,235.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:238.2,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:35.127,36.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:36.23,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:39.2,40.40 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:40.40,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.2,43.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.37,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.2,46.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.37,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:49.2,49.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:52.23,80.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:82.26,140.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:142.92,143.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:143.25,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:147.2,148.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:148.49,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:152.2,152.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:153.17,154.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:154.24,156.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:157.3,158.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:158.17,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:161.3,165.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:166.17,167.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:167.22,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.3,170.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.22,172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:173.3,174.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:174.17,176.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:177.3,181.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:182.16,189.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:189.23,191.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.3,192.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.24,194.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.3,195.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.39,197.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:198.3,207.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:207.17,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.3,210.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.69,212.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:213.3,213.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:214.10,215.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:219.92,220.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:220.25,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:224.2,225.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:225.49,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:229.2,229.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:230.17,232.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:232.24,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:235.3,236.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:236.17,238.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.3,239.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.59,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.3,242.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.81,244.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:245.3,250.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:251.17,253.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:253.22,255.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:256.3,257.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:257.17,259.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.3,260.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.79,262.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:263.3,268.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:269.10,270.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:274.91,276.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:276.16,278.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.2,279.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.67,280.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:280.76,282.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:285.2,286.52 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:286.52,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:289.2,289.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:292.74,294.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:294.16,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.2,297.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.62,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:300.2,300.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:303.109,304.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:304.56,306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.2,307.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.25,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.2,310.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.81,312.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.2,313.102 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.102,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.2,316.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.108,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.2,319.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.99,321.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.2,322.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.99,324.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.2,325.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.60,327.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.2,328.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.34,330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.2,331.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.114,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.2,334.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.66,336.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.2,337.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.40,339.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.2,340.132 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.132,342.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.2,343.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.35,345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:346.2,346.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:349.92,350.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:350.103,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:354.2,355.52 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:355.52,357.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.2,358.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.32,360.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:361.2,361.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:364.108,365.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:365.19,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:368.2,369.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:369.53,371.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.2,372.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.19,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.2,375.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.39,376.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:376.34,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:380.2,380.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:383.66,385.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:385.53,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.2,388.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.19,390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:391.2,391.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:16.2,18.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:19.16,20.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:21.14,22.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:23.15,24.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:25.16,26.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:27.10,28.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21.75,23.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25.41,28.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30.31,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39.38,46.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48.50,56.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58.43,70.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72.80,73.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:73.36,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.2,76.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.48,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:79.2,79.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82.97,84.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:87.2,88.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:88.16,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:91.2,92.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:92.16,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:95.2,96.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:96.16,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:99.2,99.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102.104,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:111.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:115.2,116.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:116.16,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:119.2,119.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122.96,124.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:127.2,128.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:128.19,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:131.2,132.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:132.18,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:135.2,141.79 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:141.79,143.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:143.17,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:146.3,146.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:148.2,148.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151.77,153.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:156.2,157.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:157.19,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:160.2,160.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:22.15,23.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:24.13,25.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:26.14,27.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:28.16,29.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:30.16,31.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:32.10,33.102 1 0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/create-database.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/create-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/create-database.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/create-database.stdout.log new file mode 100644 index 00000000..4b15bd57 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/create-database.stdout.log @@ -0,0 +1 @@ +CREATE DATABASE diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/create-pgvector.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/create-pgvector.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/create-pgvector.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/create-pgvector.stdout.log new file mode 100644 index 00000000..d26bad14 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/create-pgvector.stdout.log @@ -0,0 +1 @@ +CREATE EXTENSION diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/database-identity.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/database-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/database-identity.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/database-identity.stdout.log new file mode 100644 index 00000000..91b5c45c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/database-identity.stdout.log @@ -0,0 +1 @@ +{"database" : "engram_prc_rg_test_08822acc1e43ac35_r3", "schema" : "public", "server_version" : "17.10 (Debian 17.10-1.pgdg12+1)", "user" : "engram"} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/go-test-summary.json b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/go-test-summary.json new file mode 100644 index 00000000..e6f7bef2 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/go-test-summary.json @@ -0,0 +1,40 @@ +{ + "schema_version": 1, + "verdict": "PASS", + "input_path": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\go-test.stdout.jsonl", + "fail_on_unexpected_skip": true, + "allowed_skip_identities": [], + "counts": { + "packages": 1, + "tests": 1, + "passed": 1, + "failed": 0, + "skipped": 0, + "no_tests": 0, + "zero_tests": 0, + "incomplete": 0, + "unexpected_skips": 0, + "malformed_lines": 0 + }, + "packages": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "outcome": "pass", + "elapsed_seconds": 4.758, + "last_output": "ok \tgithub.com/thebtf/engram/internal/mcp\t4.746s\tcoverage: 0.1% of statements", + "tests_observed": 1 + } + ], + "tests": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEC_F1_TagDerivedBackfill_T007", + "outcome": "pass", + "elapsed_seconds": 4.45, + "last_output": "--- PASS: TestEC_F1_TagDerivedBackfill_T007 (4.45s)", + "skip_allowed": false + } + ], + "unexpected_skips": [], + "errors": [] +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/go-test.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/go-test.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/go-test.stdout.jsonl b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/go-test.stdout.jsonl new file mode 100644 index 00000000..7605eac7 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/go-test.stdout.jsonl @@ -0,0 +1,16 @@ +{"Time":"2026-07-11T03:54:07.9059233+03:00","Action":"start","Package":"github.com/thebtf/engram/internal/mcp"} +{"Time":"2026-07-11T03:54:08.1624961+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007"} +{"Time":"2026-07-11T03:54:08.1624961+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"=== RUN TestEC_F1_TagDerivedBackfill_T007\n"} +{"Time":"2026-07-11T03:54:09.2139741+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"warn\",\"error\":\"ERROR: relation \\\"observation_vectors\\\" does not exist (SQLSTATE 42P01)\",\"time\":\"2026-07-11T03:54:09+03:00\",\"message\":\"migration 040: orphan vector cleanup failed (non-fatal)\"}\n"} +{"Time":"2026-07-11T03:54:09.2139741+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"garbage_deleted\":0,\"orphan_vectors_deleted\":0,\"time\":\"2026-07-11T03:54:09+03:00\",\"message\":\"migration 040: garbage cleanup complete\"}\n"} +{"Time":"2026-07-11T03:54:09.2249749+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"orphan_vectors_deleted\":0,\"time\":\"2026-07-11T03:54:09+03:00\",\"message\":\"migration 041: orphan vector purge complete\"}\n"} +{"Time":"2026-07-11T03:54:09.2344733+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"patterns_deleted\":0,\"time\":\"2026-07-11T03:54:09+03:00\",\"message\":\"migration 042: low-quality pattern purge complete\"}\n"} +{"Time":"2026-07-11T03:54:09.2819745+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"total_deleted\":0,\"time\":\"2026-07-11T03:54:09+03:00\",\"message\":\"migration 043: radical observation cleanup complete\"}\n"} +{"Time":"2026-07-11T03:54:10.7340183+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"warn\",\"error\":\"ERROR: extension \\\"vectorscale\\\" is not available (SQLSTATE 0A000)\",\"time\":\"2026-07-11T03:54:10+03:00\",\"message\":\"migration 109: vectorscale extension not available, skipping DiskANN index\"}\n"} +{"Time":"2026-07-11T03:54:12.1635914+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:54:12+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:54:12.6106043+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"--- PASS: TestEC_F1_TagDerivedBackfill_T007 (4.45s)\n"} +{"Time":"2026-07-11T03:54:12.6106043+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Elapsed":4.45} +{"Time":"2026-07-11T03:54:12.6106043+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"PASS\n"} +{"Time":"2026-07-11T03:54:12.6306033+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"coverage: 0.1% of statements\n"} +{"Time":"2026-07-11T03:54:12.6636038+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"ok \tgithub.com/thebtf/engram/internal/mcp\t4.746s\tcoverage: 0.1% of statements\n"} +{"Time":"2026-07-11T03:54:12.6636038+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Elapsed":4.758} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/pg-stat-activity-after.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/pg-stat-activity-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/pg-stat-activity-after.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/pg-stat-activity-after.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/pg-stat-activity-after.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/pg-stat-activity-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/pg-stat-activity-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/repeat-summary.json b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/repeat-summary.json new file mode 100644 index 00000000..15a255f9 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/repeat-summary.json @@ -0,0 +1,33 @@ +{ + "repeat": 3, + "verdict": "PASS", + "database": "engram_prc_rg_test_08822acc1e43ac35_r3", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_08822acc1e43ac35_r3.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": false, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 0, + "json_parser_exit": 0, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\cleanup\\cleanup.json", + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03" +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/server-connection-count-after.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/server-connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/server-connection-count-after.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/server-connection-count-after.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/server-connection-count-after.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/server-connection-count-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/server-connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/server-connection-count-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/server-connection-count-before.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/server-connection-count-before.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/targeted-coverage.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/targeted-coverage.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/targeted-coverage.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/targeted-coverage.stdout.log new file mode 100644 index 00000000..c958686c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/repeat-03/targeted-coverage.stdout.log @@ -0,0 +1,352 @@ +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33: effectiveAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44: isAuditEnabled 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52: runAuditAsync 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77: marshalState 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92: logAuditCreate 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117: logAuditEdit 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142: logAuditDelete 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166: logAuditGeneric 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189: logAuditSupersede 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:30: parseArgs 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:46: coerceString 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:67: coerceInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:97: coerceInt64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:127: coerceFloat64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:151: coerceBool 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:177: coerceStringSlice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:204: coerceInt64Slice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:222: clampToInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:236: clampInt64ToInt 0.0% +github.com/thebtf/engram/internal/mcp/context.go:17: extractProjectFromHeader 0.0% +github.com/thebtf/engram/internal/mcp/context.go:22: contextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:29: ContextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:35: projectFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:41: contextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:48: ContextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:54: sessionFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:61: actorFromContext 0.0% +github.com/thebtf/engram/internal/mcp/health.go:22: NewMCPHealth 0.0% +github.com/thebtf/engram/internal/mcp/health.go:29: RecordRequest 0.0% +github.com/thebtf/engram/internal/mcp/health.go:36: RecordError 0.0% +github.com/thebtf/engram/internal/mcp/health.go:42: rotateWindowIfNeeded 0.0% +github.com/thebtf/engram/internal/mcp/health.go:55: HandleHealth 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28: ruleGovernanceCaptureEnabled 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39: captureActiveRuleIntent 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104: ruleIntentFingerprint 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113: marshalRuleCandidateIntentResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:127: NewServer 100.0% +github.com/thebtf/engram/internal/mcp/server.go:141: SetBackfillStatusFunc 0.0% +github.com/thebtf/engram/internal/mcp/server.go:146: SetVersionedDocumentStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:151: SetIssueStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:156: SetMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:161: SetMetaMemoryIndex 0.0% +github.com/thebtf/engram/internal/mcp/server.go:166: SetHintQueue 0.0% +github.com/thebtf/engram/internal/mcp/server.go:171: SetStateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:176: SetDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/server.go:181: SetBehavioralRulesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:186: SetRuleGovernanceStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:191: SetRuleInjectionTelemetryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:195: SetPromotionStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:199: SetGraphStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:204: SetNodesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:211: SetAuditStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:216: SetPurgeStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:222: SetCandidateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:228: SetSnapshotStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:234: SetBulkFacade 0.0% +github.com/thebtf/engram/internal/mcp/server.go:240: setTestAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/server.go:246: setTestMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/server.go:252: setTestMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/server.go:260: SetWriteLintOrchestrator 0.0% +github.com/thebtf/engram/internal/mcp/server.go:269: SetRedactionRules 0.0% +github.com/thebtf/engram/internal/mcp/server.go:274: SetEmbeddingStores 0.0% +github.com/thebtf/engram/internal/mcp/server.go:282: SetRerankClient 0.0% +github.com/thebtf/engram/internal/mcp/server.go:290: SetStatsDB 0.0% +github.com/thebtf/engram/internal/mcp/server.go:297: HandleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:303: ListTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:332: Version 0.0% +github.com/thebtf/engram/internal/mcp/server.go:383: Run 0.0% +github.com/thebtf/engram/internal/mcp/server.go:427: handleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:461: handleNotification 0.0% +github.com/thebtf/engram/internal/mcp/server.go:473: handleInitialize 0.0% +github.com/thebtf/engram/internal/mcp/server.go:496: buildInstructions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:660: storeMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:712: recallMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:805: primaryTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:942: handleToolsList 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1612: handleToolsCall 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1644: sanitizeToolCallArgs 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1656: callTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1874: sendResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1884: sendError 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1896: handleFindSimilarObservations 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1927: handleGetMemoryStats 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2055: handleBackfillStatus 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2071: handleCheckSystemHealth 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2216: handleAnalyzeSearchPatterns 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2246: handleSearchSessions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2251: handleListSessions 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:18: buildAdminTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:68: adminActionsForEnv 33.3% +github.com/thebtf/engram/internal/mcp/tools_admin.go:80: vnextEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:84: handleAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:120: handlePurgeProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27: ambientHintsEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32: ambientHintsTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48: handleGetAmbientHints 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86: normalizeAmbientHintsToolLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96: ambientHintItems 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114: errMissingSessionID 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:31: handleGetMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:107: memoryBriefUsesPrincipalScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:115: handlePrincipalMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:259: truncateBriefContent 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:270: filterInjectionByScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25: bulkOpsTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95: handleBulkPromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154: handleBulkDelete 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211: handleBulkSupersede 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31: candidateItemFromDomain 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51: newCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59: requireCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68: candidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165: handleListCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208: handleGetCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239: handlePromoteCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348: handleRejectCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402: handleSupersedeCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34: codeIntelEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42: SetCodeChunkStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48: codebaseSearchTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79: codebaseStatusTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100: handleCodebaseSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194: handleCodebaseStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:21: getVault 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:35: credentialStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:49: handleStoreCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:130: handleGetCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:192: handleListCredentials 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:243: handleDeleteCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:302: handleVaultStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:338: expandTagHierarchy 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:16: directivesCaptureEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:20: rememberDirectiveTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:38: currentDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:48: handleRememberDirective 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:72: parseRememberDirectiveArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10: handleDocsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:15: handleListCollections 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:61: handleListDocuments 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:121: handleGetDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:165: handleRemoveDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:197: handleIngestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:235: handleSearchCollection 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15: handleDocCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61: handleDocRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117: handleDocUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122: handleDocList 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175: handleDocHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232: handleDocComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19: SetExperienceProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23: experienceHistoryTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40: experienceHistoryReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65: experienceHistoryDetailSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82: experienceHistoryTriggerEnum 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91: handleExperienceHistoryRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103: handleExperienceHistoryDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115: parseExperienceHistoryReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142: parseExperienceHistoryDetailArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157: experienceHistoryTriggersFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180: marshalExperienceHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12: handleFeedbackConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36: handleSetSessionOutcome 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:27: governanceTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:98: handleListSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:167: handleRollbackSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:215: handlePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:258: handleRedactionRulesStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:284: resolveGovernanceActor 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:64: handleGraph 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:100: graphAddEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:216: mcpGraphEndpointExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:243: mcpGraphEdgeAlreadyExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:276: graphAddNode 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:317: graphRemoveEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:332: graphGetEdges 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:397: filterEdgesByNodeType 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:457: graphTraverse 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:480: graphFindPath 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:502: graphSynonyms 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23: graphCreateEdgeWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80: graphEndpointExistsWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114: graphDuplicateEdgeExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25: handleIngest 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43: ingestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20: handleImportInstincts 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:19: issuesToolSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:109: validateIssueActionParams 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:143: handleIssues 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:189: resolveSourceProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:205: handleIssueCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:250: handleIssueList 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:311: handleIssueGet 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:344: handleIssueUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:382: handleIssueComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:408: handleIssueReopen 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:425: handleIssueClose 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22: handleLifecycle 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48: lifecycleInfo 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87: lifecyclePromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118: lifecycleDemote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149: lifecycleSetConfidence 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172: lifecycleSetDefeasibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191: lifecycleSleepStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197: lifecycleDecayPreview 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233: marshalJSON 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:35: vnextFEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:42: isValidPrivacyScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:54: derivePrivacyScopeFromLegacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:82: deriveLegacyScopeFromPrivacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:93: applyPrincipalMemoryMetadata 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:135: addPrincipalMemoryFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:161: newScopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:172: writeLintVisibilityCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:186: writeLintVisibilityOptions 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:192: scopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:202: filterVisibleWriteGateCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:214: domainManageAllowed 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:218: List 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:272: writeLintVisibilityFetchLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:286: Get 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:297: Create 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:301: Update 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:305: MarkSuperseded 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:319: effectiveMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:329: isValidStoreObservationType 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:354: handleStoreMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111: handleEditMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218: computeTTLDays 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258: truncateTitle 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270: keepRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280: keepRecallMemoryFilters 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342: handleRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690: staleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700: marshalWithStaleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727: Rank 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1751: handleRecallMemoryHybrid 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252: handleRateMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281: handleSuppressMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17: SetDomainRegistryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21: checkDomainWriteMCP 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43: addDomainWriteDecisionFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51: marshalStoreMemoryAugmented 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26: newMemoryStoreSignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33: s6OutcomeEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37: effectiveMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47: currentMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58: rateMemorySignificanceTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74: handleRateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109: RateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18: s2MetaMemoryEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22: knowAboutTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39: handleKnowAbout 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104: parseKnowAboutLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118: summarizeMetaIndexTags 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153: summarizeMetaIndexDateRange 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23: SetPrincipalMemoryQueryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27: principalMemoryQueryTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52: handleQueryPrincipalMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134: principalMemoryQueryCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149: parsePrincipalMemoryQueryLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160: principalMemoryQueryText 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167: parsePrincipalMemoryQueryVisibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179: parsePrincipalMemoryQueryOffset 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190: parsePrincipalMemoryQueryInt 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215: parsePrincipalMemoryQueryBool 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:28: handleRecall 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:125: parseRecallIncludedPrincipals 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:165: appendRecallIncludedPrincipalMemories 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:223: recallIncludeTargetMatchesCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:231: recallPrincipalQueryItemToMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:247: handleRecallSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20: currentReviewLoopCandidateLister 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30: reviewLoopCandidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65: reviewLoopReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78: reviewPacketIDSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91: handleReviewMetricsRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110: handleReviewQueueRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140: handleReviewPacketDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151: handleReviewPacketPreviewAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167: handleReviewPacketApplyAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189: parseReviewLoopReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212: reviewLoopMCPPacketTypeSupported 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217: reviewLoopActionFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225: reviewLoopReasonFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233: loadReviewPacketCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256: applyReviewPacketPreserve 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278: applyReviewPacketSuppress 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296: reviewLoopMemoryFromCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320: filterRiskyMCPReviewCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330: marshalReviewLoop 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17: ruleGovernanceReadTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126: handleRuleGovernanceHealth 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176: handleRuleGovernanceQueue 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233: handleRuleGovernanceSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278: handleRuleGovernanceUsefulness 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338: handleRuleGovernanceTransition 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373: handleRuleGovernancePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406: handleRuleGovernanceRollback 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483: requireRuleGovernanceReadAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495: requireRuleGovernanceProjectOrAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505: ruleGovernanceCallerIsAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510: requireRuleGovernanceAdminAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518: redactRuleGovernanceEvidenceHandles 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535: redactRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553: ruleGovernanceEvidenceHandleHasSensitiveText 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559: isCanonicalRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580: isSafeRuleGovernanceEvidenceID 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594: parseRuleGovernanceTransitionRequest 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604: parseRuleGovernanceSince 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623: boundedRuleGovernanceLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634: formatRuleGovernanceTime 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641: formatRuleGovernanceTimePtr 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649: stringRuleCandidateStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657: stringRuleVersionStateCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665: stringRuleArbiterRunStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673: stringRuleInjectionEventTypeCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:17: handleStoreRule 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:133: handleListRules 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:22: handleSettingsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:51: SetSettingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:57: settingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:67: isSecretSettingKey 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:74: requireAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:85: handleSetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:145: handleGetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:181: handleListSettings 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:216: handleDeleteSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:35: resumeScopesFromFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:52: stateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:82: setStateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:142: handleGetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:219: handleSetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:274: decodeSessionStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:292: validateSessionStateBudget 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:303: validateNativeResumePacket 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:349: decodeProjectStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:364: requireStateObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:383: requireNestedObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10: handleStoreConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21: SetTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25: temporalTruthEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30: temporalTruthTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39: temporalTruthRefreshTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48: temporalTruthRefreshSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58: temporalTruthSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72: currentTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82: handleTemporalTruth 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102: handleTemporalTruthRefresh 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122: parseTemporalTruthArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151: parseTemporalTruthRefreshProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10: handleVaultConsolidated 0.0% +total: (statements) 0.1% diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/summary.json b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/summary.json new file mode 100644 index 00000000..f6ff56f7 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/focused-repeat3/summary.json @@ -0,0 +1,130 @@ +{ + "schema_version": 1, + "gate": "release-gates-foundation", + "run_id": "focused-repeat3", + "started_at": "2026-07-11T00:53:21.3539664+00:00", + "finished_at": "2026-07-11T00:54:19.5475266+00:00", + "duration_seconds": 58.194, + "verdict": "PASS", + "counts": { + "requested_repeats": 3, + "completed_repeats": 3, + "passed_repeats": 3, + "failed_repeats": 0, + "child_commands": 42, + "nonzero_child_commands": 0 + }, + "packages": [ + "./internal/mcp" + ], + "run_pattern": "^TestEC_F1_TagDerivedBackfill_T007$", + "coverage_policy": "Targeted", + "connection_budget": 20, + "race": false, + "database_dsn": "REDACTED_DATABASE_DSN", + "environment": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\environment.json", + "commands": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\commands.json", + "repeats": [ + { + "repeat": 1, + "verdict": "PASS", + "database": "engram_prc_rg_test_08822acc1e43ac35_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_08822acc1e43ac35_r1.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": false, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 0, + "json_parser_exit": 0, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01\\cleanup\\cleanup.json", + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-01" + }, + { + "repeat": 2, + "verdict": "PASS", + "database": "engram_prc_rg_test_08822acc1e43ac35_r2", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_08822acc1e43ac35_r2.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": false, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 0, + "json_parser_exit": 0, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02\\cleanup\\cleanup.json", + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-02" + }, + { + "repeat": 3, + "verdict": "PASS", + "database": "engram_prc_rg_test_08822acc1e43ac35_r3", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_08822acc1e43ac35_r3.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": false, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 0, + "json_parser_exit": 0, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03\\cleanup\\cleanup.json", + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3\\repeat-03" + } + ], + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\focused-repeat3" +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/commands.json b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/commands.json new file mode 100644 index 00000000..e91dab3d --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/commands.json @@ -0,0 +1,442 @@ +[ + { + "name": "go-version", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "version" + ], + "environment_keys": [], + "command": "C:\\Program Files\\Go\\bin\\go.exe version", + "started_at": "2026-07-11T01:02:00.3891913+00:00", + "finished_at": "2026-07-11T01:02:00.5894289+00:00", + "duration_seconds": 0.2, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\go-version.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\go-version.stderr.log" + }, + { + "name": "postgres-container-identity", + "executable": "docker", + "arguments": [ + "inspect", + "--format", + "{{.Name}}|{{.Config.Image}}|{{.Image}}|{{.State.Running}}", + "engram-prc-postgres" + ], + "environment_keys": [], + "command": "docker inspect --format {{.Name}}|{{.Config.Image}}|{{.Image}}|{{.State.Running}} engram-prc-postgres", + "started_at": "2026-07-11T01:02:00.6428395+00:00", + "finished_at": "2026-07-11T01:02:00.8982668+00:00", + "duration_seconds": 0.255, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\postgres-container-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\postgres-container-identity.stderr.log" + }, + { + "name": "postgres-server-identity", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT json_build_object('server_version', current_setting('server_version'), 'server_version_num', current_setting('server_version_num'), 'version', version(), 'max_connections', current_setting('max_connections'), 'superuser_reserved_connections', current_setting('superuser_reserved_connections'), 'reserved_connections', COALESCE(NULLIF(current_setting('reserved_connections', true), ''), '0'), 'current_connections', (SELECT count(*)::text FROM pg_stat_activity), 'database', current_database(), 'schema', current_schema(), 'user', current_user)::text;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT json_build_object('server_version', current_setting('server_version'), 'server_version_num', current_setting('server_version_num'), 'version', version(), 'max_connections', current_setting('max_connections'), 'superuser_reserved_connections', current_setting('superuser_reserved_connections'), 'reserved_connections', COALESCE(NULLIF(current_setting('reserved_connections', true), ''), '0'), 'current_connections', (SELECT count(*)::text FROM pg_stat_activity), 'database', current_database(), 'schema', current_schema(), 'user', current_user)::text;", + "started_at": "2026-07-11T01:02:00.9081067+00:00", + "finished_at": "2026-07-11T01:02:01.2594779+00:00", + "duration_seconds": 0.351, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\postgres-server-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\postgres-server-identity.stderr.log" + }, + { + "name": "repeat-1-create-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "CREATE DATABASE \"engram_prc_rg_test_88e43617e8051e79_r1\" OWNER \"engram\";" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c CREATE DATABASE \"engram_prc_rg_test_88e43617e8051e79_r1\" OWNER \"engram\";", + "started_at": "2026-07-11T01:02:01.2885731+00:00", + "finished_at": "2026-07-11T01:02:01.6532159+00:00", + "duration_seconds": 0.365, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\create-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\create-database.stderr.log" + }, + { + "name": "repeat-1-create-pgvector", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_88e43617e8051e79_r1", + "-At", + "-F", + "|", + "-c", + "CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_88e43617e8051e79_r1 -At -F | -c CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;", + "started_at": "2026-07-11T01:02:01.6571241+00:00", + "finished_at": "2026-07-11T01:02:02.0159646+00:00", + "duration_seconds": 0.359, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\create-pgvector.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\create-pgvector.stderr.log" + }, + { + "name": "repeat-1-database-identity", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_88e43617e8051e79_r1", + "-At", + "-F", + "|", + "-c", + "SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_88e43617e8051e79_r1 -At -F | -c SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;", + "started_at": "2026-07-11T01:02:02.0194773+00:00", + "finished_at": "2026-07-11T01:02:02.3784811+00:00", + "duration_seconds": 0.359, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\database-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\database-identity.stderr.log" + }, + { + "name": "repeat-1-pg-stat-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_88e43617e8051e79_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_88e43617e8051e79_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T01:02:02.3829230+00:00", + "finished_at": "2026-07-11T01:02:02.8181079+00:00", + "duration_seconds": 0.435, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\pg-stat-activity-before.stderr.log" + }, + { + "name": "repeat-1-server-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T01:02:02.8208925+00:00", + "finished_at": "2026-07-11T01:02:03.1596684+00:00", + "duration_seconds": 0.339, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\server-connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\server-connection-count-before.stderr.log" + }, + { + "name": "repeat-1-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_88e43617e8051e79_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_88e43617e8051e79_r1';", + "started_at": "2026-07-11T01:02:03.1685837+00:00", + "finished_at": "2026-07-11T01:02:03.5095873+00:00", + "duration_seconds": 0.341, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\connection-count-before.stderr.log" + }, + { + "name": "repeat-1-go-test", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "test", + "-json", + "-p", + "1", + "-parallel", + "1", + "-count=1", + "-timeout", + "30m", + "-covermode=atomic", + "-coverprofile=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\coverage.out", + "./internal/mcp" + ], + "environment_keys": [ + "DATABASE_DSN", + "DATABASE_MAX_CONNS", + "ENGRAM_RELEASE_GATE_REPEAT", + "ENGRAM_RELEASE_GATE_RUN_ID", + "ENGRAM_TEST_DSN", + "TEST_DATABASE_DSN" + ], + "command": "C:\\Program Files\\Go\\bin\\go.exe test -json -p 1 -parallel 1 -count=1 -timeout 30m -covermode=atomic -coverprofile=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\coverage.out ./internal/mcp", + "started_at": "2026-07-11T01:02:03.5156798+00:00", + "finished_at": "2026-07-11T01:02:14.2457522+00:00", + "duration_seconds": 10.73, + "exit_code": 1, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\go-test.stdout.jsonl", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\go-test.stderr.log" + }, + { + "name": "repeat-1-assert-go-test-json", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\assert-go-test-json.ps1", + "-InputPath", + ".agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\go-test.stdout.jsonl", + "-SummaryPath", + ".agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\go-test-summary.json", + "-FailOnUnexpectedSkip" + ], + "environment_keys": [], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\assert-go-test-json.ps1 -InputPath .agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\go-test.stdout.jsonl -SummaryPath .agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\go-test-summary.json -FailOnUnexpectedSkip", + "started_at": "2026-07-11T01:02:14.2511010+00:00", + "finished_at": "2026-07-11T01:02:15.2771962+00:00", + "duration_seconds": 1.026, + "exit_code": 1, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\assert-go-test-json.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\assert-go-test-json.stderr.log" + }, + { + "name": "repeat-1-targeted-coverage-report", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "tool", + "cover", + "-func=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\coverage.out" + ], + "environment_keys": [], + "command": "C:\\Program Files\\Go\\bin\\go.exe tool cover -func=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\coverage.out", + "started_at": "2026-07-11T01:02:15.2816932+00:00", + "finished_at": "2026-07-11T01:02:15.7343919+00:00", + "duration_seconds": 0.453, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\targeted-coverage.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\targeted-coverage.stderr.log" + }, + { + "name": "repeat-1-pg-stat-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_88e43617e8051e79_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_88e43617e8051e79_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T01:02:15.7351348+00:00", + "finished_at": "2026-07-11T01:02:16.0697574+00:00", + "duration_seconds": 0.335, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\pg-stat-activity-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\pg-stat-activity-after.stderr.log" + }, + { + "name": "repeat-1-server-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T01:02:16.0716276+00:00", + "finished_at": "2026-07-11T01:02:16.4887494+00:00", + "duration_seconds": 0.417, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\server-connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\server-connection-count-after.stderr.log" + }, + { + "name": "repeat-1-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_88e43617e8051e79_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_88e43617e8051e79_r1';", + "started_at": "2026-07-11T01:02:16.4908871+00:00", + "finished_at": "2026-07-11T01:02:16.9744450+00:00", + "duration_seconds": 0.484, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\connection-count-after.stderr.log" + }, + { + "name": "repeat-1-cleanup", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\cleanup-db-sessions.ps1", + "-DatabaseName", + "engram_prc_rg_test_88e43617e8051e79_r1", + "-SchemaName", + "public", + "-ArtifactRoot", + ".agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01", + "-RunId", + "full-internal-mcp-repeat-1", + "-PostgresContainer", + "engram-prc-postgres" + ], + "environment_keys": [ + "ENGRAM_TEST_ADMIN_DSN" + ], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\cleanup-db-sessions.ps1 -DatabaseName engram_prc_rg_test_88e43617e8051e79_r1 -SchemaName public -ArtifactRoot .agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01 -RunId full-internal-mcp-repeat-1 -PostgresContainer engram-prc-postgres", + "started_at": "2026-07-11T01:02:16.9778521+00:00", + "finished_at": "2026-07-11T01:02:19.8372961+00:00", + "duration_seconds": 2.859, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\cleanup-process.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\cleanup-process.stderr.log" + } +] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/environment.json b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/environment.json new file mode 100644 index 00000000..06f4cc4a --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/environment.json @@ -0,0 +1,52 @@ +{ + "schema_version": 1, + "run_id": "full-internal-mcp", + "timestamp": "2026-07-11T01:02:00.3724722+00:00", + "go_version": "go version go1.25.11 windows/amd64", + "postgres": { + "declared_image": "pgvector/pgvector:pg17", + "container": { + "name": "/engram-prc-postgres", + "configured_image": "pgvector/pgvector:pg17", + "image_id": "sha256:feb68f4f15446397d8cac7f4fe48fe4586de83160d1fc48b46283312d1a33966", + "running": true + }, + "server": { + "server_version": "17.10 (Debian 17.10-1.pgdg12+1)", + "server_version_num": "170010", + "version": "PostgreSQL 17.10 (Debian 17.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit", + "max_connections": "100", + "superuser_reserved_connections": "3", + "reserved_connections": "0", + "current_connections": "6", + "database": "postgres", + "schema": "public", + "user": "engram" + }, + "admin_dsn": "postgresql://engram:REDACTED@127.0.0.1:55432/postgres?sslmode=disable" + }, + "packages": [ + "./internal/mcp" + ], + "run_pattern": null, + "repeat": 1, + "fail_on_unexpected_skip": true, + "allowed_skip_identities": [], + "coverage_policy": "Targeted", + "connection_budget": 20, + "race": false, + "require_session_start_execution": false, + "required_session_start_test_count": 12, + "sequential_execution": { + "go_package_parallelism": 1, + "go_test_parallelism": 1, + "database_max_connections": 20 + }, + "govulncheck_policy": { + "authoritative": [ + "source scan with tests", + "unstripped binary scan" + ], + "non_authoritative": "stripped binary scan (module-level fallback when symbols are absent)" + } +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/go-version.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/go-version.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/go-version.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/go-version.stdout.log new file mode 100644 index 00000000..a857be3f --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/go-version.stdout.log @@ -0,0 +1 @@ +go version go1.25.11 windows/amd64 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/postgres-container-identity.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/postgres-container-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/postgres-container-identity.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/postgres-container-identity.stdout.log new file mode 100644 index 00000000..c110d492 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/postgres-container-identity.stdout.log @@ -0,0 +1 @@ +/engram-prc-postgres|pgvector/pgvector:pg17|sha256:feb68f4f15446397d8cac7f4fe48fe4586de83160d1fc48b46283312d1a33966|true diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/postgres-server-identity.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/postgres-server-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/postgres-server-identity.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/postgres-server-identity.stdout.log new file mode 100644 index 00000000..2e33d56e --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/postgres-server-identity.stdout.log @@ -0,0 +1 @@ +{"server_version" : "17.10 (Debian 17.10-1.pgdg12+1)", "server_version_num" : "170010", "version" : "PostgreSQL 17.10 (Debian 17.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit", "max_connections" : "100", "superuser_reserved_connections" : "3", "reserved_connections" : "0", "current_connections" : "6", "database" : "postgres", "schema" : "public", "user" : "engram"} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/assert-go-test-json.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/assert-go-test-json.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/assert-go-test-json.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/assert-go-test-json.stdout.log new file mode 100644 index 00000000..5283dabe --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/assert-go-test-json.stdout.log @@ -0,0 +1,2 @@ +go test JSON verdict=FAIL packages=1 tests=488 passed=487 failed=1 skipped=0 unexpected_skips=0 malformed=0 +summary=D:\Dev\engram\.w\t007-r1-checker\.agent\reviews\t007-r1-fresh-checker\evidence\full-internal-mcp\repeat-01\go-test-summary.json diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/cleanup-process.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/cleanup-process.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/cleanup-process.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/cleanup-process.stdout.log new file mode 100644 index 00000000..10ec36f4 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/cleanup-process.stdout.log @@ -0,0 +1,2 @@ +cleanup verdict=PASS database=engram_prc_rg_test_88e43617e8051e79_r1 schema=public terminated_sessions=0 remaining_database_count=0 +summary=D:\Dev\engram\.w\t007-r1-checker\.agent\reviews\t007-r1-fresh-checker\evidence\full-internal-mcp\repeat-01\cleanup\cleanup.json diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/cleanup/cleanup.json b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/cleanup/cleanup.json new file mode 100644 index 00000000..13314491 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/cleanup/cleanup.json @@ -0,0 +1,170 @@ +{ + "schema_version": 1, + "run_id": "full-internal-mcp-repeat-1", + "timestamp": "2026-07-11T01:02:19.7545404+00:00", + "verdict": "PASS", + "database": "engram_prc_rg_test_88e43617e8051e79_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_88e43617e8051e79_r1.public", + "admin_dsn": "postgresql://engram:REDACTED@127.0.0.1:55432/postgres?sslmode=disable", + "postgres_container": "engram-prc-postgres", + "cleanup_status": "PASS", + "cleanup_attempted": true, + "database_existed_before": true, + "absence_verified": true, + "terminated_sessions": 0, + "remaining_database_count": 0, + "commands": [ + { + "name": "database-exists-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_88e43617e8051e79_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_88e43617e8051e79_r1';", + "started_at": "2026-07-11T01:02:17.5403113+00:00", + "finished_at": "2026-07-11T01:02:17.9481308+00:00", + "duration_seconds": 0.408, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\cleanup\\database-exists-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\cleanup\\database-exists-before.stderr.log" + }, + { + "name": "pg-stat-activity-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_88e43617e8051e79_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_88e43617e8051e79_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T01:02:18.0281158+00:00", + "finished_at": "2026-07-11T01:02:18.4496706+00:00", + "duration_seconds": 0.422, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\cleanup\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\cleanup\\pg-stat-activity-before.stderr.log" + }, + { + "name": "terminate-database-sessions", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_88e43617e8051e79_r1' AND pid <> pg_backend_pid() ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_88e43617e8051e79_r1' AND pid <> pg_backend_pid() ORDER BY pid) AS s;", + "started_at": "2026-07-11T01:02:18.4538834+00:00", + "finished_at": "2026-07-11T01:02:18.8107291+00:00", + "duration_seconds": 0.357, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\cleanup\\terminate-sessions.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\cleanup\\terminate-sessions.stderr.log" + }, + { + "name": "drop-fresh-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "DROP DATABASE IF EXISTS \"engram_prc_rg_test_88e43617e8051e79_r1\" WITH (FORCE);" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c DROP DATABASE IF EXISTS \"engram_prc_rg_test_88e43617e8051e79_r1\" WITH (FORCE);", + "started_at": "2026-07-11T01:02:18.8192713+00:00", + "finished_at": "2026-07-11T01:02:19.3929293+00:00", + "duration_seconds": 0.574, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\cleanup\\drop-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\cleanup\\drop-database.stderr.log" + }, + { + "name": "verify-database-absent", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_88e43617e8051e79_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_88e43617e8051e79_r1';", + "started_at": "2026-07-11T01:02:19.3964684+00:00", + "finished_at": "2026-07-11T01:02:19.7472744+00:00", + "duration_seconds": 0.351, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\cleanup\\verify-database-absent.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\cleanup\\verify-database-absent.stderr.log" + } + ], + "errors": [] +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/cleanup/database-exists-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/cleanup/database-exists-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/cleanup/database-exists-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/cleanup/database-exists-before.stdout.log new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/cleanup/database-exists-before.stdout.log @@ -0,0 +1 @@ +1 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/cleanup/drop-database.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/cleanup/drop-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/cleanup/drop-database.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/cleanup/drop-database.stdout.log new file mode 100644 index 00000000..ca12dce0 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/cleanup/drop-database.stdout.log @@ -0,0 +1 @@ +DROP DATABASE diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/cleanup/pg-stat-activity-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/cleanup/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/cleanup/pg-stat-activity-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/cleanup/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/cleanup/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/cleanup/terminate-sessions.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/cleanup/terminate-sessions.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/cleanup/terminate-sessions.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/cleanup/terminate-sessions.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/cleanup/terminate-sessions.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/cleanup/verify-database-absent.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/cleanup/verify-database-absent.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/cleanup/verify-database-absent.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/cleanup/verify-database-absent.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/cleanup/verify-database-absent.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/connection-count-after.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/connection-count-after.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/connection-count-after.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/connection-count-after.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/connection-count-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/connection-count-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/connection-count-before.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/connection-count-before.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/coverage.out b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/coverage.out new file mode 100644 index 00000000..430149bc --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/coverage.out @@ -0,0 +1,3472 @@ +mode: atomic +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33.53,34.30 1 7 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:34.30,36.3 1 6 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.2,37.25 1 1 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.25,39.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:40.2,40.12 1 1 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44.28,46.2 1 28 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52.83,53.12 1 8 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:53.12,54.16 1 8 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:54.16,55.32 1 8 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:55.32,61.5 1 1 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:63.3,65.33 3 8 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:65.33,71.4 1 1 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77.54,78.14 1 9 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:78.14,80.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:81.2,82.16 2 9 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:82.16,85.3 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:86.2,87.13 2 9 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92.91,93.23 1 13 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:93.23,95.3 1 11 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:96.2,97.15 2 2 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:97.15,99.3 1 1 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:100.2,105.65 4 1 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:105.65,113.3 1 1 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117.95,118.23 1 11 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:118.23,120.3 1 8 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:121.2,122.15 2 3 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:122.15,124.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:125.2,129.65 5 3 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:129.65,138.3 1 3 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142.87,143.23 1 2 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:143.23,145.3 1 1 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:146.2,147.15 2 1 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:150.2,153.65 4 1 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:153.65,161.3 1 1 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166.96,167.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:167.23,169.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:170.2,171.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:171.15,173.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:174.2,177.63 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:177.63,185.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189.97,190.23 1 2 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:190.23,192.3 1 1 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:193.2,194.15 2 1 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:194.15,196.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:197.2,200.68 4 1 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:200.68,208.3 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:30.62,31.20 1 174 +github.com/thebtf/engram/internal/mcp/coerce.go:31.20,33.3 1 2 +github.com/thebtf/engram/internal/mcp/coerce.go:34.2,35.49 2 172 +github.com/thebtf/engram/internal/mcp/coerce.go:35.49,37.3 1 5 +github.com/thebtf/engram/internal/mcp/coerce.go:38.2,38.14 1 167 +github.com/thebtf/engram/internal/mcp/coerce.go:38.14,40.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:41.2,41.15 1 167 +github.com/thebtf/engram/internal/mcp/coerce.go:46.52,47.14 1 712 +github.com/thebtf/engram/internal/mcp/coerce.go:47.14,49.3 1 375 +github.com/thebtf/engram/internal/mcp/coerce.go:50.2,50.23 1 337 +github.com/thebtf/engram/internal/mcp/coerce.go:51.14,52.11 1 333 +github.com/thebtf/engram/internal/mcp/coerce.go:53.19,54.20 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:55.15,56.45 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:57.12,58.31 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:59.10,60.20 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:67.43,68.14 1 68 +github.com/thebtf/engram/internal/mcp/coerce.go:68.14,70.3 1 29 +github.com/thebtf/engram/internal/mcp/coerce.go:71.2,71.23 1 39 +github.com/thebtf/engram/internal/mcp/coerce.go:72.15,73.23 1 33 +github.com/thebtf/engram/internal/mcp/coerce.go:74.19,75.38 1 2 +github.com/thebtf/engram/internal/mcp/coerce.go:75.38,77.4 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:78.3,78.40 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:78.40,80.4 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:81.3,81.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:82.14,83.56 1 3 +github.com/thebtf/engram/internal/mcp/coerce.go:83.56,85.4 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:86.3,86.54 1 2 +github.com/thebtf/engram/internal/mcp/coerce.go:86.54,88.4 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:89.3,89.20 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:90.10,91.20 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:97.49,98.14 1 52 +github.com/thebtf/engram/internal/mcp/coerce.go:98.14,100.3 1 3 +github.com/thebtf/engram/internal/mcp/coerce.go:101.2,101.23 1 49 +github.com/thebtf/engram/internal/mcp/coerce.go:102.15,103.18 1 39 +github.com/thebtf/engram/internal/mcp/coerce.go:104.19,105.38 1 3 +github.com/thebtf/engram/internal/mcp/coerce.go:105.38,107.4 1 2 +github.com/thebtf/engram/internal/mcp/coerce.go:108.3,108.40 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:108.40,110.4 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:111.3,111.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:112.14,113.56 1 7 +github.com/thebtf/engram/internal/mcp/coerce.go:113.56,115.4 1 5 +github.com/thebtf/engram/internal/mcp/coerce.go:116.3,116.54 1 2 +github.com/thebtf/engram/internal/mcp/coerce.go:116.54,118.4 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:119.3,119.20 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:120.10,121.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:127.55,128.14 1 41 +github.com/thebtf/engram/internal/mcp/coerce.go:128.14,130.3 1 33 +github.com/thebtf/engram/internal/mcp/coerce.go:131.2,131.23 1 8 +github.com/thebtf/engram/internal/mcp/coerce.go:132.15,133.11 1 4 +github.com/thebtf/engram/internal/mcp/coerce.go:134.19,135.40 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:135.40,137.4 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:138.3,138.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:139.14,140.54 1 3 +github.com/thebtf/engram/internal/mcp/coerce.go:140.54,142.4 1 2 +github.com/thebtf/engram/internal/mcp/coerce.go:143.3,143.20 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:144.10,145.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:151.46,152.14 1 144 +github.com/thebtf/engram/internal/mcp/coerce.go:152.14,154.3 1 120 +github.com/thebtf/engram/internal/mcp/coerce.go:155.2,155.23 1 24 +github.com/thebtf/engram/internal/mcp/coerce.go:156.12,157.11 1 19 +github.com/thebtf/engram/internal/mcp/coerce.go:158.14,159.54 1 3 +github.com/thebtf/engram/internal/mcp/coerce.go:159.54,161.4 1 2 +github.com/thebtf/engram/internal/mcp/coerce.go:162.3,162.20 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:163.15,164.16 1 2 +github.com/thebtf/engram/internal/mcp/coerce.go:165.19,166.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:166.40,168.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:169.3,169.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:170.10,171.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:177.40,178.14 1 123 +github.com/thebtf/engram/internal/mcp/coerce.go:178.14,180.3 1 109 +github.com/thebtf/engram/internal/mcp/coerce.go:181.2,181.23 1 14 +github.com/thebtf/engram/internal/mcp/coerce.go:182.13,184.26 2 12 +github.com/thebtf/engram/internal/mcp/coerce.go:184.26,185.36 1 17 +github.com/thebtf/engram/internal/mcp/coerce.go:185.36,187.5 1 16 +github.com/thebtf/engram/internal/mcp/coerce.go:189.3,189.16 1 12 +github.com/thebtf/engram/internal/mcp/coerce.go:190.16,191.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:192.14,193.14 1 2 +github.com/thebtf/engram/internal/mcp/coerce.go:193.14,195.4 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:196.3,196.13 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:197.10,198.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:204.38,205.14 1 43 +github.com/thebtf/engram/internal/mcp/coerce.go:205.14,207.3 1 34 +github.com/thebtf/engram/internal/mcp/coerce.go:208.2,209.9 2 9 +github.com/thebtf/engram/internal/mcp/coerce.go:209.9,211.3 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:212.2,213.27 2 8 +github.com/thebtf/engram/internal/mcp/coerce.go:213.27,214.42 1 18 +github.com/thebtf/engram/internal/mcp/coerce.go:214.42,216.4 1 17 +github.com/thebtf/engram/internal/mcp/coerce.go:218.2,218.15 1 8 +github.com/thebtf/engram/internal/mcp/coerce.go:222.32,223.39 1 35 +github.com/thebtf/engram/internal/mcp/coerce.go:223.39,225.3 1 2 +github.com/thebtf/engram/internal/mcp/coerce.go:226.2,226.30 1 33 +github.com/thebtf/engram/internal/mcp/coerce.go:226.30,228.3 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:229.2,229.30 1 32 +github.com/thebtf/engram/internal/mcp/coerce.go:229.30,231.3 1 1 +github.com/thebtf/engram/internal/mcp/coerce.go:232.2,232.15 1 31 +github.com/thebtf/engram/internal/mcp/coerce.go:236.35,237.28 1 2 +github.com/thebtf/engram/internal/mcp/coerce.go:237.28,239.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.2,240.28 1 2 +github.com/thebtf/engram/internal/mcp/coerce.go:240.28,242.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:243.2,243.15 1 2 +github.com/thebtf/engram/internal/mcp/context.go:17.55,19.2 1 2 +github.com/thebtf/engram/internal/mcp/context.go:22.78,24.2 1 14 +github.com/thebtf/engram/internal/mcp/context.go:29.78,31.2 1 3 +github.com/thebtf/engram/internal/mcp/context.go:35.53,38.2 2 32 +github.com/thebtf/engram/internal/mcp/context.go:41.80,43.2 1 6 +github.com/thebtf/engram/internal/mcp/context.go:48.80,50.2 1 1 +github.com/thebtf/engram/internal/mcp/context.go:54.53,57.2 2 43 +github.com/thebtf/engram/internal/mcp/context.go:61.51,62.43 1 32 +github.com/thebtf/engram/internal/mcp/context.go:62.43,64.3 1 1 +github.com/thebtf/engram/internal/mcp/context.go:65.2,65.16 1 31 +github.com/thebtf/engram/internal/mcp/health.go:22.32,26.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:29.37,33.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:36.35,40.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:42.44,45.25 3 0 +github.com/thebtf/engram/internal/mcp/health.go:45.25,47.50 1 0 +github.com/thebtf/engram/internal/mcp/health.go:47.50,50.4 2 0 +github.com/thebtf/engram/internal/mcp/health.go:55.74,60.16 5 0 +github.com/thebtf/engram/internal/mcp/health.go:60.16,62.3 1 0 +github.com/thebtf/engram/internal/mcp/health.go:63.2,71.4 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28.42,29.65 1 12 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:29.65,32.3 2 12 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.2,33.40 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.40,35.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:36.2,36.14 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39.120,40.69 1 5 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:40.69,42.3 1 1 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:43.2,44.19 2 4 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:44.19,46.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:47.2,48.17 2 4 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:48.17,50.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:51.2,52.59 2 4 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:52.59,54.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:55.2,56.20 2 4 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:56.20,58.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:59.2,60.17 2 4 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:60.17,62.3 1 3 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:63.2,64.21 2 4 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:64.21,66.3 1 3 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:67.2,68.22 2 4 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:68.22,70.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:71.2,72.23 2 4 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:76.2,98.19 2 4 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:98.19,100.3 1 3 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:101.2,101.66 1 4 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104.52,106.29 2 4 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:106.29,108.3 1 20 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:109.2,110.46 2 4 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113.113,123.27 2 4 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:123.27,125.3 1 16 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:126.2,127.16 2 4 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:130.2,130.25 1 4 +github.com/thebtf/engram/internal/mcp/server.go:127.44,138.2 1 274 +github.com/thebtf/engram/internal/mcp/server.go:141.64,143.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:146.78,148.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:151.53,153.2 1 2 +github.com/thebtf/engram/internal/mcp/server.go:156.55,158.2 1 4 +github.com/thebtf/engram/internal/mcp/server.go:161.58,163.2 1 12 +github.com/thebtf/engram/internal/mcp/server.go:166.62,168.2 1 8 +github.com/thebtf/engram/internal/mcp/server.go:171.50,173.2 1 24 +github.com/thebtf/engram/internal/mcp/server.go:176.78,178.2 1 8 +github.com/thebtf/engram/internal/mcp/server.go:181.74,183.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:186.71,189.2 2 11 +github.com/thebtf/engram/internal/mcp/server.go:191.85,193.2 1 2 +github.com/thebtf/engram/internal/mcp/server.go:195.61,197.2 1 3 +github.com/thebtf/engram/internal/mcp/server.go:199.49,201.2 1 3 +github.com/thebtf/engram/internal/mcp/server.go:204.54,206.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:211.53,213.2 1 1 +github.com/thebtf/engram/internal/mcp/server.go:216.53,218.2 1 5 +github.com/thebtf/engram/internal/mcp/server.go:222.61,224.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:228.59,230.2 1 2 +github.com/thebtf/engram/internal/mcp/server.go:234.51,236.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:240.52,242.2 1 10 +github.com/thebtf/engram/internal/mcp/server.go:246.55,248.2 1 13 +github.com/thebtf/engram/internal/mcp/server.go:252.82,254.2 1 16 +github.com/thebtf/engram/internal/mcp/server.go:260.70,262.2 1 10 +github.com/thebtf/engram/internal/mcp/server.go:269.68,271.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:274.87,277.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:282.60,284.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:290.45,292.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:297.77,299.2 1 13 +github.com/thebtf/engram/internal/mcp/server.go:303.37,313.38 3 35 +github.com/thebtf/engram/internal/mcp/server.go:313.38,315.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:316.2,317.9 2 35 +github.com/thebtf/engram/internal/mcp/server.go:317.9,319.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:320.2,321.9 2 35 +github.com/thebtf/engram/internal/mcp/server.go:321.9,323.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:324.2,325.9 2 35 +github.com/thebtf/engram/internal/mcp/server.go:325.9,327.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:328.2,328.14 1 35 +github.com/thebtf/engram/internal/mcp/server.go:332.35,334.2 1 1 +github.com/thebtf/engram/internal/mcp/server.go:383.49,387.12 3 6 +github.com/thebtf/engram/internal/mcp/server.go:387.12,388.22 1 6 +github.com/thebtf/engram/internal/mcp/server.go:388.22,389.11 1 11 +github.com/thebtf/engram/internal/mcp/server.go:390.22,392.11 2 0 +github.com/thebtf/engram/internal/mcp/server.go:393.12,393.12 0 11 +github.com/thebtf/engram/internal/mcp/server.go:396.4,397.18 2 11 +github.com/thebtf/engram/internal/mcp/server.go:397.18,398.13 1 3 +github.com/thebtf/engram/internal/mcp/server.go:401.4,402.61 2 8 +github.com/thebtf/engram/internal/mcp/server.go:402.61,404.13 2 2 +github.com/thebtf/engram/internal/mcp/server.go:407.4,407.55 1 6 +github.com/thebtf/engram/internal/mcp/server.go:407.55,409.5 1 5 +github.com/thebtf/engram/internal/mcp/server.go:411.3,411.28 1 6 +github.com/thebtf/engram/internal/mcp/server.go:414.2,414.9 1 6 +github.com/thebtf/engram/internal/mcp/server.go:415.20,416.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:417.25,418.17 1 6 +github.com/thebtf/engram/internal/mcp/server.go:418.17,420.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:421.3,421.13 1 6 +github.com/thebtf/engram/internal/mcp/server.go:427.77,428.19 1 27 +github.com/thebtf/engram/internal/mcp/server.go:428.19,431.3 2 2 +github.com/thebtf/engram/internal/mcp/server.go:433.2,433.20 1 25 +github.com/thebtf/engram/internal/mcp/server.go:434.20,435.33 1 4 +github.com/thebtf/engram/internal/mcp/server.go:436.20,437.32 1 6 +github.com/thebtf/engram/internal/mcp/server.go:438.20,439.37 1 10 +github.com/thebtf/engram/internal/mcp/server.go:443.24,444.93 1 1 +github.com/thebtf/engram/internal/mcp/server.go:445.34,446.101 1 1 +github.com/thebtf/engram/internal/mcp/server.go:447.22,448.91 1 1 +github.com/thebtf/engram/internal/mcp/server.go:449.29,450.120 1 1 +github.com/thebtf/engram/internal/mcp/server.go:451.10,456.4 1 1 +github.com/thebtf/engram/internal/mcp/server.go:461.51,462.20 1 2 +github.com/thebtf/engram/internal/mcp/server.go:463.50,464.70 1 2 +github.com/thebtf/engram/internal/mcp/server.go:465.46,466.79 1 0 +github.com/thebtf/engram/internal/mcp/server.go:467.10,468.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:473.59,485.63 2 7 +github.com/thebtf/engram/internal/mcp/server.go:485.63,487.3 1 7 +github.com/thebtf/engram/internal/mcp/server.go:489.2,493.3 1 7 +github.com/thebtf/engram/internal/mcp/server.go:496.45,503.33 3 7 +github.com/thebtf/engram/internal/mcp/server.go:503.33,505.57 2 0 +github.com/thebtf/engram/internal/mcp/server.go:505.57,506.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:506.76,507.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.4,509.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.18,511.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:511.10,513.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:514.4,518.11 5 0 +github.com/thebtf/engram/internal/mcp/server.go:522.2,522.19 1 7 +github.com/thebtf/engram/internal/mcp/server.go:660.29,683.21 2 11 +github.com/thebtf/engram/internal/mcp/server.go:683.21,689.3 5 1 +github.com/thebtf/engram/internal/mcp/server.go:690.2,699.3 1 11 +github.com/thebtf/engram/internal/mcp/server.go:712.30,765.49 3 17 +github.com/thebtf/engram/internal/mcp/server.go:765.49,789.3 5 3 +github.com/thebtf/engram/internal/mcp/server.go:790.2,799.3 1 17 +github.com/thebtf/engram/internal/mcp/server.go:805.40,936.2 1 62 +github.com/thebtf/engram/internal/mcp/server.go:942.58,1048.35 2 62 +github.com/thebtf/engram/internal/mcp/server.go:1048.35,1077.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.2,1080.33 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1080.33,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.2,1093.26 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1093.26,1123.3 1 11 +github.com/thebtf/engram/internal/mcp/server.go:1124.2,1124.80 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1124.80,1126.3 1 2 +github.com/thebtf/engram/internal/mcp/server.go:1127.2,1127.55 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1127.55,1129.3 1 2 +github.com/thebtf/engram/internal/mcp/server.go:1130.2,1130.38 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1130.38,1132.3 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1134.2,1134.25 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1134.25,1136.3 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1138.2,1138.33 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1138.33,1140.3 1 2 +github.com/thebtf/engram/internal/mcp/server.go:1141.2,1141.69 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1141.69,1143.3 1 2 +github.com/thebtf/engram/internal/mcp/server.go:1144.2,1144.75 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1144.75,1146.3 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1148.2,1148.27 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1148.27,1165.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.2,1168.76 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1168.76,1191.3 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1195.2,1195.48 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1195.48,1197.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.2,1201.47 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1201.47,1203.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.2,1205.38 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1205.38,1207.3 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1212.2,1212.21 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1212.21,1214.3 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1228.2,1228.51 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1228.51,1230.3 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1233.2,1233.56 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1233.56,1235.3 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1238.2,1238.71 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1238.71,1298.3 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1302.2,1302.104 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1302.104,1321.3 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1324.2,1324.72 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1324.72,1333.154 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1333.154,1334.26 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1334.26,1336.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1337.7,1337.16 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1338.35,1340.26 2 1 +github.com/thebtf/engram/internal/mcp/server.go:1340.26,1342.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1343.7,1343.18 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1371.2,1371.26 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1371.26,1390.3 1 11 +github.com/thebtf/engram/internal/mcp/server.go:1393.2,1393.28 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1393.28,1443.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.2,1446.28 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1446.28,1478.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.2,1481.37 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1481.37,1561.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1564.2,1568.23 2 62 +github.com/thebtf/engram/internal/mcp/server.go:1568.23,1570.3 1 53 +github.com/thebtf/engram/internal/mcp/server.go:1572.2,1588.57 3 62 +github.com/thebtf/engram/internal/mcp/server.go:1588.57,1591.29 2 53 +github.com/thebtf/engram/internal/mcp/server.go:1591.29,1593.4 1 477 +github.com/thebtf/engram/internal/mcp/server.go:1594.3,1594.27 1 53 +github.com/thebtf/engram/internal/mcp/server.go:1594.27,1595.29 1 669 +github.com/thebtf/engram/internal/mcp/server.go:1595.29,1597.5 1 669 +github.com/thebtf/engram/internal/mcp/server.go:1601.2,1607.3 1 62 +github.com/thebtf/engram/internal/mcp/server.go:1612.79,1614.60 2 13 +github.com/thebtf/engram/internal/mcp/server.go:1614.60,1620.3 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1622.2,1623.16 2 12 +github.com/thebtf/engram/internal/mcp/server.go:1623.16,1631.3 3 7 +github.com/thebtf/engram/internal/mcp/server.go:1633.2,1641.3 1 5 +github.com/thebtf/engram/internal/mcp/server.go:1644.69,1645.34 1 9 +github.com/thebtf/engram/internal/mcp/server.go:1645.34,1647.3 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1648.2,1649.22 2 8 +github.com/thebtf/engram/internal/mcp/server.go:1649.22,1651.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1652.2,1652.37 1 8 +github.com/thebtf/engram/internal/mcp/server.go:1656.99,1658.14 1 114 +github.com/thebtf/engram/internal/mcp/server.go:1659.16,1660.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1661.15,1662.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1663.18,1664.49 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1665.15,1666.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1667.18,1668.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1669.14,1670.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1671.15,1672.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1676.2,1676.14 1 113 +github.com/thebtf/engram/internal/mcp/server.go:1677.35,1678.52 1 2 +github.com/thebtf/engram/internal/mcp/server.go:1679.26,1680.37 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1681.20,1682.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1683.20,1684.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1685.16,1686.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1687.29,1688.40 1 3 +github.com/thebtf/engram/internal/mcp/server.go:1689.33,1690.50 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1691.25,1692.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1693.23,1694.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1696.26,1697.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1698.24,1699.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1700.22,1701.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1702.25,1703.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1704.27,1705.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1706.25,1707.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1709.30,1710.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1711.28,1712.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1713.17,1714.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1715.20,1716.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1717.20,1718.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1719.20,1720.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1722.20,1723.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1724.18,1725.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1726.20,1727.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1728.18,1729.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1730.21,1731.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1732.21,1733.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1734.26,1735.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1736.25,1737.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1738.26,1739.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1740.24,1741.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1742.26,1743.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1744.27,1745.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1746.22,1747.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1748.19,1749.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1750.15,1751.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1752.16,1753.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1755.21,1756.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1757.19,1758.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1759.20,1760.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1761.22,1762.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1763.22,1764.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1765.23,1766.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1767.20,1768.38 1 10 +github.com/thebtf/engram/internal/mcp/server.go:1769.32,1770.49 1 5 +github.com/thebtf/engram/internal/mcp/server.go:1771.19,1772.37 1 21 +github.com/thebtf/engram/internal/mcp/server.go:1773.19,1774.37 1 8 +github.com/thebtf/engram/internal/mcp/server.go:1775.33,1776.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1777.35,1778.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1779.24,1780.42 1 2 +github.com/thebtf/engram/internal/mcp/server.go:1781.32,1782.49 1 2 +github.com/thebtf/engram/internal/mcp/server.go:1783.28,1784.46 1 6 +github.com/thebtf/engram/internal/mcp/server.go:1785.21,1786.39 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1787.34,1788.51 1 11 +github.com/thebtf/engram/internal/mcp/server.go:1789.25,1790.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1791.29,1792.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1793.26,1794.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1795.27,1796.44 1 7 +github.com/thebtf/engram/internal/mcp/server.go:1798.25,1799.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1800.23,1801.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1802.27,1803.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1804.26,1805.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1806.29,1807.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1809.29,1810.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1811.27,1812.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1813.30,1814.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1815.38,1816.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1817.36,1818.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1820.24,1821.42 1 2 +github.com/thebtf/engram/internal/mcp/server.go:1822.27,1823.45 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1824.22,1825.40 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1826.32,1827.49 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1828.32,1829.49 1 6 +github.com/thebtf/engram/internal/mcp/server.go:1830.31,1831.48 1 3 +github.com/thebtf/engram/internal/mcp/server.go:1832.35,1833.52 1 3 +github.com/thebtf/engram/internal/mcp/server.go:1834.36,1835.53 1 2 +github.com/thebtf/engram/internal/mcp/server.go:1836.36,1837.53 1 2 +github.com/thebtf/engram/internal/mcp/server.go:1838.38,1839.54 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1840.34,1841.51 1 2 +github.com/thebtf/engram/internal/mcp/server.go:1843.22,1844.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1845.21,1846.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1847.24,1848.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1850.25,1851.43 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1852.25,1853.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1859.2,1859.14 1 8 +github.com/thebtf/engram/internal/mcp/server.go:1860.22,1863.131 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1866.51,1867.123 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1868.10,1869.50 1 7 +github.com/thebtf/engram/internal/mcp/server.go:1874.47,1876.16 2 15 +github.com/thebtf/engram/internal/mcp/server.go:1876.16,1879.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1880.2,1880.35 1 15 +github.com/thebtf/engram/internal/mcp/server.go:1884.72,1890.2 1 3 +github.com/thebtf/engram/internal/mcp/server.go:1896.105,1898.16 2 5 +github.com/thebtf/engram/internal/mcp/server.go:1898.16,1900.3 1 2 +github.com/thebtf/engram/internal/mcp/server.go:1902.2,1903.17 2 3 +github.com/thebtf/engram/internal/mcp/server.go:1903.17,1905.3 1 2 +github.com/thebtf/engram/internal/mcp/server.go:1907.2,1908.17 2 1 +github.com/thebtf/engram/internal/mcp/server.go:1908.17,1910.3 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1912.2,1918.16 2 1 +github.com/thebtf/engram/internal/mcp/server.go:1918.16,1920.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1921.2,1921.25 1 1 +github.com/thebtf/engram/internal/mcp/server.go:1927.76,1933.15 3 3 +github.com/thebtf/engram/internal/mcp/server.go:1933.15,1936.17 3 3 +github.com/thebtf/engram/internal/mcp/server.go:1936.17,1938.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1939.3,1939.26 1 3 +github.com/thebtf/engram/internal/mcp/server.go:1943.2,1950.36 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1950.36,1952.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1952.8,1955.29 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1955.29,1958.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1959.3,1962.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.2,1966.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.20,1977.20 6 0 +github.com/thebtf/engram/internal/mcp/server.go:1977.20,1979.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.3,1980.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.20,1982.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.3,1985.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.37,1987.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1987.30,1988.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1988.16,1990.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1990.11,1992.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1994.4,1995.56 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1995.56,1997.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1998.4,2003.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.2,2008.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.29,2009.63 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2009.63,2011.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2011.9,2013.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.2,2021.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.29,2029.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2029.38,2031.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2031.9,2033.31 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2033.31,2035.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2035.30,2037.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2039.4,2042.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2046.2,2047.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2047.16,2049.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2050.2,2050.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2055.57,2056.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2056.33,2058.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2059.2,2060.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2060.16,2062.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2063.2,2064.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2064.16,2066.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2067.2,2067.23 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2071.79,2105.15 6 4 +github.com/thebtf/engram/internal/mcp/server.go:2105.15,2107.17 2 4 +github.com/thebtf/engram/internal/mcp/server.go:2107.17,2111.4 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2111.9,2112.17 1 4 +github.com/thebtf/engram/internal/mcp/server.go:2112.17,2114.5 1 4 +github.com/thebtf/engram/internal/mcp/server.go:2115.4,2117.26 3 4 +github.com/thebtf/engram/internal/mcp/server.go:2117.26,2119.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2119.10,2121.29 2 4 +github.com/thebtf/engram/internal/mcp/server.go:2121.29,2123.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2125.4,2129.25 5 4 +github.com/thebtf/engram/internal/mcp/server.go:2130.19,2130.19 0 4 +github.com/thebtf/engram/internal/mcp/server.go:2132.20,2134.106 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2135.12,2137.103 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2140.8,2143.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2144.2,2150.49 3 4 +github.com/thebtf/engram/internal/mcp/server.go:2150.49,2152.3 1 1 +github.com/thebtf/engram/internal/mcp/server.go:2152.8,2154.3 1 3 +github.com/thebtf/engram/internal/mcp/server.go:2155.2,2168.27 4 4 +github.com/thebtf/engram/internal/mcp/server.go:2168.27,2170.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2170.17,2173.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2173.9,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2177.2,2182.40 4 4 +github.com/thebtf/engram/internal/mcp/server.go:2182.40,2183.21 1 12 +github.com/thebtf/engram/internal/mcp/server.go:2184.20,2185.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2186.19,2187.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.2,2191.24 1 4 +github.com/thebtf/engram/internal/mcp/server.go:2191.24,2193.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.8,2193.30 1 4 +github.com/thebtf/engram/internal/mcp/server.go:2193.30,2195.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.2,2198.28 1 4 +github.com/thebtf/engram/internal/mcp/server.go:2198.28,2200.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.2,2203.29 1 4 +github.com/thebtf/engram/internal/mcp/server.go:2203.29,2205.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2207.2,2208.16 2 4 +github.com/thebtf/engram/internal/mcp/server.go:2208.16,2210.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2211.2,2211.28 1 4 +github.com/thebtf/engram/internal/mcp/server.go:2216.103,2218.16 2 2 +github.com/thebtf/engram/internal/mcp/server.go:2218.16,2220.3 1 2 +github.com/thebtf/engram/internal/mcp/server.go:2222.2,2223.15 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2223.15,2225.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2227.2,2239.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2239.16,2241.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2242.2,2242.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2246.93,2248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2251.91,2253.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:18.28,29.20 4 64 +github.com/thebtf/engram/internal/mcp/tools_admin.go:29.20,33.3 2 2 +github.com/thebtf/engram/internal/mcp/tools_admin.go:35.2,44.3 1 64 +github.com/thebtf/engram/internal/mcp/tools_admin.go:68.36,69.49 1 65 +github.com/thebtf/engram/internal/mcp/tools_admin.go:69.49,74.3 4 2 +github.com/thebtf/engram/internal/mcp/tools_admin.go:75.2,75.25 1 63 +github.com/thebtf/engram/internal/mcp/tools_admin.go:80.26,82.2 1 73 +github.com/thebtf/engram/internal/mcp/tools_admin.go:84.89,86.16 2 9 +github.com/thebtf/engram/internal/mcp/tools_admin.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:89.2,90.18 2 9 +github.com/thebtf/engram/internal/mcp/tools_admin.go:90.18,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:94.2,94.16 1 9 +github.com/thebtf/engram/internal/mcp/tools_admin.go:95.15,96.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:97.26,98.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:99.25,100.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:101.23,105.22 1 9 +github.com/thebtf/engram/internal/mcp/tools_admin.go:105.22,107.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:108.3,108.38 1 8 +github.com/thebtf/engram/internal/mcp/tools_admin.go:109.10,110.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:120.92,126.26 2 8 +github.com/thebtf/engram/internal/mcp/tools_admin.go:126.26,128.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_admin.go:130.2,131.19 2 6 +github.com/thebtf/engram/internal/mcp/tools_admin.go:131.19,133.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_admin.go:134.2,135.19 2 4 +github.com/thebtf/engram/internal/mcp/tools_admin.go:135.19,137.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.2,138.24 1 3 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.24,140.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.2,142.25 1 2 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.25,144.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:146.2,147.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:151.2,151.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27.40,30.2 2 69 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32.30,46.2 1 1 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48.99,49.34 1 7 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:49.34,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.2,52.69 1 7 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.69,54.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:56.2,57.16 2 5 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:60.2,61.21 2 5 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:61.21,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:64.2,67.26 3 5 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:67.26,69.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:70.2,71.25 2 3 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:71.25,73.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:75.2,77.44 3 2 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:77.44,79.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.2,80.33 1 2 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.33,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:83.2,83.81 1 2 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86.52,87.16 1 5 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:87.16,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.2,90.15 1 5 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.15,92.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:93.2,93.14 1 4 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96.73,97.21 1 2 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:97.21,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:100.2,101.29 2 2 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:101.29,110.3 1 4 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:111.2,111.12 1 2 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114.34,116.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:31.98,32.52 1 2 +github.com/thebtf/engram/internal/mcp/tools_brief.go:32.52,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.2,35.26 1 2 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.26,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:39.2,40.49 2 2 +github.com/thebtf/engram/internal/mcp/tools_brief.go:40.49,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.2,43.21 1 2 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.21,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.2,46.21 1 2 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.21,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.2,49.18 1 2 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.18,51.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.2,52.18 1 2 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.18,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.2,56.38 1 2 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.38,58.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_brief.go:60.2,61.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:61.16,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:68.2,70.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:70.26,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:79.2,81.36 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:81.36,84.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:86.2,89.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:89.28,90.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:90.39,91.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:93.3,97.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:100.2,104.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:107.60,113.2 1 2 +github.com/thebtf/engram/internal/mcp/tools_brief.go:115.101,116.38 1 2 +github.com/thebtf/engram/internal/mcp/tools_brief.go:116.38,118.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:120.2,122.21 3 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:122.21,123.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:123.26,125.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.3,126.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.23,128.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:129.8,130.26 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:130.26,132.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.3,133.68 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.68,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:137.2,140.20 3 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:141.17,142.18 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:143.67,143.67 0 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:144.10,145.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:148.2,162.16 3 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:162.16,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.2,165.19 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.2,174.30 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.30,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.2,177.31 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.31,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:181.2,182.36 2 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:182.36,196.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:198.2,199.19 2 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:199.19,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:202.2,203.18 2 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:203.18,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:206.2,207.21 2 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:207.21,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:210.2,211.25 2 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:211.25,213.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:214.2,225.21 3 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:225.21,227.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.2,228.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.25,230.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.2,231.18 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.18,233.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:235.2,244.21 2 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:244.21,246.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.2,247.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.25,249.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.2,250.18 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.18,252.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.2,253.24 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:256.2,256.30 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:259.50,261.22 2 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:261.22,263.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:264.2,264.16 1 1 +github.com/thebtf/engram/internal/mcp/tools_brief.go:270.90,272.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:272.42,276.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:277.2,281.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:281.27,282.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:282.45,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:286.2,286.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25.28,88.2 1 1 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95.95,96.22 1 2 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:96.22,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:99.2,100.32 2 2 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:100.32,102.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:104.2,105.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:109.2,114.35 3 1 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:114.35,121.3 2 1 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.2,123.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.25,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:127.2,134.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:138.2,146.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154.94,155.22 1 1 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:155.22,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:158.2,159.32 2 1 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:159.32,161.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:163.2,164.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:164.16,166.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:168.2,172.35 3 1 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:172.35,179.3 2 1 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.2,181.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.25,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:185.2,192.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:192.16,194.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:196.2,203.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211.97,212.22 1 1 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:212.22,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:215.2,216.32 2 1 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:216.32,218.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:220.2,221.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:221.16,223.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:225.2,229.35 3 1 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:229.35,236.3 2 1 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.2,238.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.25,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:242.2,249.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:249.16,251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:253.2,260.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31.80,32.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:32.14,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:35.2,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51.136,53.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:53.51,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:56.2,56.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59.94,60.21 1 3 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:60.21,62.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:63.2,63.12 1 1 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68.30,162.2 2 1 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165.98,166.49 1 2 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:166.49,168.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:169.2,170.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:170.16,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:173.2,174.19 2 1 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:174.19,176.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:177.2,179.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:179.17,181.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:188.2,189.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:189.31,190.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:190.15,191.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:193.3,193.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:196.2,201.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:201.16,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:204.2,204.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208.96,209.49 1 1 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:209.49,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:212.2,213.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:213.16,215.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:216.2,217.13 2 1 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:217.13,219.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.2,225.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.22,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:229.2,230.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:230.16,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:233.2,233.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239.100,240.22 1 1 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:240.22,242.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:243.2,244.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:244.16,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:247.2,248.13 2 1 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:248.13,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:255.2,256.12 2 1 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:256.12,263.30 2 1 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:263.30,264.77 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:264.77,269.5 4 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:271.3,272.21 2 1 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:272.21,274.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:275.3,275.24 1 1 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.2,279.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.29,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:284.2,285.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:285.16,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.2,288.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.22,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.2,291.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.55,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.2,294.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.74,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:297.2,298.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:298.16,300.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:306.2,307.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:307.41,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:310.2,324.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:324.16,325.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:325.50,327.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:328.3,328.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.2,330.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.38,332.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:334.2,341.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:341.16,343.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:344.2,344.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348.99,349.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:349.49,351.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:352.2,353.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:353.16,355.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:356.2,357.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:357.13,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:360.2,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.2,365.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.22,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.2,368.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.74,370.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:371.2,372.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:372.16,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.2,375.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.85,377.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:379.2,380.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:380.16,381.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:381.50,383.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:384.3,384.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.2,386.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.20,388.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:390.2,395.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:395.16,397.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:398.2,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402.102,403.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:403.49,405.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:406.2,407.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:407.16,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:410.2,411.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:411.13,413.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:414.2,415.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:415.16,417.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.2,418.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.22,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.2,421.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.74,423.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:424.2,425.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:425.16,427.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.2,428.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.88,430.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:432.2,433.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:433.16,434.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:434.50,436.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:437.3,437.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.2,439.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.20,441.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:443.2,448.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:448.16,450.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:451.2,451.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34.30,36.2 1 63 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42.61,44.2 1 1 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48.32,75.2 1 1 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79.32,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100.98,101.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:101.25,103.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.2,104.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.29,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:108.2,113.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:113.17,114.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:114.55,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.2,118.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.24,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.2,121.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.23,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.2,124.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.23,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:134.2,135.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:135.21,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:142.2,147.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:154.2,165.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:165.25,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:177.2,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:186.2,186.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194.98,195.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:195.25,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.2,198.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.29,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:202.2,205.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:205.17,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:208.2,209.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:209.21,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:213.2,214.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:214.16,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:217.2,218.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:218.16,220.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:226.2,231.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:231.11,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:21.52,22.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:22.24,25.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:25.28,27.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:29.2,29.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:35.72,37.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:37.15,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:45.2,45.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:49.99,51.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:51.16,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:55.2,56.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:56.16,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:60.2,72.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.2,75.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.24,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.2,78.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.24,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:81.2,81.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:82.27,82.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:84.10,85.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.2,87.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.30,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.2,90.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.26,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:104.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:116.2,123.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:126.2,126.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:130.97,132.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:132.16,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:136.2,137.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:141.2,147.23 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:147.23,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.2,150.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.26,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:154.2,155.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:155.16,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:160.16,161.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:161.47,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:164.3,164.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.2,167.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.97,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:174.2,175.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:175.16,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:179.2,185.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:185.16,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:188.2,188.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:192.99,194.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:194.16,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:198.2,199.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:199.16,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:203.2,207.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:207.26,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:211.2,212.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:212.16,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:216.2,223.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:223.26,229.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:229.28,231.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:232.3,232.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:243.100,245.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:245.16,247.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:249.2,250.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:250.16,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:254.2,262.23 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:262.23,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.2,265.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.24,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:268.2,268.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:269.27,269.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:271.10,272.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.2,274.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.30,276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.2,277.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.26,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.2,281.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.71,282.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:282.47,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:285.3,285.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:288.2,293.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:293.16,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:296.2,296.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:302.92,309.19 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:309.19,310.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:310.53,313.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:316.2,317.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:317.51,318.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:318.66,320.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:323.2,331.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:331.16,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:334.2,334.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:338.46,342.32 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:342.32,343.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:343.20,346.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:348.2,350.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:350.26,352.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:352.27,353.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:353.13,355.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:356.4,356.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:358.3,358.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:360.2,360.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:16.45,18.2 1 9 +github.com/thebtf/engram/internal/mcp/tools_directives.go:20.35,36.2 1 1 +github.com/thebtf/engram/internal/mcp/tools_directives.go:38.84,39.40 1 6 +github.com/thebtf/engram/internal/mcp/tools_directives.go:39.40,41.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.2,42.50 1 4 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.50,44.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_directives.go:45.2,45.39 1 3 +github.com/thebtf/engram/internal/mcp/tools_directives.go:48.101,50.16 2 6 +github.com/thebtf/engram/internal/mcp/tools_directives.go:50.16,52.3 1 3 +github.com/thebtf/engram/internal/mcp/tools_directives.go:53.2,54.16 2 3 +github.com/thebtf/engram/internal/mcp/tools_directives.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:57.2,58.19 2 3 +github.com/thebtf/engram/internal/mcp/tools_directives.go:58.19,60.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_directives.go:61.2,62.21 2 2 +github.com/thebtf/engram/internal/mcp/tools_directives.go:62.21,64.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_directives.go:65.2,66.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_directives.go:66.16,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:69.2,69.28 1 1 +github.com/thebtf/engram/internal/mcp/tools_directives.go:72.102,74.16 2 3 +github.com/thebtf/engram/internal/mcp/tools_directives.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:77.2,82.8 1 3 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10.100,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:22.16,23.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:24.14,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:26.14,27.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:28.17,29.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:30.17,31.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:32.21,33.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:34.19,35.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:36.17,37.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:38.16,39.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:40.16,41.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:42.21,43.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:44.10,45.167 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:15.77,16.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:16.33,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:20.2,21.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:21.27,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:25.2,26.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:26.28,29.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:29.17,31.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:34.2,41.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:41.32,46.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:46.20,48.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:49.3,49.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:61.97,62.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:62.28,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:71.2,75.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:75.29,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:79.2,80.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:80.16,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.2,84.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.20,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:88.2,97.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:97.25,103.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:103.20,105.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.3,106.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.19,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:109.3,109.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:112.2,113.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:113.16,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:117.2,117.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:121.95,122.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:122.28,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:131.2,137.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:137.50,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:141.2,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.2,145.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.16,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.2,149.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.21,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:153.2,154.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:154.16,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.2,157.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.20,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:161.2,161.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:165.98,166.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:166.28,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:170.2,171.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:171.16,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:175.2,181.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:181.50,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.2,185.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.96,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:189.2,189.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:197.98,198.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:198.28,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:207.2,217.74 6 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:217.74,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:222.2,223.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:223.16,225.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:227.2,229.156 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:235.98,237.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:237.16,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:241.2,247.24 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:247.24,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:252.2,253.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:253.29,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:256.2,256.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15.93,16.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:16.37,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:20.2,21.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:21.16,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:25.2,32.16 7 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:32.16,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.2,35.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.19,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.2,38.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.19,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:42.2,43.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:43.16,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:47.2,54.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61.91,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:62.37,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:71.2,73.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:73.16,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.2,76.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.19,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:80.2,81.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:81.43,83.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:83.19,85.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:86.3,86.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:87.8,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.2,90.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.16,91.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:91.45,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:94.3,94.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:97.2,110.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:110.16,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:113.2,113.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117.93,119.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122.91,123.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:123.37,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:132.2,133.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:133.19,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:136.2,141.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:141.16,143.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:145.2,155.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:155.25,165.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:167.2,168.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:168.16,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:171.2,171.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175.94,176.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:176.37,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:180.2,181.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:181.16,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:185.2,187.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:187.16,189.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.2,190.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.19,192.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:193.2,196.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:200.2,208.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:208.25,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:218.2,225.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232.94,233.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:233.37,235.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:242.2,243.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:243.21,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:246.2,248.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:248.19,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:252.2,253.46 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:253.46,255.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:255.13,257.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.2,259.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.44,261.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:261.13,263.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:266.2,267.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:267.16,269.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:271.2,278.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:278.16,280.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:281.2,281.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19.69,21.2 1 3 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23.38,38.2 1 2 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40.51,63.2 1 2 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65.53,80.2 1 2 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82.46,85.32 3 8 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:85.32,87.3 1 48 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:88.2,88.12 1 8 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91.105,93.16 2 2 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:93.16,95.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:96.2,97.16 2 2 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:97.16,99.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:100.2,100.70 1 1 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103.107,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:108.2,109.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:109.16,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:112.2,112.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115.101,117.16 2 2 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:117.16,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:120.2,121.17 2 2 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:121.17,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:124.2,139.21 2 2 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142.109,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:147.2,154.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157.100,159.28 2 2 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:159.28,161.18 2 3 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:161.18,163.4 1 2 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:164.3,164.62 1 1 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:166.2,167.72 2 2 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:167.72,169.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.2,170.53 1 2 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.53,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:173.2,174.26 2 2 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:174.26,176.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:177.2,177.12 1 2 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180.73,182.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:182.16,184.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:185.2,185.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12.104,14.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:14.16,16.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:18.2,19.18 2 1 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:19.18,21.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:23.2,23.16 1 1 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:24.14,25.39 1 1 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:26.18,27.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:28.17,29.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:30.10,31.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36.101,37.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:37.27,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:46.2,47.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:47.21,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:50.2,51.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:51.19,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:54.2,54.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:55.52,55.52 0 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:56.10,57.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:59.2,61.93 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:61.93,64.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:66.2,70.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:27.31,94.2 1 1 +github.com/thebtf/engram/internal/mcp/tools_governance.go:98.97,100.26 2 2 +github.com/thebtf/engram/internal/mcp/tools_governance.go:100.26,102.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.2,103.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.28,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:112.2,115.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:115.15,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.2,118.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.17,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:122.2,123.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:127.2,140.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:140.29,151.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:151.31,154.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:155.3,155.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:158.2,162.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:167.100,169.26 2 1 +github.com/thebtf/engram/internal/mcp/tools_governance.go:169.26,171.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.2,172.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.28,174.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.2,175.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.26,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:179.2,180.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:184.2,185.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:185.22,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:189.2,190.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:190.20,191.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:191.54,199.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.3,200.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.61,202.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:203.3,203.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:206.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:215.95,217.32 2 1 +github.com/thebtf/engram/internal/mcp/tools_governance.go:217.32,219.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.2,220.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.28,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:224.2,225.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:229.2,230.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:230.22,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.2,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.25,246.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:248.2,252.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:258.104,260.26 2 2 +github.com/thebtf/engram/internal/mcp/tools_governance.go:260.26,262.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_governance.go:267.2,271.20 3 1 +github.com/thebtf/engram/internal/mcp/tools_governance.go:271.20,275.3 3 1 +github.com/thebtf/engram/internal/mcp/tools_governance.go:275.8,279.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:280.2,280.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_governance.go:284.60,285.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:285.30,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.2,288.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.42,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:291.2,291.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:64.89,65.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph.go:65.25,67.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph.go:69.2,70.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:70.49,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:74.2,74.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:75.18,76.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:77.21,78.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:79.19,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:81.18,82.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:83.19,84.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:85.18,86.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:87.18,91.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:91.23,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:94.3,94.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:95.10,96.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:100.81,103.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:103.19,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:106.2,107.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:107.19,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.2,112.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.46,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.2,115.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.46,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.2,122.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.66,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.25,128.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:128.22,130.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:131.8,132.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:132.26,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.2,138.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.25,139.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:139.22,141.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:142.8,143.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:143.26,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.2,148.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.22,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.2,151.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.38,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.2,154.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.19,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:159.2,161.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:161.25,164.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.2,165.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.25,168.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:169.2,171.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:171.23,174.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.2,175.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.23,178.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:180.2,193.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:193.16,195.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:198.2,199.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:199.29,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.2,202.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.29,204.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:205.2,213.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:216.121,217.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:217.28,218.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:218.26,220.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:221.3,222.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:222.17,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:223.49,225.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:226.4,226.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:228.3,228.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.2,230.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.26,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:233.2,234.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:234.16,235.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:235.48,237.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:238.3,238.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:240.2,240.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:243.101,248.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:248.36,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:250.8,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.2,253.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.16,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.2,256.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.32,257.128 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:257.128,262.72 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:262.72,264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:267.2,267.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:276.81,277.25 1 4 +github.com/thebtf/engram/internal/mcp/tools_graph.go:277.25,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.2,280.22 1 4 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.22,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.2,283.39 1 4 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.39,285.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.2,286.25 1 3 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.25,288.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.2,289.21 1 2 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.21,291.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph.go:292.2,293.14 2 1 +github.com/thebtf/engram/internal/mcp/tools_graph.go:293.14,295.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph.go:296.2,305.16 5 1 +github.com/thebtf/engram/internal/mcp/tools_graph.go:305.16,307.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:308.2,314.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph.go:317.84,318.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:318.19,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:321.2,323.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:323.63,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:326.2,329.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:332.82,333.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:333.38,335.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:336.2,337.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:338.18,339.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:340.18,341.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.2,345.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.59,347.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:349.2,351.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:351.21,353.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:353.8,356.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.2,357.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:366.2,367.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:367.41,369.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:371.2,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:397.115,398.15 1 3 +github.com/thebtf/engram/internal/mcp/tools_graph.go:398.15,400.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:403.2,404.26 2 3 +github.com/thebtf/engram/internal/mcp/tools_graph.go:404.26,405.28 1 6 +github.com/thebtf/engram/internal/mcp/tools_graph.go:405.28,407.4 1 6 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.3,408.28 1 6 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.28,410.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.2,412.23 1 3 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.23,415.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:420.2,426.12 4 3 +github.com/thebtf/engram/internal/mcp/tools_graph.go:426.12,427.27 1 3 +github.com/thebtf/engram/internal/mcp/tools_graph.go:427.27,429.18 2 6 +github.com/thebtf/engram/internal/mcp/tools_graph.go:429.18,431.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.4,433.33 1 6 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.33,435.5 1 2 +github.com/thebtf/engram/internal/mcp/tools_graph.go:440.2,441.26 2 3 +github.com/thebtf/engram/internal/mcp/tools_graph.go:441.26,442.28 1 6 +github.com/thebtf/engram/internal/mcp/tools_graph.go:442.28,443.49 1 6 +github.com/thebtf/engram/internal/mcp/tools_graph.go:443.49,445.13 2 2 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.3,448.28 1 4 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.28,449.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:449.49,451.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:454.2,454.12 1 3 +github.com/thebtf/engram/internal/mcp/tools_graph.go:457.82,458.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:458.21,460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:461.2,462.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:462.16,464.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.2,465.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.36,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:468.2,469.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:469.16,471.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:472.2,477.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:480.82,481.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:481.40,483.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:484.2,485.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:485.19,487.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:488.2,489.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:489.16,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:492.2,499.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:502.82,503.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:503.21,505.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:506.2,507.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:507.16,509.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:510.2,514.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23.179,24.22 1 4 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:24.22,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:28.2,32.22 4 4 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:32.22,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:35.2,36.22 2 4 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:36.22,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:40.2,41.26 2 4 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:41.26,43.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.2,44.26 1 4 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.26,46.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.2,47.30 1 4 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.30,49.3 1 3 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.2,50.30 1 4 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.30,52.3 1 3 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:54.2,55.16 2 4 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:55.16,57.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.2,58.13 1 4 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.13,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:61.2,62.16 2 4 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:62.16,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.2,65.13 1 4 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.13,67.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:69.2,70.16 2 2 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:70.16,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.2,73.15 1 2 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.15,75.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:77.2,77.36 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80.172,81.28 1 8 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:81.28,82.23 1 6 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:82.23,84.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.3,85.18 1 6 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.18,87.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:88.3,89.17 2 6 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:89.17,90.49 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:90.49,92.5 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:93.4,93.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:95.3,95.19 1 5 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.2,98.24 1 2 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.24,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.2,101.19 1 2 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.19,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:104.2,105.16 2 2 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:105.16,106.48 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:106.48,108.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:109.3,109.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:111.2,111.18 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114.119,116.22 2 2 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:116.22,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:119.2,120.22 2 2 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:120.22,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:124.2,126.26 3 2 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:126.26,127.36 1 2 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:127.36,129.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:130.3,130.105 1 2 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:131.8,132.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:132.32,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:135.3,135.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.2,137.16 1 2 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.2,141.32 1 2 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.32,143.27 2 1 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:143.27,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:146.3,147.27 2 1 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:147.27,149.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.3,150.106 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.106,151.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.3,153.27 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.27,154.114 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:154.114,155.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.9,157.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.104,158.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.3,160.27 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.27,161.114 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:161.114,162.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.9,164.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.104,165.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:167.3,167.19 1 1 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:169.2,169.19 1 1 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25.90,26.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:26.26,28.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:30.2,31.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:31.49,33.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:35.2,35.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:36.16,37.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:38.10,39.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43.84,44.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:44.21,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.2,47.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.25,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.2,50.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.21,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.2,53.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.21,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:57.2,58.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:59.18,60.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:61.15,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:63.24,64.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:65.10,66.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:69.2,70.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:70.22,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:73.2,74.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:74.29,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.2,78.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.14,85.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:87.2,89.37 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:89.37,92.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:92.21,94.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:97.2,100.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:100.31,102.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:102.38,104.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:104.37,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:109.3,122.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:122.26,124.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.3,125.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.19,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:131.3,133.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:133.39,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:135.9,137.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.3,138.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.17,140.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.3,142.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.34,144.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:145.3,145.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:148.2,155.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20.99,22.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:22.16,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:26.2,31.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:31.44,32.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:32.33,33.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:33.43,38.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.2,43.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.49,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.2,46.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.48,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:50.2,52.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:52.27,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:55.8,60.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:60.24,62.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.3,64.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.57,66.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:68.3,68.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.2,71.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.16,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:75.2,76.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:76.23,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:80.2,80.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:19.40,89.2 1 62 +github.com/thebtf/engram/internal/mcp/tools_issues.go:109.71,111.9 2 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:111.9,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:115.2,116.38 2 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:116.38,117.16 1 4 +github.com/thebtf/engram/internal/mcp/tools_issues.go:118.13,119.41 1 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:119.41,121.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:122.17,123.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:123.43,125.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:126.11,127.40 1 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:127.40,129.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.2,133.22 1 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.22,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:139.2,139.12 1 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:143.90,144.25 1 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:144.25,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:148.2,149.16 2 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:149.16,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:153.2,157.61 2 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:157.61,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:161.2,161.16 1 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:162.16,163.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:164.14,165.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:166.13,167.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:168.16,169.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:170.17,171.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:172.16,173.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:174.15,175.36 1 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:176.10,177.120 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:189.85,191.39 2 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:191.39,192.44 1 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:192.44,194.4 1 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.2,196.15 1 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.15,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.2,199.15 1 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.15,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:202.2,202.46 1 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:205.91,207.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:207.17,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:211.2,215.25 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:215.25,217.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:218.2,224.25 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:224.25,226.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.2,227.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.25,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:231.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:247.2,247.139 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:250.89,252.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:252.19,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:255.2,256.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:256.25,258.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:259.2,264.52 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:264.52,266.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:266.14,268.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:271.2,277.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:277.25,280.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:282.2,283.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:283.16,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.2,287.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.22,288.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:288.20,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:291.3,291.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:294.2,297.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:297.31,300.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:300.29,302.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:303.3,305.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:308.2,308.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:311.88,313.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:313.13,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:317.2,318.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:318.16,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:322.2,328.22 6 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:328.22,331.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.2,333.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.23,335.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:335.30,338.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:341.2,341.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:344.91,346.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:346.13,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:350.2,353.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:353.18,354.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:354.27,356.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.3,357.73 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.73,359.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.2,362.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.19,370.17 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:370.17,372.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:375.2,376.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:376.26,378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:379.2,379.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:382.92,384.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:384.13,386.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:388.2,389.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:389.16,391.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:393.2,401.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:401.16,403.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:405.2,405.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:408.91,410.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:410.13,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:414.2,418.95 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:418.95,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:422.2,422.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:425.90,427.13 2 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:427.13,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:431.2,433.167 3 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:433.167,435.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.2,437.89 1 2 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.89,439.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_issues.go:441.2,441.108 1 1 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22.93,24.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:24.49,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:28.2,28.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:29.14,30.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:31.17,32.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:33.16,34.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:35.24,36.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:37.27,38.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:39.22,40.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:41.23,42.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:43.10,44.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48.79,49.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:49.13,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:57.2,58.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:58.32,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:61.2,84.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87.101,88.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:88.13,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.2,91.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.38,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.2,98.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.53,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:102.2,104.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:104.17,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.2,107.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.29,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:110.2,115.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118.100,119.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:119.13,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.2,122.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.38,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.2,129.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.53,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:133.2,135.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:135.17,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.2,138.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.29,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:141.2,146.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149.123,150.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:150.13,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.2,153.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.18,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.2,156.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.38,158.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:159.2,161.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:161.17,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:164.2,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172.113,173.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:173.13,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.2,176.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.50,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:179.2,181.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:181.17,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:184.2,188.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191.57,195.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197.102,198.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:198.13,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.2,201.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.20,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:204.2,205.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:205.16,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:209.2,210.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:210.32,212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:214.2,217.56 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:217.56,223.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:225.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233.41,235.16 2 45 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:235.16,237.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:238.2,238.23 1 45 +github.com/thebtf/engram/internal/mcp/tools_memory.go:35.27,37.2 1 304 +github.com/thebtf/engram/internal/mcp/tools_memory.go:42.41,43.11 1 5 +github.com/thebtf/engram/internal/mcp/tools_memory.go:44.48,45.14 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:46.10,47.15 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:54.57,55.16 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:56.17,57.19 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:58.16,59.18 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:60.10,61.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:82.58,83.17 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:84.28,85.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:86.26,87.18 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:88.10,89.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:93.114,95.68 2 59 +github.com/thebtf/engram/internal/mcp/tools_memory.go:95.68,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:99.2,101.42 3 59 +github.com/thebtf/engram/internal/mcp/tools_memory.go:101.42,102.71 1 31 +github.com/thebtf/engram/internal/mcp/tools_memory.go:102.71,105.4 2 27 +github.com/thebtf/engram/internal/mcp/tools_memory.go:107.2,117.23 3 59 +github.com/thebtf/engram/internal/mcp/tools_memory.go:117.23,119.3 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:121.2,124.22 4 56 +github.com/thebtf/engram/internal/mcp/tools_memory.go:124.22,125.31 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:125.31,127.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:128.3,128.35 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.8,129.37 1 53 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.37,131.3 1 23 +github.com/thebtf/engram/internal/mcp/tools_memory.go:132.2,132.12 1 55 +github.com/thebtf/engram/internal/mcp/tools_memory.go:135.74,136.30 1 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:136.30,138.3 1 7 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.2,139.34 1 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.34,141.3 1 7 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.2,142.31 1 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.31,144.3 1 7 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.2,145.22 1 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.22,147.3 1 6 +github.com/thebtf/engram/internal/mcp/tools_memory.go:161.169,162.17 1 13 +github.com/thebtf/engram/internal/mcp/tools_memory.go:162.17,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:165.2,166.51 2 13 +github.com/thebtf/engram/internal/mcp/tools_memory.go:166.51,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:169.2,169.15 1 13 +github.com/thebtf/engram/internal/mcp/tools_memory.go:172.92,174.42 2 21 +github.com/thebtf/engram/internal/mcp/tools_memory.go:174.42,177.63 3 6 +github.com/thebtf/engram/internal/mcp/tools_memory.go:177.63,179.4 1 5 +github.com/thebtf/engram/internal/mcp/tools_memory.go:179.9,181.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:183.2,183.15 1 21 +github.com/thebtf/engram/internal/mcp/tools_memory.go:186.65,190.2 1 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:192.115,194.26 2 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:194.26,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.8,196.31 1 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.31,198.3 1 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:199.2,199.117 1 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:202.122,206.31 4 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:206.31,207.45 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:207.45,209.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:211.2,211.16 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:214.72,216.2 1 11 +github.com/thebtf/engram/internal/mcp/tools_memory.go:218.117,219.16 1 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:222.2,223.20 2 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:223.20,225.17 2 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:225.17,227.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.3,228.27 1 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.27,229.50 1 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:229.50,231.30 2 4 +github.com/thebtf/engram/internal/mcp/tools_memory.go:231.30,232.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:236.3,236.22 1 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:239.2,241.60 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:241.60,243.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:243.61,245.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.3,246.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.24,247.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:249.3,250.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:250.17,252.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.3,253.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.22,254.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.3,256.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.29,257.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:257.50,259.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:259.30,260.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:264.3,265.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:265.32,266.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:269.2,269.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:272.51,273.16 1 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:273.16,275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:276.2,277.18 2 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:277.18,279.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.2,280.19 1 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.19,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:283.2,283.15 1 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:286.97,288.30 2 4 +github.com/thebtf/engram/internal/mcp/tools_memory.go:288.30,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.2,291.49 1 4 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.49,293.3 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:294.2,294.17 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:297.108,299.2 1 4 +github.com/thebtf/engram/internal/mcp/tools_memory.go:301.108,303.2 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:305.102,307.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:319.55,320.31 1 13 +github.com/thebtf/engram/internal/mcp/tools_memory.go:320.31,322.3 1 13 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.2,323.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.26,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:326.2,326.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:329.71,330.17 1 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:343.26,344.14 1 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:345.10,346.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:354.95,362.16 3 34 +github.com/thebtf/engram/internal/mcp/tools_memory.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:366.2,397.39 14 34 +github.com/thebtf/engram/internal/mcp/tools_memory.go:397.39,399.27 2 20 +github.com/thebtf/engram/internal/mcp/tools_memory.go:399.27,401.4 1 20 +github.com/thebtf/engram/internal/mcp/tools_memory.go:402.8,404.3 1 14 +github.com/thebtf/engram/internal/mcp/tools_memory.go:405.2,407.46 3 34 +github.com/thebtf/engram/internal/mcp/tools_memory.go:407.46,410.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.2,411.44 1 34 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.44,413.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:413.12,415.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.2,417.26 1 34 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.26,419.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.2,420.84 1 33 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.84,422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.2,427.65 1 33 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.65,429.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:431.2,433.20 3 32 +github.com/thebtf/engram/internal/mcp/tools_memory.go:433.20,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:436.2,437.20 2 32 +github.com/thebtf/engram/internal/mcp/tools_memory.go:437.20,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.2,440.56 1 32 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.56,442.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.2,443.56 1 32 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.56,448.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.2,450.45 1 32 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.45,453.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.2,459.31 1 32 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.31,461.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:461.22,462.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:462.62,465.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:466.4,466.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:468.3,468.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:471.2,472.115 2 32 +github.com/thebtf/engram/internal/mcp/tools_memory.go:472.115,474.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.2,491.19 1 30 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.19,493.23 2 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:493.23,495.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:496.3,508.21 4 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:508.21,510.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:511.3,511.26 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.2,522.43 1 28 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.43,535.34 5 11 +github.com/thebtf/engram/internal/mcp/tools_memory.go:535.34,556.30 4 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:556.30,558.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.4,559.44 1 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.44,561.5 1 4 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.4,562.106 1 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.106,564.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.4,575.74 1 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.74,577.5 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:578.4,579.18 2 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:579.18,581.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:583.4,584.28 2 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:584.28,586.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.4,588.31 1 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.31,599.57 2 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:599.57,601.17 2 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:601.17,604.7 2 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:606.5,607.21 2 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:607.21,609.6 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.5,615.138 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.138,617.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:617.27,619.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:620.6,620.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:622.5,623.26 2 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:623.26,625.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:626.5,626.28 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:630.4,631.20 2 6 +github.com/thebtf/engram/internal/mcp/tools_memory.go:631.20,633.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.4,634.22 1 6 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.22,637.26 2 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:637.26,639.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:640.5,640.28 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:645.4,660.77 4 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:660.77,662.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:663.4,664.25 2 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:664.25,666.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:667.4,667.27 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.2,673.26 1 18 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.26,675.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:677.2,678.25 2 17 +github.com/thebtf/engram/internal/mcp/tools_memory.go:678.25,680.3 1 11 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.2,681.97 1 17 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.97,683.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:690.2,691.21 2 17 +github.com/thebtf/engram/internal/mcp/tools_memory.go:691.21,693.33 2 5 +github.com/thebtf/engram/internal/mcp/tools_memory.go:693.33,695.4 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.3,696.33 1 5 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.33,698.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.3,699.49 1 5 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.49,704.4 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.3,721.54 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.54,722.84 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:722.84,724.5 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.2,728.99 1 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.99,730.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:732.2,733.22 2 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:733.22,735.10 2 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:736.109,737.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:738.100,739.25 1 4 +github.com/thebtf/engram/internal/mcp/tools_memory.go:740.114,741.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:742.107,743.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:744.11,745.26 1 11 +github.com/thebtf/engram/internal/mcp/tools_memory.go:748.2,749.43 2 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:749.43,751.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:753.2,755.34 3 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:755.34,756.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:756.48,757.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:757.19,760.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.2,764.31 1 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.31,767.3 2 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.2,768.35 1 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.35,771.3 2 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.2,772.76 1 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.76,776.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:778.2,780.16 3 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:780.16,782.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:782.20,785.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.2,788.25 1 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.25,798.18 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:798.18,800.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.9,800.30 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.30,807.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.3,808.36 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.36,810.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:811.3,812.50 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:812.50,815.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:816.3,822.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:822.17,824.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:826.3,836.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:836.17,838.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:839.3,839.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:842.2,843.30 2 13 +github.com/thebtf/engram/internal/mcp/tools_memory.go:843.30,844.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:844.52,846.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:846.9,848.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:851.2,869.21 2 13 +github.com/thebtf/engram/internal/mcp/tools_memory.go:869.21,871.43 2 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:871.43,873.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.3,874.29 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.29,876.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.3,886.76 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.76,888.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.2,890.105 1 13 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.105,892.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:893.2,894.16 2 13 +github.com/thebtf/engram/internal/mcp/tools_memory.go:894.16,896.3 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:901.2,904.40 4 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:904.40,905.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:905.15,906.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:909.3,910.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:910.63,912.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:912.9,914.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.3,916.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.43,918.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:919.3,920.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:920.20,922.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.3,925.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.23,928.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:929.3,931.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:931.33,934.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:934.39,936.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:939.2,948.42 5 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:948.42,950.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:950.21,952.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:952.9,955.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.2,959.53 1 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.53,960.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:960.54,961.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:961.33,963.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:964.9,972.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.3,973.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.60,974.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:974.40,976.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.3,978.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.61,979.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:979.41,981.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.3,983.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.28,985.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:986.3,987.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.2,989.51 1 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.51,991.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:995.2,997.53 3 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:997.53,999.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:999.8,1001.3 1 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.2,1002.22 1 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.22,1004.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1008.2,1014.76 3 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1014.76,1016.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.2,1021.57 1 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.57,1026.13 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1026.13,1029.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1029.21,1032.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.4,1033.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.49,1035.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1036.4,1043.89 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1043.89,1046.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1048.4,1048.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1052.2,1063.21 2 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1063.21,1065.40 2 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1065.40,1067.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.3,1068.38 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.38,1070.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1072.2,1074.18 3 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1074.18,1081.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.2,1082.28 1 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.28,1084.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.2,1085.16 1 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.16,1087.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.2,1088.30 1 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.30,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.2,1091.30 1 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.30,1093.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.2,1098.76 1 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.76,1100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1101.2,1102.16 2 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1102.16,1104.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1105.2,1105.25 1 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111.94,1113.15 2 13 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1113.15,1115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1117.2,1118.16 2 13 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1118.16,1120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1122.2,1123.13 2 13 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1123.13,1125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1126.2,1131.16 4 13 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1131.16,1133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.2,1134.19 1 13 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.19,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.2,1146.39 1 13 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.39,1148.55 2 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1148.55,1150.4 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.2,1152.39 1 11 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.39,1154.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1157.2,1158.21 2 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1158.21,1163.21 3 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1163.21,1165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1166.3,1167.21 2 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1167.21,1169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.3,1170.52 1 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.52,1172.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.3,1173.52 1 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.52,1178.4 2 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.3,1179.41 1 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.41,1182.4 2 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1183.3,1183.30 1 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.2,1188.46 1 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.46,1190.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.2,1191.27 1 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.27,1193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1195.2,1196.16 2 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1196.16,1198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1201.2,1210.16 4 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1210.16,1212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1213.2,1213.25 1 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218.59,1220.38 1 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1220.38,1222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1225.2,1226.29 2 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1226.29,1227.22 1 30 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1227.22,1229.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.2,1232.18 1 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.18,1234.3 1 15 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1237.2,1244.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1244.29,1245.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1245.67,1247.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.2,1249.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.16,1251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1254.2,1254.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258.55,1260.47 2 35 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1260.47,1262.3 1 33 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1263.2,1264.58 2 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1264.58,1266.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1267.2,1267.26 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270.252,1271.108 1 28 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1271.108,1273.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.2,1274.55 1 26 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.55,1276.3 1 13 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1277.2,1277.13 1 13 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280.184,1282.69 2 35 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1282.69,1284.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1284.32,1285.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1285.58,1287.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.3,1290.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.18,1292.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.2,1294.19 1 35 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.19,1297.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1297.32,1298.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1298.39,1300.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.3,1303.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.19,1305.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.2,1307.21 1 35 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.21,1309.32 2 8 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1309.32,1310.49 1 12 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1310.49,1312.10 2 4 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.3,1315.18 1 8 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.18,1317.4 1 4 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.2,1319.28 1 31 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.28,1321.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1321.17,1323.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.3,1324.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.27,1326.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.2,1328.76 1 31 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.76,1330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1331.2,1331.13 1 31 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342.96,1343.26 1 20 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1343.26,1345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1347.2,1348.16 2 20 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1348.16,1350.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1352.2,1363.23 9 20 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1363.23,1364.58 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1364.58,1365.31 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1365.31,1367.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1367.10,1369.5 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.2,1373.17 1 19 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.17,1375.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.2,1376.16 1 19 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.16,1378.3 1 12 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.2,1379.16 1 19 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.16,1381.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.2,1382.18 1 19 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.18,1384.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.2,1385.19 1 19 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.19,1387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.2,1388.19 1 19 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.19,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1396.2,1399.18 4 19 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1399.18,1400.61 1 5 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1400.61,1401.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1402.50,1403.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1404.12,1405.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1409.2,1410.42 2 19 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1410.42,1414.3 3 12 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1415.2,1420.16 3 19 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1420.16,1422.3 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1429.2,1444.43 6 16 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1444.43,1446.3 1 4 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1449.2,1451.27 3 12 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1451.27,1453.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.2,1458.46 1 12 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.46,1460.3 1 26 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.2,1461.63 1 12 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.63,1463.3 1 7 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1465.2,1466.15 2 12 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1466.15,1472.29 3 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1472.29,1479.18 2 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1479.18,1481.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.4,1482.23 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.23,1483.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.4,1485.30 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.30,1486.24 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1486.24,1488.32 2 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1488.32,1489.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1493.4,1494.30 2 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1494.30,1495.10 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1498.8,1504.29 3 11 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1504.29,1506.18 2 11 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1506.18,1508.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.4,1509.23 1 11 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.23,1510.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.4,1512.30 1 11 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.30,1513.24 1 24 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1513.24,1515.32 2 10 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1515.32,1516.12 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1520.4,1521.30 2 11 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1521.30,1522.10 1 11 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.2,1526.26 1 12 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.26,1528.17 2 6 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1528.17,1530.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.2,1535.74 1 12 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.74,1536.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1536.13,1537.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1537.33,1542.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1542.26,1544.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1544.39,1546.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1548.5,1548.82 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.2,1565.38 1 12 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.38,1569.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1569.27,1571.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.3,1572.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.27,1574.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1576.3,1581.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1581.32,1586.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1588.3,1592.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1592.18,1594.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1595.3,1596.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1596.17,1598.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1599.3,1599.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1602.2,1602.16 1 12 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1603.15,1618.32 3 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1618.32,1620.33 2 12 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1620.33,1621.40 1 12 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1621.40,1623.11 2 12 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1626.4,1638.6 1 12 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1640.3,1641.17 2 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1641.17,1643.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1644.3,1644.26 1 9 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1646.18,1648.17 2 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1648.17,1650.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1651.3,1651.26 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1653.10,1654.25 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1654.25,1656.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1657.3,1659.32 3 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1659.32,1661.33 2 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1661.33,1662.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1662.40,1664.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1667.4,1669.26 3 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1669.26,1671.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1672.4,1673.25 2 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1673.25,1675.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1676.4,1676.24 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1678.3,1678.26 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690.51,1695.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700.73,1702.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1702.16,1704.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1705.2,1706.48 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1706.48,1710.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1711.2,1713.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1713.16,1715.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1716.2,1716.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727.117,1731.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1731.21,1733.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1734.2,1735.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1735.16,1737.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1738.2,1739.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1739.27,1741.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1742.2,1742.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1764.19,1775.30 7 4 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1775.30,1777.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1777.37,1779.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.3,1781.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.20,1783.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.2,1797.39 1 4 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.39,1799.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1801.2,1811.25 3 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1811.25,1813.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1815.2,1816.29 2 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1816.29,1818.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.2,1824.27 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.27,1826.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1831.2,1833.22 3 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1833.22,1835.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1837.2,1846.16 2 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1846.16,1848.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1853.2,1855.27 3 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1855.27,1857.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1859.2,1876.33 3 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1876.33,1878.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1880.2,1881.28 2 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1881.28,1885.20 2 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1885.20,1888.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1888.33,1889.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1889.40,1891.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.4,1894.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.20,1895.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.3,1900.22 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.22,1902.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1902.33,1903.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1903.50,1905.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.4,1908.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.19,1909.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.3,1918.56 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.56,1919.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.3,1927.64 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.64,1928.12 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1932.3,1935.32 3 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1935.32,1936.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1936.39,1938.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1942.3,1956.14 2 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1956.14,1957.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1957.37,1959.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1961.3,1962.26 2 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1962.26,1963.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.2,1975.59 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.59,1986.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1986.17,1988.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1990.3,1991.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1991.34,1993.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1995.3,1996.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1996.29,1998.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1998.21,2001.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2001.34,2002.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2002.41,2004.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.5,2007.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.21,2008.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.4,2011.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.23,2013.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2013.34,2014.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2014.51,2016.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.5,2019.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.20,2020.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.4,2023.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.57,2024.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.4,2027.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.65,2028.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2030.4,2031.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2031.33,2032.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2032.40,2034.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2037.4,2051.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2051.15,2052.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2052.38,2054.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2056.4,2057.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2057.27,2058.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2065.2,2066.28 2 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2066.28,2068.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.2,2072.71 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.71,2080.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2080.30,2081.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2081.41,2087.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.3,2089.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.13,2090.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2090.31,2095.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2095.25,2097.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2097.38,2099.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2101.5,2101.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.2,2112.38 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.38,2115.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2115.27,2117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2121.3,2138.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2138.30,2140.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2140.11,2141.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2143.4,2160.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2160.15,2161.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2161.39,2163.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2165.4,2165.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2167.3,2173.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2173.24,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2176.3,2176.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2179.2,2179.16 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2180.15,2182.24 2 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2182.24,2184.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2185.3,2185.26 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2187.18,2199.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2199.30,2201.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2201.11,2202.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2204.4,2208.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2208.15,2209.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2209.39,2211.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2213.4,2213.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2215.3,2216.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2216.24,2218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2219.3,2219.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2220.10,2221.22 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2221.22,2223.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2224.3,2226.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2226.27,2228.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2228.20,2230.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2231.4,2233.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2233.26,2235.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2236.4,2237.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2237.23,2239.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.4,2240.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.46,2244.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2245.4,2245.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2247.3,2247.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252.94,2254.16 2 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2254.16,2256.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2258.2,2260.18 3 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2260.18,2261.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2261.59,2262.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2262.36,2264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2264.10,2266.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.2,2270.13 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.13,2272.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.2,2273.50 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.50,2275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2277.2,2277.98 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281.98,2282.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2282.26,2284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2286.2,2287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2287.16,2289.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2291.2,2292.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2292.13,2294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2297.2,2298.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2298.19,2299.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2299.51,2301.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2302.3,2302.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.2,2304.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.42,2306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.2,2308.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.54,2309.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2309.48,2311.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2312.3,2312.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2316.2,2318.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17.82,19.2 1 5 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21.149,22.55 1 22 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:22.55,24.3 1 11 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.2,25.36 1 11 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.36,27.3 1 4 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:28.2,34.16 2 7 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:34.16,36.3 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.2,37.42 1 4 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.42,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:40.2,40.22 1 4 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43.105,44.48 1 13 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:44.48,46.3 1 12 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:47.2,48.54 2 1 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51.129,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:56.2,57.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:57.53,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:60.2,61.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:61.25,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:64.2,65.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:65.16,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:68.2,68.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26.97,27.18 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:27.18,29.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:30.2,30.54 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33.37,35.2 1 73 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37.81,38.44 1 12 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:38.44,40.3 1 10 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.2,41.38 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.38,43.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:44.2,44.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47.88,48.32 1 11 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:48.32,50.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:51.2,52.20 2 9 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:52.20,54.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:55.2,55.21 1 8 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58.40,72.2 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74.106,75.34 1 11 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:75.34,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:78.2,79.16 2 11 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:79.16,81.3 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:83.2,84.16 2 8 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:88.2,89.13 2 8 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:89.13,91.3 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:93.2,94.63 2 5 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:94.63,96.3 1 3 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.2,98.72 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.72,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:102.2,106.4 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109.117,110.32 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:110.32,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.2,113.34 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.34,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:117.2,118.16 2 2 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:118.16,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.2,121.19 1 2 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.19,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:125.2,126.69 2 2 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:126.69,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:130.2,136.4 1 2 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18.33,20.2 1 72 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22.27,37.2 1 2 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39.93,40.30 1 10 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:40.30,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.2,43.28 1 10 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.28,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:46.2,47.16 2 10 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:47.16,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:51.2,52.17 2 10 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:52.17,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:55.2,56.19 2 10 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:56.19,58.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.2,59.19 1 10 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.19,61.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:62.2,63.16 2 9 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:63.16,65.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:67.2,74.9 3 9 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:74.9,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:77.2,78.15 2 9 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:78.15,80.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:81.2,85.16 4 7 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:85.16,87.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.2,88.17 1 6 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.17,90.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:92.2,101.30 2 6 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104.48,105.16 1 9 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:108.2,109.29 2 9 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:109.29,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.2,112.31 1 9 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.31,114.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:115.2,115.19 1 8 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118.75,120.27 2 6 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:120.27,121.32 1 29 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:121.32,123.17 2 31 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:123.17,124.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:126.4,126.17 1 31 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:129.2,134.33 3 6 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:134.33,136.3 1 6 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.2,137.40 1 6 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.40,138.39 1 2 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:138.39,140.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:141.3,141.37 1 1 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.2,143.34 1 6 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.34,145.3 1 6 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:146.2,147.35 2 6 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:147.35,149.3 1 6 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:150.2,150.12 1 6 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153.77,154.20 1 6 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:154.20,156.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:157.2,159.31 3 4 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:159.31,160.33 1 25 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:160.33,162.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.3,163.30 1 25 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.30,165.4 1 24 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:167.2,170.3 1 4 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23.91,25.2 1 14 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27.38,50.2 1 1 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52.104,53.38 1 5 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:53.38,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:56.2,57.16 2 5 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:61.2,62.26 2 5 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:62.26,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:65.2,66.30 2 5 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:66.30,68.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.2,69.72 1 5 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.72,71.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:73.2,74.16 2 4 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:77.2,78.16 2 4 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:78.16,80.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:81.2,82.16 2 3 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:82.16,84.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:85.2,86.16 2 3 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:90.2,105.16 3 3 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:105.16,107.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.2,109.19 1 1 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.19,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.2,118.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.25,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.2,121.30 1 1 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.30,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.2,124.31 1 1 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.31,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:127.2,128.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:131.2,131.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134.91,136.9 2 10 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:136.9,138.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:139.2,140.15 2 9 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:140.15,141.19 1 3 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:141.19,143.4 1 3 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:144.3,144.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:146.2,146.94 1 6 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149.59,150.16 1 4 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:150.16,152.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:153.2,154.61 2 2 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:154.61,156.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:157.2,157.15 1 1 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160.56,161.75 1 3 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:161.75,163.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:164.2,164.52 1 2 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167.67,169.20 2 4 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:170.17,171.17 1 4 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:172.67,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:174.10,175.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179.60,180.16 1 3 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:180.16,182.3 1 3 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:183.2,184.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:184.25,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:187.2,187.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190.57,191.25 1 11 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:192.15,193.81 1 11 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:193.81,195.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:196.3,196.21 1 11 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:197.19,199.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:199.17,201.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.3,202.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.55,204.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:205.3,205.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:206.14,207.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:208.11,209.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:210.10,211.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215.59,216.16 1 3 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:216.16,218.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:219.2,219.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:220.12,221.16 1 1 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:222.14,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:224.10,225.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:28.90,30.16 2 7 +github.com/thebtf/engram/internal/mcp/tools_recall.go:30.16,32.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:34.2,36.16 2 7 +github.com/thebtf/engram/internal/mcp/tools_recall.go:37.16,38.38 1 5 +github.com/thebtf/engram/internal/mcp/tools_recall.go:40.16,42.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:44.20,46.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:48.17,50.142 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:52.17,56.50 1 1 +github.com/thebtf/engram/internal/mcp/tools_recall.go:56.50,62.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:62.63,64.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.4,66.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.45,68.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:72.4,74.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:74.25,76.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:77.4,77.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:80.3,80.101 1 1 +github.com/thebtf/engram/internal/mcp/tools_recall.go:82.18,84.141 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:86.18,88.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:88.18,90.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:91.3,91.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:93.17,96.50 1 1 +github.com/thebtf/engram/internal/mcp/tools_recall.go:96.50,99.59 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:99.59,101.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:102.4,104.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:104.25,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:107.4,107.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:110.3,110.98 1 1 +github.com/thebtf/engram/internal/mcp/tools_recall.go:112.10,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:125.86,126.16 1 20 +github.com/thebtf/engram/internal/mcp/tools_recall.go:126.16,128.3 1 10 +github.com/thebtf/engram/internal/mcp/tools_recall.go:129.2,130.9 2 10 +github.com/thebtf/engram/internal/mcp/tools_recall.go:130.9,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.2,133.22 1 10 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.22,135.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_recall.go:137.2,139.31 3 9 +github.com/thebtf/engram/internal/mcp/tools_recall.go:139.31,141.10 2 10 +github.com/thebtf/engram/internal/mcp/tools_recall.go:141.10,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:144.3,145.22 2 10 +github.com/thebtf/engram/internal/mcp/tools_recall.go:145.22,147.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_recall.go:148.3,149.26 2 9 +github.com/thebtf/engram/internal/mcp/tools_recall.go:149.26,151.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.3,152.68 1 9 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.68,154.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_recall.go:155.3,156.37 2 8 +github.com/thebtf/engram/internal/mcp/tools_recall.go:156.37,158.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_recall.go:159.3,160.107 2 7 +github.com/thebtf/engram/internal/mcp/tools_recall.go:162.2,162.28 1 6 +github.com/thebtf/engram/internal/mcp/tools_recall.go:165.249,166.24 1 6 +github.com/thebtf/engram/internal/mcp/tools_recall.go:166.24,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.2,169.38 1 6 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.38,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:173.2,174.31 2 6 +github.com/thebtf/engram/internal/mcp/tools_recall.go:174.31,175.32 1 2 +github.com/thebtf/engram/internal/mcp/tools_recall.go:175.32,177.4 1 2 +github.com/thebtf/engram/internal/mcp/tools_recall.go:180.2,181.34 2 6 +github.com/thebtf/engram/internal/mcp/tools_recall.go:181.34,182.29 1 6 +github.com/thebtf/engram/internal/mcp/tools_recall.go:182.29,183.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:185.3,197.17 3 6 +github.com/thebtf/engram/internal/mcp/tools_recall.go:197.17,199.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.3,200.20 1 6 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.20,201.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.3,203.37 1 6 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.37,205.33 2 7 +github.com/thebtf/engram/internal/mcp/tools_recall.go:205.33,206.13 1 2 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.4,208.19 1 5 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.19,209.43 1 5 +github.com/thebtf/engram/internal/mcp/tools_recall.go:209.43,210.14 1 2 +github.com/thebtf/engram/internal/mcp/tools_recall.go:212.5,212.30 1 3 +github.com/thebtf/engram/internal/mcp/tools_recall.go:214.4,215.30 2 3 +github.com/thebtf/engram/internal/mcp/tools_recall.go:215.30,216.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:220.2,220.22 1 6 +github.com/thebtf/engram/internal/mcp/tools_recall.go:223.113,229.2 5 3 +github.com/thebtf/engram/internal/mcp/tools_recall.go:231.101,233.2 1 7 +github.com/thebtf/engram/internal/mcp/tools_recall.go:247.92,251.16 4 5 +github.com/thebtf/engram/internal/mcp/tools_recall.go:251.16,253.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.8,253.24 1 5 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:259.2,272.51 3 5 +github.com/thebtf/engram/internal/mcp/tools_recall.go:272.51,274.38 2 2 +github.com/thebtf/engram/internal/mcp/tools_recall.go:274.38,275.13 1 2 +github.com/thebtf/engram/internal/mcp/tools_recall.go:276.50,277.28 1 1 +github.com/thebtf/engram/internal/mcp/tools_recall.go:278.12,279.107 1 1 +github.com/thebtf/engram/internal/mcp/tools_recall.go:287.2,292.26 5 4 +github.com/thebtf/engram/internal/mcp/tools_recall.go:292.26,294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.2,297.19 1 4 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.19,301.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:303.2,311.42 5 4 +github.com/thebtf/engram/internal/mcp/tools_recall.go:311.42,315.3 3 2 +github.com/thebtf/engram/internal/mcp/tools_recall.go:316.2,341.64 3 4 +github.com/thebtf/engram/internal/mcp/tools_recall.go:341.64,342.86 1 12 +github.com/thebtf/engram/internal/mcp/tools_recall.go:342.86,344.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.3,345.56 1 12 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.56,347.4 1 6 +github.com/thebtf/engram/internal/mcp/tools_recall.go:348.3,360.19 6 6 +github.com/thebtf/engram/internal/mcp/tools_recall.go:360.19,364.4 3 2 +github.com/thebtf/engram/internal/mcp/tools_recall.go:365.3,365.18 1 6 +github.com/thebtf/engram/internal/mcp/tools_recall.go:369.2,370.15 2 4 +github.com/thebtf/engram/internal/mcp/tools_recall.go:370.15,372.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:372.27,374.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.3,375.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.27,377.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:380.2,381.15 2 4 +github.com/thebtf/engram/internal/mcp/tools_recall.go:381.15,387.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:387.28,395.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:395.18,397.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.4,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.23,399.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.4,401.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.30,402.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:402.66,403.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:405.5,406.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:406.12,407.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.5,409.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.28,413.6 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:414.5,415.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:415.30,416.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:419.4,420.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:420.30,421.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:424.8,432.28 3 4 +github.com/thebtf/engram/internal/mcp/tools_recall.go:432.28,438.18 2 4 +github.com/thebtf/engram/internal/mcp/tools_recall.go:438.18,440.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.4,441.23 1 4 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.23,442.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.4,444.30 1 4 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.30,445.40 1 12 +github.com/thebtf/engram/internal/mcp/tools_recall.go:445.40,447.31 2 6 +github.com/thebtf/engram/internal/mcp/tools_recall.go:447.31,448.12 1 2 +github.com/thebtf/engram/internal/mcp/tools_recall.go:452.4,455.30 2 4 +github.com/thebtf/engram/internal/mcp/tools_recall.go:455.30,456.10 1 4 +github.com/thebtf/engram/internal/mcp/tools_recall.go:461.2,465.17 2 4 +github.com/thebtf/engram/internal/mcp/tools_recall.go:465.17,467.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_recall.go:469.2,470.16 2 4 +github.com/thebtf/engram/internal/mcp/tools_recall.go:470.16,472.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:473.2,473.28 1 4 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20.79,21.43 1 3 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:21.43,23.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.2,24.29 1 2 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.29,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:27.2,27.25 1 2 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30.40,63.2 1 1 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65.68,71.25 2 2 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:71.25,74.3 2 1 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:75.2,75.67 1 2 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78.62,83.19 3 3 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:83.19,87.3 3 2 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:88.2,88.89 1 3 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91.101,92.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:92.22,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:95.2,96.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:96.18,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:103.2,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:107.2,107.119 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110.99,111.22 1 3 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:111.22,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:114.2,115.18 2 3 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:115.18,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:118.2,119.16 2 3 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:119.16,121.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.2,122.51 1 2 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.51,124.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:125.2,126.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:129.2,131.15 3 1 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:131.15,132.69 1 1 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:132.69,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:135.3,135.58 1 1 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:137.2,137.130 1 1 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140.102,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.2,145.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.64,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:148.2,148.113 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151.109,153.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:153.16,155.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:157.16,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:160.2,161.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:161.16,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:164.2,164.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167.107,169.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:169.16,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:172.2,173.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:173.16,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.2,176.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.107,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:179.2,179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:180.41,181.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:182.41,183.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:184.10,185.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189.111,191.16 2 3 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:191.16,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:194.2,195.57 2 3 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:195.57,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:198.2,199.23 2 3 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:199.23,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:202.2,203.16 2 3 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.2,206.17 1 3 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.17,208.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:209.2,209.108 1 2 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212.63,215.2 2 2 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217.69,219.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:222.2,222.79 1 1 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225.60,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:230.2,230.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233.137,234.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:234.49,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:241.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:246.2,247.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:247.16,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.2,250.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.22,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:253.2,253.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256.142,258.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:258.16,260.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:261.2,262.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:262.16,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.2,265.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.47,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:268.2,269.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:269.16,270.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:270.50,272.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:273.3,273.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:275.2,275.173 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278.157,280.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:280.16,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.2,283.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.47,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:286.2,287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:287.16,288.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:288.50,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:291.3,291.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:293.2,293.169 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296.104,297.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:297.22,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:300.2,301.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:301.61,303.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:303.20,304.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.2,307.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.19,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:310.2,317.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320.119,322.39 2 1 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:322.39,323.81 1 2 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:323.81,325.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:327.2,327.17 1 1 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330.71,332.16 2 2 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:332.16,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:335.2,335.23 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17.61,105.23 2 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:105.23,122.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:123.2,123.14 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126.104,127.61 1 6 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:127.61,129.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.2,130.38 1 4 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.38,132.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:133.2,134.16 2 3 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:137.2,138.16 2 3 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:138.16,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:141.2,147.107 2 3 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:147.107,149.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:150.2,151.16 2 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:151.16,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:154.2,170.19 2 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:170.19,172.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:173.2,173.25 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176.103,177.61 1 3 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:177.61,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.2,180.38 1 3 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.38,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:183.2,184.16 2 3 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:187.2,191.106 2 3 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:191.106,193.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:194.2,195.16 2 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:195.16,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:198.2,200.31 3 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:200.31,207.36 2 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:207.36,218.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:219.3,220.35 2 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:222.2,230.4 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233.107,234.61 1 3 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.2,237.38 1 3 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.38,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:240.2,241.16 2 3 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:241.16,243.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:244.2,248.110 2 3 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:248.110,250.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:251.2,252.16 2 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:252.16,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:255.2,256.33 2 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:256.33,266.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:267.2,275.4 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278.108,279.61 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:279.61,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.2,282.37 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.37,284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:285.2,286.16 2 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:286.16,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:289.2,290.19 2 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:290.19,292.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.2,293.104 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.104,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:296.2,297.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:297.16,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:300.2,307.16 3 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:307.16,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:310.2,311.43 2 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:311.43,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:319.2,332.22 2 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:332.22,334.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:335.2,335.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338.108,339.62 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:339.62,341.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.2,342.38 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.38,344.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:345.2,346.9 2 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:346.9,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:349.2,350.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:350.16,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:353.2,357.16 5 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:360.2,370.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373.109,374.62 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:374.62,376.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.2,377.38 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.38,379.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:380.2,381.9 2 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:381.9,383.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:384.2,385.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:385.16,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:388.2,390.32 3 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:390.32,392.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:393.2,394.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:394.16,396.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:397.2,403.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406.106,407.62 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:407.62,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.2,410.38 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.38,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:413.2,414.9 2 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:414.9,416.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:417.2,418.16 2 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:418.16,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:421.2,423.16 3 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:423.16,424.41 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:424.41,434.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:435.3,435.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:437.2,445.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483.65,484.42 1 14 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:484.42,485.39 1 13 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:485.39,487.4 1 12 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.2,489.85 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.85,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:492.2,492.95 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495.102,496.38 1 10 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:496.38,498.3 1 4 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.2,499.58 1 6 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.58,501.3 1 3 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:502.2,502.90 1 3 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505.60,508.2 2 3 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510.66,512.26 2 5 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:512.26,514.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:515.2,515.12 1 4 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518.69,521.33 3 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:521.33,523.21 2 5 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:523.21,524.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.3,526.34 1 5 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.34,527.12 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:529.3,530.30 2 4 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:532.2,532.12 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535.63,537.19 2 5 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:537.19,539.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:540.2,541.42 2 5 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:541.42,543.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.2,544.57 1 4 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.57,546.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.2,547.54 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.54,549.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:550.2,550.30 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553.70,557.2 1 4 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559.66,561.9 2 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:561.9,563.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:564.2,566.17 3 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:566.17,568.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:569.2,569.33 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:570.103,572.30 2 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:573.34,574.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:575.10,576.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580.56,581.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:581.37,583.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.2,584.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.26,586.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:586.37,587.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:589.3,589.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:591.2,591.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594.90,602.2 1 3 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604.68,605.71 1 4 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:605.71,607.17 2 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:607.17,609.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:610.3,610.26 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:612.2,613.16 2 3 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:613.16,615.3 1 3 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:616.2,617.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:617.41,619.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:620.2,620.78 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623.65,625.16 2 10 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:625.16,627.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.2,628.17 1 10 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.17,630.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:631.2,631.14 1 10 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634.51,635.16 1 5 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:635.16,637.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:638.2,638.37 1 3 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641.56,642.28 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:642.28,644.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:645.2,646.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649.92,651.29 2 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:651.29,653.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:654.2,654.12 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657.86,659.29 2 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:659.29,661.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:662.2,662.12 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665.94,667.29 2 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:667.29,669.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:670.2,670.12 1 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673.98,675.29 2 2 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:675.29,677.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:678.2,678.12 1 2 +github.com/thebtf/engram/internal/mcp/tools_rules.go:17.93,18.104 1 4 +github.com/thebtf/engram/internal/mcp/tools_rules.go:18.104,20.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_rules.go:22.2,23.16 2 3 +github.com/thebtf/engram/internal/mcp/tools_rules.go:23.16,25.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:27.2,28.19 2 3 +github.com/thebtf/engram/internal/mcp/tools_rules.go:28.19,30.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:32.2,35.33 3 3 +github.com/thebtf/engram/internal/mcp/tools_rules.go:35.33,36.47 1 2 +github.com/thebtf/engram/internal/mcp/tools_rules.go:36.47,39.4 2 2 +github.com/thebtf/engram/internal/mcp/tools_rules.go:42.2,44.20 3 3 +github.com/thebtf/engram/internal/mcp/tools_rules.go:44.20,47.3 2 2 +github.com/thebtf/engram/internal/mcp/tools_rules.go:48.2,49.68 2 3 +github.com/thebtf/engram/internal/mcp/tools_rules.go:49.68,50.48 1 3 +github.com/thebtf/engram/internal/mcp/tools_rules.go:50.48,52.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.3,53.32 1 3 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.32,55.23 2 1 +github.com/thebtf/engram/internal/mcp/tools_rules.go:55.23,56.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:56.63,58.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:59.5,59.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:61.4,61.31 1 1 +github.com/thebtf/engram/internal/mcp/tools_rules.go:64.2,71.17 1 3 +github.com/thebtf/engram/internal/mcp/tools_rules.go:71.17,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.8,73.29 1 3 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.29,75.36 2 3 +github.com/thebtf/engram/internal/mcp/tools_rules.go:75.36,77.4 1 2 +github.com/thebtf/engram/internal/mcp/tools_rules.go:78.3,83.5 1 3 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.2,86.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.35,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:90.2,97.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:101.2,110.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:110.28,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:113.2,124.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:133.93,134.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:134.35,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:138.2,139.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:139.16,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:143.2,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.2,147.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.17,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:151.2,152.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:152.33,153.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:153.47,156.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:160.16,162.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:164.2,176.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:176.26,178.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:178.23,180.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:181.3,192.5 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:195.2,196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:199.2,199.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:22.104,24.16 2 7 +github.com/thebtf/engram/internal/mcp/tools_settings.go:24.16,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:28.2,29.18 2 7 +github.com/thebtf/engram/internal/mcp/tools_settings.go:29.18,31.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_settings.go:33.2,33.16 1 6 +github.com/thebtf/engram/internal/mcp/tools_settings.go:34.13,35.36 1 4 +github.com/thebtf/engram/internal/mcp/tools_settings.go:36.13,37.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:38.14,39.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:40.16,41.39 1 1 +github.com/thebtf/engram/internal/mcp/tools_settings.go:42.10,43.95 1 1 +github.com/thebtf/engram/internal/mcp/tools_settings.go:51.67,53.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:57.68,58.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:58.33,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:61.2,61.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:67.42,69.2 1 9 +github.com/thebtf/engram/internal/mcp/tools_settings.go:74.61,76.26 2 8 +github.com/thebtf/engram/internal/mcp/tools_settings.go:76.26,78.3 1 5 +github.com/thebtf/engram/internal/mcp/tools_settings.go:79.2,79.12 1 3 +github.com/thebtf/engram/internal/mcp/tools_settings.go:85.90,86.49 1 4 +github.com/thebtf/engram/internal/mcp/tools_settings.go:86.49,88.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_settings.go:90.2,91.15 2 2 +github.com/thebtf/engram/internal/mcp/tools_settings.go:91.15,93.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_settings.go:94.2,95.17 2 1 +github.com/thebtf/engram/internal/mcp/tools_settings.go:95.17,97.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_settings.go:100.2,103.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:103.16,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:107.2,113.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:113.12,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:115.18,117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:118.3,119.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:119.20,121.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:122.3,124.48 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:125.8,127.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:129.2,130.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:130.16,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:134.2,139.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:145.90,147.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:151.2,152.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:152.16,154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:157.16,158.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:158.47,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:161.3,161.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:164.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:170.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:173.8,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:176.2,176.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:181.92,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:187.2,188.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:188.16,190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:192.2,200.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:200.25,207.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:207.28,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:210.3,210.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:212.2,212.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:216.93,217.52 1 1 +github.com/thebtf/engram/internal/mcp/tools_settings.go:217.52,219.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_settings.go:221.2,222.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:222.15,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:226.2,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.2,231.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.47,232.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:232.47,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:235.3,235.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:238.2,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:35.127,36.23 1 17 +github.com/thebtf/engram/internal/mcp/tools_state.go:36.23,38.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:39.2,40.40 2 16 +github.com/thebtf/engram/internal/mcp/tools_state.go:40.40,42.3 1 16 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.2,43.37 1 16 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.37,45.3 1 3 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.2,46.37 1 16 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.37,48.3 1 3 +github.com/thebtf/engram/internal/mcp/tools_state.go:49.2,49.15 1 16 +github.com/thebtf/engram/internal/mcp/tools_state.go:52.23,80.2 1 2 +github.com/thebtf/engram/internal/mcp/tools_state.go:82.26,140.2 1 2 +github.com/thebtf/engram/internal/mcp/tools_state.go:142.92,143.25 1 21 +github.com/thebtf/engram/internal/mcp/tools_state.go:143.25,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:147.2,148.49 2 21 +github.com/thebtf/engram/internal/mcp/tools_state.go:148.49,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:152.2,152.18 1 21 +github.com/thebtf/engram/internal/mcp/tools_state.go:153.17,154.24 1 2 +github.com/thebtf/engram/internal/mcp/tools_state.go:154.24,156.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:157.3,158.17 2 2 +github.com/thebtf/engram/internal/mcp/tools_state.go:158.17,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:161.3,165.5 1 2 +github.com/thebtf/engram/internal/mcp/tools_state.go:166.17,167.22 1 2 +github.com/thebtf/engram/internal/mcp/tools_state.go:167.22,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.3,170.22 1 2 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.22,172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:173.3,174.17 2 2 +github.com/thebtf/engram/internal/mcp/tools_state.go:174.17,176.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:177.3,181.5 1 2 +github.com/thebtf/engram/internal/mcp/tools_state.go:182.16,189.23 7 17 +github.com/thebtf/engram/internal/mcp/tools_state.go:189.23,191.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.3,192.24 1 17 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.24,194.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.3,195.39 1 16 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.39,197.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:198.3,207.17 3 15 +github.com/thebtf/engram/internal/mcp/tools_state.go:207.17,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.3,210.69 1 15 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.69,212.4 1 11 +github.com/thebtf/engram/internal/mcp/tools_state.go:213.3,213.29 1 4 +github.com/thebtf/engram/internal/mcp/tools_state.go:214.10,215.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:219.92,220.25 1 8 +github.com/thebtf/engram/internal/mcp/tools_state.go:220.25,222.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:224.2,225.49 2 7 +github.com/thebtf/engram/internal/mcp/tools_state.go:225.49,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:229.2,229.18 1 7 +github.com/thebtf/engram/internal/mcp/tools_state.go:230.17,232.24 2 4 +github.com/thebtf/engram/internal/mcp/tools_state.go:232.24,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:235.3,236.17 2 4 +github.com/thebtf/engram/internal/mcp/tools_state.go:236.17,238.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.3,239.59 1 3 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.59,241.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.3,242.81 1 2 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.81,244.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:245.3,250.5 1 2 +github.com/thebtf/engram/internal/mcp/tools_state.go:251.17,253.22 2 3 +github.com/thebtf/engram/internal/mcp/tools_state.go:253.22,255.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:256.3,257.17 2 3 +github.com/thebtf/engram/internal/mcp/tools_state.go:257.17,259.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.3,260.79 1 2 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.79,262.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:263.3,268.5 1 2 +github.com/thebtf/engram/internal/mcp/tools_state.go:269.10,270.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:274.91,276.16 2 4 +github.com/thebtf/engram/internal/mcp/tools_state.go:276.16,278.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.2,279.67 1 4 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.67,280.76 1 11 +github.com/thebtf/engram/internal/mcp/tools_state.go:280.76,282.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:285.2,286.52 2 3 +github.com/thebtf/engram/internal/mcp/tools_state.go:286.52,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:289.2,289.19 1 3 +github.com/thebtf/engram/internal/mcp/tools_state.go:292.74,294.16 2 3 +github.com/thebtf/engram/internal/mcp/tools_state.go:294.16,296.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.2,297.62 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.62,299.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:300.2,300.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:303.109,304.56 1 15 +github.com/thebtf/engram/internal/mcp/tools_state.go:304.56,306.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.2,307.25 1 14 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.25,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.2,310.81 1 14 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.81,312.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.2,313.102 1 13 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.102,315.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.2,316.108 1 12 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.108,318.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.2,319.99 1 11 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.99,321.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.2,322.99 1 10 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.99,324.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.2,325.60 1 9 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.60,327.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.2,328.34 1 9 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.34,330.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.2,331.114 1 8 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.114,333.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.2,334.66 1 7 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.66,336.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.2,337.40 1 7 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.40,339.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.2,340.132 1 6 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.132,342.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.2,343.35 1 5 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.35,345.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:346.2,346.12 1 4 +github.com/thebtf/engram/internal/mcp/tools_state.go:349.92,350.103 1 3 +github.com/thebtf/engram/internal/mcp/tools_state.go:350.103,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:354.2,355.52 2 3 +github.com/thebtf/engram/internal/mcp/tools_state.go:355.52,357.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.2,358.32 1 3 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.32,360.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:361.2,361.19 1 2 +github.com/thebtf/engram/internal/mcp/tools_state.go:364.108,365.19 1 7 +github.com/thebtf/engram/internal/mcp/tools_state.go:365.19,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:368.2,369.53 2 7 +github.com/thebtf/engram/internal/mcp/tools_state.go:369.53,371.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.2,372.19 1 7 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.19,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.2,375.39 1 7 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.39,376.34 1 24 +github.com/thebtf/engram/internal/mcp/tools_state.go:376.34,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:380.2,380.20 1 7 +github.com/thebtf/engram/internal/mcp/tools_state.go:383.66,385.53 2 11 +github.com/thebtf/engram/internal/mcp/tools_state.go:385.53,387.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.2,388.19 1 10 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.19,390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:391.2,391.12 1 10 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:16.2,18.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:19.16,20.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:21.14,22.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:23.15,24.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:25.16,26.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:27.10,28.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21.75,23.2 1 10 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25.41,28.2 2 13 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30.31,37.2 1 2 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39.38,46.2 1 2 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48.50,56.2 1 2 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58.43,70.2 1 2 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72.80,73.36 1 10 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:73.36,75.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.2,76.48 1 8 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.48,78.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:79.2,79.37 1 6 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82.97,84.16 2 6 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:84.16,86.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:87.2,88.16 2 4 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:88.16,90.3 1 3 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:91.2,92.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:92.16,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:95.2,96.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:96.16,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:99.2,99.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102.104,104.16 2 4 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:104.16,106.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:107.2,108.16 2 2 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:108.16,110.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:111.2,112.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:115.2,116.16 2 1 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:116.16,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:119.2,119.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122.96,124.16 2 4 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:127.2,128.19 2 4 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:128.19,130.3 1 2 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:131.2,132.18 2 2 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:132.18,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:135.2,141.79 2 2 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:141.79,143.17 2 2 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:143.17,145.4 1 1 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:146.3,146.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:148.2,148.21 1 1 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151.77,153.16 2 2 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:156.2,157.19 2 2 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:157.19,159.3 1 1 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:160.2,160.21 1 1 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:22.15,23.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:24.13,25.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:26.14,27.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:28.16,29.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:30.16,31.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:32.10,33.102 1 0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/create-database.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/create-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/create-database.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/create-database.stdout.log new file mode 100644 index 00000000..4b15bd57 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/create-database.stdout.log @@ -0,0 +1 @@ +CREATE DATABASE diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/create-pgvector.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/create-pgvector.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/create-pgvector.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/create-pgvector.stdout.log new file mode 100644 index 00000000..d26bad14 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/create-pgvector.stdout.log @@ -0,0 +1 @@ +CREATE EXTENSION diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/database-identity.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/database-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/database-identity.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/database-identity.stdout.log new file mode 100644 index 00000000..abdae52f --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/database-identity.stdout.log @@ -0,0 +1 @@ +{"database" : "engram_prc_rg_test_88e43617e8051e79_r1", "schema" : "public", "server_version" : "17.10 (Debian 17.10-1.pgdg12+1)", "user" : "engram"} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/go-test-summary.json b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/go-test-summary.json new file mode 100644 index 00000000..592f5b5d --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/go-test-summary.json @@ -0,0 +1,3936 @@ +{ + "schema_version": 1, + "verdict": "FAIL", + "input_path": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\go-test.stdout.jsonl", + "fail_on_unexpected_skip": true, + "allowed_skip_identities": [], + "counts": { + "packages": 1, + "tests": 488, + "passed": 487, + "failed": 1, + "skipped": 0, + "no_tests": 0, + "zero_tests": 0, + "incomplete": 0, + "unexpected_skips": 0, + "malformed_lines": 0 + }, + "packages": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "outcome": "fail", + "elapsed_seconds": 8.921, + "last_output": "FAIL\tgithub.com/thebtf/engram/internal/mcp\t8.912s", + "tests_observed": 488 + } + ], + "tests": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAdminPurge_ActionInAdminActions", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestAdminPurge_ActionInAdminActions (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAdminPurge_AdminAllowed", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestAdminPurge_AdminAllowed (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAdminPurge_FlagOff_RejectsAsUnknown", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestAdminPurge_FlagOff_RejectsAsUnknown (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAdminPurge_FlagOff_SchemaLacksConfirm", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestAdminPurge_FlagOff_SchemaLacksConfirm (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAdminPurge_FlagOn_SchemaHasConfirm", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestAdminPurge_FlagOn_SchemaHasConfirm (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAdminPurge_MismatchedConfirm", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestAdminPurge_MismatchedConfirm (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAdminPurge_MissingConfirm", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestAdminPurge_MissingConfirm (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAdminPurge_MissingProject", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestAdminPurge_MissingProject (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAdminPurge_NilStore", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestAdminPurge_NilStore (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAdminPurge_NoIdentityDenied", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestAdminPurge_NoIdentityDenied (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAdminPurge_NonAdminDenied", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestAdminPurge_NonAdminDenied (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAdminPurge_SetPurgeStore_Wiring", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestAdminPurge_SetPurgeStore_Wiring (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAdminPurge_WhitespaceProject", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestAdminPurge_WhitespaceProject (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAuditCreate_LogCalledOnSuccess", + "outcome": "pass", + "elapsed_seconds": 0.01, + "last_output": "--- PASS: TestAuditCreate_LogCalledOnSuccess (0.01s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAuditCreate_SkippedWhenAuditStoreNil", + "outcome": "pass", + "elapsed_seconds": 0.01, + "last_output": "--- PASS: TestAuditCreate_SkippedWhenAuditStoreNil (0.01s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAuditCreate_SkippedWhenFlagOff", + "outcome": "pass", + "elapsed_seconds": 0.03, + "last_output": "--- PASS: TestAuditCreate_SkippedWhenFlagOff (0.03s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAuditDelete_LogCalledWithBeforeState", + "outcome": "pass", + "elapsed_seconds": 0.01, + "last_output": "--- PASS: TestAuditDelete_LogCalledWithBeforeState (0.01s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAuditDelete_SkippedWhenFlagOff", + "outcome": "pass", + "elapsed_seconds": 0.03, + "last_output": "--- PASS: TestAuditDelete_SkippedWhenFlagOff (0.03s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAuditEdit_LogCalledWithBeforeAndAfterState", + "outcome": "pass", + "elapsed_seconds": 0.01, + "last_output": "--- PASS: TestAuditEdit_LogCalledWithBeforeAndAfterState (0.01s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAuditEdit_SkippedWhenFlagOff", + "outcome": "pass", + "elapsed_seconds": 0.03, + "last_output": "--- PASS: TestAuditEdit_SkippedWhenFlagOff (0.03s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAuditSupersede_LogCalledWithSupersededID", + "outcome": "pass", + "elapsed_seconds": 0.01, + "last_output": "--- PASS: TestAuditSupersede_LogCalledWithSupersededID (0.01s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestAuditSupersede_SkippedWhenFlagOff", + "outcome": "pass", + "elapsed_seconds": 0.03, + "last_output": "--- PASS: TestAuditSupersede_SkippedWhenFlagOff (0.03s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestBulkDelete_DryRun_NilFacade", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestBulkDelete_DryRun_NilFacade (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestBulkOps_FlagOff_NotAdvertised", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestBulkOps_FlagOff_NotAdvertised (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestBulkPromote_DryRun_NilFacade", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestBulkPromote_DryRun_NilFacade (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestBulkPromote_NonAdmin_ReturnsAdminRequired", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestBulkPromote_NonAdmin_ReturnsAdminRequired (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestBulkSupersede_DryRun_NilFacade", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestBulkSupersede_DryRun_NilFacade (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCallTool_CheckSystemHealth_NilStores", + "outcome": "pass", + "elapsed_seconds": 0.14, + "last_output": "--- PASS: TestCallTool_CheckSystemHealth_NilStores (0.14s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCallTool_FindByFile_Removed", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCallTool_FindByFile_Removed (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCallTool_GetMemoryStats_NilStores", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCallTool_GetMemoryStats_NilStores (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCallTool_ParameterValidation_Table", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCallTool_ParameterValidation_Table (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCallTool_ParameterValidation_Table/analyze_search_patterns/{invalid", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCallTool_ParameterValidation_Table/analyze_search_patterns/{invalid (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCallTool_ParameterValidation_Table/find_similar_observations/{}", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCallTool_ParameterValidation_Table/find_similar_observations/{} (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCallTool_ParameterValidation_Table/find_similar_observations/{invalid", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCallTool_ParameterValidation_Table/find_similar_observations/{invalid (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCallTool_UnknownToolNames_Table", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCallTool_UnknownToolNames_Table (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCallTool_UnknownToolNames_Table/invalid_tool", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCallTool_UnknownToolNames_Table/invalid_tool (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCallTool_UnknownToolNames_Table/nonexistent", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCallTool_UnknownToolNames_Table/nonexistent (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCallTool_UnknownToolNames_Table/search_v2", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCallTool_UnknownToolNames_Table/search_v2 (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCallTool_UnknownToolNames_Table/timeline_x", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCallTool_UnknownToolNames_Table/timeline_x (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCallTool_UnknownToolReturnsError", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCallTool_UnknownToolReturnsError (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCandidateTools_ExposeCR008ReviewLoopContracts", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCandidateTools_ExposeCR008ReviewLoopContracts (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCheckSystemHealth_VectorSubsystem", + "outcome": "pass", + "elapsed_seconds": 0.25, + "last_output": "--- PASS: TestCheckSystemHealth_VectorSubsystem (0.25s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCheckSystemHealth_VectorSubsystem/vnext_disabled", + "outcome": "pass", + "elapsed_seconds": 0.13, + "last_output": "--- PASS: TestCheckSystemHealth_VectorSubsystem/vnext_disabled (0.13s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCheckSystemHealth_VectorSubsystem/vnext_enabled", + "outcome": "pass", + "elapsed_seconds": 0.12, + "last_output": "--- PASS: TestCheckSystemHealth_VectorSubsystem/vnext_enabled (0.12s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCodebaseSearch_FlagOff_ReturnsError", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCodebaseSearch_FlagOff_ReturnsError (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCodeIntelFlag_Off_ToolsAbsentFromList", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCodeIntelFlag_Off_ToolsAbsentFromList (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCodeIntelFlag_On_ServerAdvertisesSearchNotStatus", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCodeIntelFlag_On_ServerAdvertisesSearchNotStatus (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCodeIntelFlag_On_StoreNil_ToolsAbsentFromList", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCodeIntelFlag_On_StoreNil_ToolsAbsentFromList (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceBool", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceBool (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceBool/false", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceBool/false (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceBool/float_0", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceBool/float_0 (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceBool/float_1", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceBool/float_1 (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceBool/invalid_string", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceBool/invalid_string (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceBool/nil", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceBool/nil (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceBool/string_false", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceBool/string_false (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceBool/string_true", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceBool/string_true (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceBool/true", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceBool/true (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceFloat64", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceFloat64 (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceFloat64/float64", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceFloat64/float64 (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceFloat64/integer_string", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceFloat64/integer_string (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceFloat64/invalid_string", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceFloat64/invalid_string (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceFloat64/json.Number", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceFloat64/json.Number (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceFloat64/nil", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceFloat64/nil (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceFloat64/string", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceFloat64/string (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt/bool", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt/bool (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt/float64", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt/float64 (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt/float64_with_decimal", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt/float64_with_decimal (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt/Inf", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt/Inf (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt/json.Number_float", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt/json.Number_float (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt/json.Number_int", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt/json.Number_int (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt/NaN", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt/NaN (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt/negative_float", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt/negative_float (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt/negative_overflow", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt/negative_overflow (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt/nil", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt/nil (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt/overflow_float64", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt/overflow_float64 (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt/string_float", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt/string_float (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt/string_int", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt/string_int (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt/string_non-numeric", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt/string_non-numeric (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt/zero", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt/zero (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt64", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt64 (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt64/float64", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt64/float64 (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt64/invalid_string", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt64/invalid_string (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt64/json.Number", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt64/json.Number (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt64/json.Number_float", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt64/json.Number_float (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt64/nil", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt64/nil (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt64/string", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt64/string (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt64/string_float", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt64/string_float (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt64Slice", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt64Slice (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt64Slice/float64_array", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt64Slice/float64_array (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt64Slice/mixed_array", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt64Slice/mixed_array (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt64Slice/nil", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt64Slice/nil (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt64Slice/not_array", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt64Slice/not_array (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt64Slice/string_array", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt64Slice/string_array (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceInt64Slice/with_zeros", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceInt64Slice/with_zeros (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceString", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceString (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceString/bool", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceString/bool (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceString/float64", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceString/float64 (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceString/json.Number", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceString/json.Number (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceString/nil", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceString/nil (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceString/string", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceString/string (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceString/wrong_type", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceString/wrong_type (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceStringSlice", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceStringSlice (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceStringSlice/array_of_strings", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceStringSlice/array_of_strings (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceStringSlice/empty_string", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceStringSlice/empty_string (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceStringSlice/mixed_array", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceStringSlice/mixed_array (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceStringSlice/nil", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceStringSlice/nil (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestCoerceStringSlice/single_string", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCoerceStringSlice/single_string (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestDryRun_Integration_StoreMemory_ZeroSideEffects", + "outcome": "pass", + "elapsed_seconds": 0.12, + "last_output": "--- PASS: TestDryRun_Integration_StoreMemory_ZeroSideEffects (0.12s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEC_F1_HandleRecallSearch_FlagOff_BackwardCompat_T007", + "outcome": "pass", + "elapsed_seconds": 0.12, + "last_output": "--- PASS: TestEC_F1_HandleRecallSearch_FlagOff_BackwardCompat_T007 (0.12s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEC_F1_TagDerivedBackfill_T007", + "outcome": "pass", + "elapsed_seconds": 0.15, + "last_output": "--- PASS: TestEC_F1_TagDerivedBackfill_T007 (0.15s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEditMemory_AuditSourceSessionIDEmptyWhenNoSession", + "outcome": "pass", + "elapsed_seconds": 0.01, + "last_output": "--- PASS: TestEditMemory_AuditSourceSessionIDEmptyWhenNoSession (0.01s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEditMemory_AuditSourceSessionIDFromContext", + "outcome": "pass", + "elapsed_seconds": 0.01, + "last_output": "--- PASS: TestEditMemory_AuditSourceSessionIDFromContext (0.01s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEditMemory_CrossProjectAllowedWhenEnforcementOff", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestEditMemory_CrossProjectAllowedWhenEnforcementOff (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEditMemory_CrossProjectDenied", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestEditMemory_CrossProjectDenied (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEditMemory_DomainOwnedCrossPrincipalDenied", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestEditMemory_DomainOwnedCrossPrincipalDenied (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEditMemory_EmptyProjectContextDeniedWhenEnforced", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestEditMemory_EmptyProjectContextDeniedWhenEnforced (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEditMemory_HardLimitRejected", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestEditMemory_HardLimitRejected (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEditMemory_SameProjectAllowed", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestEditMemory_SameProjectAllowed (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEditMemory_SecretRedacted", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestEditMemory_SecretRedacted (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEditMemory_SoftLimitTruncates", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestEditMemory_SoftLimitTruncates (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEditMemory_TagsAbsent_KeepsExisting", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestEditMemory_TagsAbsent_KeepsExisting (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEditMemory_TagsExplicitEmpty_ClearsTags", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestEditMemory_TagsExplicitEmpty_ClearsTags (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEditMemory_TagsNonEmpty_ReplacesTags", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestEditMemory_TagsNonEmpty_ReplacesTags (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestError_Marshal_Table", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestError_Marshal_Table (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestError_Marshal_Table/method_not_found", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestError_Marshal_Table/method_not_found (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestError_Marshal_Table/nil_data_omitted", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestError_Marshal_Table/nil_data_omitted (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestError_Marshal_Table/parse_error", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestError_Marshal_Table/parse_error (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestError_Marshal_Table/with_data", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestError_Marshal_Table/with_data (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestError_NilData_NotInOutput", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestError_NilData_NotInOutput (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestExperienceHistoryToolsAdvertisedWhenProviderWired", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestExperienceHistoryToolsAdvertisedWhenProviderWired (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestExtractProjectFromHeader", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestExtractProjectFromHeader (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestExtractProjectFromHeader_Missing", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestExtractProjectFromHeader_Missing (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetAmbientHintsDrainsBoundedSafeHints", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetAmbientHintsDrainsBoundedSafeHints (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/disabled_flag", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/disabled_flag (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/empty_queue", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/empty_queue (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/stale_queue", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/stale_queue (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/master_off_hides_tool", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/master_off_hides_tool (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/master+s3+queue_advertises_tool", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/master+s3+queue_advertises_tool (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/missing_queue_hides_tool", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/missing_queue_hides_tool (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/s3_off_hides_tool", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/s3_off_hides_tool (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetMemoryBrief_PrincipalScopedResponseAndRequest", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetMemoryBrief_PrincipalScopedResponseAndRequest (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetMemoryBrief_PrincipalScopeRequiresQueryService", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetMemoryBrief_PrincipalScopeRequiresQueryService (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetMemoryBrief_PrincipalScopeSchemaAdvertised", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetMemoryBrief_PrincipalScopeSchemaAdvertised (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetMemoryStats_NilDB_NoMemoryOrVnextSections", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetMemoryStats_NilDB_NoMemoryOrVnextSections (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolProjectDoesNotRequirePrincipal", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolProjectDoesNotRequirePrincipal (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolRejectsFilesystemFallbackOption", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolRejectsFilesystemFallbackOption (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolResumeDoesNotInjectContextProjectWhenOmitted", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolResumeDoesNotInjectContextProjectWhenOmitted (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolResumeRejectsAdditionalIdentityMismatches", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolResumeRejectsAdditionalIdentityMismatches (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolResumeRejectsAdditionalIdentityMismatches/goal_mismatch", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolResumeRejectsAdditionalIdentityMismatches/goal_mismatch (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_action_command", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_action_command (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_action_kind", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_action_kind (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_verification_command", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_verification_command (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_verification_kind", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_verification_kind (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolResumeRejectsAdditionalIdentityMismatches/project_mismatch", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolResumeRejectsAdditionalIdentityMismatches/project_mismatch (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolResumeRejectsAdditionalIdentityMismatches/session_mismatch", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolResumeRejectsAdditionalIdentityMismatches/session_mismatch (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolResumeRejectsAdditionalIdentityMismatches/task_mismatch", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolResumeRejectsAdditionalIdentityMismatches/task_mismatch (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolResumeRejectsFallbackMasqueradingAsNative", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolResumeRejectsFallbackMasqueradingAsNative (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolResumeRejectsMissingEvidenceRefs", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolResumeRejectsMissingEvidenceRefs (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolResumeRejectsPacketIdentityMismatch", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolResumeRejectsPacketIdentityMismatch (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolResumeRequiresPrincipal", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolResumeRequiresPrincipal (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolResumeReturnsNativePacket", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolResumeReturnsNativePacket (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolResumeSupportsExplicitProjectOnlyScope", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolResumeSupportsExplicitProjectOnlyScope (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGetStateToolSessionDoesNotRequirePrincipal", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGetStateToolSessionDoesNotRequirePrincipal (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGovernanceTools_AdminGate_NoIdentity", + "outcome": "pass", + "elapsed_seconds": 0.01, + "last_output": "--- PASS: TestGovernanceTools_AdminGate_NoIdentity (0.01s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGovernanceTools_AdminGate_NoIdentity/list_snapshots", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGovernanceTools_AdminGate_NoIdentity/list_snapshots (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGovernanceTools_AdminGate_NoIdentity/pin_snapshot", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGovernanceTools_AdminGate_NoIdentity/pin_snapshot (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGovernanceTools_AdminGate_NoIdentity/redaction_rules_status", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGovernanceTools_AdminGate_NoIdentity/redaction_rules_status (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGovernanceTools_AdminGate_NoIdentity/rollback_snapshot", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGovernanceTools_AdminGate_NoIdentity/rollback_snapshot (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGovernanceTools_AdminGate_ReadOnlyCaller", + "outcome": "pass", + "elapsed_seconds": 0.01, + "last_output": "--- PASS: TestGovernanceTools_AdminGate_ReadOnlyCaller (0.01s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGovernanceTools_ListSnapshotsSchemaIncludesReviewActionOpTypes", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGovernanceTools_ListSnapshotsSchemaIncludesReviewActionOpTypes (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGovernanceTools_NotAdvertisedWhenFlagOff", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGovernanceTools_NotAdvertisedWhenFlagOff (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGovernanceTools_RedactionRulesStatus_NoAdminRequired_WithAdmin", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGovernanceTools_RedactionRulesStatus_NoAdminRequired_WithAdmin (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGraphTool_T014_AddEdgeGuardsOffline", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGraphTool_T014_AddEdgeGuardsOffline (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGraphTool_T014_AddEdgeGuardsOffline/duplicate_edge_rejected_before_create", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGraphTool_T014_AddEdgeGuardsOffline/duplicate_edge_rejected_before_create (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGraphTool_T014_AddEdgeGuardsOffline/memory_orphan_edge_rejected_before_create", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGraphTool_T014_AddEdgeGuardsOffline/memory_orphan_edge_rejected_before_create (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGraphTool_T014_AddEdgeGuardsOffline/orphan_edge_rejected_before_create", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGraphTool_T014_AddEdgeGuardsOffline/orphan_edge_rejected_before_create (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGraphTool_T014_AddEdgeGuardsOffline/valid_edge_creates_exactly_once", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGraphTool_T014_AddEdgeGuardsOffline/valid_edge_creates_exactly_once (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGraphTool_T014_AddNodeAction", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGraphTool_T014_AddNodeAction (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGraphTool_T014_AddNodeOffline", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGraphTool_T014_AddNodeOffline (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGraphTool_T014_AddNodeOffline/empty_external_ref_returns_error", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGraphTool_T014_AddNodeOffline/empty_external_ref_returns_error (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGraphTool_T014_AddNodeOffline/empty_project_returns_error", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGraphTool_T014_AddNodeOffline/empty_project_returns_error (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGraphTool_T014_AddNodeOffline/invalid_node_type_returns_error_containing_invalid_node_type:", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGraphTool_T014_AddNodeOffline/invalid_node_type_returns_error_containing_invalid_node_type: (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGraphTool_T014_AddNodeOffline/valid_input_store_receives_correct_node", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGraphTool_T014_AddNodeOffline/valid_input_store_receives_correct_node (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGraphTool_T014_ArgsShape", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGraphTool_T014_ArgsShape (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGraphTool_T014_GetEdgesNodeTypeFilter", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGraphTool_T014_GetEdgesNodeTypeFilter (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGraphTool_T014_InvalidNodeTypeRejects", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGraphTool_T014_InvalidNodeTypeRejects (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestGraphTool_T014_NodeTypeFilterOffline", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestGraphTool_T014_NodeTypeFilterOffline (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleAnalyzeSearchPatterns_InvalidJSON", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleAnalyzeSearchPatterns_InvalidJSON (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleCheckSystemHealth_NilStores_StructuredResponse", + "outcome": "pass", + "elapsed_seconds": 0.13, + "last_output": "--- PASS: TestHandleCheckSystemHealth_NilStores_StructuredResponse (0.13s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleExperienceHistoryReadRejectsInvalidArchiveTrigger", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleExperienceHistoryReadRejectsInvalidArchiveTrigger (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleExperienceHistoryReadReturnsBlockedApplicabilityEnvelope", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleExperienceHistoryReadReturnsBlockedApplicabilityEnvelope (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleFindSimilarObservations_EmptyResultInV5", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleFindSimilarObservations_EmptyResultInV5 (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleFindSimilarObservations_Validation", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleFindSimilarObservations_Validation (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleGetCandidate_EmptyIDReturnsError", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleGetCandidate_EmptyIDReturnsError (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleGetMemoryStats_NilStores_ValidJSON", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleGetMemoryStats_NilStores_ValidJSON (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleInitialize_CapabilitiesPresent", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleInitialize_CapabilitiesPresent (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleInitialize_IDEchoed", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleInitialize_IDEchoed (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleInitialize_ProtocolAndVersion", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleInitialize_ProtocolAndVersion (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleIssueCloseAcceptsExplicitLegacySourceProject", + "outcome": "pass", + "elapsed_seconds": 0.15, + "last_output": "--- PASS: TestHandleIssueCloseAcceptsExplicitLegacySourceProject (0.15s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleIssueCloseDoesNotLetExplicitDashboardBypassContext", + "outcome": "pass", + "elapsed_seconds": 0.14, + "last_output": "--- PASS: TestHandleIssueCloseDoesNotLetExplicitDashboardBypassContext (0.14s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleListCandidates_EmptyProjectReturnsError", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleListCandidates_EmptyProjectReturnsError (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleListCandidates_FlagOffReturnsError", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleListCandidates_FlagOffReturnsError (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleRequest_CapabilityStubs", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleRequest_CapabilityStubs (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleRequest_CapabilityStubs/completion/complete", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleRequest_CapabilityStubs/completion/complete (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleRequest_CapabilityStubs/prompts/list", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleRequest_CapabilityStubs/prompts/list (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleRequest_CapabilityStubs/resources/list", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleRequest_CapabilityStubs/resources/list (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleRequest_CapabilityStubs/resources/templates/list", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleRequest_CapabilityStubs/resources/templates/list (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleRequest_GetAmbientHintsDispatchesThroughToolsCall", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleRequest_GetAmbientHintsDispatchesThroughToolsCall (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleRequest_GetAmbientHintsUnknownToolRegressionGuard", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleRequest_GetAmbientHintsUnknownToolRegressionGuard (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleRequest_InitializeRoute", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleRequest_InitializeRoute (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleRequest_NotificationReturnsNil", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleRequest_NotificationReturnsNil (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleRequest_ToolsListRoute", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleRequest_ToolsListRoute (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleRequest_UnknownMethodError", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleRequest_UnknownMethodError (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleReviewPacketPreviewAction_UnsupportedActionRejectedBeforeStoreMutation", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleReviewPacketPreviewAction_UnsupportedActionRejectedBeforeStoreMutation (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleReviewQueueRead_LimitOverMaxReturnsError", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleReviewQueueRead_LimitOverMaxReturnsError (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleReviewQueueRead_RiskyOnlyKeepsUnfilteredMetricsAndBacklog", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleReviewQueueRead_RiskyOnlyKeepsUnfilteredMetricsAndBacklog (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleReviewQueueRead_UnsupportedPacketTypeReturnsGatedPayload", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleReviewQueueRead_UnsupportedPacketTypeReturnsGatedPayload (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleTemporalTruthRefreshRequiresProject", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleTemporalTruthRefreshRequiresProject (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleTemporalTruthRefreshReturnsAdmissionResult", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleTemporalTruthRefreshReturnsAdmissionResult (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleTemporalTruthRejectsInvalidAsOf", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleTemporalTruthRejectsInvalidAsOf (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleTemporalTruthRequiresProject", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleTemporalTruthRequiresProject (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleTemporalTruthRequiresProject/blank_project", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleTemporalTruthRequiresProject/blank_project (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleTemporalTruthRequiresProject/missing_project", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleTemporalTruthRequiresProject/missing_project (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleTemporalTruthReturnsBoundedResponse", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleTemporalTruthReturnsBoundedResponse (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleToolsCall_EmptyParams", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleToolsCall_EmptyParams (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleToolsCall_InvalidParamsJSON", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleToolsCall_InvalidParamsJSON (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleToolsCall_UnknownTool", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleToolsCall_UnknownTool (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleToolsList_AllToolSchemasHaveTypeAndProperties", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleToolsList_AllToolSchemasHaveTypeAndProperties (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleToolsList_DefaultCountMatchesPrimary", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleToolsList_DefaultCountMatchesPrimary (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleToolsList_FeedbackSchemaCorrect", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleToolsList_FeedbackSchemaCorrect (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleToolsList_IncludeAllContainsLegacy", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleToolsList_IncludeAllContainsLegacy (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleToolsList_IncludeAllReturnsMore", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleToolsList_IncludeAllReturnsMore (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleToolsList_PrimaryToolsPresent", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleToolsList_PrimaryToolsPresent (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleToolsList_RemovedToolsAbsent", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleToolsList_RemovedToolsAbsent (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleToolsList_SchemaCompliance_NoForbiddenTopLevelKeys", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleToolsList_SchemaCompliance_NoForbiddenTopLevelKeys (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHandleToolsList_StoreTypeEnumCorrect", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHandleToolsList_StoreTypeEnumCorrect (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHybridTG3_ConfidenceMin_FloorEnforced_T022", + "outcome": "fail", + "elapsed_seconds": 0.14, + "last_output": "--- FAIL: TestHybridTG3_ConfidenceMin_FloorEnforced_T022 (0.14s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHybridTG3_IncludeSuperseded_False_NoError_T022c", + "outcome": "pass", + "elapsed_seconds": 0.12, + "last_output": "--- PASS: TestHybridTG3_IncludeSuperseded_False_NoError_T022c (0.12s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestHybridTG3_IncludeSuperseded_StructuredError_T022b", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestHybridTG3_IncludeSuperseded_StructuredError_T022b (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestIsSecretSettingKey", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestIsSecretSettingKey (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestJSONRPCErrorCodes_Table", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestJSONRPCErrorCodes_Table (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestJSONRPCErrorCodes_Table/Internal_error", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestJSONRPCErrorCodes_Table/Internal_error (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestJSONRPCErrorCodes_Table/Invalid_params", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestJSONRPCErrorCodes_Table/Invalid_params (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestJSONRPCErrorCodes_Table/Invalid_Request", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestJSONRPCErrorCodes_Table/Invalid_Request (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestJSONRPCErrorCodes_Table/Method_not_found", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestJSONRPCErrorCodes_Table/Method_not_found (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestJSONRPCErrorCodes_Table/Parse_error", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestJSONRPCErrorCodes_Table/Parse_error (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestKnowAbout_T005_ContextProjectFallbackAndLimitClamp", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestKnowAbout_T005_ContextProjectFallbackAndLimitClamp (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestKnowAbout_T005_DisabledS2NotAdvertised", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestKnowAbout_T005_DisabledS2NotAdvertised (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestKnowAbout_T005_IndexErrorsSurfaceAsToolErrors", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestKnowAbout_T005_IndexErrorsSurfaceAsToolErrors (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestKnowAbout_T005_JSONNeverContainsContentKeysOrMemoryBodies", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestKnowAbout_T005_JSONNeverContainsContentKeysOrMemoryBodies (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestKnowAbout_T005_MissingTopicReturnsEmptyIndexPacket", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestKnowAbout_T005_MissingTopicReturnsEmptyIndexPacket (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestKnowAbout_T005_PopulatedTopicReturnsContentFreeIndexHits", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestKnowAbout_T005_PopulatedTopicReturnsContentFreeIndexHits (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestKnowAbout_T005_ProjectFallbackFailureRequiresProjectScope", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestKnowAbout_T005_ProjectFallbackFailureRequiresProjectScope (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestKnowAbout_T005_RealStoreCanonicalShapeAndMissingTopicEmptyPacket", + "outcome": "pass", + "elapsed_seconds": 0.14, + "last_output": "--- PASS: TestKnowAbout_T005_RealStoreCanonicalShapeAndMissingTopicEmptyPacket (0.14s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestKnowAbout_T005_RequiresPrincipalScopedIdentity", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestKnowAbout_T005_RequiresPrincipalScopedIdentity (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestKnowAbout_T005_RequiresPrincipalScopedIdentity/legacy_client_keycard_without_principal_is_rejected", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestKnowAbout_T005_RequiresPrincipalScopedIdentity/legacy_client_keycard_without_principal_is_rejected (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestKnowAbout_T005_RequiresPrincipalScopedIdentity/master_token_without_principal_is_rejected", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestKnowAbout_T005_RequiresPrincipalScopedIdentity/master_token_without_principal_is_rejected (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/master_and_s2_enabled_advertises_know_about", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/master_and_s2_enabled_advertises_know_about (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/master_disabled_suppresses_know_about_even_when_s2_flag_is_set", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/master_disabled_suppresses_know_about_even_when_s2_flag_is_set (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/s2_disabled_suppresses_know_about_even_when_master_is_set", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/s2_disabled_suppresses_know_about_even_when_master_is_set (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestLegacyWriteGateDomainPolicy_DomainOwnedCandidateHidden", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestLegacyWriteGateDomainPolicy_DomainOwnedCandidateHidden (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestMemoryStoreSignificanceUpdaterPersistsChangedFields", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestMemoryStoreSignificanceUpdaterPersistsChangedFields (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestMemoryStoreSignificanceUpdaterPersistsChangedFields/not_useful_persists_beta_and_resets_streak", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestMemoryStoreSignificanceUpdaterPersistsChangedFields/not_useful_persists_beta_and_resets_streak (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestMemoryStoreSignificanceUpdaterPersistsChangedFields/useful_persists_alpha_citation_and_streak", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestMemoryStoreSignificanceUpdaterPersistsChangedFields/useful_persists_alpha_citation_and_streak (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestNewServer_CreatesWithVersion", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestNewServer_CreatesWithVersion (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestNewServer_HasStdinStdout", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestNewServer_HasStdinStdout (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestParseArgs", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestParseArgs (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestParseArgs/empty_bytes", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestParseArgs/empty_bytes (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestParseArgs/empty_object", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestParseArgs/empty_object (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestParseArgs/invalid_json", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestParseArgs/invalid_json (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestParseArgs/nil_args", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestParseArgs/nil_args (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestParseArgs/valid_object", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestParseArgs/valid_object (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestProjectFromContext_Empty", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestProjectFromContext_Empty (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestProjectFromContext_RoundTrip", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestProjectFromContext_RoundTrip (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestPromoteCandidate_DryRun_NilStore", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestPromoteCandidate_DryRun_NilStore (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestQueryPrincipalMemory_ResponseAndValidation", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestQueryPrincipalMemory_ResponseAndValidation (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestQueryPrincipalMemory_ResponseAndValidation/rejects_invalid_principal_kind", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestQueryPrincipalMemory_ResponseAndValidation/rejects_invalid_principal_kind (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestQueryPrincipalMemory_ResponseAndValidation/rejects_non-admin_cross-principal_private_widening", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestQueryPrincipalMemory_ResponseAndValidation/rejects_non-admin_cross-principal_private_widening (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestQueryPrincipalMemory_ResponseAndValidation/rejects_oversized_limit_clearly", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestQueryPrincipalMemory_ResponseAndValidation/rejects_oversized_limit_clearly (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestQueryPrincipalMemory_ResponseAndValidation/returns_attributed_bounded_principal_memory_response", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestQueryPrincipalMemory_ResponseAndValidation/returns_attributed_bounded_principal_memory_response (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestQueryPrincipalMemory_ServiceErrorsPropagate", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestQueryPrincipalMemory_ServiceErrorsPropagate (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestQueryPrincipalMemory_ToolSchemaAdvertised", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestQueryPrincipalMemory_ToolSchemaAdvertised (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled/master_off_s6_on_updater_present", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled/master_off_s6_on_updater_present (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled/master_on_s6_off_updater_present", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled/master_on_s6_off_updater_present (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceLegacyRatePathsRemainUnsupported", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceLegacyRatePathsRemainUnsupported (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceLegacyRatePathsRemainUnsupported/consolidated_feedback_rate_action", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceLegacyRatePathsRemainUnsupported/consolidated_feedback_rate_action (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceLegacyRatePathsRemainUnsupported/legacy_rate_memory_tool", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceLegacyRatePathsRemainUnsupported/legacy_rate_memory_tool (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceMissingUpdaterFailsExplicitly", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceMissingUpdaterFailsExplicitly (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceRejectsInvalidIDWithoutWrite", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceRejectsInvalidIDWithoutWrite (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/missing_id", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/missing_id (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/negative_id", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/negative_id (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/zero_id", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/zero_id (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/empty_rating", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/empty_rating (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/missing_rating", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/missing_rating (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/unknown_rating", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/unknown_rating (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_off_s6_on_updater_present", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_off_s6_on_updater_present (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_off_updater_present", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_off_updater_present (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_on_updater_missing", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_on_updater_missing (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_on_updater_present", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_on_updater_present (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceToolAdvertisedWithDedicatedSchema", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceToolAdvertisedWithDedicatedSchema (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful/not_useful", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful/not_useful (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful/useful", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful/useful (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecall_FlagOFF_TombstoneStrings_Explain", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRecall_FlagOFF_TombstoneStrings_Explain (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecall_FlagOFF_TombstoneStrings_Similar", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRecall_FlagOFF_TombstoneStrings_Similar (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecall_PrincipalPrivateInvisibleNewestDoNotTruncate_FlagOff", + "outcome": "pass", + "elapsed_seconds": 0.14, + "last_output": "--- PASS: TestRecall_PrincipalPrivateInvisibleNewestDoNotTruncate_FlagOff (0.14s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecall_ScopeInvisibleNewestDoNotTruncate_CodexP1Cycle3", + "outcome": "pass", + "elapsed_seconds": 0.15, + "last_output": "--- PASS: TestRecall_ScopeInvisibleNewestDoNotTruncate_CodexP1Cycle3 (0.15s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b", + "outcome": "pass", + "elapsed_seconds": 3.77, + "last_output": "--- PASS: TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b (3.77s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/runtime_zero_tg3_params_vnext_f_on_vnext_off_no_rationale", + "outcome": "pass", + "elapsed_seconds": 3.76, + "last_output": "--- PASS: TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/runtime_zero_tg3_params_vnext_f_on_vnext_off_no_rationale (3.76s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/schema_with_vnext_f_on_and_vnext_off_zero_tg3_params", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/schema_with_vnext_f_on_and_vnext_off_zero_tg3_params (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemory_CompatV3_ZeroFlagsShape_T021", + "outcome": "pass", + "elapsed_seconds": 0.14, + "last_output": "--- PASS: TestRecallMemory_CompatV3_ZeroFlagsShape_T021 (0.14s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemory_CompatV3_ZeroFlagsShape_T021/runtime_no_ranking_rationale_key_when_flags_at_default", + "outcome": "pass", + "elapsed_seconds": 0.14, + "last_output": "--- PASS: TestRecallMemory_CompatV3_ZeroFlagsShape_T021/runtime_no_ranking_rationale_key_when_flags_at_default (0.14s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemory_CompatV3_ZeroFlagsShape_T021/schema_unconditional_tg3_params_present", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRecallMemory_CompatV3_ZeroFlagsShape_T021/schema_unconditional_tg3_params_present (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemory_DomainOwnedInvisibleNewestDoNotTruncate_FlagOff", + "outcome": "pass", + "elapsed_seconds": 0.14, + "last_output": "--- PASS: TestRecallMemory_DomainOwnedInvisibleNewestDoNotTruncate_FlagOff (0.14s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemory_FlagMatrix_BothEnabled_SchemaCombinesParams", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRecallMemory_FlagMatrix_BothEnabled_SchemaCombinesParams (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemory_FlagMatrix_FEnabled_SchemaHasScopeParams", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRecallMemory_FlagMatrix_FEnabled_SchemaHasScopeParams (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemory_FlagOFF_BehaviorIdentity", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRecallMemory_FlagOFF_BehaviorIdentity (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemory_FlagOFF_SchemaNoVnextParams", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRecallMemory_FlagOFF_SchemaNoVnextParams (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemory_FlagON_SchemaHasVnextParams", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRecallMemory_FlagON_SchemaHasVnextParams (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemory_IncludeSupersededFlagOffIgnoredInHybrid", + "outcome": "pass", + "elapsed_seconds": 0.12, + "last_output": "--- PASS: TestRecallMemory_IncludeSupersededFlagOffIgnoredInHybrid (0.12s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemory_InvalidIncludeScopes_StructuredError", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRecallMemory_InvalidIncludeScopes_StructuredError (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemory_PrincipalPrivateInvisibleAndSharedAttributed_FlagOff", + "outcome": "pass", + "elapsed_seconds": 0.13, + "last_output": "--- PASS: TestRecallMemory_PrincipalPrivateInvisibleAndSharedAttributed_FlagOff (0.13s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemory_TG3IncludeSupersededLegacyPath", + "outcome": "pass", + "elapsed_seconds": 0.14, + "last_output": "--- PASS: TestRecallMemory_TG3IncludeSupersededLegacyPath (0.14s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemoryDomainPolicy_DomainOwnedRowHiddenFromMismatchedPrincipal", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRecallMemoryDomainPolicy_DomainOwnedRowHiddenFromMismatchedPrincipal (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemoryDomainPolicy_DomainOwnedRowVisibleToOwner", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRecallMemoryDomainPolicy_DomainOwnedRowVisibleToOwner (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemoryIncludePrincipals_SchemaAdvertised", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRecallMemoryIncludePrincipals_SchemaAdvertised (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemoryIncludePrincipals_ValidationAndPrivacy", + "outcome": "pass", + "elapsed_seconds": 0.92, + "last_output": "--- PASS: TestRecallMemoryIncludePrincipals_ValidationAndPrivacy (0.92s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/admin_cross-private_include_reapplies_recall_filters", + "outcome": "pass", + "elapsed_seconds": 0.17, + "last_output": "--- PASS: TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/admin_cross-private_include_reapplies_recall_filters (0.17s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/admin_cross-private_include_writes_durable_audit_before_returning_private_row", + "outcome": "pass", + "elapsed_seconds": 0.15, + "last_output": "--- PASS: TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/admin_cross-private_include_writes_durable_audit_before_returning_private_row (0.15s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/empty_include_list_is_treated_as_absent", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/empty_include_list_is_treated_as_absent (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/non-admin_cross-principal_include_appends_shared_rows", + "outcome": "pass", + "elapsed_seconds": 0.13, + "last_output": "--- PASS: TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/non-admin_cross-principal_include_appends_shared_rows (0.13s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/non-admin_cross-principal_include_skips_private_rows", + "outcome": "pass", + "elapsed_seconds": 0.13, + "last_output": "--- PASS: TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/non-admin_cross-principal_include_skips_private_rows (0.13s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/rejects_blank_and_invalid_principals_clearly", + "outcome": "pass", + "elapsed_seconds": 0.11, + "last_output": "--- PASS: TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/rejects_blank_and_invalid_principals_clearly (0.11s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/rejects_duplicate_principals", + "outcome": "pass", + "elapsed_seconds": 0.12, + "last_output": "--- PASS: TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/rejects_duplicate_principals (0.12s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/self_include_is_allowed_and_deduplicated", + "outcome": "pass", + "elapsed_seconds": 0.12, + "last_output": "--- PASS: TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/self_include_is_allowed_and_deduplicated (0.12s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemoryPrincipalDefault_OwnSharedLegacyVisibleOtherPrivateHidden", + "outcome": "pass", + "elapsed_seconds": 0.15, + "last_output": "--- PASS: TestRecallMemoryPrincipalDefault_OwnSharedLegacyVisibleOtherPrivateHidden (0.15s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemoryTierFilter_FlagOff_SchemaAbsent_B4", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRecallMemoryTierFilter_FlagOff_SchemaAbsent_B4 (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemoryTierFilter_InvalidTier_B4", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRecallMemoryTierFilter_InvalidTier_B4 (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemoryToolSchema_B4_HasTierFilter", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRecallMemoryToolSchema_B4_HasTierFilter (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRecallMemoryToolSchema_T005", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRecallMemoryToolSchema_T005 (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRememberDirectiveDirectCallDelegatesContextAndReturnsSanitizedRecord", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRememberDirectiveDirectCallDelegatesContextAndReturnsSanitizedRecord (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRememberDirectiveDirectCallFailsClosedBeforeDelegation", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRememberDirectiveDirectCallFailsClosedBeforeDelegation (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/flag_disabled", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/flag_disabled (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/master_flag_disabled_even_if_s4a_flag_is_enabled", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/master_flag_disabled_even_if_s4a_flag_is_enabled (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/project_context_missing", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/project_context_missing (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/service_missing", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/service_missing (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/session_context_missing", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/session_context_missing (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_flag_disabled_even_with_service", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_flag_disabled_even_with_service (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_master_flag_disabled_even_if_s4a_flag_and_service_are_present", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_master_flag_disabled_even_if_s4a_flag_and_service_are_present (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_service_is_missing_even_with_flag_enabled", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_service_is_missing_even_with_flag_enabled (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/advertised_with_bounded_input_schema_when_flag_and_service_are_present", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/advertised_with_bounded_input_schema_when_flag_and_service_are_present (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRequest_Marshal_Table", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRequest_Marshal_Table (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRequest_Marshal_Table/initialize", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRequest_Marshal_Table/initialize (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRequest_Marshal_Table/null_id", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRequest_Marshal_Table/null_id (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRequest_Marshal_Table/string_id", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRequest_Marshal_Table/string_id (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRequest_Marshal_Table/with_params", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRequest_Marshal_Table/with_params (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRequest_Unmarshal_NullID", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRequest_Unmarshal_NullID (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRequest_Unmarshal_RoundTrip", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRequest_Unmarshal_RoundTrip (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRequireAdmin", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRequireAdmin (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRequireCandidateReviewSnapshotAllowsNonNil", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRequireCandidateReviewSnapshotAllowsNonNil (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRequireCandidateReviewSnapshotRejectsNil", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRequireCandidateReviewSnapshotRejectsNil (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRequireCandidateReviewSnapshotRejectsNil/reject_candidate", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRequireCandidateReviewSnapshotRejectsNil/reject_candidate (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRequireCandidateReviewSnapshotRejectsNil/supersede_candidate", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRequireCandidateReviewSnapshotRejectsNil/supersede_candidate (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestResponse_Marshal_Table", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestResponse_Marshal_Table (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestResponse_Marshal_Table/error_response", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestResponse_Marshal_Table/error_response (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestResponse_Marshal_Table/error_with_data", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestResponse_Marshal_Table/error_with_data (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestResponse_Marshal_Table/nil_id", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestResponse_Marshal_Table/nil_id (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestResponse_Marshal_Table/success_result", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestResponse_Marshal_Table/success_result (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRI_F2_DualFieldResponse_FlagOff_LegacyOnly_T008", + "outcome": "pass", + "elapsed_seconds": 0.13, + "last_output": "--- PASS: TestRI_F2_DualFieldResponse_FlagOff_LegacyOnly_T008 (0.13s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRI_F2_DualFieldResponse_FlagOn_T008", + "outcome": "pass", + "elapsed_seconds": 0.13, + "last_output": "--- PASS: TestRI_F2_DualFieldResponse_FlagOn_T008 (0.13s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRI_F2_DualFieldResponse_FlagOn_T008/explicit_privacy_scope=shared_overrides_legacy", + "outcome": "pass", + "elapsed_seconds": 0.01, + "last_output": "--- PASS: TestRI_F2_DualFieldResponse_FlagOn_T008/explicit_privacy_scope=shared_overrides_legacy (0.01s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRI_F2_DualFieldResponse_FlagOn_T008/legacy_scope=global,_no_privacy_scope_->_dual_global", + "outcome": "pass", + "elapsed_seconds": 0.01, + "last_output": "--- PASS: TestRI_F2_DualFieldResponse_FlagOn_T008/legacy_scope=global,_no_privacy_scope_->_dual_global (0.01s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRI_F2_DualFieldResponse_FlagOn_T008/legacy_scope=project,_no_privacy_scope_->_dual_project", + "outcome": "pass", + "elapsed_seconds": 0.01, + "last_output": "--- PASS: TestRI_F2_DualFieldResponse_FlagOn_T008/legacy_scope=project,_no_privacy_scope_->_dual_project (0.01s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRI_F2_InvalidPrivacyScope_StillStructuredErrorUnderFlagOn_T008", + "outcome": "pass", + "elapsed_seconds": 0.12, + "last_output": "--- PASS: TestRI_F2_InvalidPrivacyScope_StillStructuredErrorUnderFlagOn_T008 (0.12s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRuleGovernanceHealthReadOnlyCallerGetsNoData", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRuleGovernanceHealthReadOnlyCallerGetsNoData (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRuleGovernanceMutationToolsRequireAdmin", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRuleGovernanceMutationToolsRequireAdmin (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRuleGovernancePinSnapshotAndRollbackUseRuleGovernanceSnapshots", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRuleGovernancePinSnapshotAndRollbackUseRuleGovernanceSnapshots (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRuleGovernanceQueueAndSnapshotsReadModels", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRuleGovernanceQueueAndSnapshotsReadModels (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRuleGovernanceReadToolsAdvertisedWhenStoresWired", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRuleGovernanceReadToolsAdvertisedWhenStoresWired (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRuleGovernanceReadToolsHiddenWhenStoreMissing", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRuleGovernanceReadToolsHiddenWhenStoreMissing (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRuleGovernanceReadToolsNilStoreErrors", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRuleGovernanceReadToolsNilStoreErrors (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRuleGovernanceReadToolsRejectZeroIdentity", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRuleGovernanceReadToolsRejectZeroIdentity (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRuleGovernanceReadToolsRequireIdentityWhenAuthEnabled", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRuleGovernanceReadToolsRequireIdentityWhenAuthEnabled (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRuleGovernanceReadToolsRequireProjectForNonAdminAllProjectReads", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRuleGovernanceReadToolsRequireProjectForNonAdminAllProjectReads (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRuleGovernanceRollbackReturnsStructuredConflictResult", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRuleGovernanceRollbackReturnsStructuredConflictResult (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRuleGovernanceTransitionToolUsesStateMachineStore", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRuleGovernanceTransitionToolUsesStateMachineStore (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRuleGovernanceUsefulnessNoDataAndProjectGuard", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRuleGovernanceUsefulnessNoDataAndProjectGuard (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRun_EmptyLinesSkipped", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRun_EmptyLinesSkipped (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRun_MixedValidAndInvalid", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRun_MixedValidAndInvalid (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRun_MultipleRequests", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRun_MultipleRequests (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRun_NotificationNoResponse", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRun_NotificationNoResponse (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRun_ParseError", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRun_ParseError (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRun_ValidInitialize", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestRun_ValidInitialize (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRunAuditAsync_ErrorLogged", + "outcome": "pass", + "elapsed_seconds": 0.05, + "last_output": "--- PASS: TestRunAuditAsync_ErrorLogged (0.05s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestRunAuditAsync_PanicRecovered", + "outcome": "pass", + "elapsed_seconds": 0.05, + "last_output": "--- PASS: TestRunAuditAsync_PanicRecovered (0.05s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestSanitizeToolCallArgs_OtherToolsStillRedactSecrets", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestSanitizeToolCallArgs_OtherToolsStillRedactSecrets (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestSanitizeToolCallArgs_RememberDirectiveRedactsRawLogArguments", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestSanitizeToolCallArgs_RememberDirectiveRedactsRawLogArguments (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestSendError_OutputShape", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestSendError_OutputShape (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestSendResponse_ContainsJSONRPC", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestSendResponse_ContainsJSONRPC (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestSendResponse_ErrorResponse", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestSendResponse_ErrorResponse (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestSendResponse_NilID", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestSendResponse_NilID (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestSendResponse_VariousIDTypes", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestSendResponse_VariousIDTypes (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestServer_FieldsInjected", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestServer_FieldsInjected (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestServerSetAuditStoreAssignsField", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestServerSetAuditStoreAssignsField (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestSetStateThenGetStateResumeUsesServerCallPath", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestSetStateThenGetStateResumeUsesServerCallPath (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestSetStateToolRejectsNonAgentProjectWriter", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestSetStateToolRejectsNonAgentProjectWriter (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestSetStateToolRejectsNonObjectSessionSlots", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestSetStateToolRejectsNonObjectSessionSlots (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestSetStateToolRejectsSessionPayloadOver32KB", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestSetStateToolRejectsSessionPayloadOver32KB (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestSetStateToolWritesNativeSessionAndProjectState", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestSetStateToolWritesNativeSessionAndProjectState (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestSettings_DeleteRequiresAdmin", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestSettings_DeleteRequiresAdmin (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestSettings_SetMissingArgs", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestSettings_SetMissingArgs (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestSettings_SetRequiresAdmin", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestSettings_SetRequiresAdmin (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestSettings_UnknownAction", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestSettings_UnknownAction (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStateToolsAdvertisedOnlyWhenNativeStoreIsReachable", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestStateToolsAdvertisedOnlyWhenNativeStoreIsReachable (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemory_DryRun_NilStore", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestStoreMemory_DryRun_NilStore (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemory_DryRun_RequiresContent", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestStoreMemory_DryRun_RequiresContent (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemory_InvalidPrivacyScope_StructuredError", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestStoreMemory_InvalidPrivacyScope_StructuredError (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemory_PrincipalOwnerDerivedFromIdentity", + "outcome": "pass", + "elapsed_seconds": 0.12, + "last_output": "--- PASS: TestStoreMemory_PrincipalOwnerDerivedFromIdentity (0.12s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemoryAlwaysInject_FlagOffDoesNotUseRuleGovernance", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestStoreMemoryAlwaysInject_FlagOffDoesNotUseRuleGovernance (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemoryAlwaysInject_GovernanceFlagCreatesRuleCandidate", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestStoreMemoryAlwaysInject_GovernanceFlagCreatesRuleCandidate (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemoryDomainPolicy_EmptyDomainLegacyCompatible", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestStoreMemoryDomainPolicy_EmptyDomainLegacyCompatible (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemoryDomainPolicy_NonEmptyDomainAllowsPrincipalIdentity", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestStoreMemoryDomainPolicy_NonEmptyDomainAllowsPrincipalIdentity (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemoryDomainPolicy_NonEmptyDomainRejectsInvalidPrincipalKind", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestStoreMemoryDomainPolicy_NonEmptyDomainRejectsInvalidPrincipalKind (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemoryDomainPolicy_NonEmptyDomainRequiresPrincipal", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestStoreMemoryDomainPolicy_NonEmptyDomainRequiresPrincipal (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemoryDomainRegistry_AuditFailureBlocksBeforePersistence", + "outcome": "pass", + "elapsed_seconds": 0.11, + "last_output": "--- PASS: TestStoreMemoryDomainRegistry_AuditFailureBlocksBeforePersistence (0.11s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemoryDomainRegistry_InvalidWriterKindRejectsBeforePersistence", + "outcome": "pass", + "elapsed_seconds": 0.12, + "last_output": "--- PASS: TestStoreMemoryDomainRegistry_InvalidWriterKindRejectsBeforePersistence (0.12s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemoryDomainRegistry_RejectionRunsBeforeSupersedeMutation", + "outcome": "pass", + "elapsed_seconds": 0.15, + "last_output": "--- PASS: TestStoreMemoryDomainRegistry_RejectionRunsBeforeSupersedeMutation (0.15s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility", + "outcome": "pass", + "elapsed_seconds": 0.2, + "last_output": "--- PASS: TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility (0.20s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/missing_row_preserves_current_behavior", + "outcome": "pass", + "elapsed_seconds": 0.01, + "last_output": "--- PASS: TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/missing_row_preserves_current_behavior (0.01s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/off_allows_cross_owner", + "outcome": "pass", + "elapsed_seconds": 0.02, + "last_output": "--- PASS: TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/off_allows_cross_owner (0.02s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/reject_denies_before_persistence", + "outcome": "pass", + "elapsed_seconds": 0.01, + "last_output": "--- PASS: TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/reject_denies_before_persistence (0.01s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/same_owner_allows_without_warning", + "outcome": "pass", + "elapsed_seconds": 0.01, + "last_output": "--- PASS: TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/same_owner_allows_without_warning (0.01s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/warn_allows_with_structured_warning", + "outcome": "pass", + "elapsed_seconds": 0.02, + "last_output": "--- PASS: TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/warn_allows_with_structured_warning (0.02s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemoryDryRunValidatesPrincipalMetadata", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestStoreMemoryDryRunValidatesPrincipalMetadata (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemoryToolSchema_FlagOff_HasNewProperties_ButRuntimeIgnores", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestStoreMemoryToolSchema_FlagOff_HasNewProperties_ButRuntimeIgnores (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreMemoryToolSchema_T005", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestStoreMemoryToolSchema_T005 (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreRule_FlagOffDoesNotUseRuleGovernance", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestStoreRule_FlagOffDoesNotUseRuleGovernance (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreRule_GovernanceFlagCreatesRuleCandidate", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestStoreRule_GovernanceFlagCreatesRuleCandidate (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreRule_GovernanceFlagPreservesGlobalIntentWithContextProject", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestStoreRule_GovernanceFlagPreservesGlobalIntentWithContextProject (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestStoreRule_GovernanceFlagRedactsCandidateContent", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestStoreRule_GovernanceFlagRedactsCandidateContent (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestTemporalTruthDirectCallFailsClosedWhenFeatureGateUnsatisfied", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestTemporalTruthDirectCallFailsClosedWhenFeatureGateUnsatisfied (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestTemporalTruthRefreshDirectCallFailsClosedWhenFeatureGateUnsatisfied", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestTemporalTruthRefreshDirectCallFailsClosedWhenFeatureGateUnsatisfied (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestTemporalTruthRefreshToolAdvertisedWhenProviderWiredAndFlagOn", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestTemporalTruthRefreshToolAdvertisedWhenProviderWiredAndFlagOn (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestTemporalTruthToolAdvertisedWhenProviderWiredAndFlagOn", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestTemporalTruthToolAdvertisedWhenProviderWiredAndFlagOn (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestTemporalTruthToolsAbsentWhenFlagOff", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestTemporalTruthToolsAbsentWhenFlagOff (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestTierConstants", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestTierConstants (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestTimelineParams_AllFields", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestTimelineParams_AllFields (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestTimelineParams_Unmarshal_Table", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestTimelineParams_Unmarshal_Table (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestTimelineParams_Unmarshal_Table/anchor_id", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestTimelineParams_Unmarshal_Table/anchor_id (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestTimelineParams_Unmarshal_Table/empty_object_valid", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestTimelineParams_Unmarshal_Table/empty_object_valid (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestTimelineParams_Unmarshal_Table/invalid_json", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestTimelineParams_Unmarshal_Table/invalid_json (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestTimelineParams_Unmarshal_Table/query_only", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestTimelineParams_Unmarshal_Table/query_only (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestTool_Marshal_RoundTrip", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestTool_Marshal_RoundTrip (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestToolCallParams_ComplexArgs", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestToolCallParams_ComplexArgs (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestToolCallParams_Unmarshal", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestToolCallParams_Unmarshal (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestToolCallParams_Unmarshal/no-args", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestToolCallParams_Unmarshal/no-args (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestToolCallParams_Unmarshal/recall", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestToolCallParams_Unmarshal/recall (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestToolCallParams_Unmarshal/store", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestToolCallParams_Unmarshal/store (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestVersion_ReturnsVersion", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestVersion_ReturnsVersion (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWiring_BothToolsOff_FlagsUnset", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWiring_BothToolsOff_FlagsUnset (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWiring_GraphTool_AbsentWhenFlagOff", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWiring_GraphTool_AbsentWhenFlagOff (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWiring_GraphTool_AbsentWhenStoreNil", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWiring_GraphTool_AbsentWhenStoreNil (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWiring_GraphTool_AppearsWhenStoreSetAndFlagOn", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWiring_GraphTool_AppearsWhenStoreSetAndFlagOn (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWiring_LifecycleTool_AbsentWhenFlagOff", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWiring_LifecycleTool_AbsentWhenFlagOff (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWiring_LifecycleTool_AbsentWhenStoresNil", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWiring_LifecycleTool_AbsentWhenStoresNil (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWiring_LifecycleTool_AppearsWhenStoresSetAndFlagOn", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWiring_LifecycleTool_AppearsWhenStoresSetAndFlagOn (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWriteLint_DomainOwnedCandidateHiddenWithOrchestratorStoreFallback", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWriteLint_DomainOwnedCandidateHiddenWithOrchestratorStoreFallback (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWriteLint_DomainOwnedTargetHiddenWithOrchestratorStoreFallback", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWriteLint_DomainOwnedTargetHiddenWithOrchestratorStoreFallback (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWriteLint_PrincipalPrivateCandidatesHiddenFromPhase1", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWriteLint_PrincipalPrivateCandidatesHiddenFromPhase1 (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWriteLint_PrincipalPrivateTargetHiddenFromPhase2", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWriteLint_PrincipalPrivateTargetHiddenFromPhase2 (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWriteLint_T035_FlagOff_LegacyPath", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWriteLint_T035_FlagOff_LegacyPath (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWriteLint_T035_ForceBypass", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWriteLint_T035_ForceBypass (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWriteLint_T035_Phase1_NoSignal_Stored", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWriteLint_T035_Phase1_NoSignal_Stored (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWriteLint_T035_Phase1_SignalsReturned", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWriteLint_T035_Phase1_SignalsReturned (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWriteLint_T035_Phase2_MergeWith", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWriteLint_T035_Phase2_MergeWith (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWriteLint_T035_PrivateScope_NoWorkstation_Rejected", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWriteLint_T035_PrivateScope_NoWorkstation_Rejected (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWriteLint_T035_PrivateScope_WithWorkstation_Allowed", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWriteLint_T035_PrivateScope_WithWorkstation_Allowed (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWriteLint_T035_TokenExpired", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWriteLint_T035_TokenExpired (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWriteLintDomainPolicy_DomainOwnedCandidateHidden", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWriteLintDomainPolicy_DomainOwnedCandidateHidden (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestWriteLintDomainPolicy_DomainOwnedTargetHidden", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestWriteLintDomainPolicy_DomainOwnedTargetHidden (0.00s)", + "skip_allowed": false + } + ], + "unexpected_skips": [], + "errors": [] +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/go-test.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/go-test.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/go-test.stdout.jsonl b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/go-test.stdout.jsonl new file mode 100644 index 00000000..8be7e4e0 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/go-test.stdout.jsonl @@ -0,0 +1,2446 @@ +{"Time":"2026-07-11T04:02:05.1463625+03:00","Action":"start","Package":"github.com/thebtf/engram/internal/mcp"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs","Output":"=== RUN TestParseArgs\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/nil_args"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/nil_args","Output":"=== RUN TestParseArgs/nil_args\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/nil_args","Output":"--- PASS: TestParseArgs/nil_args (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/nil_args","Elapsed":0} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/empty_bytes"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/empty_bytes","Output":"=== RUN TestParseArgs/empty_bytes\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/empty_bytes","Output":"--- PASS: TestParseArgs/empty_bytes (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/empty_bytes","Elapsed":0} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/empty_object"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/empty_object","Output":"=== RUN TestParseArgs/empty_object\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/empty_object","Output":"--- PASS: TestParseArgs/empty_object (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/empty_object","Elapsed":0} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/valid_object"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/valid_object","Output":"=== RUN TestParseArgs/valid_object\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/valid_object","Output":"--- PASS: TestParseArgs/valid_object (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/valid_object","Elapsed":0} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/invalid_json"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/invalid_json","Output":"=== RUN TestParseArgs/invalid_json\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/invalid_json","Output":"--- PASS: TestParseArgs/invalid_json (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs/invalid_json","Elapsed":0} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs","Output":"--- PASS: TestParseArgs (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestParseArgs","Elapsed":0} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString","Output":"=== RUN TestCoerceString\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/nil"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/nil","Output":"=== RUN TestCoerceString/nil\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/nil","Output":"--- PASS: TestCoerceString/nil (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/nil","Elapsed":0} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/string"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/string","Output":"=== RUN TestCoerceString/string\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/string","Output":"--- PASS: TestCoerceString/string (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/string","Elapsed":0} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/float64"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/float64","Output":"=== RUN TestCoerceString/float64\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/float64","Output":"--- PASS: TestCoerceString/float64 (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/float64","Elapsed":0} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/bool"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/bool","Output":"=== RUN TestCoerceString/bool\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/bool","Output":"--- PASS: TestCoerceString/bool (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/bool","Elapsed":0} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/json.Number"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/json.Number","Output":"=== RUN TestCoerceString/json.Number\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/json.Number","Output":"--- PASS: TestCoerceString/json.Number (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/json.Number","Elapsed":0} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/wrong_type"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/wrong_type","Output":"=== RUN TestCoerceString/wrong_type\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/wrong_type","Output":"--- PASS: TestCoerceString/wrong_type (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString/wrong_type","Elapsed":0} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString","Output":"--- PASS: TestCoerceString (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceString","Elapsed":0} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt","Output":"=== RUN TestCoerceInt\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/nil"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/nil","Output":"=== RUN TestCoerceInt/nil\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/nil","Output":"--- PASS: TestCoerceInt/nil (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/nil","Elapsed":0} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/float64"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/float64","Output":"=== RUN TestCoerceInt/float64\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/float64","Output":"--- PASS: TestCoerceInt/float64 (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/float64","Elapsed":0} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/float64_with_decimal"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/float64_with_decimal","Output":"=== RUN TestCoerceInt/float64_with_decimal\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/float64_with_decimal","Output":"--- PASS: TestCoerceInt/float64_with_decimal (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/float64_with_decimal","Elapsed":0} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/string_int"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/string_int","Output":"=== RUN TestCoerceInt/string_int\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/string_int","Output":"--- PASS: TestCoerceInt/string_int (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/string_int","Elapsed":0} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/string_float"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/string_float","Output":"=== RUN TestCoerceInt/string_float\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/string_float","Output":"--- PASS: TestCoerceInt/string_float (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/string_float","Elapsed":0} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/json.Number_int"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/json.Number_int","Output":"=== RUN TestCoerceInt/json.Number_int\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/json.Number_int","Output":"--- PASS: TestCoerceInt/json.Number_int (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/json.Number_int","Elapsed":0} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/json.Number_float"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/json.Number_float","Output":"=== RUN TestCoerceInt/json.Number_float\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/json.Number_float","Output":"--- PASS: TestCoerceInt/json.Number_float (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.2324626+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/json.Number_float","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/string_non-numeric"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/string_non-numeric","Output":"=== RUN TestCoerceInt/string_non-numeric\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/string_non-numeric","Output":"--- PASS: TestCoerceInt/string_non-numeric (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/string_non-numeric","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/bool"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/bool","Output":"=== RUN TestCoerceInt/bool\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/bool","Output":"--- PASS: TestCoerceInt/bool (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/bool","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/negative_float"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/negative_float","Output":"=== RUN TestCoerceInt/negative_float\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/negative_float","Output":"--- PASS: TestCoerceInt/negative_float (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/negative_float","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/zero"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/zero","Output":"=== RUN TestCoerceInt/zero\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/zero","Output":"--- PASS: TestCoerceInt/zero (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/zero","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/overflow_float64"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/overflow_float64","Output":"=== RUN TestCoerceInt/overflow_float64\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/overflow_float64","Output":"--- PASS: TestCoerceInt/overflow_float64 (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/overflow_float64","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/negative_overflow"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/negative_overflow","Output":"=== RUN TestCoerceInt/negative_overflow\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/negative_overflow","Output":"--- PASS: TestCoerceInt/negative_overflow (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/negative_overflow","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/NaN"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/NaN","Output":"=== RUN TestCoerceInt/NaN\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/NaN","Output":"--- PASS: TestCoerceInt/NaN (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/NaN","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/Inf"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/Inf","Output":"=== RUN TestCoerceInt/Inf\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/Inf","Output":"--- PASS: TestCoerceInt/Inf (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt/Inf","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt","Output":"--- PASS: TestCoerceInt (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64","Output":"=== RUN TestCoerceInt64\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/nil"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/nil","Output":"=== RUN TestCoerceInt64/nil\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/nil","Output":"--- PASS: TestCoerceInt64/nil (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/nil","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/float64"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/float64","Output":"=== RUN TestCoerceInt64/float64\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/float64","Output":"--- PASS: TestCoerceInt64/float64 (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/float64","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/string"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/string","Output":"=== RUN TestCoerceInt64/string\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/string","Output":"--- PASS: TestCoerceInt64/string (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/string","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/json.Number"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/json.Number","Output":"=== RUN TestCoerceInt64/json.Number\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/json.Number","Output":"--- PASS: TestCoerceInt64/json.Number (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/json.Number","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/json.Number_float"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/json.Number_float","Output":"=== RUN TestCoerceInt64/json.Number_float\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/json.Number_float","Output":"--- PASS: TestCoerceInt64/json.Number_float (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/json.Number_float","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/string_float"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/string_float","Output":"=== RUN TestCoerceInt64/string_float\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/string_float","Output":"--- PASS: TestCoerceInt64/string_float (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/string_float","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/invalid_string"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/invalid_string","Output":"=== RUN TestCoerceInt64/invalid_string\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/invalid_string","Output":"--- PASS: TestCoerceInt64/invalid_string (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64/invalid_string","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64","Output":"--- PASS: TestCoerceInt64 (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64","Output":"=== RUN TestCoerceFloat64\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/nil"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/nil","Output":"=== RUN TestCoerceFloat64/nil\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/nil","Output":"--- PASS: TestCoerceFloat64/nil (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/nil","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/float64"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/float64","Output":"=== RUN TestCoerceFloat64/float64\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/float64","Output":"--- PASS: TestCoerceFloat64/float64 (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/float64","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/string"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/string","Output":"=== RUN TestCoerceFloat64/string\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/string","Output":"--- PASS: TestCoerceFloat64/string (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/string","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/json.Number"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/json.Number","Output":"=== RUN TestCoerceFloat64/json.Number\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/json.Number","Output":"--- PASS: TestCoerceFloat64/json.Number (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/json.Number","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/invalid_string"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/invalid_string","Output":"=== RUN TestCoerceFloat64/invalid_string\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/invalid_string","Output":"--- PASS: TestCoerceFloat64/invalid_string (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/invalid_string","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/integer_string"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/integer_string","Output":"=== RUN TestCoerceFloat64/integer_string\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/integer_string","Output":"--- PASS: TestCoerceFloat64/integer_string (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64/integer_string","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64","Output":"--- PASS: TestCoerceFloat64 (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceFloat64","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool","Output":"=== RUN TestCoerceBool\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/nil"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/nil","Output":"=== RUN TestCoerceBool/nil\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/nil","Output":"--- PASS: TestCoerceBool/nil (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/nil","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/true"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/true","Output":"=== RUN TestCoerceBool/true\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/true","Output":"--- PASS: TestCoerceBool/true (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/true","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/false"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/false","Output":"=== RUN TestCoerceBool/false\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/false","Output":"--- PASS: TestCoerceBool/false (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/false","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/string_true"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/string_true","Output":"=== RUN TestCoerceBool/string_true\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/string_true","Output":"--- PASS: TestCoerceBool/string_true (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/string_true","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/string_false"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/string_false","Output":"=== RUN TestCoerceBool/string_false\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/string_false","Output":"--- PASS: TestCoerceBool/string_false (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/string_false","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/float_1"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/float_1","Output":"=== RUN TestCoerceBool/float_1\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/float_1","Output":"--- PASS: TestCoerceBool/float_1 (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/float_1","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/float_0"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/float_0","Output":"=== RUN TestCoerceBool/float_0\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/float_0","Output":"--- PASS: TestCoerceBool/float_0 (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/float_0","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/invalid_string"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/invalid_string","Output":"=== RUN TestCoerceBool/invalid_string\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/invalid_string","Output":"--- PASS: TestCoerceBool/invalid_string (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool/invalid_string","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool","Output":"--- PASS: TestCoerceBool (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceBool","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice","Output":"=== RUN TestCoerceStringSlice\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/nil"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/nil","Output":"=== RUN TestCoerceStringSlice/nil\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/nil","Output":"--- PASS: TestCoerceStringSlice/nil (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/nil","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/single_string"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/single_string","Output":"=== RUN TestCoerceStringSlice/single_string\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/single_string","Output":"--- PASS: TestCoerceStringSlice/single_string (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/single_string","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/empty_string"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/empty_string","Output":"=== RUN TestCoerceStringSlice/empty_string\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/empty_string","Output":"--- PASS: TestCoerceStringSlice/empty_string (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/empty_string","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/array_of_strings"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/array_of_strings","Output":"=== RUN TestCoerceStringSlice/array_of_strings\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/array_of_strings","Output":"--- PASS: TestCoerceStringSlice/array_of_strings (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/array_of_strings","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/mixed_array"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/mixed_array","Output":"=== RUN TestCoerceStringSlice/mixed_array\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/mixed_array","Output":"--- PASS: TestCoerceStringSlice/mixed_array (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice/mixed_array","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice","Output":"--- PASS: TestCoerceStringSlice (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceStringSlice","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice","Output":"=== RUN TestCoerceInt64Slice\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/nil"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/nil","Output":"=== RUN TestCoerceInt64Slice/nil\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/nil","Output":"--- PASS: TestCoerceInt64Slice/nil (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/nil","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/not_array"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/not_array","Output":"=== RUN TestCoerceInt64Slice/not_array\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/not_array","Output":"--- PASS: TestCoerceInt64Slice/not_array (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/not_array","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/float64_array"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/float64_array","Output":"=== RUN TestCoerceInt64Slice/float64_array\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/float64_array","Output":"--- PASS: TestCoerceInt64Slice/float64_array (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/float64_array","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/string_array"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/string_array","Output":"=== RUN TestCoerceInt64Slice/string_array\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/string_array","Output":"--- PASS: TestCoerceInt64Slice/string_array (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/string_array","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/mixed_array"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/mixed_array","Output":"=== RUN TestCoerceInt64Slice/mixed_array\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/mixed_array","Output":"--- PASS: TestCoerceInt64Slice/mixed_array (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/mixed_array","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/with_zeros"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/with_zeros","Output":"=== RUN TestCoerceInt64Slice/with_zeros\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/with_zeros","Output":"--- PASS: TestCoerceInt64Slice/with_zeros (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice/with_zeros","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice","Output":"--- PASS: TestCoerceInt64Slice (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCoerceInt64Slice","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestExtractProjectFromHeader"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestExtractProjectFromHeader","Output":"=== RUN TestExtractProjectFromHeader\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestExtractProjectFromHeader","Output":"--- PASS: TestExtractProjectFromHeader (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestExtractProjectFromHeader","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestExtractProjectFromHeader_Missing"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestExtractProjectFromHeader_Missing","Output":"=== RUN TestExtractProjectFromHeader_Missing\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestExtractProjectFromHeader_Missing","Output":"--- PASS: TestExtractProjectFromHeader_Missing (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestExtractProjectFromHeader_Missing","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestProjectFromContext_RoundTrip"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestProjectFromContext_RoundTrip","Output":"=== RUN TestProjectFromContext_RoundTrip\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestProjectFromContext_RoundTrip","Output":"--- PASS: TestProjectFromContext_RoundTrip (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestProjectFromContext_RoundTrip","Elapsed":0} +{"Time":"2026-07-11T04:02:05.232962+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestProjectFromContext_Empty"} +{"Time":"2026-07-11T04:02:05.2334639+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestProjectFromContext_Empty","Output":"=== RUN TestProjectFromContext_Empty\n"} +{"Time":"2026-07-11T04:02:05.2334639+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestProjectFromContext_Empty","Output":"--- PASS: TestProjectFromContext_Empty (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.2334639+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestProjectFromContext_Empty","Elapsed":0} +{"Time":"2026-07-11T04:02:05.2334639+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b"} +{"Time":"2026-07-11T04:02:05.2334639+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b","Output":"=== RUN TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b\n"} +{"Time":"2026-07-11T04:02:05.2334639+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/schema_with_vnext_f_on_and_vnext_off_zero_tg3_params"} +{"Time":"2026-07-11T04:02:05.2334639+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/schema_with_vnext_f_on_and_vnext_off_zero_tg3_params","Output":"=== RUN TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/schema_with_vnext_f_on_and_vnext_off_zero_tg3_params\n"} +{"Time":"2026-07-11T04:02:05.2339627+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/schema_with_vnext_f_on_and_vnext_off_zero_tg3_params","Output":"--- PASS: TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/schema_with_vnext_f_on_and_vnext_off_zero_tg3_params (0.00s)\n"} +{"Time":"2026-07-11T04:02:05.2339627+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/schema_with_vnext_f_on_and_vnext_off_zero_tg3_params","Elapsed":0} +{"Time":"2026-07-11T04:02:05.2339627+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/runtime_zero_tg3_params_vnext_f_on_vnext_off_no_rationale"} +{"Time":"2026-07-11T04:02:05.2339627+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/runtime_zero_tg3_params_vnext_f_on_vnext_off_no_rationale","Output":"=== RUN TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/runtime_zero_tg3_params_vnext_f_on_vnext_off_no_rationale\n"} +{"Time":"2026-07-11T04:02:06.0924737+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/runtime_zero_tg3_params_vnext_f_on_vnext_off_no_rationale","Output":"{\"level\":\"warn\",\"error\":\"ERROR: relation \\\"observation_vectors\\\" does not exist (SQLSTATE 42P01)\",\"time\":\"2026-07-11T04:02:06+03:00\",\"message\":\"migration 040: orphan vector cleanup failed (non-fatal)\"}\n"} +{"Time":"2026-07-11T04:02:06.0924737+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/runtime_zero_tg3_params_vnext_f_on_vnext_off_no_rationale","Output":"{\"level\":\"info\",\"garbage_deleted\":0,\"orphan_vectors_deleted\":0,\"time\":\"2026-07-11T04:02:06+03:00\",\"message\":\"migration 040: garbage cleanup complete\"}\n"} +{"Time":"2026-07-11T04:02:06.1004729+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/runtime_zero_tg3_params_vnext_f_on_vnext_off_no_rationale","Output":"{\"level\":\"info\",\"orphan_vectors_deleted\":0,\"time\":\"2026-07-11T04:02:06+03:00\",\"message\":\"migration 041: orphan vector purge complete\"}\n"} +{"Time":"2026-07-11T04:02:06.1079728+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/runtime_zero_tg3_params_vnext_f_on_vnext_off_no_rationale","Output":"{\"level\":\"info\",\"patterns_deleted\":0,\"time\":\"2026-07-11T04:02:06+03:00\",\"message\":\"migration 042: low-quality pattern purge complete\"}\n"} +{"Time":"2026-07-11T04:02:06.141279+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/runtime_zero_tg3_params_vnext_f_on_vnext_off_no_rationale","Output":"{\"level\":\"info\",\"total_deleted\":0,\"time\":\"2026-07-11T04:02:06+03:00\",\"message\":\"migration 043: radical observation cleanup complete\"}\n"} +{"Time":"2026-07-11T04:02:07.3997777+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/runtime_zero_tg3_params_vnext_f_on_vnext_off_no_rationale","Output":"{\"level\":\"warn\",\"error\":\"ERROR: extension \\\"vectorscale\\\" is not available (SQLSTATE 0A000)\",\"time\":\"2026-07-11T04:02:07+03:00\",\"message\":\"migration 109: vectorscale extension not available, skipping DiskANN index\"}\n"} +{"Time":"2026-07-11T04:02:08.6497733+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/runtime_zero_tg3_params_vnext_f_on_vnext_off_no_rationale","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T04:02:08+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:02:08.9984878+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/runtime_zero_tg3_params_vnext_f_on_vnext_off_no_rationale","Output":"--- PASS: TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/runtime_zero_tg3_params_vnext_f_on_vnext_off_no_rationale (3.76s)\n"} +{"Time":"2026-07-11T04:02:08.9984878+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b/runtime_zero_tg3_params_vnext_f_on_vnext_off_no_rationale","Elapsed":3.76} +{"Time":"2026-07-11T04:02:08.9984878+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b","Output":"--- PASS: TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b (3.77s)\n"} +{"Time":"2026-07-11T04:02:08.9984878+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_VnextFEnabled_ZeroTG3Params_T021b","Elapsed":3.77} +{"Time":"2026-07-11T04:02:08.9984878+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_ZeroFlagsShape_T021"} +{"Time":"2026-07-11T04:02:08.9984878+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_ZeroFlagsShape_T021","Output":"=== RUN TestRecallMemory_CompatV3_ZeroFlagsShape_T021\n"} +{"Time":"2026-07-11T04:02:08.9984878+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_ZeroFlagsShape_T021/schema_unconditional_tg3_params_present"} +{"Time":"2026-07-11T04:02:08.9984878+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_ZeroFlagsShape_T021/schema_unconditional_tg3_params_present","Output":"=== RUN TestRecallMemory_CompatV3_ZeroFlagsShape_T021/schema_unconditional_tg3_params_present\n"} +{"Time":"2026-07-11T04:02:08.9989887+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_ZeroFlagsShape_T021/schema_unconditional_tg3_params_present","Output":"--- PASS: TestRecallMemory_CompatV3_ZeroFlagsShape_T021/schema_unconditional_tg3_params_present (0.00s)\n"} +{"Time":"2026-07-11T04:02:08.9989887+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_ZeroFlagsShape_T021/schema_unconditional_tg3_params_present","Elapsed":0} +{"Time":"2026-07-11T04:02:08.9989887+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_ZeroFlagsShape_T021/runtime_no_ranking_rationale_key_when_flags_at_default"} +{"Time":"2026-07-11T04:02:08.9989887+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_ZeroFlagsShape_T021/runtime_no_ranking_rationale_key_when_flags_at_default","Output":"=== RUN TestRecallMemory_CompatV3_ZeroFlagsShape_T021/runtime_no_ranking_rationale_key_when_flags_at_default\n"} +{"Time":"2026-07-11T04:02:09.1143755+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_ZeroFlagsShape_T021/runtime_no_ranking_rationale_key_when_flags_at_default","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T04:02:09+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:02:09.1353754+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_ZeroFlagsShape_T021/runtime_no_ranking_rationale_key_when_flags_at_default","Output":"--- PASS: TestRecallMemory_CompatV3_ZeroFlagsShape_T021/runtime_no_ranking_rationale_key_when_flags_at_default (0.14s)\n"} +{"Time":"2026-07-11T04:02:09.1353754+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_ZeroFlagsShape_T021/runtime_no_ranking_rationale_key_when_flags_at_default","Elapsed":0.14} +{"Time":"2026-07-11T04:02:09.1353754+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_ZeroFlagsShape_T021","Output":"--- PASS: TestRecallMemory_CompatV3_ZeroFlagsShape_T021 (0.14s)\n"} +{"Time":"2026-07-11T04:02:09.1353754+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_CompatV3_ZeroFlagsShape_T021","Elapsed":0.14} +{"Time":"2026-07-11T04:02:09.1353754+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_ConfidenceMin_FloorEnforced_T022"} +{"Time":"2026-07-11T04:02:09.1353754+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_ConfidenceMin_FloorEnforced_T022","Output":"=== RUN TestHybridTG3_ConfidenceMin_FloorEnforced_T022\n"} +{"Time":"2026-07-11T04:02:09.2430334+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_ConfidenceMin_FloorEnforced_T022","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T04:02:09+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:02:09.2640404+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_ConfidenceMin_FloorEnforced_T022","Output":" integration_tg3_hybrid_test.go:83: \n"} +{"Time":"2026-07-11T04:02:09.2640404+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_ConfidenceMin_FloorEnforced_T022","Output":" \tError Trace:\tD:/Dev/engram/.w/t007-r1-checker/internal/mcp/integration_tg3_hybrid_test.go:83\n"} +{"Time":"2026-07-11T04:02:09.2640404+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_ConfidenceMin_FloorEnforced_T022","Output":" \tError: \tReceived unexpected error:\n"} +{"Time":"2026-07-11T04:02:09.2640404+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_ConfidenceMin_FloorEnforced_T022","Output":" \t \tjson: cannot unmarshal array into Go value of type map[string]interface {}\n"} +{"Time":"2026-07-11T04:02:09.2640404+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_ConfidenceMin_FloorEnforced_T022","Output":" \tTest: \tTestHybridTG3_ConfidenceMin_FloorEnforced_T022\n"} +{"Time":"2026-07-11T04:02:09.2640404+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_ConfidenceMin_FloorEnforced_T022","Output":" \tMessages: \tresponse must be valid JSON\n"} +{"Time":"2026-07-11T04:02:09.2735412+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_ConfidenceMin_FloorEnforced_T022","Output":"--- FAIL: TestHybridTG3_ConfidenceMin_FloorEnforced_T022 (0.14s)\n"} +{"Time":"2026-07-11T04:02:09.2735412+03:00","Action":"fail","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_ConfidenceMin_FloorEnforced_T022","Elapsed":0.14} +{"Time":"2026-07-11T04:02:09.2735412+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_IncludeSuperseded_StructuredError_T022b"} +{"Time":"2026-07-11T04:02:09.2735412+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_IncludeSuperseded_StructuredError_T022b","Output":"=== RUN TestHybridTG3_IncludeSuperseded_StructuredError_T022b\n"} +{"Time":"2026-07-11T04:02:09.2735412+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_IncludeSuperseded_StructuredError_T022b","Output":"--- PASS: TestHybridTG3_IncludeSuperseded_StructuredError_T022b (0.00s)\n"} +{"Time":"2026-07-11T04:02:09.2735412+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_IncludeSuperseded_StructuredError_T022b","Elapsed":0} +{"Time":"2026-07-11T04:02:09.2735412+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_IncludeSuperseded_False_NoError_T022c"} +{"Time":"2026-07-11T04:02:09.2735412+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_IncludeSuperseded_False_NoError_T022c","Output":"=== RUN TestHybridTG3_IncludeSuperseded_False_NoError_T022c\n"} +{"Time":"2026-07-11T04:02:09.382281+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_IncludeSuperseded_False_NoError_T022c","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T04:02:09+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:02:09.3932812+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_IncludeSuperseded_False_NoError_T022c","Output":"--- PASS: TestHybridTG3_IncludeSuperseded_False_NoError_T022c (0.12s)\n"} +{"Time":"2026-07-11T04:02:09.3932812+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHybridTG3_IncludeSuperseded_False_NoError_T022c","Elapsed":0.12} +{"Time":"2026-07-11T04:02:09.3932812+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecall_ScopeInvisibleNewestDoNotTruncate_CodexP1Cycle3"} +{"Time":"2026-07-11T04:02:09.3932812+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecall_ScopeInvisibleNewestDoNotTruncate_CodexP1Cycle3","Output":"=== RUN TestRecall_ScopeInvisibleNewestDoNotTruncate_CodexP1Cycle3\n"} +{"Time":"2026-07-11T04:02:09.502953+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecall_ScopeInvisibleNewestDoNotTruncate_CodexP1Cycle3","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T04:02:09+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:02:09.5414809+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecall_ScopeInvisibleNewestDoNotTruncate_CodexP1Cycle3","Output":"--- PASS: TestRecall_ScopeInvisibleNewestDoNotTruncate_CodexP1Cycle3 (0.15s)\n"} +{"Time":"2026-07-11T04:02:09.5414809+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecall_ScopeInvisibleNewestDoNotTruncate_CodexP1Cycle3","Elapsed":0.15} +{"Time":"2026-07-11T04:02:09.5414809+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecall_PrincipalPrivateInvisibleNewestDoNotTruncate_FlagOff"} +{"Time":"2026-07-11T04:02:09.5414809+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecall_PrincipalPrivateInvisibleNewestDoNotTruncate_FlagOff","Output":"=== RUN TestRecall_PrincipalPrivateInvisibleNewestDoNotTruncate_FlagOff\n"} +{"Time":"2026-07-11T04:02:09.6491944+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecall_PrincipalPrivateInvisibleNewestDoNotTruncate_FlagOff","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T04:02:09+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:02:09.6853846+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecall_PrincipalPrivateInvisibleNewestDoNotTruncate_FlagOff","Output":"--- PASS: TestRecall_PrincipalPrivateInvisibleNewestDoNotTruncate_FlagOff (0.14s)\n"} +{"Time":"2026-07-11T04:02:09.6853846+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecall_PrincipalPrivateInvisibleNewestDoNotTruncate_FlagOff","Elapsed":0.14} +{"Time":"2026-07-11T04:02:09.6853846+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_PrincipalPrivateInvisibleAndSharedAttributed_FlagOff"} +{"Time":"2026-07-11T04:02:09.6853846+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_PrincipalPrivateInvisibleAndSharedAttributed_FlagOff","Output":"=== RUN TestRecallMemory_PrincipalPrivateInvisibleAndSharedAttributed_FlagOff\n"} +{"Time":"2026-07-11T04:02:09.7938557+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_PrincipalPrivateInvisibleAndSharedAttributed_FlagOff","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T04:02:09+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:02:09.8153556+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_PrincipalPrivateInvisibleAndSharedAttributed_FlagOff","Output":"--- PASS: TestRecallMemory_PrincipalPrivateInvisibleAndSharedAttributed_FlagOff (0.13s)\n"} +{"Time":"2026-07-11T04:02:09.8153556+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_PrincipalPrivateInvisibleAndSharedAttributed_FlagOff","Elapsed":0.13} +{"Time":"2026-07-11T04:02:09.8153556+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_DomainOwnedInvisibleNewestDoNotTruncate_FlagOff"} +{"Time":"2026-07-11T04:02:09.8153556+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_DomainOwnedInvisibleNewestDoNotTruncate_FlagOff","Output":"=== RUN TestRecallMemory_DomainOwnedInvisibleNewestDoNotTruncate_FlagOff\n"} +{"Time":"2026-07-11T04:02:09.9222537+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_DomainOwnedInvisibleNewestDoNotTruncate_FlagOff","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T04:02:09+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:02:09.9573489+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_DomainOwnedInvisibleNewestDoNotTruncate_FlagOff","Output":"--- PASS: TestRecallMemory_DomainOwnedInvisibleNewestDoNotTruncate_FlagOff (0.14s)\n"} +{"Time":"2026-07-11T04:02:09.9573489+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_DomainOwnedInvisibleNewestDoNotTruncate_FlagOff","Elapsed":0.14} +{"Time":"2026-07-11T04:02:09.9573489+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_TG3IncludeSupersededLegacyPath"} +{"Time":"2026-07-11T04:02:09.9573489+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_TG3IncludeSupersededLegacyPath","Output":"=== RUN TestRecallMemory_TG3IncludeSupersededLegacyPath\n"} +{"Time":"2026-07-11T04:02:10.0664553+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_TG3IncludeSupersededLegacyPath","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T04:02:10+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:02:10.0934629+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_TG3IncludeSupersededLegacyPath","Output":"--- PASS: TestRecallMemory_TG3IncludeSupersededLegacyPath (0.14s)\n"} +{"Time":"2026-07-11T04:02:10.0934629+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_TG3IncludeSupersededLegacyPath","Elapsed":0.14} +{"Time":"2026-07-11T04:02:10.0934629+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_IncludeSupersededFlagOffIgnoredInHybrid"} +{"Time":"2026-07-11T04:02:10.0934629+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_IncludeSupersededFlagOffIgnoredInHybrid","Output":"=== RUN TestRecallMemory_IncludeSupersededFlagOffIgnoredInHybrid\n"} +{"Time":"2026-07-11T04:02:10.2049642+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_IncludeSupersededFlagOffIgnoredInHybrid","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T04:02:10+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:02:10.2149636+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_IncludeSupersededFlagOffIgnoredInHybrid","Output":"--- PASS: TestRecallMemory_IncludeSupersededFlagOffIgnoredInHybrid (0.12s)\n"} +{"Time":"2026-07-11T04:02:10.2149636+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_IncludeSupersededFlagOffIgnoredInHybrid","Elapsed":0.12} +{"Time":"2026-07-11T04:02:10.2149636+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryAlwaysInject_GovernanceFlagCreatesRuleCandidate"} +{"Time":"2026-07-11T04:02:10.2149636+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryAlwaysInject_GovernanceFlagCreatesRuleCandidate","Output":"=== RUN TestStoreMemoryAlwaysInject_GovernanceFlagCreatesRuleCandidate\n"} +{"Time":"2026-07-11T04:02:10.2149636+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryAlwaysInject_GovernanceFlagCreatesRuleCandidate","Output":"--- PASS: TestStoreMemoryAlwaysInject_GovernanceFlagCreatesRuleCandidate (0.00s)\n"} +{"Time":"2026-07-11T04:02:10.2149636+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryAlwaysInject_GovernanceFlagCreatesRuleCandidate","Elapsed":0} +{"Time":"2026-07-11T04:02:10.2149636+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryAlwaysInject_FlagOffDoesNotUseRuleGovernance"} +{"Time":"2026-07-11T04:02:10.2149636+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryAlwaysInject_FlagOffDoesNotUseRuleGovernance","Output":"=== RUN TestStoreMemoryAlwaysInject_FlagOffDoesNotUseRuleGovernance\n"} +{"Time":"2026-07-11T04:02:10.2149636+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryAlwaysInject_FlagOffDoesNotUseRuleGovernance","Output":"--- PASS: TestStoreMemoryAlwaysInject_FlagOffDoesNotUseRuleGovernance (0.00s)\n"} +{"Time":"2026-07-11T04:02:10.2149636+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryAlwaysInject_FlagOffDoesNotUseRuleGovernance","Elapsed":0} +{"Time":"2026-07-11T04:02:10.2149636+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreRule_GovernanceFlagCreatesRuleCandidate"} +{"Time":"2026-07-11T04:02:10.2149636+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreRule_GovernanceFlagCreatesRuleCandidate","Output":"=== RUN TestStoreRule_GovernanceFlagCreatesRuleCandidate\n"} +{"Time":"2026-07-11T04:02:10.2149636+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreRule_GovernanceFlagCreatesRuleCandidate","Output":"--- PASS: TestStoreRule_GovernanceFlagCreatesRuleCandidate (0.00s)\n"} +{"Time":"2026-07-11T04:02:10.2149636+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreRule_GovernanceFlagCreatesRuleCandidate","Elapsed":0} +{"Time":"2026-07-11T04:02:10.2149636+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreRule_GovernanceFlagPreservesGlobalIntentWithContextProject"} +{"Time":"2026-07-11T04:02:10.2149636+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreRule_GovernanceFlagPreservesGlobalIntentWithContextProject","Output":"=== RUN TestStoreRule_GovernanceFlagPreservesGlobalIntentWithContextProject\n"} +{"Time":"2026-07-11T04:02:10.2154633+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreRule_GovernanceFlagPreservesGlobalIntentWithContextProject","Output":"--- PASS: TestStoreRule_GovernanceFlagPreservesGlobalIntentWithContextProject (0.00s)\n"} +{"Time":"2026-07-11T04:02:10.2154633+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreRule_GovernanceFlagPreservesGlobalIntentWithContextProject","Elapsed":0} +{"Time":"2026-07-11T04:02:10.2154633+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreRule_GovernanceFlagRedactsCandidateContent"} +{"Time":"2026-07-11T04:02:10.2154633+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreRule_GovernanceFlagRedactsCandidateContent","Output":"=== RUN TestStoreRule_GovernanceFlagRedactsCandidateContent\n"} +{"Time":"2026-07-11T04:02:10.2154633+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreRule_GovernanceFlagRedactsCandidateContent","Output":"--- PASS: TestStoreRule_GovernanceFlagRedactsCandidateContent (0.00s)\n"} +{"Time":"2026-07-11T04:02:10.2154633+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreRule_GovernanceFlagRedactsCandidateContent","Elapsed":0} +{"Time":"2026-07-11T04:02:10.2154633+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreRule_FlagOffDoesNotUseRuleGovernance"} +{"Time":"2026-07-11T04:02:10.2154633+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreRule_FlagOffDoesNotUseRuleGovernance","Output":"=== RUN TestStoreRule_FlagOffDoesNotUseRuleGovernance\n"} +{"Time":"2026-07-11T04:02:10.2154633+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreRule_FlagOffDoesNotUseRuleGovernance","Output":"--- PASS: TestStoreRule_FlagOffDoesNotUseRuleGovernance (0.00s)\n"} +{"Time":"2026-07-11T04:02:10.2154633+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreRule_FlagOffDoesNotUseRuleGovernance","Elapsed":0} +{"Time":"2026-07-11T04:02:10.2154633+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_GetAmbientHintsDispatchesThroughToolsCall"} +{"Time":"2026-07-11T04:02:10.2154633+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_GetAmbientHintsDispatchesThroughToolsCall","Output":"=== RUN TestHandleRequest_GetAmbientHintsDispatchesThroughToolsCall\n"} +{"Time":"2026-07-11T04:02:10.2154633+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_GetAmbientHintsDispatchesThroughToolsCall","Output":"--- PASS: TestHandleRequest_GetAmbientHintsDispatchesThroughToolsCall (0.00s)\n"} +{"Time":"2026-07-11T04:02:10.2154633+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_GetAmbientHintsDispatchesThroughToolsCall","Elapsed":0} +{"Time":"2026-07-11T04:02:10.2154633+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_GetAmbientHintsUnknownToolRegressionGuard"} +{"Time":"2026-07-11T04:02:10.2154633+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_GetAmbientHintsUnknownToolRegressionGuard","Output":"=== RUN TestHandleRequest_GetAmbientHintsUnknownToolRegressionGuard\n"} +{"Time":"2026-07-11T04:02:10.2154633+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_GetAmbientHintsUnknownToolRegressionGuard","Output":"--- PASS: TestHandleRequest_GetAmbientHintsUnknownToolRegressionGuard (0.00s)\n"} +{"Time":"2026-07-11T04:02:10.2154633+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_GetAmbientHintsUnknownToolRegressionGuard","Elapsed":0} +{"Time":"2026-07-11T04:02:10.2154633+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestServerSetAuditStoreAssignsField"} +{"Time":"2026-07-11T04:02:10.2154633+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestServerSetAuditStoreAssignsField","Output":"=== RUN TestServerSetAuditStoreAssignsField\n"} +{"Time":"2026-07-11T04:02:10.2154633+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestServerSetAuditStoreAssignsField","Output":"--- PASS: TestServerSetAuditStoreAssignsField (0.00s)\n"} +{"Time":"2026-07-11T04:02:10.2154633+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestServerSetAuditStoreAssignsField","Elapsed":0} +{"Time":"2026-07-11T04:02:10.2154633+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table","Output":"=== RUN TestRequest_Marshal_Table\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table","Output":"=== PAUSE TestRequest_Marshal_Table\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Unmarshal_RoundTrip"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Unmarshal_RoundTrip","Output":"=== RUN TestRequest_Unmarshal_RoundTrip\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Unmarshal_RoundTrip","Output":"=== PAUSE TestRequest_Unmarshal_RoundTrip\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Unmarshal_RoundTrip"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Unmarshal_NullID"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Unmarshal_NullID","Output":"=== RUN TestRequest_Unmarshal_NullID\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Unmarshal_NullID","Output":"=== PAUSE TestRequest_Unmarshal_NullID\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Unmarshal_NullID"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table","Output":"=== RUN TestResponse_Marshal_Table\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table","Output":"=== PAUSE TestResponse_Marshal_Table\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table","Output":"=== RUN TestError_Marshal_Table\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table","Output":"=== PAUSE TestError_Marshal_Table\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_NilData_NotInOutput"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_NilData_NotInOutput","Output":"=== RUN TestError_NilData_NotInOutput\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_NilData_NotInOutput","Output":"=== PAUSE TestError_NilData_NotInOutput\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_NilData_NotInOutput"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal","Output":"=== RUN TestToolCallParams_Unmarshal\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal","Output":"=== PAUSE TestToolCallParams_Unmarshal\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_ComplexArgs"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_ComplexArgs","Output":"=== RUN TestToolCallParams_ComplexArgs\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_ComplexArgs","Output":"=== PAUSE TestToolCallParams_ComplexArgs\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_ComplexArgs"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTool_Marshal_RoundTrip"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTool_Marshal_RoundTrip","Output":"=== RUN TestTool_Marshal_RoundTrip\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTool_Marshal_RoundTrip","Output":"=== PAUSE TestTool_Marshal_RoundTrip\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTool_Marshal_RoundTrip"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table","Output":"=== RUN TestTimelineParams_Unmarshal_Table\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table","Output":"=== PAUSE TestTimelineParams_Unmarshal_Table\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_AllFields"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_AllFields","Output":"=== RUN TestTimelineParams_AllFields\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_AllFields","Output":"=== PAUSE TestTimelineParams_AllFields\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_AllFields"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestNewServer_CreatesWithVersion"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestNewServer_CreatesWithVersion","Output":"=== RUN TestNewServer_CreatesWithVersion\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestNewServer_CreatesWithVersion","Output":"=== PAUSE TestNewServer_CreatesWithVersion\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestNewServer_CreatesWithVersion"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestNewServer_HasStdinStdout"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestNewServer_HasStdinStdout","Output":"=== RUN TestNewServer_HasStdinStdout\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestNewServer_HasStdinStdout","Output":"=== PAUSE TestNewServer_HasStdinStdout\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestNewServer_HasStdinStdout"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestVersion_ReturnsVersion"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestVersion_ReturnsVersion","Output":"=== RUN TestVersion_ReturnsVersion\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestVersion_ReturnsVersion","Output":"=== PAUSE TestVersion_ReturnsVersion\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestVersion_ReturnsVersion"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestServer_FieldsInjected"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestServer_FieldsInjected","Output":"=== RUN TestServer_FieldsInjected\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestServer_FieldsInjected","Output":"=== PAUSE TestServer_FieldsInjected\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestServer_FieldsInjected"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_ProtocolAndVersion"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_ProtocolAndVersion","Output":"=== RUN TestHandleInitialize_ProtocolAndVersion\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_ProtocolAndVersion","Output":"=== PAUSE TestHandleInitialize_ProtocolAndVersion\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_ProtocolAndVersion"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_CapabilitiesPresent"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_CapabilitiesPresent","Output":"=== RUN TestHandleInitialize_CapabilitiesPresent\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_CapabilitiesPresent","Output":"=== PAUSE TestHandleInitialize_CapabilitiesPresent\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_CapabilitiesPresent"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_IDEchoed"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_IDEchoed","Output":"=== RUN TestHandleInitialize_IDEchoed\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_IDEchoed","Output":"=== PAUSE TestHandleInitialize_IDEchoed\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_IDEchoed"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_PrimaryToolsPresent"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_PrimaryToolsPresent","Output":"=== RUN TestHandleToolsList_PrimaryToolsPresent\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_PrimaryToolsPresent","Output":"=== PAUSE TestHandleToolsList_PrimaryToolsPresent\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_PrimaryToolsPresent"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_DefaultCountMatchesPrimary"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_DefaultCountMatchesPrimary","Output":"=== RUN TestHandleToolsList_DefaultCountMatchesPrimary\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_DefaultCountMatchesPrimary","Output":"=== PAUSE TestHandleToolsList_DefaultCountMatchesPrimary\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_DefaultCountMatchesPrimary"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_IncludeAllReturnsMore"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_IncludeAllReturnsMore","Output":"=== RUN TestHandleToolsList_IncludeAllReturnsMore\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_IncludeAllReturnsMore","Output":"=== PAUSE TestHandleToolsList_IncludeAllReturnsMore\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_IncludeAllReturnsMore"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_IncludeAllContainsLegacy"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_IncludeAllContainsLegacy","Output":"=== RUN TestHandleToolsList_IncludeAllContainsLegacy\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_IncludeAllContainsLegacy","Output":"=== PAUSE TestHandleToolsList_IncludeAllContainsLegacy\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_IncludeAllContainsLegacy"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_RemovedToolsAbsent"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_RemovedToolsAbsent","Output":"=== RUN TestHandleToolsList_RemovedToolsAbsent\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_RemovedToolsAbsent","Output":"=== PAUSE TestHandleToolsList_RemovedToolsAbsent\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_RemovedToolsAbsent"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_SchemaCompliance_NoForbiddenTopLevelKeys"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_SchemaCompliance_NoForbiddenTopLevelKeys","Output":"=== RUN TestHandleToolsList_SchemaCompliance_NoForbiddenTopLevelKeys\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_SchemaCompliance_NoForbiddenTopLevelKeys","Output":"=== PAUSE TestHandleToolsList_SchemaCompliance_NoForbiddenTopLevelKeys\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_SchemaCompliance_NoForbiddenTopLevelKeys"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_AllToolSchemasHaveTypeAndProperties"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_AllToolSchemasHaveTypeAndProperties","Output":"=== RUN TestHandleToolsList_AllToolSchemasHaveTypeAndProperties\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_AllToolSchemasHaveTypeAndProperties","Output":"=== PAUSE TestHandleToolsList_AllToolSchemasHaveTypeAndProperties\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_AllToolSchemasHaveTypeAndProperties"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_FeedbackSchemaCorrect"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_FeedbackSchemaCorrect","Output":"=== RUN TestHandleToolsList_FeedbackSchemaCorrect\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_FeedbackSchemaCorrect","Output":"=== PAUSE TestHandleToolsList_FeedbackSchemaCorrect\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_FeedbackSchemaCorrect"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_StoreTypeEnumCorrect"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_StoreTypeEnumCorrect","Output":"=== RUN TestHandleToolsList_StoreTypeEnumCorrect\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_StoreTypeEnumCorrect","Output":"=== PAUSE TestHandleToolsList_StoreTypeEnumCorrect\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_StoreTypeEnumCorrect"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_InitializeRoute"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_InitializeRoute","Output":"=== RUN TestHandleRequest_InitializeRoute\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_InitializeRoute","Output":"=== PAUSE TestHandleRequest_InitializeRoute\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_InitializeRoute"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_ToolsListRoute"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_ToolsListRoute","Output":"=== RUN TestHandleRequest_ToolsListRoute\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_ToolsListRoute","Output":"=== PAUSE TestHandleRequest_ToolsListRoute\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_ToolsListRoute"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_UnknownMethodError"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_UnknownMethodError","Output":"=== RUN TestHandleRequest_UnknownMethodError\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_UnknownMethodError","Output":"=== PAUSE TestHandleRequest_UnknownMethodError\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_UnknownMethodError"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_NotificationReturnsNil"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_NotificationReturnsNil","Output":"=== RUN TestHandleRequest_NotificationReturnsNil\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_NotificationReturnsNil","Output":"=== PAUSE TestHandleRequest_NotificationReturnsNil\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_NotificationReturnsNil"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs","Output":"=== RUN TestHandleRequest_CapabilityStubs\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs","Output":"=== PAUSE TestHandleRequest_CapabilityStubs\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_InvalidParamsJSON"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_InvalidParamsJSON","Output":"=== RUN TestHandleToolsCall_InvalidParamsJSON\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_InvalidParamsJSON","Output":"=== PAUSE TestHandleToolsCall_InvalidParamsJSON\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_InvalidParamsJSON"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_EmptyParams"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_EmptyParams","Output":"=== RUN TestHandleToolsCall_EmptyParams\n"} +{"Time":"2026-07-11T04:02:10.2159638+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_EmptyParams","Output":"=== PAUSE TestHandleToolsCall_EmptyParams\n"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_EmptyParams"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_UnknownTool"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_UnknownTool","Output":"=== RUN TestHandleToolsCall_UnknownTool\n"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_UnknownTool","Output":"=== PAUSE TestHandleToolsCall_UnknownTool\n"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_UnknownTool"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSanitizeToolCallArgs_RememberDirectiveRedactsRawLogArguments"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSanitizeToolCallArgs_RememberDirectiveRedactsRawLogArguments","Output":"=== RUN TestSanitizeToolCallArgs_RememberDirectiveRedactsRawLogArguments\n"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSanitizeToolCallArgs_RememberDirectiveRedactsRawLogArguments","Output":"=== PAUSE TestSanitizeToolCallArgs_RememberDirectiveRedactsRawLogArguments\n"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSanitizeToolCallArgs_RememberDirectiveRedactsRawLogArguments"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSanitizeToolCallArgs_OtherToolsStillRedactSecrets"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSanitizeToolCallArgs_OtherToolsStillRedactSecrets","Output":"=== RUN TestSanitizeToolCallArgs_OtherToolsStillRedactSecrets\n"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSanitizeToolCallArgs_OtherToolsStillRedactSecrets","Output":"=== PAUSE TestSanitizeToolCallArgs_OtherToolsStillRedactSecrets\n"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSanitizeToolCallArgs_OtherToolsStillRedactSecrets"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolReturnsError"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolReturnsError","Output":"=== RUN TestCallTool_UnknownToolReturnsError\n"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolReturnsError","Output":"=== PAUSE TestCallTool_UnknownToolReturnsError\n"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolReturnsError"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table","Output":"=== RUN TestCallTool_UnknownToolNames_Table\n"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table","Output":"=== PAUSE TestCallTool_UnknownToolNames_Table\n"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_FindByFile_Removed"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_FindByFile_Removed","Output":"=== RUN TestCallTool_FindByFile_Removed\n"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_FindByFile_Removed","Output":"=== PAUSE TestCallTool_FindByFile_Removed\n"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_FindByFile_Removed"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_GetMemoryStats_NilStores"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_GetMemoryStats_NilStores","Output":"=== RUN TestCallTool_GetMemoryStats_NilStores\n"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_GetMemoryStats_NilStores","Output":"=== PAUSE TestCallTool_GetMemoryStats_NilStores\n"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_GetMemoryStats_NilStores"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryStats_NilDB_NoMemoryOrVnextSections"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryStats_NilDB_NoMemoryOrVnextSections","Output":"=== RUN TestGetMemoryStats_NilDB_NoMemoryOrVnextSections\n"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryStats_NilDB_NoMemoryOrVnextSections","Output":"=== PAUSE TestGetMemoryStats_NilDB_NoMemoryOrVnextSections\n"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryStats_NilDB_NoMemoryOrVnextSections"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_CheckSystemHealth_NilStores"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_CheckSystemHealth_NilStores","Output":"=== RUN TestCallTool_CheckSystemHealth_NilStores\n"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_CheckSystemHealth_NilStores","Output":"=== PAUSE TestCallTool_CheckSystemHealth_NilStores\n"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_CheckSystemHealth_NilStores"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCheckSystemHealth_VectorSubsystem"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCheckSystemHealth_VectorSubsystem","Output":"=== RUN TestCheckSystemHealth_VectorSubsystem\n"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCheckSystemHealth_VectorSubsystem/vnext_disabled"} +{"Time":"2026-07-11T04:02:10.2164636+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCheckSystemHealth_VectorSubsystem/vnext_disabled","Output":"=== RUN TestCheckSystemHealth_VectorSubsystem/vnext_disabled\n"} +{"Time":"2026-07-11T04:02:10.3370654+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCheckSystemHealth_VectorSubsystem/vnext_disabled","Output":"{\"level\":\"debug\",\"connections\":5,\"time\":\"2026-07-11T04:02:10+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:02:10.3416445+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCheckSystemHealth_VectorSubsystem/vnext_disabled","Output":"--- PASS: TestCheckSystemHealth_VectorSubsystem/vnext_disabled (0.13s)\n"} +{"Time":"2026-07-11T04:02:10.3416445+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCheckSystemHealth_VectorSubsystem/vnext_disabled","Elapsed":0.13} +{"Time":"2026-07-11T04:02:10.3416445+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCheckSystemHealth_VectorSubsystem/vnext_enabled"} +{"Time":"2026-07-11T04:02:10.3416445+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCheckSystemHealth_VectorSubsystem/vnext_enabled","Output":"=== RUN TestCheckSystemHealth_VectorSubsystem/vnext_enabled\n"} +{"Time":"2026-07-11T04:02:10.457656+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCheckSystemHealth_VectorSubsystem/vnext_enabled","Output":"{\"level\":\"debug\",\"connections\":5,\"time\":\"2026-07-11T04:02:10+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCheckSystemHealth_VectorSubsystem/vnext_enabled","Output":"--- PASS: TestCheckSystemHealth_VectorSubsystem/vnext_enabled (0.12s)\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCheckSystemHealth_VectorSubsystem/vnext_enabled","Elapsed":0.12} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCheckSystemHealth_VectorSubsystem","Output":"--- PASS: TestCheckSystemHealth_VectorSubsystem (0.25s)\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCheckSystemHealth_VectorSubsystem","Elapsed":0.25} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table","Output":"=== RUN TestCallTool_ParameterValidation_Table\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table","Output":"=== PAUSE TestCallTool_ParameterValidation_Table\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleGetMemoryStats_NilStores_ValidJSON"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleGetMemoryStats_NilStores_ValidJSON","Output":"=== RUN TestHandleGetMemoryStats_NilStores_ValidJSON\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleGetMemoryStats_NilStores_ValidJSON","Output":"=== PAUSE TestHandleGetMemoryStats_NilStores_ValidJSON\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleGetMemoryStats_NilStores_ValidJSON"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleCheckSystemHealth_NilStores_StructuredResponse"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleCheckSystemHealth_NilStores_StructuredResponse","Output":"=== RUN TestHandleCheckSystemHealth_NilStores_StructuredResponse\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleCheckSystemHealth_NilStores_StructuredResponse","Output":"=== PAUSE TestHandleCheckSystemHealth_NilStores_StructuredResponse\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleCheckSystemHealth_NilStores_StructuredResponse"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleFindSimilarObservations_Validation"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleFindSimilarObservations_Validation","Output":"=== RUN TestHandleFindSimilarObservations_Validation\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleFindSimilarObservations_Validation","Output":"=== PAUSE TestHandleFindSimilarObservations_Validation\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleFindSimilarObservations_Validation"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleFindSimilarObservations_EmptyResultInV5"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleFindSimilarObservations_EmptyResultInV5","Output":"=== RUN TestHandleFindSimilarObservations_EmptyResultInV5\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleFindSimilarObservations_EmptyResultInV5","Output":"=== PAUSE TestHandleFindSimilarObservations_EmptyResultInV5\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleFindSimilarObservations_EmptyResultInV5"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleAnalyzeSearchPatterns_InvalidJSON"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleAnalyzeSearchPatterns_InvalidJSON","Output":"=== RUN TestHandleAnalyzeSearchPatterns_InvalidJSON\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleAnalyzeSearchPatterns_InvalidJSON","Output":"=== PAUSE TestHandleAnalyzeSearchPatterns_InvalidJSON\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleAnalyzeSearchPatterns_InvalidJSON"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_ContainsJSONRPC"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_ContainsJSONRPC","Output":"=== RUN TestSendResponse_ContainsJSONRPC\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_ContainsJSONRPC","Output":"=== PAUSE TestSendResponse_ContainsJSONRPC\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_ContainsJSONRPC"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_ErrorResponse"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_ErrorResponse","Output":"=== RUN TestSendResponse_ErrorResponse\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_ErrorResponse","Output":"=== PAUSE TestSendResponse_ErrorResponse\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_ErrorResponse"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_NilID"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_NilID","Output":"=== RUN TestSendResponse_NilID\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_NilID","Output":"=== PAUSE TestSendResponse_NilID\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_NilID"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_VariousIDTypes"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_VariousIDTypes","Output":"=== RUN TestSendResponse_VariousIDTypes\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_VariousIDTypes","Output":"=== PAUSE TestSendResponse_VariousIDTypes\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_VariousIDTypes"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendError_OutputShape"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendError_OutputShape","Output":"=== RUN TestSendError_OutputShape\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendError_OutputShape","Output":"=== PAUSE TestSendError_OutputShape\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendError_OutputShape"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_ParseError"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_ParseError","Output":"=== RUN TestRun_ParseError\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_ParseError","Output":"=== PAUSE TestRun_ParseError\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_ParseError"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_EmptyLinesSkipped"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_EmptyLinesSkipped","Output":"=== RUN TestRun_EmptyLinesSkipped\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_EmptyLinesSkipped","Output":"=== PAUSE TestRun_EmptyLinesSkipped\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_EmptyLinesSkipped"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_ValidInitialize"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_ValidInitialize","Output":"=== RUN TestRun_ValidInitialize\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_ValidInitialize","Output":"=== PAUSE TestRun_ValidInitialize\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_ValidInitialize"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_MultipleRequests"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_MultipleRequests","Output":"=== RUN TestRun_MultipleRequests\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_MultipleRequests","Output":"=== PAUSE TestRun_MultipleRequests\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_MultipleRequests"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_MixedValidAndInvalid"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_MixedValidAndInvalid","Output":"=== RUN TestRun_MixedValidAndInvalid\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_MixedValidAndInvalid","Output":"=== PAUSE TestRun_MixedValidAndInvalid\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_MixedValidAndInvalid"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_NotificationNoResponse"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_NotificationNoResponse","Output":"=== RUN TestRun_NotificationNoResponse\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_NotificationNoResponse","Output":"=== PAUSE TestRun_NotificationNoResponse\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_NotificationNoResponse"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table","Output":"=== RUN TestJSONRPCErrorCodes_Table\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table","Output":"=== PAUSE TestJSONRPCErrorCodes_Table\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTierConstants"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTierConstants","Output":"=== RUN TestTierConstants\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTierConstants","Output":"=== PAUSE TestTierConstants\n"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTierConstants"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007"} +{"Time":"2026-07-11T04:02:10.4621548+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"=== RUN TestEC_F1_TagDerivedBackfill_T007\n"} +{"Time":"2026-07-11T04:02:10.572826+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T04:02:10+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:02:10.6078264+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"--- PASS: TestEC_F1_TagDerivedBackfill_T007 (0.15s)\n"} +{"Time":"2026-07-11T04:02:10.6078264+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Elapsed":0.15} +{"Time":"2026-07-11T04:02:10.6078264+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_HandleRecallSearch_FlagOff_BackwardCompat_T007"} +{"Time":"2026-07-11T04:02:10.6078264+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_HandleRecallSearch_FlagOff_BackwardCompat_T007","Output":"=== RUN TestEC_F1_HandleRecallSearch_FlagOff_BackwardCompat_T007\n"} +{"Time":"2026-07-11T04:02:10.7130592+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_HandleRecallSearch_FlagOff_BackwardCompat_T007","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T04:02:10+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:02:10.7305752+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_HandleRecallSearch_FlagOff_BackwardCompat_T007","Output":"--- PASS: TestEC_F1_HandleRecallSearch_FlagOff_BackwardCompat_T007 (0.12s)\n"} +{"Time":"2026-07-11T04:02:10.7305752+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_HandleRecallSearch_FlagOff_BackwardCompat_T007","Elapsed":0.12} +{"Time":"2026-07-11T04:02:10.7305752+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemory_PrincipalOwnerDerivedFromIdentity"} +{"Time":"2026-07-11T04:02:10.7305752+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemory_PrincipalOwnerDerivedFromIdentity","Output":"=== RUN TestStoreMemory_PrincipalOwnerDerivedFromIdentity\n"} +{"Time":"2026-07-11T04:02:10.8322905+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemory_PrincipalOwnerDerivedFromIdentity","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T04:02:10+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:02:10.8512939+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemory_PrincipalOwnerDerivedFromIdentity","Output":"--- PASS: TestStoreMemory_PrincipalOwnerDerivedFromIdentity (0.12s)\n"} +{"Time":"2026-07-11T04:02:10.8512939+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemory_PrincipalOwnerDerivedFromIdentity","Elapsed":0.12} +{"Time":"2026-07-11T04:02:10.8512939+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOn_T008"} +{"Time":"2026-07-11T04:02:10.8512939+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOn_T008","Output":"=== RUN TestRI_F2_DualFieldResponse_FlagOn_T008\n"} +{"Time":"2026-07-11T04:02:10.9527946+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOn_T008","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T04:02:10+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:02:10.9547954+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOn_T008/legacy_scope=project,_no_privacy_scope_-\u003e_dual_project"} +{"Time":"2026-07-11T04:02:10.9547954+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOn_T008/legacy_scope=project,_no_privacy_scope_-\u003e_dual_project","Output":"=== RUN TestRI_F2_DualFieldResponse_FlagOn_T008/legacy_scope=project,_no_privacy_scope_-\u003e_dual_project\n"} +{"Time":"2026-07-11T04:02:10.9622943+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOn_T008/legacy_scope=project,_no_privacy_scope_-\u003e_dual_project","Output":"--- PASS: TestRI_F2_DualFieldResponse_FlagOn_T008/legacy_scope=project,_no_privacy_scope_-\u003e_dual_project (0.01s)\n"} +{"Time":"2026-07-11T04:02:10.9622943+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOn_T008/legacy_scope=project,_no_privacy_scope_-\u003e_dual_project","Elapsed":0.01} +{"Time":"2026-07-11T04:02:10.9622943+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOn_T008/legacy_scope=global,_no_privacy_scope_-\u003e_dual_global"} +{"Time":"2026-07-11T04:02:10.9622943+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOn_T008/legacy_scope=global,_no_privacy_scope_-\u003e_dual_global","Output":"=== RUN TestRI_F2_DualFieldResponse_FlagOn_T008/legacy_scope=global,_no_privacy_scope_-\u003e_dual_global\n"} +{"Time":"2026-07-11T04:02:10.9682938+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOn_T008/legacy_scope=global,_no_privacy_scope_-\u003e_dual_global","Output":"--- PASS: TestRI_F2_DualFieldResponse_FlagOn_T008/legacy_scope=global,_no_privacy_scope_-\u003e_dual_global (0.01s)\n"} +{"Time":"2026-07-11T04:02:10.9682938+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOn_T008/legacy_scope=global,_no_privacy_scope_-\u003e_dual_global","Elapsed":0.01} +{"Time":"2026-07-11T04:02:10.9682938+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOn_T008/explicit_privacy_scope=shared_overrides_legacy"} +{"Time":"2026-07-11T04:02:10.9682938+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOn_T008/explicit_privacy_scope=shared_overrides_legacy","Output":"=== RUN TestRI_F2_DualFieldResponse_FlagOn_T008/explicit_privacy_scope=shared_overrides_legacy\n"} +{"Time":"2026-07-11T04:02:10.9742939+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOn_T008/explicit_privacy_scope=shared_overrides_legacy","Output":"--- PASS: TestRI_F2_DualFieldResponse_FlagOn_T008/explicit_privacy_scope=shared_overrides_legacy (0.01s)\n"} +{"Time":"2026-07-11T04:02:10.9742939+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOn_T008/explicit_privacy_scope=shared_overrides_legacy","Elapsed":0.01} +{"Time":"2026-07-11T04:02:10.9812942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOn_T008","Output":"--- PASS: TestRI_F2_DualFieldResponse_FlagOn_T008 (0.13s)\n"} +{"Time":"2026-07-11T04:02:10.9812942+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOn_T008","Elapsed":0.13} +{"Time":"2026-07-11T04:02:10.9812942+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOff_LegacyOnly_T008"} +{"Time":"2026-07-11T04:02:10.9812942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOff_LegacyOnly_T008","Output":"=== RUN TestRI_F2_DualFieldResponse_FlagOff_LegacyOnly_T008\n"} +{"Time":"2026-07-11T04:02:11.0945229+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOff_LegacyOnly_T008","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T04:02:11+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:02:11.1125591+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOff_LegacyOnly_T008","Output":"--- PASS: TestRI_F2_DualFieldResponse_FlagOff_LegacyOnly_T008 (0.13s)\n"} +{"Time":"2026-07-11T04:02:11.1125591+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_DualFieldResponse_FlagOff_LegacyOnly_T008","Elapsed":0.13} +{"Time":"2026-07-11T04:02:11.1125591+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_InvalidPrivacyScope_StillStructuredErrorUnderFlagOn_T008"} +{"Time":"2026-07-11T04:02:11.1125591+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_InvalidPrivacyScope_StillStructuredErrorUnderFlagOn_T008","Output":"=== RUN TestRI_F2_InvalidPrivacyScope_StillStructuredErrorUnderFlagOn_T008\n"} +{"Time":"2026-07-11T04:02:11.2270441+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_InvalidPrivacyScope_StillStructuredErrorUnderFlagOn_T008","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T04:02:11+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:02:11.2315447+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_InvalidPrivacyScope_StillStructuredErrorUnderFlagOn_T008","Output":"--- PASS: TestRI_F2_InvalidPrivacyScope_StillStructuredErrorUnderFlagOn_T008 (0.12s)\n"} +{"Time":"2026-07-11T04:02:11.2315447+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRI_F2_InvalidPrivacyScope_StillStructuredErrorUnderFlagOn_T008","Elapsed":0.12} +{"Time":"2026-07-11T04:02:11.2315447+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_MissingProject"} +{"Time":"2026-07-11T04:02:11.2315447+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_MissingProject","Output":"=== RUN TestAdminPurge_MissingProject\n"} +{"Time":"2026-07-11T04:02:11.2315447+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_MissingProject","Output":"--- PASS: TestAdminPurge_MissingProject (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2315447+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_MissingProject","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2315447+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_MissingConfirm"} +{"Time":"2026-07-11T04:02:11.2315447+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_MissingConfirm","Output":"=== RUN TestAdminPurge_MissingConfirm\n"} +{"Time":"2026-07-11T04:02:11.2315447+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_MissingConfirm","Output":"--- PASS: TestAdminPurge_MissingConfirm (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2315447+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_MissingConfirm","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2315447+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_MismatchedConfirm"} +{"Time":"2026-07-11T04:02:11.2315447+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_MismatchedConfirm","Output":"=== RUN TestAdminPurge_MismatchedConfirm\n"} +{"Time":"2026-07-11T04:02:11.2315447+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_MismatchedConfirm","Output":"--- PASS: TestAdminPurge_MismatchedConfirm (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2315447+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_MismatchedConfirm","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2315447+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_NilStore"} +{"Time":"2026-07-11T04:02:11.2315447+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_NilStore","Output":"=== RUN TestAdminPurge_NilStore\n"} +{"Time":"2026-07-11T04:02:11.2315447+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_NilStore","Output":"--- PASS: TestAdminPurge_NilStore (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2315447+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_NilStore","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2315447+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_SetPurgeStore_Wiring"} +{"Time":"2026-07-11T04:02:11.2315447+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_SetPurgeStore_Wiring","Output":"=== RUN TestAdminPurge_SetPurgeStore_Wiring\n"} +{"Time":"2026-07-11T04:02:11.2315447+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_SetPurgeStore_Wiring","Output":"--- PASS: TestAdminPurge_SetPurgeStore_Wiring (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2315447+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_SetPurgeStore_Wiring","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2315447+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_ActionInAdminActions"} +{"Time":"2026-07-11T04:02:11.2315447+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_ActionInAdminActions","Output":"=== RUN TestAdminPurge_ActionInAdminActions\n"} +{"Time":"2026-07-11T04:02:11.2315447+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_ActionInAdminActions","Output":"--- PASS: TestAdminPurge_ActionInAdminActions (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2315447+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_ActionInAdminActions","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2315447+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_NonAdminDenied"} +{"Time":"2026-07-11T04:02:11.2315447+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_NonAdminDenied","Output":"=== RUN TestAdminPurge_NonAdminDenied\n"} +{"Time":"2026-07-11T04:02:11.2315447+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_NonAdminDenied","Output":"--- PASS: TestAdminPurge_NonAdminDenied (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2315447+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_NonAdminDenied","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2315447+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_NoIdentityDenied"} +{"Time":"2026-07-11T04:02:11.2315447+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_NoIdentityDenied","Output":"=== RUN TestAdminPurge_NoIdentityDenied\n"} +{"Time":"2026-07-11T04:02:11.2315447+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_NoIdentityDenied","Output":"--- PASS: TestAdminPurge_NoIdentityDenied (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2315447+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_NoIdentityDenied","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2315447+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_AdminAllowed"} +{"Time":"2026-07-11T04:02:11.2315447+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_AdminAllowed","Output":"=== RUN TestAdminPurge_AdminAllowed\n"} +{"Time":"2026-07-11T04:02:11.2320444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_AdminAllowed","Output":"--- PASS: TestAdminPurge_AdminAllowed (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2320444+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_AdminAllowed","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2320444+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_FlagOff_RejectsAsUnknown"} +{"Time":"2026-07-11T04:02:11.2320444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_FlagOff_RejectsAsUnknown","Output":"=== RUN TestAdminPurge_FlagOff_RejectsAsUnknown\n"} +{"Time":"2026-07-11T04:02:11.2320444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_FlagOff_RejectsAsUnknown","Output":"--- PASS: TestAdminPurge_FlagOff_RejectsAsUnknown (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2320444+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_FlagOff_RejectsAsUnknown","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2320444+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_FlagOff_SchemaLacksConfirm"} +{"Time":"2026-07-11T04:02:11.2320444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_FlagOff_SchemaLacksConfirm","Output":"=== RUN TestAdminPurge_FlagOff_SchemaLacksConfirm\n"} +{"Time":"2026-07-11T04:02:11.2320444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_FlagOff_SchemaLacksConfirm","Output":"--- PASS: TestAdminPurge_FlagOff_SchemaLacksConfirm (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2320444+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_FlagOff_SchemaLacksConfirm","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2320444+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_FlagOn_SchemaHasConfirm"} +{"Time":"2026-07-11T04:02:11.2320444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_FlagOn_SchemaHasConfirm","Output":"=== RUN TestAdminPurge_FlagOn_SchemaHasConfirm\n"} +{"Time":"2026-07-11T04:02:11.2320444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_FlagOn_SchemaHasConfirm","Output":"--- PASS: TestAdminPurge_FlagOn_SchemaHasConfirm (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2320444+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_FlagOn_SchemaHasConfirm","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2320444+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_WhitespaceProject"} +{"Time":"2026-07-11T04:02:11.2320444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_WhitespaceProject","Output":"=== RUN TestAdminPurge_WhitespaceProject\n"} +{"Time":"2026-07-11T04:02:11.2320444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_WhitespaceProject","Output":"--- PASS: TestAdminPurge_WhitespaceProject (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2320444+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAdminPurge_WhitespaceProject","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2320444+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent"} +{"Time":"2026-07-11T04:02:11.2320444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent","Output":"=== RUN TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent\n"} +{"Time":"2026-07-11T04:02:11.2320444+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/master_off_hides_tool"} +{"Time":"2026-07-11T04:02:11.2320444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/master_off_hides_tool","Output":"=== RUN TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/master_off_hides_tool\n"} +{"Time":"2026-07-11T04:02:11.2325442+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/master_off_hides_tool","Output":"--- PASS: TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/master_off_hides_tool (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2325442+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/master_off_hides_tool","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2325442+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/s3_off_hides_tool"} +{"Time":"2026-07-11T04:02:11.2325442+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/s3_off_hides_tool","Output":"=== RUN TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/s3_off_hides_tool\n"} +{"Time":"2026-07-11T04:02:11.2325442+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/s3_off_hides_tool","Output":"--- PASS: TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/s3_off_hides_tool (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2325442+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/s3_off_hides_tool","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2325442+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/missing_queue_hides_tool"} +{"Time":"2026-07-11T04:02:11.2325442+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/missing_queue_hides_tool","Output":"=== RUN TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/missing_queue_hides_tool\n"} +{"Time":"2026-07-11T04:02:11.2325442+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/missing_queue_hides_tool","Output":"--- PASS: TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/missing_queue_hides_tool (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2325442+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/missing_queue_hides_tool","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2325442+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/master+s3+queue_advertises_tool"} +{"Time":"2026-07-11T04:02:11.2325442+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/master+s3+queue_advertises_tool","Output":"=== RUN TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/master+s3+queue_advertises_tool\n"} +{"Time":"2026-07-11T04:02:11.2330444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/master+s3+queue_advertises_tool","Output":"--- PASS: TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/master+s3+queue_advertises_tool (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2330444+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent/master+s3+queue_advertises_tool","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2330444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent","Output":"--- PASS: TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2330444+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsToolAdvertisedOnlyWhenS3FlagAndQueuePresent","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2330444+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsDrainsBoundedSafeHints"} +{"Time":"2026-07-11T04:02:11.2330444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsDrainsBoundedSafeHints","Output":"=== RUN TestGetAmbientHintsDrainsBoundedSafeHints\n"} +{"Time":"2026-07-11T04:02:11.2330444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsDrainsBoundedSafeHints","Output":"--- PASS: TestGetAmbientHintsDrainsBoundedSafeHints (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2330444+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsDrainsBoundedSafeHints","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2330444+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue"} +{"Time":"2026-07-11T04:02:11.2330444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue","Output":"=== RUN TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue\n"} +{"Time":"2026-07-11T04:02:11.2330444+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/disabled_flag"} +{"Time":"2026-07-11T04:02:11.2330444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/disabled_flag","Output":"=== RUN TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/disabled_flag\n"} +{"Time":"2026-07-11T04:02:11.2330444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/disabled_flag","Output":"--- PASS: TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/disabled_flag (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2330444+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/disabled_flag","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2330444+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/empty_queue"} +{"Time":"2026-07-11T04:02:11.2330444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/empty_queue","Output":"=== RUN TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/empty_queue\n"} +{"Time":"2026-07-11T04:02:11.2330444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/empty_queue","Output":"--- PASS: TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/empty_queue (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2330444+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/empty_queue","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2330444+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/stale_queue"} +{"Time":"2026-07-11T04:02:11.2330444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/stale_queue","Output":"=== RUN TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/stale_queue\n"} +{"Time":"2026-07-11T04:02:11.2330444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/stale_queue","Output":"--- PASS: TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/stale_queue (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2330444+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue/stale_queue","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2330444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue","Output":"--- PASS: TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2330444+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetAmbientHintsReturnsEmptyForDisabledStaleAndEmptyQueue","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2330444+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryBrief_PrincipalScopeSchemaAdvertised"} +{"Time":"2026-07-11T04:02:11.2330444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryBrief_PrincipalScopeSchemaAdvertised","Output":"=== RUN TestGetMemoryBrief_PrincipalScopeSchemaAdvertised\n"} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryBrief_PrincipalScopeSchemaAdvertised","Output":"--- PASS: TestGetMemoryBrief_PrincipalScopeSchemaAdvertised (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryBrief_PrincipalScopeSchemaAdvertised","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryBrief_PrincipalScopedResponseAndRequest"} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryBrief_PrincipalScopedResponseAndRequest","Output":"=== RUN TestGetMemoryBrief_PrincipalScopedResponseAndRequest\n"} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryBrief_PrincipalScopedResponseAndRequest","Output":"--- PASS: TestGetMemoryBrief_PrincipalScopedResponseAndRequest (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryBrief_PrincipalScopedResponseAndRequest","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryBrief_PrincipalScopeRequiresQueryService"} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryBrief_PrincipalScopeRequiresQueryService","Output":"=== RUN TestGetMemoryBrief_PrincipalScopeRequiresQueryService\n"} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryBrief_PrincipalScopeRequiresQueryService","Output":"--- PASS: TestGetMemoryBrief_PrincipalScopeRequiresQueryService (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryBrief_PrincipalScopeRequiresQueryService","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireCandidateReviewSnapshotRejectsNil"} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireCandidateReviewSnapshotRejectsNil","Output":"=== RUN TestRequireCandidateReviewSnapshotRejectsNil\n"} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireCandidateReviewSnapshotRejectsNil/reject_candidate"} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireCandidateReviewSnapshotRejectsNil/reject_candidate","Output":"=== RUN TestRequireCandidateReviewSnapshotRejectsNil/reject_candidate\n"} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireCandidateReviewSnapshotRejectsNil/reject_candidate","Output":"--- PASS: TestRequireCandidateReviewSnapshotRejectsNil/reject_candidate (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireCandidateReviewSnapshotRejectsNil/reject_candidate","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireCandidateReviewSnapshotRejectsNil/supersede_candidate"} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireCandidateReviewSnapshotRejectsNil/supersede_candidate","Output":"=== RUN TestRequireCandidateReviewSnapshotRejectsNil/supersede_candidate\n"} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireCandidateReviewSnapshotRejectsNil/supersede_candidate","Output":"--- PASS: TestRequireCandidateReviewSnapshotRejectsNil/supersede_candidate (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireCandidateReviewSnapshotRejectsNil/supersede_candidate","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireCandidateReviewSnapshotRejectsNil","Output":"--- PASS: TestRequireCandidateReviewSnapshotRejectsNil (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireCandidateReviewSnapshotRejectsNil","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireCandidateReviewSnapshotAllowsNonNil"} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireCandidateReviewSnapshotAllowsNonNil","Output":"=== RUN TestRequireCandidateReviewSnapshotAllowsNonNil\n"} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireCandidateReviewSnapshotAllowsNonNil","Output":"--- PASS: TestRequireCandidateReviewSnapshotAllowsNonNil (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireCandidateReviewSnapshotAllowsNonNil","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleListCandidates_EmptyProjectReturnsError"} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleListCandidates_EmptyProjectReturnsError","Output":"=== RUN TestHandleListCandidates_EmptyProjectReturnsError\n"} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleListCandidates_EmptyProjectReturnsError","Output":"--- PASS: TestHandleListCandidates_EmptyProjectReturnsError (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleListCandidates_EmptyProjectReturnsError","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleListCandidates_FlagOffReturnsError"} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleListCandidates_FlagOffReturnsError","Output":"=== RUN TestHandleListCandidates_FlagOffReturnsError\n"} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleListCandidates_FlagOffReturnsError","Output":"--- PASS: TestHandleListCandidates_FlagOffReturnsError (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleListCandidates_FlagOffReturnsError","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleGetCandidate_EmptyIDReturnsError"} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleGetCandidate_EmptyIDReturnsError","Output":"=== RUN TestHandleGetCandidate_EmptyIDReturnsError\n"} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleGetCandidate_EmptyIDReturnsError","Output":"--- PASS: TestHandleGetCandidate_EmptyIDReturnsError (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleGetCandidate_EmptyIDReturnsError","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCandidateTools_ExposeCR008ReviewLoopContracts"} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCandidateTools_ExposeCR008ReviewLoopContracts","Output":"=== RUN TestCandidateTools_ExposeCR008ReviewLoopContracts\n"} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCandidateTools_ExposeCR008ReviewLoopContracts","Output":"--- PASS: TestCandidateTools_ExposeCR008ReviewLoopContracts (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCandidateTools_ExposeCR008ReviewLoopContracts","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleReviewQueueRead_UnsupportedPacketTypeReturnsGatedPayload"} +{"Time":"2026-07-11T04:02:11.2335443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleReviewQueueRead_UnsupportedPacketTypeReturnsGatedPayload","Output":"=== RUN TestHandleReviewQueueRead_UnsupportedPacketTypeReturnsGatedPayload\n"} +{"Time":"2026-07-11T04:02:11.2340442+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleReviewQueueRead_UnsupportedPacketTypeReturnsGatedPayload","Output":"--- PASS: TestHandleReviewQueueRead_UnsupportedPacketTypeReturnsGatedPayload (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2340442+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleReviewQueueRead_UnsupportedPacketTypeReturnsGatedPayload","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2340442+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleReviewQueueRead_LimitOverMaxReturnsError"} +{"Time":"2026-07-11T04:02:11.2340442+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleReviewQueueRead_LimitOverMaxReturnsError","Output":"=== RUN TestHandleReviewQueueRead_LimitOverMaxReturnsError\n"} +{"Time":"2026-07-11T04:02:11.2340442+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleReviewQueueRead_LimitOverMaxReturnsError","Output":"--- PASS: TestHandleReviewQueueRead_LimitOverMaxReturnsError (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2340442+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleReviewQueueRead_LimitOverMaxReturnsError","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2340442+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleReviewQueueRead_RiskyOnlyKeepsUnfilteredMetricsAndBacklog"} +{"Time":"2026-07-11T04:02:11.2340442+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleReviewQueueRead_RiskyOnlyKeepsUnfilteredMetricsAndBacklog","Output":"=== RUN TestHandleReviewQueueRead_RiskyOnlyKeepsUnfilteredMetricsAndBacklog\n"} +{"Time":"2026-07-11T04:02:11.2340442+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleReviewQueueRead_RiskyOnlyKeepsUnfilteredMetricsAndBacklog","Output":"--- PASS: TestHandleReviewQueueRead_RiskyOnlyKeepsUnfilteredMetricsAndBacklog (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2340442+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleReviewQueueRead_RiskyOnlyKeepsUnfilteredMetricsAndBacklog","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2340442+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleReviewPacketPreviewAction_UnsupportedActionRejectedBeforeStoreMutation"} +{"Time":"2026-07-11T04:02:11.2340442+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleReviewPacketPreviewAction_UnsupportedActionRejectedBeforeStoreMutation","Output":"=== RUN TestHandleReviewPacketPreviewAction_UnsupportedActionRejectedBeforeStoreMutation\n"} +{"Time":"2026-07-11T04:02:11.2340442+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleReviewPacketPreviewAction_UnsupportedActionRejectedBeforeStoreMutation","Output":"--- PASS: TestHandleReviewPacketPreviewAction_UnsupportedActionRejectedBeforeStoreMutation (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2340442+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleReviewPacketPreviewAction_UnsupportedActionRejectedBeforeStoreMutation","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2340442+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent"} +{"Time":"2026-07-11T04:02:11.2340442+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent","Output":"=== RUN TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent\n"} +{"Time":"2026-07-11T04:02:11.2340442+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_flag_disabled_even_with_service"} +{"Time":"2026-07-11T04:02:11.2340442+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_flag_disabled_even_with_service","Output":"=== RUN TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_flag_disabled_even_with_service\n"} +{"Time":"2026-07-11T04:02:11.2340442+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_flag_disabled_even_with_service","Output":"--- PASS: TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_flag_disabled_even_with_service (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2340442+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_flag_disabled_even_with_service","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2340442+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_master_flag_disabled_even_if_s4a_flag_and_service_are_present"} +{"Time":"2026-07-11T04:02:11.2340442+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_master_flag_disabled_even_if_s4a_flag_and_service_are_present","Output":"=== RUN TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_master_flag_disabled_even_if_s4a_flag_and_service_are_present\n"} +{"Time":"2026-07-11T04:02:11.234544+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_master_flag_disabled_even_if_s4a_flag_and_service_are_present","Output":"--- PASS: TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_master_flag_disabled_even_if_s4a_flag_and_service_are_present (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.234544+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_master_flag_disabled_even_if_s4a_flag_and_service_are_present","Elapsed":0} +{"Time":"2026-07-11T04:02:11.234544+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_service_is_missing_even_with_flag_enabled"} +{"Time":"2026-07-11T04:02:11.234544+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_service_is_missing_even_with_flag_enabled","Output":"=== RUN TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_service_is_missing_even_with_flag_enabled\n"} +{"Time":"2026-07-11T04:02:11.234544+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_service_is_missing_even_with_flag_enabled","Output":"--- PASS: TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_service_is_missing_even_with_flag_enabled (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.234544+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/absent_when_service_is_missing_even_with_flag_enabled","Elapsed":0} +{"Time":"2026-07-11T04:02:11.234544+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/advertised_with_bounded_input_schema_when_flag_and_service_are_present"} +{"Time":"2026-07-11T04:02:11.234544+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/advertised_with_bounded_input_schema_when_flag_and_service_are_present","Output":"=== RUN TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/advertised_with_bounded_input_schema_when_flag_and_service_are_present\n"} +{"Time":"2026-07-11T04:02:11.234544+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/advertised_with_bounded_input_schema_when_flag_and_service_are_present","Output":"--- PASS: TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/advertised_with_bounded_input_schema_when_flag_and_service_are_present (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.234544+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent/advertised_with_bounded_input_schema_when_flag_and_service_are_present","Elapsed":0} +{"Time":"2026-07-11T04:02:11.234544+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent","Output":"--- PASS: TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.234544+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveToolAdvertisedOnlyWhenS4AFlagAndServiceArePresent","Elapsed":0} +{"Time":"2026-07-11T04:02:11.234544+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation"} +{"Time":"2026-07-11T04:02:11.234544+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation","Output":"=== RUN TestRememberDirectiveDirectCallFailsClosedBeforeDelegation\n"} +{"Time":"2026-07-11T04:02:11.234544+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/flag_disabled"} +{"Time":"2026-07-11T04:02:11.234544+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/flag_disabled","Output":"=== RUN TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/flag_disabled\n"} +{"Time":"2026-07-11T04:02:11.234544+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/flag_disabled","Output":"--- PASS: TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/flag_disabled (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.234544+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/flag_disabled","Elapsed":0} +{"Time":"2026-07-11T04:02:11.234544+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/master_flag_disabled_even_if_s4a_flag_is_enabled"} +{"Time":"2026-07-11T04:02:11.234544+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/master_flag_disabled_even_if_s4a_flag_is_enabled","Output":"=== RUN TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/master_flag_disabled_even_if_s4a_flag_is_enabled\n"} +{"Time":"2026-07-11T04:02:11.234544+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/master_flag_disabled_even_if_s4a_flag_is_enabled","Output":"--- PASS: TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/master_flag_disabled_even_if_s4a_flag_is_enabled (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.234544+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/master_flag_disabled_even_if_s4a_flag_is_enabled","Elapsed":0} +{"Time":"2026-07-11T04:02:11.234544+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/service_missing"} +{"Time":"2026-07-11T04:02:11.234544+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/service_missing","Output":"=== RUN TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/service_missing\n"} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/service_missing","Output":"--- PASS: TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/service_missing (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/service_missing","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/project_context_missing"} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/project_context_missing","Output":"=== RUN TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/project_context_missing\n"} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/project_context_missing","Output":"--- PASS: TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/project_context_missing (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/project_context_missing","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/session_context_missing"} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/session_context_missing","Output":"=== RUN TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/session_context_missing\n"} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/session_context_missing","Output":"--- PASS: TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/session_context_missing (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation/session_context_missing","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation","Output":"--- PASS: TestRememberDirectiveDirectCallFailsClosedBeforeDelegation (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallFailsClosedBeforeDelegation","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallDelegatesContextAndReturnsSanitizedRecord"} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallDelegatesContextAndReturnsSanitizedRecord","Output":"=== RUN TestRememberDirectiveDirectCallDelegatesContextAndReturnsSanitizedRecord\n"} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallDelegatesContextAndReturnsSanitizedRecord","Output":"--- PASS: TestRememberDirectiveDirectCallDelegatesContextAndReturnsSanitizedRecord (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRememberDirectiveDirectCallDelegatesContextAndReturnsSanitizedRecord","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemory_DryRun_NilStore"} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemory_DryRun_NilStore","Output":"=== RUN TestStoreMemory_DryRun_NilStore\n"} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemory_DryRun_NilStore","Output":"--- PASS: TestStoreMemory_DryRun_NilStore (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemory_DryRun_NilStore","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemory_DryRun_RequiresContent"} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemory_DryRun_RequiresContent","Output":"=== RUN TestStoreMemory_DryRun_RequiresContent\n"} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemory_DryRun_RequiresContent","Output":"--- PASS: TestStoreMemory_DryRun_RequiresContent (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemory_DryRun_RequiresContent","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestPromoteCandidate_DryRun_NilStore"} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestPromoteCandidate_DryRun_NilStore","Output":"=== RUN TestPromoteCandidate_DryRun_NilStore\n"} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestPromoteCandidate_DryRun_NilStore","Output":"--- PASS: TestPromoteCandidate_DryRun_NilStore (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestPromoteCandidate_DryRun_NilStore","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkPromote_DryRun_NilFacade"} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkPromote_DryRun_NilFacade","Output":"=== RUN TestBulkPromote_DryRun_NilFacade\n"} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkPromote_DryRun_NilFacade","Output":"--- PASS: TestBulkPromote_DryRun_NilFacade (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkPromote_DryRun_NilFacade","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkDelete_DryRun_NilFacade"} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkDelete_DryRun_NilFacade","Output":"=== RUN TestBulkDelete_DryRun_NilFacade\n"} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkDelete_DryRun_NilFacade","Output":"--- PASS: TestBulkDelete_DryRun_NilFacade (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkDelete_DryRun_NilFacade","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkSupersede_DryRun_NilFacade"} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkSupersede_DryRun_NilFacade","Output":"=== RUN TestBulkSupersede_DryRun_NilFacade\n"} +{"Time":"2026-07-11T04:02:11.2350443+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkSupersede_DryRun_NilFacade","Output":"--- PASS: TestBulkSupersede_DryRun_NilFacade (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2355452+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkSupersede_DryRun_NilFacade","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2355452+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkPromote_NonAdmin_ReturnsAdminRequired"} +{"Time":"2026-07-11T04:02:11.2355452+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkPromote_NonAdmin_ReturnsAdminRequired","Output":"=== RUN TestBulkPromote_NonAdmin_ReturnsAdminRequired\n"} +{"Time":"2026-07-11T04:02:11.2355452+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkPromote_NonAdmin_ReturnsAdminRequired","Output":"--- PASS: TestBulkPromote_NonAdmin_ReturnsAdminRequired (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2355452+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkPromote_NonAdmin_ReturnsAdminRequired","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2355452+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkOps_FlagOff_NotAdvertised"} +{"Time":"2026-07-11T04:02:11.2355452+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkOps_FlagOff_NotAdvertised","Output":"=== RUN TestBulkOps_FlagOff_NotAdvertised\n"} +{"Time":"2026-07-11T04:02:11.2355452+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkOps_FlagOff_NotAdvertised","Output":"--- PASS: TestBulkOps_FlagOff_NotAdvertised (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.2355452+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestBulkOps_FlagOff_NotAdvertised","Elapsed":0} +{"Time":"2026-07-11T04:02:11.2355452+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestDryRun_Integration_StoreMemory_ZeroSideEffects"} +{"Time":"2026-07-11T04:02:11.2355452+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestDryRun_Integration_StoreMemory_ZeroSideEffects","Output":"=== RUN TestDryRun_Integration_StoreMemory_ZeroSideEffects\n"} +{"Time":"2026-07-11T04:02:11.3517081+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestDryRun_Integration_StoreMemory_ZeroSideEffects","Output":"{\"level\":\"debug\",\"connections\":5,\"time\":\"2026-07-11T04:02:11+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:02:11.3577096+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestDryRun_Integration_StoreMemory_ZeroSideEffects","Output":"--- PASS: TestDryRun_Integration_StoreMemory_ZeroSideEffects (0.12s)\n"} +{"Time":"2026-07-11T04:02:11.3582082+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestDryRun_Integration_StoreMemory_ZeroSideEffects","Elapsed":0.12} +{"Time":"2026-07-11T04:02:11.3582082+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestExperienceHistoryToolsAdvertisedWhenProviderWired"} +{"Time":"2026-07-11T04:02:11.3582082+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestExperienceHistoryToolsAdvertisedWhenProviderWired","Output":"=== RUN TestExperienceHistoryToolsAdvertisedWhenProviderWired\n"} +{"Time":"2026-07-11T04:02:11.3582082+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestExperienceHistoryToolsAdvertisedWhenProviderWired","Output":"--- PASS: TestExperienceHistoryToolsAdvertisedWhenProviderWired (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.3582082+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestExperienceHistoryToolsAdvertisedWhenProviderWired","Elapsed":0} +{"Time":"2026-07-11T04:02:11.3587081+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleExperienceHistoryReadReturnsBlockedApplicabilityEnvelope"} +{"Time":"2026-07-11T04:02:11.3587081+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleExperienceHistoryReadReturnsBlockedApplicabilityEnvelope","Output":"=== RUN TestHandleExperienceHistoryReadReturnsBlockedApplicabilityEnvelope\n"} +{"Time":"2026-07-11T04:02:11.3592079+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleExperienceHistoryReadReturnsBlockedApplicabilityEnvelope","Output":"--- PASS: TestHandleExperienceHistoryReadReturnsBlockedApplicabilityEnvelope (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.3592079+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleExperienceHistoryReadReturnsBlockedApplicabilityEnvelope","Elapsed":0} +{"Time":"2026-07-11T04:02:11.3592079+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleExperienceHistoryReadRejectsInvalidArchiveTrigger"} +{"Time":"2026-07-11T04:02:11.3592079+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleExperienceHistoryReadRejectsInvalidArchiveTrigger","Output":"=== RUN TestHandleExperienceHistoryReadRejectsInvalidArchiveTrigger\n"} +{"Time":"2026-07-11T04:02:11.3597099+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleExperienceHistoryReadRejectsInvalidArchiveTrigger","Output":"--- PASS: TestHandleExperienceHistoryReadRejectsInvalidArchiveTrigger (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.3597099+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleExperienceHistoryReadRejectsInvalidArchiveTrigger","Elapsed":0} +{"Time":"2026-07-11T04:02:11.3597099+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_NotAdvertisedWhenFlagOff"} +{"Time":"2026-07-11T04:02:11.3597099+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_NotAdvertisedWhenFlagOff","Output":"=== RUN TestGovernanceTools_NotAdvertisedWhenFlagOff\n"} +{"Time":"2026-07-11T04:02:11.3597099+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_NotAdvertisedWhenFlagOff","Output":"--- PASS: TestGovernanceTools_NotAdvertisedWhenFlagOff (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.3597099+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_NotAdvertisedWhenFlagOff","Elapsed":0} +{"Time":"2026-07-11T04:02:11.3597099+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity"} +{"Time":"2026-07-11T04:02:11.3597099+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity","Output":"=== RUN TestGovernanceTools_AdminGate_NoIdentity\n"} +{"Time":"2026-07-11T04:02:11.365708+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity/list_snapshots"} +{"Time":"2026-07-11T04:02:11.365708+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity/list_snapshots","Output":"=== RUN TestGovernanceTools_AdminGate_NoIdentity/list_snapshots\n"} +{"Time":"2026-07-11T04:02:11.3662068+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity/list_snapshots","Output":"--- PASS: TestGovernanceTools_AdminGate_NoIdentity/list_snapshots (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.3662068+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity/list_snapshots","Elapsed":0} +{"Time":"2026-07-11T04:02:11.3662068+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity/rollback_snapshot"} +{"Time":"2026-07-11T04:02:11.3662068+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity/rollback_snapshot","Output":"=== RUN TestGovernanceTools_AdminGate_NoIdentity/rollback_snapshot\n"} +{"Time":"2026-07-11T04:02:11.3662068+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity/rollback_snapshot","Output":"--- PASS: TestGovernanceTools_AdminGate_NoIdentity/rollback_snapshot (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.3662068+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity/rollback_snapshot","Elapsed":0} +{"Time":"2026-07-11T04:02:11.3662068+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity/pin_snapshot"} +{"Time":"2026-07-11T04:02:11.3662068+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity/pin_snapshot","Output":"=== RUN TestGovernanceTools_AdminGate_NoIdentity/pin_snapshot\n"} +{"Time":"2026-07-11T04:02:11.3662068+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity/pin_snapshot","Output":"--- PASS: TestGovernanceTools_AdminGate_NoIdentity/pin_snapshot (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.3662068+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity/pin_snapshot","Elapsed":0} +{"Time":"2026-07-11T04:02:11.3662068+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity/redaction_rules_status"} +{"Time":"2026-07-11T04:02:11.3662068+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity/redaction_rules_status","Output":"=== RUN TestGovernanceTools_AdminGate_NoIdentity/redaction_rules_status\n"} +{"Time":"2026-07-11T04:02:11.3662068+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity/redaction_rules_status","Output":"--- PASS: TestGovernanceTools_AdminGate_NoIdentity/redaction_rules_status (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.3662068+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity/redaction_rules_status","Elapsed":0} +{"Time":"2026-07-11T04:02:11.3662068+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity","Output":"--- PASS: TestGovernanceTools_AdminGate_NoIdentity (0.01s)\n"} +{"Time":"2026-07-11T04:02:11.3662068+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_NoIdentity","Elapsed":0.01} +{"Time":"2026-07-11T04:02:11.3662068+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_ReadOnlyCaller"} +{"Time":"2026-07-11T04:02:11.3662068+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_ReadOnlyCaller","Output":"=== RUN TestGovernanceTools_AdminGate_ReadOnlyCaller\n"} +{"Time":"2026-07-11T04:02:11.3717107+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_ReadOnlyCaller","Output":"--- PASS: TestGovernanceTools_AdminGate_ReadOnlyCaller (0.01s)\n"} +{"Time":"2026-07-11T04:02:11.3717107+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_AdminGate_ReadOnlyCaller","Elapsed":0.01} +{"Time":"2026-07-11T04:02:11.3717107+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_RedactionRulesStatus_NoAdminRequired_WithAdmin"} +{"Time":"2026-07-11T04:02:11.3717107+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_RedactionRulesStatus_NoAdminRequired_WithAdmin","Output":"=== RUN TestGovernanceTools_RedactionRulesStatus_NoAdminRequired_WithAdmin\n"} +{"Time":"2026-07-11T04:02:11.3717107+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_RedactionRulesStatus_NoAdminRequired_WithAdmin","Output":"--- PASS: TestGovernanceTools_RedactionRulesStatus_NoAdminRequired_WithAdmin (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_RedactionRulesStatus_NoAdminRequired_WithAdmin","Elapsed":0} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_ListSnapshotsSchemaIncludesReviewActionOpTypes"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_ListSnapshotsSchemaIncludesReviewActionOpTypes","Output":"=== RUN TestGovernanceTools_ListSnapshotsSchemaIncludesReviewActionOpTypes\n"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_ListSnapshotsSchemaIncludesReviewActionOpTypes","Output":"--- PASS: TestGovernanceTools_ListSnapshotsSchemaIncludesReviewActionOpTypes (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGovernanceTools_ListSnapshotsSchemaIncludesReviewActionOpTypes","Elapsed":0} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_ArgsShape"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_ArgsShape","Output":"=== RUN TestGraphTool_T014_ArgsShape\n"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_ArgsShape","Output":"--- PASS: TestGraphTool_T014_ArgsShape (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_ArgsShape","Elapsed":0} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeAction"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeAction","Output":"=== RUN TestGraphTool_T014_AddNodeAction\n"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeAction","Output":"--- PASS: TestGraphTool_T014_AddNodeAction (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeAction","Elapsed":0} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_GetEdgesNodeTypeFilter"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_GetEdgesNodeTypeFilter","Output":"=== RUN TestGraphTool_T014_GetEdgesNodeTypeFilter\n"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_GetEdgesNodeTypeFilter","Output":"--- PASS: TestGraphTool_T014_GetEdgesNodeTypeFilter (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_GetEdgesNodeTypeFilter","Elapsed":0} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_InvalidNodeTypeRejects"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_InvalidNodeTypeRejects","Output":"=== RUN TestGraphTool_T014_InvalidNodeTypeRejects\n"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_InvalidNodeTypeRejects","Output":"--- PASS: TestGraphTool_T014_InvalidNodeTypeRejects (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_InvalidNodeTypeRejects","Elapsed":0} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_NodeTypeFilterOffline"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_NodeTypeFilterOffline","Output":"=== RUN TestGraphTool_T014_NodeTypeFilterOffline\n"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_NodeTypeFilterOffline","Output":"--- PASS: TestGraphTool_T014_NodeTypeFilterOffline (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_NodeTypeFilterOffline","Elapsed":0} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline","Output":"=== RUN TestGraphTool_T014_AddNodeOffline\n"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline/invalid_node_type_returns_error_containing_invalid_node_type:"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline/invalid_node_type_returns_error_containing_invalid_node_type:","Output":"=== RUN TestGraphTool_T014_AddNodeOffline/invalid_node_type_returns_error_containing_invalid_node_type:\n"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline/invalid_node_type_returns_error_containing_invalid_node_type:","Output":"--- PASS: TestGraphTool_T014_AddNodeOffline/invalid_node_type_returns_error_containing_invalid_node_type: (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline/invalid_node_type_returns_error_containing_invalid_node_type:","Elapsed":0} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline/empty_external_ref_returns_error"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline/empty_external_ref_returns_error","Output":"=== RUN TestGraphTool_T014_AddNodeOffline/empty_external_ref_returns_error\n"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline/empty_external_ref_returns_error","Output":"--- PASS: TestGraphTool_T014_AddNodeOffline/empty_external_ref_returns_error (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline/empty_external_ref_returns_error","Elapsed":0} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline/empty_project_returns_error"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline/empty_project_returns_error","Output":"=== RUN TestGraphTool_T014_AddNodeOffline/empty_project_returns_error\n"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline/empty_project_returns_error","Output":"--- PASS: TestGraphTool_T014_AddNodeOffline/empty_project_returns_error (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline/empty_project_returns_error","Elapsed":0} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline/valid_input_store_receives_correct_node"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline/valid_input_store_receives_correct_node","Output":"=== RUN TestGraphTool_T014_AddNodeOffline/valid_input_store_receives_correct_node\n"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline/valid_input_store_receives_correct_node","Output":"--- PASS: TestGraphTool_T014_AddNodeOffline/valid_input_store_receives_correct_node (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline/valid_input_store_receives_correct_node","Elapsed":0} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline","Output":"--- PASS: TestGraphTool_T014_AddNodeOffline (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddNodeOffline","Elapsed":0} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline","Output":"=== RUN TestGraphTool_T014_AddEdgeGuardsOffline\n"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline/duplicate_edge_rejected_before_create"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline/duplicate_edge_rejected_before_create","Output":"=== RUN TestGraphTool_T014_AddEdgeGuardsOffline/duplicate_edge_rejected_before_create\n"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline/duplicate_edge_rejected_before_create","Output":"--- PASS: TestGraphTool_T014_AddEdgeGuardsOffline/duplicate_edge_rejected_before_create (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline/duplicate_edge_rejected_before_create","Elapsed":0} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline/orphan_edge_rejected_before_create"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline/orphan_edge_rejected_before_create","Output":"=== RUN TestGraphTool_T014_AddEdgeGuardsOffline/orphan_edge_rejected_before_create\n"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline/orphan_edge_rejected_before_create","Output":"--- PASS: TestGraphTool_T014_AddEdgeGuardsOffline/orphan_edge_rejected_before_create (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline/orphan_edge_rejected_before_create","Elapsed":0} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline/memory_orphan_edge_rejected_before_create"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline/memory_orphan_edge_rejected_before_create","Output":"=== RUN TestGraphTool_T014_AddEdgeGuardsOffline/memory_orphan_edge_rejected_before_create\n"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline/memory_orphan_edge_rejected_before_create","Output":"--- PASS: TestGraphTool_T014_AddEdgeGuardsOffline/memory_orphan_edge_rejected_before_create (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline/memory_orphan_edge_rejected_before_create","Elapsed":0} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline/valid_edge_creates_exactly_once"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline/valid_edge_creates_exactly_once","Output":"=== RUN TestGraphTool_T014_AddEdgeGuardsOffline/valid_edge_creates_exactly_once\n"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline/valid_edge_creates_exactly_once","Output":"--- PASS: TestGraphTool_T014_AddEdgeGuardsOffline/valid_edge_creates_exactly_once (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline/valid_edge_creates_exactly_once","Elapsed":0} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline","Output":"--- PASS: TestGraphTool_T014_AddEdgeGuardsOffline (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGraphTool_T014_AddEdgeGuardsOffline","Elapsed":0} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleIssueCloseAcceptsExplicitLegacySourceProject"} +{"Time":"2026-07-11T04:02:11.3722082+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleIssueCloseAcceptsExplicitLegacySourceProject","Output":"=== RUN TestHandleIssueCloseAcceptsExplicitLegacySourceProject\n"} +{"Time":"2026-07-11T04:02:11.4914217+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleIssueCloseAcceptsExplicitLegacySourceProject","Output":"{\"level\":\"debug\",\"connections\":5,\"time\":\"2026-07-11T04:02:11+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:02:11.525098+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleIssueCloseAcceptsExplicitLegacySourceProject","Output":"--- PASS: TestHandleIssueCloseAcceptsExplicitLegacySourceProject (0.15s)\n"} +{"Time":"2026-07-11T04:02:11.525098+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleIssueCloseAcceptsExplicitLegacySourceProject","Elapsed":0.15} +{"Time":"2026-07-11T04:02:11.525098+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleIssueCloseDoesNotLetExplicitDashboardBypassContext"} +{"Time":"2026-07-11T04:02:11.525098+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleIssueCloseDoesNotLetExplicitDashboardBypassContext","Output":"=== RUN TestHandleIssueCloseDoesNotLetExplicitDashboardBypassContext\n"} +{"Time":"2026-07-11T04:02:11.637786+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleIssueCloseDoesNotLetExplicitDashboardBypassContext","Output":"{\"level\":\"debug\",\"connections\":5,\"time\":\"2026-07-11T04:02:11+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:02:11.6662912+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleIssueCloseDoesNotLetExplicitDashboardBypassContext","Output":"--- PASS: TestHandleIssueCloseDoesNotLetExplicitDashboardBypassContext (0.14s)\n"} +{"Time":"2026-07-11T04:02:11.6662912+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleIssueCloseDoesNotLetExplicitDashboardBypassContext","Elapsed":0.14} +{"Time":"2026-07-11T04:02:11.6662912+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditCreate_LogCalledOnSuccess"} +{"Time":"2026-07-11T04:02:11.6662912+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditCreate_LogCalledOnSuccess","Output":"=== RUN TestAuditCreate_LogCalledOnSuccess\n"} +{"Time":"2026-07-11T04:02:11.6717913+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditCreate_LogCalledOnSuccess","Output":"--- PASS: TestAuditCreate_LogCalledOnSuccess (0.01s)\n"} +{"Time":"2026-07-11T04:02:11.6717913+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditCreate_LogCalledOnSuccess","Elapsed":0.01} +{"Time":"2026-07-11T04:02:11.6717913+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditCreate_SkippedWhenFlagOff"} +{"Time":"2026-07-11T04:02:11.6717913+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditCreate_SkippedWhenFlagOff","Output":"=== RUN TestAuditCreate_SkippedWhenFlagOff\n"} +{"Time":"2026-07-11T04:02:11.7023671+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditCreate_SkippedWhenFlagOff","Output":"--- PASS: TestAuditCreate_SkippedWhenFlagOff (0.03s)\n"} +{"Time":"2026-07-11T04:02:11.7023671+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditCreate_SkippedWhenFlagOff","Elapsed":0.03} +{"Time":"2026-07-11T04:02:11.7023671+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditCreate_SkippedWhenAuditStoreNil"} +{"Time":"2026-07-11T04:02:11.7023671+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditCreate_SkippedWhenAuditStoreNil","Output":"=== RUN TestAuditCreate_SkippedWhenAuditStoreNil\n"} +{"Time":"2026-07-11T04:02:11.7128673+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditCreate_SkippedWhenAuditStoreNil","Output":"--- PASS: TestAuditCreate_SkippedWhenAuditStoreNil (0.01s)\n"} +{"Time":"2026-07-11T04:02:11.7128673+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditCreate_SkippedWhenAuditStoreNil","Elapsed":0.01} +{"Time":"2026-07-11T04:02:11.7128673+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditEdit_LogCalledWithBeforeAndAfterState"} +{"Time":"2026-07-11T04:02:11.7128673+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditEdit_LogCalledWithBeforeAndAfterState","Output":"=== RUN TestAuditEdit_LogCalledWithBeforeAndAfterState\n"} +{"Time":"2026-07-11T04:02:11.718367+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditEdit_LogCalledWithBeforeAndAfterState","Output":"--- PASS: TestAuditEdit_LogCalledWithBeforeAndAfterState (0.01s)\n"} +{"Time":"2026-07-11T04:02:11.718367+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditEdit_LogCalledWithBeforeAndAfterState","Elapsed":0.01} +{"Time":"2026-07-11T04:02:11.718367+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditDelete_LogCalledWithBeforeState"} +{"Time":"2026-07-11T04:02:11.718367+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditDelete_LogCalledWithBeforeState","Output":"=== RUN TestAuditDelete_LogCalledWithBeforeState\n"} +{"Time":"2026-07-11T04:02:11.7238673+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditDelete_LogCalledWithBeforeState","Output":"--- PASS: TestAuditDelete_LogCalledWithBeforeState (0.01s)\n"} +{"Time":"2026-07-11T04:02:11.7238673+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditDelete_LogCalledWithBeforeState","Elapsed":0.01} +{"Time":"2026-07-11T04:02:11.7238673+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditSupersede_LogCalledWithSupersededID"} +{"Time":"2026-07-11T04:02:11.7238673+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditSupersede_LogCalledWithSupersededID","Output":"=== RUN TestAuditSupersede_LogCalledWithSupersededID\n"} +{"Time":"2026-07-11T04:02:11.7292449+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditSupersede_LogCalledWithSupersededID","Output":"--- PASS: TestAuditSupersede_LogCalledWithSupersededID (0.01s)\n"} +{"Time":"2026-07-11T04:02:11.7292449+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditSupersede_LogCalledWithSupersededID","Elapsed":0.01} +{"Time":"2026-07-11T04:02:11.7292449+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditEdit_SkippedWhenFlagOff"} +{"Time":"2026-07-11T04:02:11.7292449+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditEdit_SkippedWhenFlagOff","Output":"=== RUN TestAuditEdit_SkippedWhenFlagOff\n"} +{"Time":"2026-07-11T04:02:11.7598302+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditEdit_SkippedWhenFlagOff","Output":"--- PASS: TestAuditEdit_SkippedWhenFlagOff (0.03s)\n"} +{"Time":"2026-07-11T04:02:11.7598302+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditEdit_SkippedWhenFlagOff","Elapsed":0.03} +{"Time":"2026-07-11T04:02:11.7598302+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditDelete_SkippedWhenFlagOff"} +{"Time":"2026-07-11T04:02:11.7598302+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditDelete_SkippedWhenFlagOff","Output":"=== RUN TestAuditDelete_SkippedWhenFlagOff\n"} +{"Time":"2026-07-11T04:02:11.7901331+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditDelete_SkippedWhenFlagOff","Output":"--- PASS: TestAuditDelete_SkippedWhenFlagOff (0.03s)\n"} +{"Time":"2026-07-11T04:02:11.7901331+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditDelete_SkippedWhenFlagOff","Elapsed":0.03} +{"Time":"2026-07-11T04:02:11.7901331+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditSupersede_SkippedWhenFlagOff"} +{"Time":"2026-07-11T04:02:11.7901331+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditSupersede_SkippedWhenFlagOff","Output":"=== RUN TestAuditSupersede_SkippedWhenFlagOff\n"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditSupersede_SkippedWhenFlagOff","Output":"--- PASS: TestAuditSupersede_SkippedWhenFlagOff (0.03s)\n"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestAuditSupersede_SkippedWhenFlagOff","Elapsed":0.03} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_EmptyDomainLegacyCompatible"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_EmptyDomainLegacyCompatible","Output":"=== RUN TestStoreMemoryDomainPolicy_EmptyDomainLegacyCompatible\n"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_EmptyDomainLegacyCompatible","Output":"=== PAUSE TestStoreMemoryDomainPolicy_EmptyDomainLegacyCompatible\n"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_EmptyDomainLegacyCompatible"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainRequiresPrincipal"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainRequiresPrincipal","Output":"=== RUN TestStoreMemoryDomainPolicy_NonEmptyDomainRequiresPrincipal\n"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainRequiresPrincipal","Output":"=== PAUSE TestStoreMemoryDomainPolicy_NonEmptyDomainRequiresPrincipal\n"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainRequiresPrincipal"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainAllowsPrincipalIdentity"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainAllowsPrincipalIdentity","Output":"=== RUN TestStoreMemoryDomainPolicy_NonEmptyDomainAllowsPrincipalIdentity\n"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainAllowsPrincipalIdentity","Output":"=== PAUSE TestStoreMemoryDomainPolicy_NonEmptyDomainAllowsPrincipalIdentity\n"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainAllowsPrincipalIdentity"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainRejectsInvalidPrincipalKind"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainRejectsInvalidPrincipalKind","Output":"=== RUN TestStoreMemoryDomainPolicy_NonEmptyDomainRejectsInvalidPrincipalKind\n"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainRejectsInvalidPrincipalKind","Output":"=== PAUSE TestStoreMemoryDomainPolicy_NonEmptyDomainRejectsInvalidPrincipalKind\n"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainRejectsInvalidPrincipalKind"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLintDomainPolicy_DomainOwnedCandidateHidden"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLintDomainPolicy_DomainOwnedCandidateHidden","Output":"=== RUN TestWriteLintDomainPolicy_DomainOwnedCandidateHidden\n"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLintDomainPolicy_DomainOwnedCandidateHidden","Output":"=== PAUSE TestWriteLintDomainPolicy_DomainOwnedCandidateHidden\n"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLintDomainPolicy_DomainOwnedCandidateHidden"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLintDomainPolicy_DomainOwnedTargetHidden"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLintDomainPolicy_DomainOwnedTargetHidden","Output":"=== RUN TestWriteLintDomainPolicy_DomainOwnedTargetHidden\n"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLintDomainPolicy_DomainOwnedTargetHidden","Output":"=== PAUSE TestWriteLintDomainPolicy_DomainOwnedTargetHidden\n"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLintDomainPolicy_DomainOwnedTargetHidden"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestLegacyWriteGateDomainPolicy_DomainOwnedCandidateHidden"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestLegacyWriteGateDomainPolicy_DomainOwnedCandidateHidden","Output":"=== RUN TestLegacyWriteGateDomainPolicy_DomainOwnedCandidateHidden\n"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestLegacyWriteGateDomainPolicy_DomainOwnedCandidateHidden","Output":"--- PASS: TestLegacyWriteGateDomainPolicy_DomainOwnedCandidateHidden (0.00s)\n"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestLegacyWriteGateDomainPolicy_DomainOwnedCandidateHidden","Elapsed":0} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryDomainPolicy_DomainOwnedRowHiddenFromMismatchedPrincipal"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryDomainPolicy_DomainOwnedRowHiddenFromMismatchedPrincipal","Output":"=== RUN TestRecallMemoryDomainPolicy_DomainOwnedRowHiddenFromMismatchedPrincipal\n"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryDomainPolicy_DomainOwnedRowHiddenFromMismatchedPrincipal","Output":"=== PAUSE TestRecallMemoryDomainPolicy_DomainOwnedRowHiddenFromMismatchedPrincipal\n"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryDomainPolicy_DomainOwnedRowHiddenFromMismatchedPrincipal"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryDomainPolicy_DomainOwnedRowVisibleToOwner"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryDomainPolicy_DomainOwnedRowVisibleToOwner","Output":"=== RUN TestRecallMemoryDomainPolicy_DomainOwnedRowVisibleToOwner\n"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryDomainPolicy_DomainOwnedRowVisibleToOwner","Output":"=== PAUSE TestRecallMemoryDomainPolicy_DomainOwnedRowVisibleToOwner\n"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryDomainPolicy_DomainOwnedRowVisibleToOwner"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility"} +{"Time":"2026-07-11T04:02:11.8207163+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility","Output":"=== RUN TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility\n"} +{"Time":"2026-07-11T04:02:11.928877+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T04:02:11+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:02:11.9293744+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/missing_row_preserves_current_behavior"} +{"Time":"2026-07-11T04:02:11.9293744+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/missing_row_preserves_current_behavior","Output":"=== RUN TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/missing_row_preserves_current_behavior\n"} +{"Time":"2026-07-11T04:02:11.9404124+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/missing_row_preserves_current_behavior","Output":"--- PASS: TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/missing_row_preserves_current_behavior (0.01s)\n"} +{"Time":"2026-07-11T04:02:11.9404124+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/missing_row_preserves_current_behavior","Elapsed":0.01} +{"Time":"2026-07-11T04:02:11.9404124+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/off_allows_cross_owner"} +{"Time":"2026-07-11T04:02:11.9404124+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/off_allows_cross_owner","Output":"=== RUN TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/off_allows_cross_owner\n"} +{"Time":"2026-07-11T04:02:11.9559122+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/off_allows_cross_owner","Output":"--- PASS: TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/off_allows_cross_owner (0.02s)\n"} +{"Time":"2026-07-11T04:02:11.9559122+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/off_allows_cross_owner","Elapsed":0.02} +{"Time":"2026-07-11T04:02:11.9559122+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/same_owner_allows_without_warning"} +{"Time":"2026-07-11T04:02:11.9559122+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/same_owner_allows_without_warning","Output":"=== RUN TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/same_owner_allows_without_warning\n"} +{"Time":"2026-07-11T04:02:11.9694137+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/same_owner_allows_without_warning","Output":"--- PASS: TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/same_owner_allows_without_warning (0.01s)\n"} +{"Time":"2026-07-11T04:02:11.9694137+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/same_owner_allows_without_warning","Elapsed":0.01} +{"Time":"2026-07-11T04:02:11.9694137+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/warn_allows_with_structured_warning"} +{"Time":"2026-07-11T04:02:11.9694137+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/warn_allows_with_structured_warning","Output":"=== RUN TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/warn_allows_with_structured_warning\n"} +{"Time":"2026-07-11T04:02:11.9899128+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/warn_allows_with_structured_warning","Output":"--- PASS: TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/warn_allows_with_structured_warning (0.02s)\n"} +{"Time":"2026-07-11T04:02:11.9899128+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/warn_allows_with_structured_warning","Elapsed":0.02} +{"Time":"2026-07-11T04:02:11.9899128+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/reject_denies_before_persistence"} +{"Time":"2026-07-11T04:02:11.9899128+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/reject_denies_before_persistence","Output":"=== RUN TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/reject_denies_before_persistence\n"} +{"Time":"2026-07-11T04:02:12.0034131+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/reject_denies_before_persistence","Output":"--- PASS: TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/reject_denies_before_persistence (0.01s)\n"} +{"Time":"2026-07-11T04:02:12.0034131+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility/reject_denies_before_persistence","Elapsed":0.01} +{"Time":"2026-07-11T04:02:12.0214118+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility","Output":"--- PASS: TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility (0.20s)\n"} +{"Time":"2026-07-11T04:02:12.0214118+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_WarnRejectAndCompatibility","Elapsed":0.2} +{"Time":"2026-07-11T04:02:12.0214118+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_AuditFailureBlocksBeforePersistence"} +{"Time":"2026-07-11T04:02:12.0214118+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_AuditFailureBlocksBeforePersistence","Output":"=== RUN TestStoreMemoryDomainRegistry_AuditFailureBlocksBeforePersistence\n"} +{"Time":"2026-07-11T04:02:12.1221818+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_AuditFailureBlocksBeforePersistence","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T04:02:12+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:02:12.1341822+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_AuditFailureBlocksBeforePersistence","Output":"--- PASS: TestStoreMemoryDomainRegistry_AuditFailureBlocksBeforePersistence (0.11s)\n"} +{"Time":"2026-07-11T04:02:12.1341822+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_AuditFailureBlocksBeforePersistence","Elapsed":0.11} +{"Time":"2026-07-11T04:02:12.1341822+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_RejectionRunsBeforeSupersedeMutation"} +{"Time":"2026-07-11T04:02:12.1341822+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_RejectionRunsBeforeSupersedeMutation","Output":"=== RUN TestStoreMemoryDomainRegistry_RejectionRunsBeforeSupersedeMutation\n"} +{"Time":"2026-07-11T04:02:12.2358563+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_RejectionRunsBeforeSupersedeMutation","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T04:02:12+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:02:12.2880704+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_RejectionRunsBeforeSupersedeMutation","Output":"--- PASS: TestStoreMemoryDomainRegistry_RejectionRunsBeforeSupersedeMutation (0.15s)\n"} +{"Time":"2026-07-11T04:02:12.2880704+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_RejectionRunsBeforeSupersedeMutation","Elapsed":0.15} +{"Time":"2026-07-11T04:02:12.2880704+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_InvalidWriterKindRejectsBeforePersistence"} +{"Time":"2026-07-11T04:02:12.2880704+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_InvalidWriterKindRejectsBeforePersistence","Output":"=== RUN TestStoreMemoryDomainRegistry_InvalidWriterKindRejectsBeforePersistence\n"} +{"Time":"2026-07-11T04:02:12.3926044+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_InvalidWriterKindRejectsBeforePersistence","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T04:02:12+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:02:12.4036034+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_InvalidWriterKindRejectsBeforePersistence","Output":"--- PASS: TestStoreMemoryDomainRegistry_InvalidWriterKindRejectsBeforePersistence (0.12s)\n"} +{"Time":"2026-07-11T04:02:12.4036034+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainRegistry_InvalidWriterKindRejectsBeforePersistence","Elapsed":0.12} +{"Time":"2026-07-11T04:02:12.4036034+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_HardLimitRejected"} +{"Time":"2026-07-11T04:02:12.4036034+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_HardLimitRejected","Output":"=== RUN TestEditMemory_HardLimitRejected\n"} +{"Time":"2026-07-11T04:02:12.4041033+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_HardLimitRejected","Output":"--- PASS: TestEditMemory_HardLimitRejected (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.4041033+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_HardLimitRejected","Elapsed":0} +{"Time":"2026-07-11T04:02:12.4041033+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_SoftLimitTruncates"} +{"Time":"2026-07-11T04:02:12.4041033+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_SoftLimitTruncates","Output":"=== RUN TestEditMemory_SoftLimitTruncates\n"} +{"Time":"2026-07-11T04:02:12.4041033+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_SoftLimitTruncates","Output":"{\"level\":\"debug\",\"soft_limit\":1000,\"time\":\"2026-07-11T04:02:12+03:00\",\"message\":\"edit_memory: content truncated to soft limit\"}\n"} +{"Time":"2026-07-11T04:02:12.4046034+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_SoftLimitTruncates","Output":"--- PASS: TestEditMemory_SoftLimitTruncates (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.4046034+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_SoftLimitTruncates","Elapsed":0} +{"Time":"2026-07-11T04:02:12.4046034+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_SecretRedacted"} +{"Time":"2026-07-11T04:02:12.4046034+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_SecretRedacted","Output":"=== RUN TestEditMemory_SecretRedacted\n"} +{"Time":"2026-07-11T04:02:12.4046034+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_SecretRedacted","Output":"{\"level\":\"warn\",\"time\":\"2026-07-11T04:02:12+03:00\",\"message\":\"edit_memory: content contains secrets — redacting before storage\"}\n"} +{"Time":"2026-07-11T04:02:12.4046034+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_SecretRedacted","Output":"--- PASS: TestEditMemory_SecretRedacted (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.4046034+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_SecretRedacted","Elapsed":0} +{"Time":"2026-07-11T04:02:12.4046034+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_CrossProjectDenied"} +{"Time":"2026-07-11T04:02:12.4046034+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_CrossProjectDenied","Output":"=== RUN TestEditMemory_CrossProjectDenied\n"} +{"Time":"2026-07-11T04:02:12.4046034+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_CrossProjectDenied","Output":"--- PASS: TestEditMemory_CrossProjectDenied (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.4051034+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_CrossProjectDenied","Elapsed":0} +{"Time":"2026-07-11T04:02:12.4051034+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_SameProjectAllowed"} +{"Time":"2026-07-11T04:02:12.4051034+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_SameProjectAllowed","Output":"=== RUN TestEditMemory_SameProjectAllowed\n"} +{"Time":"2026-07-11T04:02:12.4051034+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_SameProjectAllowed","Output":"--- PASS: TestEditMemory_SameProjectAllowed (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.4051034+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_SameProjectAllowed","Elapsed":0} +{"Time":"2026-07-11T04:02:12.4051034+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_DomainOwnedCrossPrincipalDenied"} +{"Time":"2026-07-11T04:02:12.4051034+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_DomainOwnedCrossPrincipalDenied","Output":"=== RUN TestEditMemory_DomainOwnedCrossPrincipalDenied\n"} +{"Time":"2026-07-11T04:02:12.4051034+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_DomainOwnedCrossPrincipalDenied","Output":"--- PASS: TestEditMemory_DomainOwnedCrossPrincipalDenied (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.4051034+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_DomainOwnedCrossPrincipalDenied","Elapsed":0} +{"Time":"2026-07-11T04:02:12.4051034+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_CrossProjectAllowedWhenEnforcementOff"} +{"Time":"2026-07-11T04:02:12.4051034+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_CrossProjectAllowedWhenEnforcementOff","Output":"=== RUN TestEditMemory_CrossProjectAllowedWhenEnforcementOff\n"} +{"Time":"2026-07-11T04:02:12.4056027+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_CrossProjectAllowedWhenEnforcementOff","Output":"--- PASS: TestEditMemory_CrossProjectAllowedWhenEnforcementOff (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.4056027+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_CrossProjectAllowedWhenEnforcementOff","Elapsed":0} +{"Time":"2026-07-11T04:02:12.4056027+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_AuditSourceSessionIDFromContext"} +{"Time":"2026-07-11T04:02:12.4056027+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_AuditSourceSessionIDFromContext","Output":"=== RUN TestEditMemory_AuditSourceSessionIDFromContext\n"} +{"Time":"2026-07-11T04:02:12.4111041+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_AuditSourceSessionIDFromContext","Output":"--- PASS: TestEditMemory_AuditSourceSessionIDFromContext (0.01s)\n"} +{"Time":"2026-07-11T04:02:12.4111041+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_AuditSourceSessionIDFromContext","Elapsed":0.01} +{"Time":"2026-07-11T04:02:12.4111041+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_AuditSourceSessionIDEmptyWhenNoSession"} +{"Time":"2026-07-11T04:02:12.4111041+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_AuditSourceSessionIDEmptyWhenNoSession","Output":"=== RUN TestEditMemory_AuditSourceSessionIDEmptyWhenNoSession\n"} +{"Time":"2026-07-11T04:02:12.4171042+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_AuditSourceSessionIDEmptyWhenNoSession","Output":"--- PASS: TestEditMemory_AuditSourceSessionIDEmptyWhenNoSession (0.01s)\n"} +{"Time":"2026-07-11T04:02:12.4171042+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_AuditSourceSessionIDEmptyWhenNoSession","Elapsed":0.01} +{"Time":"2026-07-11T04:02:12.4171042+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_EmptyProjectContextDeniedWhenEnforced"} +{"Time":"2026-07-11T04:02:12.4171042+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_EmptyProjectContextDeniedWhenEnforced","Output":"=== RUN TestEditMemory_EmptyProjectContextDeniedWhenEnforced\n"} +{"Time":"2026-07-11T04:02:12.4176024+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_EmptyProjectContextDeniedWhenEnforced","Output":"--- PASS: TestEditMemory_EmptyProjectContextDeniedWhenEnforced (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.4176024+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_EmptyProjectContextDeniedWhenEnforced","Elapsed":0} +{"Time":"2026-07-11T04:02:12.4176024+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_TagsAbsent_KeepsExisting"} +{"Time":"2026-07-11T04:02:12.4176024+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_TagsAbsent_KeepsExisting","Output":"=== RUN TestEditMemory_TagsAbsent_KeepsExisting\n"} +{"Time":"2026-07-11T04:02:12.4181029+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_TagsAbsent_KeepsExisting","Output":"--- PASS: TestEditMemory_TagsAbsent_KeepsExisting (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.4181029+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_TagsAbsent_KeepsExisting","Elapsed":0} +{"Time":"2026-07-11T04:02:12.4181029+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_TagsExplicitEmpty_ClearsTags"} +{"Time":"2026-07-11T04:02:12.4181029+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_TagsExplicitEmpty_ClearsTags","Output":"=== RUN TestEditMemory_TagsExplicitEmpty_ClearsTags\n"} +{"Time":"2026-07-11T04:02:12.4181029+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_TagsExplicitEmpty_ClearsTags","Output":"--- PASS: TestEditMemory_TagsExplicitEmpty_ClearsTags (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.4181029+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_TagsExplicitEmpty_ClearsTags","Elapsed":0} +{"Time":"2026-07-11T04:02:12.4181029+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_TagsNonEmpty_ReplacesTags"} +{"Time":"2026-07-11T04:02:12.4181029+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_TagsNonEmpty_ReplacesTags","Output":"=== RUN TestEditMemory_TagsNonEmpty_ReplacesTags\n"} +{"Time":"2026-07-11T04:02:12.4181029+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_TagsNonEmpty_ReplacesTags","Output":"--- PASS: TestEditMemory_TagsNonEmpty_ReplacesTags (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.4181029+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEditMemory_TagsNonEmpty_ReplacesTags","Elapsed":0} +{"Time":"2026-07-11T04:02:12.4181029+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRunAuditAsync_PanicRecovered"} +{"Time":"2026-07-11T04:02:12.4181029+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRunAuditAsync_PanicRecovered","Output":"=== RUN TestRunAuditAsync_PanicRecovered\n"} +{"Time":"2026-07-11T04:02:12.4181029+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRunAuditAsync_PanicRecovered","Output":"{\"level\":\"error\",\"audit_label\":\"test-panic\",\"memory_id\":99,\"panic\":\"simulated audit panic\",\"time\":\"2026-07-11T04:02:12+03:00\",\"message\":\"audit: goroutine panic recovered\"}\n"} +{"Time":"2026-07-11T04:02:12.468574+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRunAuditAsync_PanicRecovered","Output":"--- PASS: TestRunAuditAsync_PanicRecovered (0.05s)\n"} +{"Time":"2026-07-11T04:02:12.468574+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRunAuditAsync_PanicRecovered","Elapsed":0.05} +{"Time":"2026-07-11T04:02:12.468574+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRunAuditAsync_ErrorLogged"} +{"Time":"2026-07-11T04:02:12.468574+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRunAuditAsync_ErrorLogged","Output":"=== RUN TestRunAuditAsync_ErrorLogged\n"} +{"Time":"2026-07-11T04:02:12.468574+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRunAuditAsync_ErrorLogged","Output":"{\"level\":\"error\",\"error\":\"simulated db error\",\"audit_label\":\"test-error\",\"memory_id\":88,\"time\":\"2026-07-11T04:02:12+03:00\",\"message\":\"audit: async write failed\"}\n"} +{"Time":"2026-07-11T04:02:12.5193412+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRunAuditAsync_ErrorLogged","Output":"--- PASS: TestRunAuditAsync_ErrorLogged (0.05s)\n"} +{"Time":"2026-07-11T04:02:12.5193412+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRunAuditAsync_ErrorLogged","Elapsed":0.05} +{"Time":"2026-07-11T04:02:12.5193412+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestMemoryStoreSignificanceUpdaterPersistsChangedFields"} +{"Time":"2026-07-11T04:02:12.5193412+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestMemoryStoreSignificanceUpdaterPersistsChangedFields","Output":"=== RUN TestMemoryStoreSignificanceUpdaterPersistsChangedFields\n"} +{"Time":"2026-07-11T04:02:12.5193412+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestMemoryStoreSignificanceUpdaterPersistsChangedFields/useful_persists_alpha_citation_and_streak"} +{"Time":"2026-07-11T04:02:12.5193412+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestMemoryStoreSignificanceUpdaterPersistsChangedFields/useful_persists_alpha_citation_and_streak","Output":"=== RUN TestMemoryStoreSignificanceUpdaterPersistsChangedFields/useful_persists_alpha_citation_and_streak\n"} +{"Time":"2026-07-11T04:02:12.5193412+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestMemoryStoreSignificanceUpdaterPersistsChangedFields/useful_persists_alpha_citation_and_streak","Output":"--- PASS: TestMemoryStoreSignificanceUpdaterPersistsChangedFields/useful_persists_alpha_citation_and_streak (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5193412+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestMemoryStoreSignificanceUpdaterPersistsChangedFields/useful_persists_alpha_citation_and_streak","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5193412+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestMemoryStoreSignificanceUpdaterPersistsChangedFields/not_useful_persists_beta_and_resets_streak"} +{"Time":"2026-07-11T04:02:12.5193412+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestMemoryStoreSignificanceUpdaterPersistsChangedFields/not_useful_persists_beta_and_resets_streak","Output":"=== RUN TestMemoryStoreSignificanceUpdaterPersistsChangedFields/not_useful_persists_beta_and_resets_streak\n"} +{"Time":"2026-07-11T04:02:12.5193412+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestMemoryStoreSignificanceUpdaterPersistsChangedFields/not_useful_persists_beta_and_resets_streak","Output":"--- PASS: TestMemoryStoreSignificanceUpdaterPersistsChangedFields/not_useful_persists_beta_and_resets_streak (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5193412+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestMemoryStoreSignificanceUpdaterPersistsChangedFields/not_useful_persists_beta_and_resets_streak","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5193412+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestMemoryStoreSignificanceUpdaterPersistsChangedFields","Output":"--- PASS: TestMemoryStoreSignificanceUpdaterPersistsChangedFields (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5193412+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestMemoryStoreSignificanceUpdaterPersistsChangedFields","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5193412+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent"} +{"Time":"2026-07-11T04:02:12.5193412+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent","Output":"=== RUN TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent\n"} +{"Time":"2026-07-11T04:02:12.5193412+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_off_s6_on_updater_present"} +{"Time":"2026-07-11T04:02:12.5193412+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_off_s6_on_updater_present","Output":"=== RUN TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_off_s6_on_updater_present\n"} +{"Time":"2026-07-11T04:02:12.5193412+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_off_s6_on_updater_present","Output":"--- PASS: TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_off_s6_on_updater_present (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5193412+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_off_s6_on_updater_present","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5193412+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_off_updater_present"} +{"Time":"2026-07-11T04:02:12.5193412+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_off_updater_present","Output":"=== RUN TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_off_updater_present\n"} +{"Time":"2026-07-11T04:02:12.5198405+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_off_updater_present","Output":"--- PASS: TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_off_updater_present (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5198405+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_off_updater_present","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5198405+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_on_updater_missing"} +{"Time":"2026-07-11T04:02:12.5198405+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_on_updater_missing","Output":"=== RUN TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_on_updater_missing\n"} +{"Time":"2026-07-11T04:02:12.5198405+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_on_updater_missing","Output":"--- PASS: TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_on_updater_missing (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5198405+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_on_updater_missing","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5198405+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_on_updater_present"} +{"Time":"2026-07-11T04:02:12.5198405+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_on_updater_present","Output":"=== RUN TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_on_updater_present\n"} +{"Time":"2026-07-11T04:02:12.5198405+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_on_updater_present","Output":"--- PASS: TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_on_updater_present (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5198405+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent/master_on_s6_on_updater_present","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5198405+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent","Output":"--- PASS: TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5198405+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedOnlyWhenS6FlagAndUpdaterArePresent","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5198405+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedWithDedicatedSchema"} +{"Time":"2026-07-11T04:02:12.520341+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedWithDedicatedSchema","Output":"=== RUN TestRateMemorySignificanceToolAdvertisedWithDedicatedSchema\n"} +{"Time":"2026-07-11T04:02:12.520341+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedWithDedicatedSchema","Output":"--- PASS: TestRateMemorySignificanceToolAdvertisedWithDedicatedSchema (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.520341+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolAdvertisedWithDedicatedSchema","Elapsed":0} +{"Time":"2026-07-11T04:02:12.520341+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful"} +{"Time":"2026-07-11T04:02:12.520341+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful","Output":"=== RUN TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful\n"} +{"Time":"2026-07-11T04:02:12.520341+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful/useful"} +{"Time":"2026-07-11T04:02:12.520341+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful/useful","Output":"=== RUN TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful/useful\n"} +{"Time":"2026-07-11T04:02:12.520341+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful/useful","Output":"--- PASS: TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful/useful (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.520341+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful/useful","Elapsed":0} +{"Time":"2026-07-11T04:02:12.520341+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful/not_useful"} +{"Time":"2026-07-11T04:02:12.520341+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful/not_useful","Output":"=== RUN TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful/not_useful\n"} +{"Time":"2026-07-11T04:02:12.520341+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful/not_useful","Output":"--- PASS: TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful/not_useful (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.520341+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful/not_useful","Elapsed":0} +{"Time":"2026-07-11T04:02:12.520341+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful","Output":"--- PASS: TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.520341+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceToolCallUpdatesLearningForUsefulAndNotUseful","Elapsed":0} +{"Time":"2026-07-11T04:02:12.520341+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled"} +{"Time":"2026-07-11T04:02:12.520341+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled","Output":"=== RUN TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled\n"} +{"Time":"2026-07-11T04:02:12.520341+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled/master_off_s6_on_updater_present"} +{"Time":"2026-07-11T04:02:12.520341+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled/master_off_s6_on_updater_present","Output":"=== RUN TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled/master_off_s6_on_updater_present\n"} +{"Time":"2026-07-11T04:02:12.520341+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled/master_off_s6_on_updater_present","Output":"--- PASS: TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled/master_off_s6_on_updater_present (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.520341+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled/master_off_s6_on_updater_present","Elapsed":0} +{"Time":"2026-07-11T04:02:12.520341+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled/master_on_s6_off_updater_present"} +{"Time":"2026-07-11T04:02:12.520341+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled/master_on_s6_off_updater_present","Output":"=== RUN TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled/master_on_s6_off_updater_present\n"} +{"Time":"2026-07-11T04:02:12.520341+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled/master_on_s6_off_updater_present","Output":"--- PASS: TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled/master_on_s6_off_updater_present (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.520341+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled/master_on_s6_off_updater_present","Elapsed":0} +{"Time":"2026-07-11T04:02:12.520341+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled","Output":"--- PASS: TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.520341+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceDirectCallFailsClosedWhenS6Disabled","Elapsed":0} +{"Time":"2026-07-11T04:02:12.520341+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidIDWithoutWrite"} +{"Time":"2026-07-11T04:02:12.520341+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidIDWithoutWrite","Output":"=== RUN TestRateMemorySignificanceRejectsInvalidIDWithoutWrite\n"} +{"Time":"2026-07-11T04:02:12.5208402+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/missing_id"} +{"Time":"2026-07-11T04:02:12.5208402+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/missing_id","Output":"=== RUN TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/missing_id\n"} +{"Time":"2026-07-11T04:02:12.5208402+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/missing_id","Output":"--- PASS: TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/missing_id (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5208402+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/missing_id","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5208402+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/zero_id"} +{"Time":"2026-07-11T04:02:12.5208402+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/zero_id","Output":"=== RUN TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/zero_id\n"} +{"Time":"2026-07-11T04:02:12.5208402+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/zero_id","Output":"--- PASS: TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/zero_id (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5208402+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/zero_id","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5208402+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/negative_id"} +{"Time":"2026-07-11T04:02:12.5208402+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/negative_id","Output":"=== RUN TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/negative_id\n"} +{"Time":"2026-07-11T04:02:12.5208402+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/negative_id","Output":"--- PASS: TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/negative_id (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5208402+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidIDWithoutWrite/negative_id","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5208402+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidIDWithoutWrite","Output":"--- PASS: TestRateMemorySignificanceRejectsInvalidIDWithoutWrite (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5208402+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidIDWithoutWrite","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5208402+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite"} +{"Time":"2026-07-11T04:02:12.5208402+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite","Output":"=== RUN TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite\n"} +{"Time":"2026-07-11T04:02:12.5208402+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/missing_rating"} +{"Time":"2026-07-11T04:02:12.5208402+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/missing_rating","Output":"=== RUN TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/missing_rating\n"} +{"Time":"2026-07-11T04:02:12.5208402+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/missing_rating","Output":"--- PASS: TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/missing_rating (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5208402+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/missing_rating","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5208402+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/unknown_rating"} +{"Time":"2026-07-11T04:02:12.5208402+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/unknown_rating","Output":"=== RUN TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/unknown_rating\n"} +{"Time":"2026-07-11T04:02:12.5208402+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/unknown_rating","Output":"--- PASS: TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/unknown_rating (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5208402+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/unknown_rating","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5208402+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/empty_rating"} +{"Time":"2026-07-11T04:02:12.5208402+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/empty_rating","Output":"=== RUN TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/empty_rating\n"} +{"Time":"2026-07-11T04:02:12.5208402+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/empty_rating","Output":"--- PASS: TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/empty_rating (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5208402+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite/empty_rating","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5208402+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite","Output":"--- PASS: TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5208402+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceRejectsInvalidRatingWithoutWrite","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5208402+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceMissingUpdaterFailsExplicitly"} +{"Time":"2026-07-11T04:02:12.5208402+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceMissingUpdaterFailsExplicitly","Output":"=== RUN TestRateMemorySignificanceMissingUpdaterFailsExplicitly\n"} +{"Time":"2026-07-11T04:02:12.5213399+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceMissingUpdaterFailsExplicitly","Output":"--- PASS: TestRateMemorySignificanceMissingUpdaterFailsExplicitly (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5213399+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceMissingUpdaterFailsExplicitly","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5213399+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceLegacyRatePathsRemainUnsupported"} +{"Time":"2026-07-11T04:02:12.5213399+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceLegacyRatePathsRemainUnsupported","Output":"=== RUN TestRateMemorySignificanceLegacyRatePathsRemainUnsupported\n"} +{"Time":"2026-07-11T04:02:12.5213399+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceLegacyRatePathsRemainUnsupported/legacy_rate_memory_tool"} +{"Time":"2026-07-11T04:02:12.5213399+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceLegacyRatePathsRemainUnsupported/legacy_rate_memory_tool","Output":"=== RUN TestRateMemorySignificanceLegacyRatePathsRemainUnsupported/legacy_rate_memory_tool\n"} +{"Time":"2026-07-11T04:02:12.5213399+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceLegacyRatePathsRemainUnsupported/legacy_rate_memory_tool","Output":"--- PASS: TestRateMemorySignificanceLegacyRatePathsRemainUnsupported/legacy_rate_memory_tool (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5213399+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceLegacyRatePathsRemainUnsupported/legacy_rate_memory_tool","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5213399+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceLegacyRatePathsRemainUnsupported/consolidated_feedback_rate_action"} +{"Time":"2026-07-11T04:02:12.5213399+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceLegacyRatePathsRemainUnsupported/consolidated_feedback_rate_action","Output":"=== RUN TestRateMemorySignificanceLegacyRatePathsRemainUnsupported/consolidated_feedback_rate_action\n"} +{"Time":"2026-07-11T04:02:12.5213399+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceLegacyRatePathsRemainUnsupported/consolidated_feedback_rate_action","Output":"--- PASS: TestRateMemorySignificanceLegacyRatePathsRemainUnsupported/consolidated_feedback_rate_action (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5213399+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceLegacyRatePathsRemainUnsupported/consolidated_feedback_rate_action","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5213399+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceLegacyRatePathsRemainUnsupported","Output":"--- PASS: TestRateMemorySignificanceLegacyRatePathsRemainUnsupported (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5213399+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRateMemorySignificanceLegacyRatePathsRemainUnsupported","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5213399+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryToolSchema_T005"} +{"Time":"2026-07-11T04:02:12.5213399+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryToolSchema_T005","Output":"=== RUN TestStoreMemoryToolSchema_T005\n"} +{"Time":"2026-07-11T04:02:12.5213399+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryToolSchema_T005","Output":"=== PAUSE TestStoreMemoryToolSchema_T005\n"} +{"Time":"2026-07-11T04:02:12.5213399+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryToolSchema_T005"} +{"Time":"2026-07-11T04:02:12.5213399+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryToolSchema_T005"} +{"Time":"2026-07-11T04:02:12.5213399+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryToolSchema_T005","Output":"=== RUN TestRecallMemoryToolSchema_T005\n"} +{"Time":"2026-07-11T04:02:12.5213399+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryToolSchema_T005","Output":"=== PAUSE TestRecallMemoryToolSchema_T005\n"} +{"Time":"2026-07-11T04:02:12.5213399+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryToolSchema_T005"} +{"Time":"2026-07-11T04:02:12.5213399+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemory_InvalidPrivacyScope_StructuredError"} +{"Time":"2026-07-11T04:02:12.5213399+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemory_InvalidPrivacyScope_StructuredError","Output":"=== RUN TestStoreMemory_InvalidPrivacyScope_StructuredError\n"} +{"Time":"2026-07-11T04:02:12.5213399+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemory_InvalidPrivacyScope_StructuredError","Output":"--- PASS: TestStoreMemory_InvalidPrivacyScope_StructuredError (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5213399+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemory_InvalidPrivacyScope_StructuredError","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5213399+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_InvalidIncludeScopes_StructuredError"} +{"Time":"2026-07-11T04:02:12.5213399+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_InvalidIncludeScopes_StructuredError","Output":"=== RUN TestRecallMemory_InvalidIncludeScopes_StructuredError\n"} +{"Time":"2026-07-11T04:02:12.5213399+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_InvalidIncludeScopes_StructuredError","Output":"--- PASS: TestRecallMemory_InvalidIncludeScopes_StructuredError (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5213399+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_InvalidIncludeScopes_StructuredError","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5213399+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryToolSchema_FlagOff_HasNewProperties_ButRuntimeIgnores"} +{"Time":"2026-07-11T04:02:12.5213399+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryToolSchema_FlagOff_HasNewProperties_ButRuntimeIgnores","Output":"=== RUN TestStoreMemoryToolSchema_FlagOff_HasNewProperties_ButRuntimeIgnores\n"} +{"Time":"2026-07-11T04:02:12.5213399+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryToolSchema_FlagOff_HasNewProperties_ButRuntimeIgnores","Output":"--- PASS: TestStoreMemoryToolSchema_FlagOff_HasNewProperties_ButRuntimeIgnores (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5213399+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryToolSchema_FlagOff_HasNewProperties_ButRuntimeIgnores","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5213399+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryToolSchema_B4_HasTierFilter"} +{"Time":"2026-07-11T04:02:12.5213399+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryToolSchema_B4_HasTierFilter","Output":"=== RUN TestRecallMemoryToolSchema_B4_HasTierFilter\n"} +{"Time":"2026-07-11T04:02:12.5218399+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryToolSchema_B4_HasTierFilter","Output":"--- PASS: TestRecallMemoryToolSchema_B4_HasTierFilter (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5218399+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryToolSchema_B4_HasTierFilter","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5218399+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryTierFilter_InvalidTier_B4"} +{"Time":"2026-07-11T04:02:12.5218399+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryTierFilter_InvalidTier_B4","Output":"=== RUN TestRecallMemoryTierFilter_InvalidTier_B4\n"} +{"Time":"2026-07-11T04:02:12.5218399+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryTierFilter_InvalidTier_B4","Output":"--- PASS: TestRecallMemoryTierFilter_InvalidTier_B4 (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5218399+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryTierFilter_InvalidTier_B4","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5218399+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryTierFilter_FlagOff_SchemaAbsent_B4"} +{"Time":"2026-07-11T04:02:12.5218399+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryTierFilter_FlagOff_SchemaAbsent_B4","Output":"=== RUN TestRecallMemoryTierFilter_FlagOff_SchemaAbsent_B4\n"} +{"Time":"2026-07-11T04:02:12.5218399+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryTierFilter_FlagOff_SchemaAbsent_B4","Output":"--- PASS: TestRecallMemoryTierFilter_FlagOff_SchemaAbsent_B4 (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5218399+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryTierFilter_FlagOff_SchemaAbsent_B4","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5218399+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDryRunValidatesPrincipalMetadata"} +{"Time":"2026-07-11T04:02:12.5218399+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDryRunValidatesPrincipalMetadata","Output":"=== RUN TestStoreMemoryDryRunValidatesPrincipalMetadata\n"} +{"Time":"2026-07-11T04:02:12.5218399+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDryRunValidatesPrincipalMetadata","Output":"--- PASS: TestStoreMemoryDryRunValidatesPrincipalMetadata (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5218399+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDryRunValidatesPrincipalMetadata","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5218399+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_PrincipalPrivateCandidatesHiddenFromPhase1"} +{"Time":"2026-07-11T04:02:12.5218399+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_PrincipalPrivateCandidatesHiddenFromPhase1","Output":"=== RUN TestWriteLint_PrincipalPrivateCandidatesHiddenFromPhase1\n"} +{"Time":"2026-07-11T04:02:12.5218399+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_PrincipalPrivateCandidatesHiddenFromPhase1","Output":"--- PASS: TestWriteLint_PrincipalPrivateCandidatesHiddenFromPhase1 (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5218399+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_PrincipalPrivateCandidatesHiddenFromPhase1","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5218399+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_PrincipalPrivateTargetHiddenFromPhase2"} +{"Time":"2026-07-11T04:02:12.5218399+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_PrincipalPrivateTargetHiddenFromPhase2","Output":"=== RUN TestWriteLint_PrincipalPrivateTargetHiddenFromPhase2\n"} +{"Time":"2026-07-11T04:02:12.5218399+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_PrincipalPrivateTargetHiddenFromPhase2","Output":"--- PASS: TestWriteLint_PrincipalPrivateTargetHiddenFromPhase2 (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5223411+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_PrincipalPrivateTargetHiddenFromPhase2","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5223411+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_DomainOwnedCandidateHiddenWithOrchestratorStoreFallback"} +{"Time":"2026-07-11T04:02:12.5223411+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_DomainOwnedCandidateHiddenWithOrchestratorStoreFallback","Output":"=== RUN TestWriteLint_DomainOwnedCandidateHiddenWithOrchestratorStoreFallback\n"} +{"Time":"2026-07-11T04:02:12.5223411+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_DomainOwnedCandidateHiddenWithOrchestratorStoreFallback","Output":"--- PASS: TestWriteLint_DomainOwnedCandidateHiddenWithOrchestratorStoreFallback (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5223411+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_DomainOwnedCandidateHiddenWithOrchestratorStoreFallback","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5223411+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_DomainOwnedTargetHiddenWithOrchestratorStoreFallback"} +{"Time":"2026-07-11T04:02:12.5223411+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_DomainOwnedTargetHiddenWithOrchestratorStoreFallback","Output":"=== RUN TestWriteLint_DomainOwnedTargetHiddenWithOrchestratorStoreFallback\n"} +{"Time":"2026-07-11T04:02:12.5228407+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_DomainOwnedTargetHiddenWithOrchestratorStoreFallback","Output":"--- PASS: TestWriteLint_DomainOwnedTargetHiddenWithOrchestratorStoreFallback (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5228407+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_DomainOwnedTargetHiddenWithOrchestratorStoreFallback","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5228407+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_FlagOff_LegacyPath"} +{"Time":"2026-07-11T04:02:12.5228407+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_FlagOff_LegacyPath","Output":"=== RUN TestWriteLint_T035_FlagOff_LegacyPath\n"} +{"Time":"2026-07-11T04:02:12.5228407+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_FlagOff_LegacyPath","Output":"--- PASS: TestWriteLint_T035_FlagOff_LegacyPath (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5228407+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_FlagOff_LegacyPath","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5228407+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_Phase1_SignalsReturned"} +{"Time":"2026-07-11T04:02:12.5228407+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_Phase1_SignalsReturned","Output":"=== RUN TestWriteLint_T035_Phase1_SignalsReturned\n"} +{"Time":"2026-07-11T04:02:12.5228407+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_Phase1_SignalsReturned","Output":"--- PASS: TestWriteLint_T035_Phase1_SignalsReturned (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5228407+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_Phase1_SignalsReturned","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5228407+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_Phase1_NoSignal_Stored"} +{"Time":"2026-07-11T04:02:12.5228407+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_Phase1_NoSignal_Stored","Output":"=== RUN TestWriteLint_T035_Phase1_NoSignal_Stored\n"} +{"Time":"2026-07-11T04:02:12.5228407+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_Phase1_NoSignal_Stored","Output":"--- PASS: TestWriteLint_T035_Phase1_NoSignal_Stored (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5228407+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_Phase1_NoSignal_Stored","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5228407+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_Phase2_MergeWith"} +{"Time":"2026-07-11T04:02:12.5228407+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_Phase2_MergeWith","Output":"=== RUN TestWriteLint_T035_Phase2_MergeWith\n"} +{"Time":"2026-07-11T04:02:12.5228407+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_Phase2_MergeWith","Output":"--- PASS: TestWriteLint_T035_Phase2_MergeWith (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5228407+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_Phase2_MergeWith","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5228407+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_ForceBypass"} +{"Time":"2026-07-11T04:02:12.5228407+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_ForceBypass","Output":"=== RUN TestWriteLint_T035_ForceBypass\n"} +{"Time":"2026-07-11T04:02:12.5233408+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_ForceBypass","Output":"--- PASS: TestWriteLint_T035_ForceBypass (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5233408+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_ForceBypass","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5233408+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_TokenExpired"} +{"Time":"2026-07-11T04:02:12.5233408+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_TokenExpired","Output":"=== RUN TestWriteLint_T035_TokenExpired\n"} +{"Time":"2026-07-11T04:02:12.5233408+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_TokenExpired","Output":"--- PASS: TestWriteLint_T035_TokenExpired (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5233408+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_TokenExpired","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5233408+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_PrivateScope_NoWorkstation_Rejected"} +{"Time":"2026-07-11T04:02:12.5233408+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_PrivateScope_NoWorkstation_Rejected","Output":"=== RUN TestWriteLint_T035_PrivateScope_NoWorkstation_Rejected\n"} +{"Time":"2026-07-11T04:02:12.5233408+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_PrivateScope_NoWorkstation_Rejected","Output":"--- PASS: TestWriteLint_T035_PrivateScope_NoWorkstation_Rejected (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5233408+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_PrivateScope_NoWorkstation_Rejected","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5233408+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_PrivateScope_WithWorkstation_Allowed"} +{"Time":"2026-07-11T04:02:12.5233408+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_PrivateScope_WithWorkstation_Allowed","Output":"=== RUN TestWriteLint_T035_PrivateScope_WithWorkstation_Allowed\n"} +{"Time":"2026-07-11T04:02:12.5233408+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_PrivateScope_WithWorkstation_Allowed","Output":"--- PASS: TestWriteLint_T035_PrivateScope_WithWorkstation_Allowed (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5233408+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLint_T035_PrivateScope_WithWorkstation_Allowed","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5233408+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_PopulatedTopicReturnsContentFreeIndexHits"} +{"Time":"2026-07-11T04:02:12.5233408+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_PopulatedTopicReturnsContentFreeIndexHits","Output":"=== RUN TestKnowAbout_T005_PopulatedTopicReturnsContentFreeIndexHits\n"} +{"Time":"2026-07-11T04:02:12.5233408+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_PopulatedTopicReturnsContentFreeIndexHits","Output":"--- PASS: TestKnowAbout_T005_PopulatedTopicReturnsContentFreeIndexHits (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5233408+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_PopulatedTopicReturnsContentFreeIndexHits","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5233408+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_MissingTopicReturnsEmptyIndexPacket"} +{"Time":"2026-07-11T04:02:12.5233408+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_MissingTopicReturnsEmptyIndexPacket","Output":"=== RUN TestKnowAbout_T005_MissingTopicReturnsEmptyIndexPacket\n"} +{"Time":"2026-07-11T04:02:12.5238409+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_MissingTopicReturnsEmptyIndexPacket","Output":"--- PASS: TestKnowAbout_T005_MissingTopicReturnsEmptyIndexPacket (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5238409+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_MissingTopicReturnsEmptyIndexPacket","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5238409+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_ProjectFallbackFailureRequiresProjectScope"} +{"Time":"2026-07-11T04:02:12.5238409+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_ProjectFallbackFailureRequiresProjectScope","Output":"=== RUN TestKnowAbout_T005_ProjectFallbackFailureRequiresProjectScope\n"} +{"Time":"2026-07-11T04:02:12.5238409+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_ProjectFallbackFailureRequiresProjectScope","Output":"--- PASS: TestKnowAbout_T005_ProjectFallbackFailureRequiresProjectScope (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5238409+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_ProjectFallbackFailureRequiresProjectScope","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5238409+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_RequiresPrincipalScopedIdentity"} +{"Time":"2026-07-11T04:02:12.5238409+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_RequiresPrincipalScopedIdentity","Output":"=== RUN TestKnowAbout_T005_RequiresPrincipalScopedIdentity\n"} +{"Time":"2026-07-11T04:02:12.5238409+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_RequiresPrincipalScopedIdentity/master_token_without_principal_is_rejected"} +{"Time":"2026-07-11T04:02:12.5238409+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_RequiresPrincipalScopedIdentity/master_token_without_principal_is_rejected","Output":"=== RUN TestKnowAbout_T005_RequiresPrincipalScopedIdentity/master_token_without_principal_is_rejected\n"} +{"Time":"2026-07-11T04:02:12.5238409+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_RequiresPrincipalScopedIdentity/master_token_without_principal_is_rejected","Output":"--- PASS: TestKnowAbout_T005_RequiresPrincipalScopedIdentity/master_token_without_principal_is_rejected (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5238409+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_RequiresPrincipalScopedIdentity/master_token_without_principal_is_rejected","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5238409+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_RequiresPrincipalScopedIdentity/legacy_client_keycard_without_principal_is_rejected"} +{"Time":"2026-07-11T04:02:12.5238409+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_RequiresPrincipalScopedIdentity/legacy_client_keycard_without_principal_is_rejected","Output":"=== RUN TestKnowAbout_T005_RequiresPrincipalScopedIdentity/legacy_client_keycard_without_principal_is_rejected\n"} +{"Time":"2026-07-11T04:02:12.5238409+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_RequiresPrincipalScopedIdentity/legacy_client_keycard_without_principal_is_rejected","Output":"--- PASS: TestKnowAbout_T005_RequiresPrincipalScopedIdentity/legacy_client_keycard_without_principal_is_rejected (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5238409+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_RequiresPrincipalScopedIdentity/legacy_client_keycard_without_principal_is_rejected","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5238409+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_RequiresPrincipalScopedIdentity","Output":"--- PASS: TestKnowAbout_T005_RequiresPrincipalScopedIdentity (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5238409+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_RequiresPrincipalScopedIdentity","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5238409+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_ContextProjectFallbackAndLimitClamp"} +{"Time":"2026-07-11T04:02:12.5238409+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_ContextProjectFallbackAndLimitClamp","Output":"=== RUN TestKnowAbout_T005_ContextProjectFallbackAndLimitClamp\n"} +{"Time":"2026-07-11T04:02:12.5238409+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_ContextProjectFallbackAndLimitClamp","Output":"--- PASS: TestKnowAbout_T005_ContextProjectFallbackAndLimitClamp (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.5238409+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_ContextProjectFallbackAndLimitClamp","Elapsed":0} +{"Time":"2026-07-11T04:02:12.5238409+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_RealStoreCanonicalShapeAndMissingTopicEmptyPacket"} +{"Time":"2026-07-11T04:02:12.5238409+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_RealStoreCanonicalShapeAndMissingTopicEmptyPacket","Output":"=== RUN TestKnowAbout_T005_RealStoreCanonicalShapeAndMissingTopicEmptyPacket\n"} +{"Time":"2026-07-11T04:02:12.6402574+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_RealStoreCanonicalShapeAndMissingTopicEmptyPacket","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T04:02:12+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:02:12.6657589+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_RealStoreCanonicalShapeAndMissingTopicEmptyPacket","Output":"--- PASS: TestKnowAbout_T005_RealStoreCanonicalShapeAndMissingTopicEmptyPacket (0.14s)\n"} +{"Time":"2026-07-11T04:02:12.6657589+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_RealStoreCanonicalShapeAndMissingTopicEmptyPacket","Elapsed":0.14} +{"Time":"2026-07-11T04:02:12.6657589+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_DisabledS2NotAdvertised"} +{"Time":"2026-07-11T04:02:12.6657589+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_DisabledS2NotAdvertised","Output":"=== RUN TestKnowAbout_T005_DisabledS2NotAdvertised\n"} +{"Time":"2026-07-11T04:02:12.6662544+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_DisabledS2NotAdvertised","Output":"--- PASS: TestKnowAbout_T005_DisabledS2NotAdvertised (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.6662544+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_DisabledS2NotAdvertised","Elapsed":0} +{"Time":"2026-07-11T04:02:12.6662544+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags"} +{"Time":"2026-07-11T04:02:12.6662544+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags","Output":"=== RUN TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags\n"} +{"Time":"2026-07-11T04:02:12.6662544+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/master_and_s2_enabled_advertises_know_about"} +{"Time":"2026-07-11T04:02:12.6662544+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/master_and_s2_enabled_advertises_know_about","Output":"=== RUN TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/master_and_s2_enabled_advertises_know_about\n"} +{"Time":"2026-07-11T04:02:12.6662544+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/master_and_s2_enabled_advertises_know_about","Output":"--- PASS: TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/master_and_s2_enabled_advertises_know_about (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.6662544+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/master_and_s2_enabled_advertises_know_about","Elapsed":0} +{"Time":"2026-07-11T04:02:12.6662544+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/master_disabled_suppresses_know_about_even_when_s2_flag_is_set"} +{"Time":"2026-07-11T04:02:12.6662544+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/master_disabled_suppresses_know_about_even_when_s2_flag_is_set","Output":"=== RUN TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/master_disabled_suppresses_know_about_even_when_s2_flag_is_set\n"} +{"Time":"2026-07-11T04:02:12.6667536+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/master_disabled_suppresses_know_about_even_when_s2_flag_is_set","Output":"--- PASS: TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/master_disabled_suppresses_know_about_even_when_s2_flag_is_set (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.6667536+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/master_disabled_suppresses_know_about_even_when_s2_flag_is_set","Elapsed":0} +{"Time":"2026-07-11T04:02:12.6667536+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/s2_disabled_suppresses_know_about_even_when_master_is_set"} +{"Time":"2026-07-11T04:02:12.6667536+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/s2_disabled_suppresses_know_about_even_when_master_is_set","Output":"=== RUN TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/s2_disabled_suppresses_know_about_even_when_master_is_set\n"} +{"Time":"2026-07-11T04:02:12.6667536+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/s2_disabled_suppresses_know_about_even_when_master_is_set","Output":"--- PASS: TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/s2_disabled_suppresses_know_about_even_when_master_is_set (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.6667536+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags/s2_disabled_suppresses_know_about_even_when_master_is_set","Elapsed":0} +{"Time":"2026-07-11T04:02:12.6667536+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags","Output":"--- PASS: TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.6667536+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T014_ToolListRequiresMasterAndS2Flags","Elapsed":0} +{"Time":"2026-07-11T04:02:12.6667536+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_IndexErrorsSurfaceAsToolErrors"} +{"Time":"2026-07-11T04:02:12.6667536+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_IndexErrorsSurfaceAsToolErrors","Output":"=== RUN TestKnowAbout_T005_IndexErrorsSurfaceAsToolErrors\n"} +{"Time":"2026-07-11T04:02:12.6667536+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_IndexErrorsSurfaceAsToolErrors","Output":"--- PASS: TestKnowAbout_T005_IndexErrorsSurfaceAsToolErrors (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.6667536+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_IndexErrorsSurfaceAsToolErrors","Elapsed":0} +{"Time":"2026-07-11T04:02:12.6667536+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_JSONNeverContainsContentKeysOrMemoryBodies"} +{"Time":"2026-07-11T04:02:12.6667536+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_JSONNeverContainsContentKeysOrMemoryBodies","Output":"=== RUN TestKnowAbout_T005_JSONNeverContainsContentKeysOrMemoryBodies\n"} +{"Time":"2026-07-11T04:02:12.6672539+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_JSONNeverContainsContentKeysOrMemoryBodies","Output":"--- PASS: TestKnowAbout_T005_JSONNeverContainsContentKeysOrMemoryBodies (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.6672539+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestKnowAbout_T005_JSONNeverContainsContentKeysOrMemoryBodies","Elapsed":0} +{"Time":"2026-07-11T04:02:12.6672539+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ToolSchemaAdvertised"} +{"Time":"2026-07-11T04:02:12.6672539+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ToolSchemaAdvertised","Output":"=== RUN TestQueryPrincipalMemory_ToolSchemaAdvertised\n"} +{"Time":"2026-07-11T04:02:12.6672539+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ToolSchemaAdvertised","Output":"--- PASS: TestQueryPrincipalMemory_ToolSchemaAdvertised (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.6672539+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ToolSchemaAdvertised","Elapsed":0} +{"Time":"2026-07-11T04:02:12.6672539+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation"} +{"Time":"2026-07-11T04:02:12.6672539+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation","Output":"=== RUN TestQueryPrincipalMemory_ResponseAndValidation\n"} +{"Time":"2026-07-11T04:02:12.6672539+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation/returns_attributed_bounded_principal_memory_response"} +{"Time":"2026-07-11T04:02:12.6672539+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation/returns_attributed_bounded_principal_memory_response","Output":"=== RUN TestQueryPrincipalMemory_ResponseAndValidation/returns_attributed_bounded_principal_memory_response\n"} +{"Time":"2026-07-11T04:02:12.6672539+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation/returns_attributed_bounded_principal_memory_response","Output":"--- PASS: TestQueryPrincipalMemory_ResponseAndValidation/returns_attributed_bounded_principal_memory_response (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.6672539+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation/returns_attributed_bounded_principal_memory_response","Elapsed":0} +{"Time":"2026-07-11T04:02:12.6672539+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation/rejects_invalid_principal_kind"} +{"Time":"2026-07-11T04:02:12.6672539+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation/rejects_invalid_principal_kind","Output":"=== RUN TestQueryPrincipalMemory_ResponseAndValidation/rejects_invalid_principal_kind\n"} +{"Time":"2026-07-11T04:02:12.6672539+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation/rejects_invalid_principal_kind","Output":"--- PASS: TestQueryPrincipalMemory_ResponseAndValidation/rejects_invalid_principal_kind (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.6672539+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation/rejects_invalid_principal_kind","Elapsed":0} +{"Time":"2026-07-11T04:02:12.6672539+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation/rejects_oversized_limit_clearly"} +{"Time":"2026-07-11T04:02:12.6672539+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation/rejects_oversized_limit_clearly","Output":"=== RUN TestQueryPrincipalMemory_ResponseAndValidation/rejects_oversized_limit_clearly\n"} +{"Time":"2026-07-11T04:02:12.6672539+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation/rejects_oversized_limit_clearly","Output":"--- PASS: TestQueryPrincipalMemory_ResponseAndValidation/rejects_oversized_limit_clearly (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.6672539+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation/rejects_oversized_limit_clearly","Elapsed":0} +{"Time":"2026-07-11T04:02:12.6672539+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation/rejects_non-admin_cross-principal_private_widening"} +{"Time":"2026-07-11T04:02:12.6672539+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation/rejects_non-admin_cross-principal_private_widening","Output":"=== RUN TestQueryPrincipalMemory_ResponseAndValidation/rejects_non-admin_cross-principal_private_widening\n"} +{"Time":"2026-07-11T04:02:12.6672539+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation/rejects_non-admin_cross-principal_private_widening","Output":"--- PASS: TestQueryPrincipalMemory_ResponseAndValidation/rejects_non-admin_cross-principal_private_widening (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.6672539+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation/rejects_non-admin_cross-principal_private_widening","Elapsed":0} +{"Time":"2026-07-11T04:02:12.6672539+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation","Output":"--- PASS: TestQueryPrincipalMemory_ResponseAndValidation (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.6672539+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ResponseAndValidation","Elapsed":0} +{"Time":"2026-07-11T04:02:12.6672539+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ServiceErrorsPropagate"} +{"Time":"2026-07-11T04:02:12.6672539+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ServiceErrorsPropagate","Output":"=== RUN TestQueryPrincipalMemory_ServiceErrorsPropagate\n"} +{"Time":"2026-07-11T04:02:12.6672539+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ServiceErrorsPropagate","Output":"--- PASS: TestQueryPrincipalMemory_ServiceErrorsPropagate (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.6677546+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestQueryPrincipalMemory_ServiceErrorsPropagate","Elapsed":0} +{"Time":"2026-07-11T04:02:12.6677546+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagOFF_SchemaNoVnextParams"} +{"Time":"2026-07-11T04:02:12.6677546+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagOFF_SchemaNoVnextParams","Output":"=== RUN TestRecallMemory_FlagOFF_SchemaNoVnextParams\n"} +{"Time":"2026-07-11T04:02:12.6677546+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagOFF_SchemaNoVnextParams","Output":"--- PASS: TestRecallMemory_FlagOFF_SchemaNoVnextParams (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.6677546+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagOFF_SchemaNoVnextParams","Elapsed":0} +{"Time":"2026-07-11T04:02:12.6677546+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagON_SchemaHasVnextParams"} +{"Time":"2026-07-11T04:02:12.6677546+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagON_SchemaHasVnextParams","Output":"=== RUN TestRecallMemory_FlagON_SchemaHasVnextParams\n"} +{"Time":"2026-07-11T04:02:12.6677546+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagON_SchemaHasVnextParams","Output":"--- PASS: TestRecallMemory_FlagON_SchemaHasVnextParams (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.6677546+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagON_SchemaHasVnextParams","Elapsed":0} +{"Time":"2026-07-11T04:02:12.6677546+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagMatrix_FEnabled_SchemaHasScopeParams"} +{"Time":"2026-07-11T04:02:12.6677546+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagMatrix_FEnabled_SchemaHasScopeParams","Output":"=== RUN TestRecallMemory_FlagMatrix_FEnabled_SchemaHasScopeParams\n"} +{"Time":"2026-07-11T04:02:12.6677546+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagMatrix_FEnabled_SchemaHasScopeParams","Output":"--- PASS: TestRecallMemory_FlagMatrix_FEnabled_SchemaHasScopeParams (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.6677546+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagMatrix_FEnabled_SchemaHasScopeParams","Elapsed":0} +{"Time":"2026-07-11T04:02:12.6677546+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagMatrix_BothEnabled_SchemaCombinesParams"} +{"Time":"2026-07-11T04:02:12.6677546+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagMatrix_BothEnabled_SchemaCombinesParams","Output":"=== RUN TestRecallMemory_FlagMatrix_BothEnabled_SchemaCombinesParams\n"} +{"Time":"2026-07-11T04:02:12.6677546+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagMatrix_BothEnabled_SchemaCombinesParams","Output":"--- PASS: TestRecallMemory_FlagMatrix_BothEnabled_SchemaCombinesParams (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.6677546+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagMatrix_BothEnabled_SchemaCombinesParams","Elapsed":0} +{"Time":"2026-07-11T04:02:12.6677546+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagOFF_BehaviorIdentity"} +{"Time":"2026-07-11T04:02:12.6677546+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagOFF_BehaviorIdentity","Output":"=== RUN TestRecallMemory_FlagOFF_BehaviorIdentity\n"} +{"Time":"2026-07-11T04:02:12.6677546+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagOFF_BehaviorIdentity","Output":"--- PASS: TestRecallMemory_FlagOFF_BehaviorIdentity (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.6677546+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemory_FlagOFF_BehaviorIdentity","Elapsed":0} +{"Time":"2026-07-11T04:02:12.6677546+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecall_FlagOFF_TombstoneStrings_Similar"} +{"Time":"2026-07-11T04:02:12.6677546+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecall_FlagOFF_TombstoneStrings_Similar","Output":"=== RUN TestRecall_FlagOFF_TombstoneStrings_Similar\n"} +{"Time":"2026-07-11T04:02:12.6677546+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecall_FlagOFF_TombstoneStrings_Similar","Output":"--- PASS: TestRecall_FlagOFF_TombstoneStrings_Similar (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.6677546+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecall_FlagOFF_TombstoneStrings_Similar","Elapsed":0} +{"Time":"2026-07-11T04:02:12.6677546+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecall_FlagOFF_TombstoneStrings_Explain"} +{"Time":"2026-07-11T04:02:12.6677546+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecall_FlagOFF_TombstoneStrings_Explain","Output":"=== RUN TestRecall_FlagOFF_TombstoneStrings_Explain\n"} +{"Time":"2026-07-11T04:02:12.6677546+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecall_FlagOFF_TombstoneStrings_Explain","Output":"--- PASS: TestRecall_FlagOFF_TombstoneStrings_Explain (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.6677546+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecall_FlagOFF_TombstoneStrings_Explain","Elapsed":0} +{"Time":"2026-07-11T04:02:12.6677546+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryPrincipalDefault_OwnSharedLegacyVisibleOtherPrivateHidden"} +{"Time":"2026-07-11T04:02:12.6677546+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryPrincipalDefault_OwnSharedLegacyVisibleOtherPrivateHidden","Output":"=== RUN TestRecallMemoryPrincipalDefault_OwnSharedLegacyVisibleOtherPrivateHidden\n"} +{"Time":"2026-07-11T04:02:12.7828182+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryPrincipalDefault_OwnSharedLegacyVisibleOtherPrivateHidden","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T04:02:12+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:02:12.8208168+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryPrincipalDefault_OwnSharedLegacyVisibleOtherPrivateHidden","Output":"--- PASS: TestRecallMemoryPrincipalDefault_OwnSharedLegacyVisibleOtherPrivateHidden (0.15s)\n"} +{"Time":"2026-07-11T04:02:12.8208168+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryPrincipalDefault_OwnSharedLegacyVisibleOtherPrivateHidden","Elapsed":0.15} +{"Time":"2026-07-11T04:02:12.8208168+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_SchemaAdvertised"} +{"Time":"2026-07-11T04:02:12.8208168+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_SchemaAdvertised","Output":"=== RUN TestRecallMemoryIncludePrincipals_SchemaAdvertised\n"} +{"Time":"2026-07-11T04:02:12.8208168+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_SchemaAdvertised","Output":"--- PASS: TestRecallMemoryIncludePrincipals_SchemaAdvertised (0.00s)\n"} +{"Time":"2026-07-11T04:02:12.8208168+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_SchemaAdvertised","Elapsed":0} +{"Time":"2026-07-11T04:02:12.8208168+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy"} +{"Time":"2026-07-11T04:02:12.8208168+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy","Output":"=== RUN TestRecallMemoryIncludePrincipals_ValidationAndPrivacy\n"} +{"Time":"2026-07-11T04:02:12.8208168+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/rejects_duplicate_principals"} +{"Time":"2026-07-11T04:02:12.8208168+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/rejects_duplicate_principals","Output":"=== RUN TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/rejects_duplicate_principals\n"} +{"Time":"2026-07-11T04:02:12.9303639+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/rejects_duplicate_principals","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T04:02:12+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:02:12.9368646+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/rejects_duplicate_principals","Output":"--- PASS: TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/rejects_duplicate_principals (0.12s)\n"} +{"Time":"2026-07-11T04:02:12.9368646+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/rejects_duplicate_principals","Elapsed":0.12} +{"Time":"2026-07-11T04:02:12.9368646+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/rejects_blank_and_invalid_principals_clearly"} +{"Time":"2026-07-11T04:02:12.9368646+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/rejects_blank_and_invalid_principals_clearly","Output":"=== RUN TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/rejects_blank_and_invalid_principals_clearly\n"} +{"Time":"2026-07-11T04:02:13.0397484+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/rejects_blank_and_invalid_principals_clearly","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T04:02:13+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:02:13.046248+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/rejects_blank_and_invalid_principals_clearly","Output":"--- PASS: TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/rejects_blank_and_invalid_principals_clearly (0.11s)\n"} +{"Time":"2026-07-11T04:02:13.046248+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/rejects_blank_and_invalid_principals_clearly","Elapsed":0.11} +{"Time":"2026-07-11T04:02:13.046248+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/empty_include_list_is_treated_as_absent"} +{"Time":"2026-07-11T04:02:13.046248+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/empty_include_list_is_treated_as_absent","Output":"=== RUN TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/empty_include_list_is_treated_as_absent\n"} +{"Time":"2026-07-11T04:02:13.046248+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/empty_include_list_is_treated_as_absent","Output":"--- PASS: TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/empty_include_list_is_treated_as_absent (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.046248+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/empty_include_list_is_treated_as_absent","Elapsed":0} +{"Time":"2026-07-11T04:02:13.046248+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/self_include_is_allowed_and_deduplicated"} +{"Time":"2026-07-11T04:02:13.046248+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/self_include_is_allowed_and_deduplicated","Output":"=== RUN TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/self_include_is_allowed_and_deduplicated\n"} +{"Time":"2026-07-11T04:02:13.1467363+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/self_include_is_allowed_and_deduplicated","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T04:02:13+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:02:13.1682366+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/self_include_is_allowed_and_deduplicated","Output":"--- PASS: TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/self_include_is_allowed_and_deduplicated (0.12s)\n"} +{"Time":"2026-07-11T04:02:13.1682366+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/self_include_is_allowed_and_deduplicated","Elapsed":0.12} +{"Time":"2026-07-11T04:02:13.1682366+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/non-admin_cross-principal_include_skips_private_rows"} +{"Time":"2026-07-11T04:02:13.1682366+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/non-admin_cross-principal_include_skips_private_rows","Output":"=== RUN TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/non-admin_cross-principal_include_skips_private_rows\n"} +{"Time":"2026-07-11T04:02:13.2748078+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/non-admin_cross-principal_include_skips_private_rows","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T04:02:13+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:02:13.2960148+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/non-admin_cross-principal_include_skips_private_rows","Output":"--- PASS: TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/non-admin_cross-principal_include_skips_private_rows (0.13s)\n"} +{"Time":"2026-07-11T04:02:13.2960148+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/non-admin_cross-principal_include_skips_private_rows","Elapsed":0.13} +{"Time":"2026-07-11T04:02:13.2960148+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/non-admin_cross-principal_include_appends_shared_rows"} +{"Time":"2026-07-11T04:02:13.2960148+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/non-admin_cross-principal_include_appends_shared_rows","Output":"=== RUN TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/non-admin_cross-principal_include_appends_shared_rows\n"} +{"Time":"2026-07-11T04:02:13.3982505+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/non-admin_cross-principal_include_appends_shared_rows","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T04:02:13+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:02:13.4227522+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/non-admin_cross-principal_include_appends_shared_rows","Output":"--- PASS: TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/non-admin_cross-principal_include_appends_shared_rows (0.13s)\n"} +{"Time":"2026-07-11T04:02:13.4227522+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/non-admin_cross-principal_include_appends_shared_rows","Elapsed":0.13} +{"Time":"2026-07-11T04:02:13.4227522+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/admin_cross-private_include_writes_durable_audit_before_returning_private_row"} +{"Time":"2026-07-11T04:02:13.4227522+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/admin_cross-private_include_writes_durable_audit_before_returning_private_row","Output":"=== RUN TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/admin_cross-private_include_writes_durable_audit_before_returning_private_row\n"} +{"Time":"2026-07-11T04:02:13.5277752+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/admin_cross-private_include_writes_durable_audit_before_returning_private_row","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T04:02:13+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:02:13.5697083+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/admin_cross-private_include_writes_durable_audit_before_returning_private_row","Output":"--- PASS: TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/admin_cross-private_include_writes_durable_audit_before_returning_private_row (0.15s)\n"} +{"Time":"2026-07-11T04:02:13.5697083+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/admin_cross-private_include_writes_durable_audit_before_returning_private_row","Elapsed":0.15} +{"Time":"2026-07-11T04:02:13.5697083+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/admin_cross-private_include_reapplies_recall_filters"} +{"Time":"2026-07-11T04:02:13.5697083+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/admin_cross-private_include_reapplies_recall_filters","Output":"=== RUN TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/admin_cross-private_include_reapplies_recall_filters\n"} +{"Time":"2026-07-11T04:02:13.680123+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/admin_cross-private_include_reapplies_recall_filters","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T04:02:13+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:02:13.7376476+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/admin_cross-private_include_reapplies_recall_filters","Output":"--- PASS: TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/admin_cross-private_include_reapplies_recall_filters (0.17s)\n"} +{"Time":"2026-07-11T04:02:13.7381477+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy/admin_cross-private_include_reapplies_recall_filters","Elapsed":0.17} +{"Time":"2026-07-11T04:02:13.7381477+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy","Output":"--- PASS: TestRecallMemoryIncludePrincipals_ValidationAndPrivacy (0.92s)\n"} +{"Time":"2026-07-11T04:02:13.7381477+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryIncludePrincipals_ValidationAndPrivacy","Elapsed":0.92} +{"Time":"2026-07-11T04:02:13.7381477+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsAdvertisedWhenStoresWired"} +{"Time":"2026-07-11T04:02:13.7381477+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsAdvertisedWhenStoresWired","Output":"=== RUN TestRuleGovernanceReadToolsAdvertisedWhenStoresWired\n"} +{"Time":"2026-07-11T04:02:13.7381477+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsAdvertisedWhenStoresWired","Output":"--- PASS: TestRuleGovernanceReadToolsAdvertisedWhenStoresWired (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7381477+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsAdvertisedWhenStoresWired","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7381477+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsHiddenWhenStoreMissing"} +{"Time":"2026-07-11T04:02:13.7381477+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsHiddenWhenStoreMissing","Output":"=== RUN TestRuleGovernanceReadToolsHiddenWhenStoreMissing\n"} +{"Time":"2026-07-11T04:02:13.7381477+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsHiddenWhenStoreMissing","Output":"--- PASS: TestRuleGovernanceReadToolsHiddenWhenStoreMissing (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7381477+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsHiddenWhenStoreMissing","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7381477+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceHealthReadOnlyCallerGetsNoData"} +{"Time":"2026-07-11T04:02:13.7381477+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceHealthReadOnlyCallerGetsNoData","Output":"=== RUN TestRuleGovernanceHealthReadOnlyCallerGetsNoData\n"} +{"Time":"2026-07-11T04:02:13.7381477+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceHealthReadOnlyCallerGetsNoData","Output":"--- PASS: TestRuleGovernanceHealthReadOnlyCallerGetsNoData (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7381477+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceHealthReadOnlyCallerGetsNoData","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7381477+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceQueueAndSnapshotsReadModels"} +{"Time":"2026-07-11T04:02:13.7381477+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceQueueAndSnapshotsReadModels","Output":"=== RUN TestRuleGovernanceQueueAndSnapshotsReadModels\n"} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceQueueAndSnapshotsReadModels","Output":"--- PASS: TestRuleGovernanceQueueAndSnapshotsReadModels (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceQueueAndSnapshotsReadModels","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceUsefulnessNoDataAndProjectGuard"} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceUsefulnessNoDataAndProjectGuard","Output":"=== RUN TestRuleGovernanceUsefulnessNoDataAndProjectGuard\n"} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceUsefulnessNoDataAndProjectGuard","Output":"--- PASS: TestRuleGovernanceUsefulnessNoDataAndProjectGuard (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceUsefulnessNoDataAndProjectGuard","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsRequireProjectForNonAdminAllProjectReads"} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsRequireProjectForNonAdminAllProjectReads","Output":"=== RUN TestRuleGovernanceReadToolsRequireProjectForNonAdminAllProjectReads\n"} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsRequireProjectForNonAdminAllProjectReads","Output":"--- PASS: TestRuleGovernanceReadToolsRequireProjectForNonAdminAllProjectReads (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsRequireProjectForNonAdminAllProjectReads","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsNilStoreErrors"} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsNilStoreErrors","Output":"=== RUN TestRuleGovernanceReadToolsNilStoreErrors\n"} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsNilStoreErrors","Output":"--- PASS: TestRuleGovernanceReadToolsNilStoreErrors (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsNilStoreErrors","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsRequireIdentityWhenAuthEnabled"} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsRequireIdentityWhenAuthEnabled","Output":"=== RUN TestRuleGovernanceReadToolsRequireIdentityWhenAuthEnabled\n"} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsRequireIdentityWhenAuthEnabled","Output":"--- PASS: TestRuleGovernanceReadToolsRequireIdentityWhenAuthEnabled (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsRequireIdentityWhenAuthEnabled","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsRejectZeroIdentity"} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsRejectZeroIdentity","Output":"=== RUN TestRuleGovernanceReadToolsRejectZeroIdentity\n"} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsRejectZeroIdentity","Output":"--- PASS: TestRuleGovernanceReadToolsRejectZeroIdentity (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceReadToolsRejectZeroIdentity","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceMutationToolsRequireAdmin"} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceMutationToolsRequireAdmin","Output":"=== RUN TestRuleGovernanceMutationToolsRequireAdmin\n"} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceMutationToolsRequireAdmin","Output":"--- PASS: TestRuleGovernanceMutationToolsRequireAdmin (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceMutationToolsRequireAdmin","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceTransitionToolUsesStateMachineStore"} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceTransitionToolUsesStateMachineStore","Output":"=== RUN TestRuleGovernanceTransitionToolUsesStateMachineStore\n"} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceTransitionToolUsesStateMachineStore","Output":"--- PASS: TestRuleGovernanceTransitionToolUsesStateMachineStore (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceTransitionToolUsesStateMachineStore","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernancePinSnapshotAndRollbackUseRuleGovernanceSnapshots"} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernancePinSnapshotAndRollbackUseRuleGovernanceSnapshots","Output":"=== RUN TestRuleGovernancePinSnapshotAndRollbackUseRuleGovernanceSnapshots\n"} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernancePinSnapshotAndRollbackUseRuleGovernanceSnapshots","Output":"--- PASS: TestRuleGovernancePinSnapshotAndRollbackUseRuleGovernanceSnapshots (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernancePinSnapshotAndRollbackUseRuleGovernanceSnapshots","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceRollbackReturnsStructuredConflictResult"} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceRollbackReturnsStructuredConflictResult","Output":"=== RUN TestRuleGovernanceRollbackReturnsStructuredConflictResult\n"} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceRollbackReturnsStructuredConflictResult","Output":"--- PASS: TestRuleGovernanceRollbackReturnsStructuredConflictResult (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRuleGovernanceRollbackReturnsStructuredConflictResult","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSettings_SetRequiresAdmin"} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSettings_SetRequiresAdmin","Output":"=== RUN TestSettings_SetRequiresAdmin\n"} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSettings_SetRequiresAdmin","Output":"--- PASS: TestSettings_SetRequiresAdmin (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSettings_SetRequiresAdmin","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSettings_DeleteRequiresAdmin"} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSettings_DeleteRequiresAdmin","Output":"=== RUN TestSettings_DeleteRequiresAdmin\n"} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSettings_DeleteRequiresAdmin","Output":"--- PASS: TestSettings_DeleteRequiresAdmin (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSettings_DeleteRequiresAdmin","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7386473+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSettings_SetMissingArgs"} +{"Time":"2026-07-11T04:02:13.7391462+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSettings_SetMissingArgs","Output":"=== RUN TestSettings_SetMissingArgs\n"} +{"Time":"2026-07-11T04:02:13.7391462+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSettings_SetMissingArgs","Output":"--- PASS: TestSettings_SetMissingArgs (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7391462+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSettings_SetMissingArgs","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7391462+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSettings_UnknownAction"} +{"Time":"2026-07-11T04:02:13.7391462+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSettings_UnknownAction","Output":"=== RUN TestSettings_UnknownAction\n"} +{"Time":"2026-07-11T04:02:13.7391462+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSettings_UnknownAction","Output":"--- PASS: TestSettings_UnknownAction (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7391462+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSettings_UnknownAction","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7391462+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestIsSecretSettingKey"} +{"Time":"2026-07-11T04:02:13.7391462+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestIsSecretSettingKey","Output":"=== RUN TestIsSecretSettingKey\n"} +{"Time":"2026-07-11T04:02:13.7391462+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestIsSecretSettingKey","Output":"--- PASS: TestIsSecretSettingKey (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7391462+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestIsSecretSettingKey","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7391462+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireAdmin"} +{"Time":"2026-07-11T04:02:13.7391462+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireAdmin","Output":"=== RUN TestRequireAdmin\n"} +{"Time":"2026-07-11T04:02:13.7391462+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireAdmin","Output":"--- PASS: TestRequireAdmin (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7391462+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequireAdmin","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7391462+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStateToolsAdvertisedOnlyWhenNativeStoreIsReachable"} +{"Time":"2026-07-11T04:02:13.7391462+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStateToolsAdvertisedOnlyWhenNativeStoreIsReachable","Output":"=== RUN TestStateToolsAdvertisedOnlyWhenNativeStoreIsReachable\n"} +{"Time":"2026-07-11T04:02:13.7391462+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStateToolsAdvertisedOnlyWhenNativeStoreIsReachable","Output":"--- PASS: TestStateToolsAdvertisedOnlyWhenNativeStoreIsReachable (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7391462+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStateToolsAdvertisedOnlyWhenNativeStoreIsReachable","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7391462+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateToolWritesNativeSessionAndProjectState"} +{"Time":"2026-07-11T04:02:13.7391462+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateToolWritesNativeSessionAndProjectState","Output":"=== RUN TestSetStateToolWritesNativeSessionAndProjectState\n"} +{"Time":"2026-07-11T04:02:13.7396479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateToolWritesNativeSessionAndProjectState","Output":"--- PASS: TestSetStateToolWritesNativeSessionAndProjectState (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7396479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateToolWritesNativeSessionAndProjectState","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7396479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateToolRejectsNonAgentProjectWriter"} +{"Time":"2026-07-11T04:02:13.7396479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateToolRejectsNonAgentProjectWriter","Output":"=== RUN TestSetStateToolRejectsNonAgentProjectWriter\n"} +{"Time":"2026-07-11T04:02:13.7396479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateToolRejectsNonAgentProjectWriter","Output":"--- PASS: TestSetStateToolRejectsNonAgentProjectWriter (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7396479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateToolRejectsNonAgentProjectWriter","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7396479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateToolRejectsNonObjectSessionSlots"} +{"Time":"2026-07-11T04:02:13.7396479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateToolRejectsNonObjectSessionSlots","Output":"=== RUN TestSetStateToolRejectsNonObjectSessionSlots\n"} +{"Time":"2026-07-11T04:02:13.7396479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateToolRejectsNonObjectSessionSlots","Output":"--- PASS: TestSetStateToolRejectsNonObjectSessionSlots (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7396479+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateToolRejectsNonObjectSessionSlots","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7396479+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateToolRejectsSessionPayloadOver32KB"} +{"Time":"2026-07-11T04:02:13.7396479+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateToolRejectsSessionPayloadOver32KB","Output":"=== RUN TestSetStateToolRejectsSessionPayloadOver32KB\n"} +{"Time":"2026-07-11T04:02:13.7401566+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateToolRejectsSessionPayloadOver32KB","Output":"--- PASS: TestSetStateToolRejectsSessionPayloadOver32KB (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7401566+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateToolRejectsSessionPayloadOver32KB","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7401566+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateThenGetStateResumeUsesServerCallPath"} +{"Time":"2026-07-11T04:02:13.7401566+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateThenGetStateResumeUsesServerCallPath","Output":"=== RUN TestSetStateThenGetStateResumeUsesServerCallPath\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateThenGetStateResumeUsesServerCallPath","Output":"--- PASS: TestSetStateThenGetStateResumeUsesServerCallPath (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSetStateThenGetStateResumeUsesServerCallPath","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolSessionDoesNotRequirePrincipal"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolSessionDoesNotRequirePrincipal","Output":"=== RUN TestGetStateToolSessionDoesNotRequirePrincipal\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolSessionDoesNotRequirePrincipal","Output":"--- PASS: TestGetStateToolSessionDoesNotRequirePrincipal (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolSessionDoesNotRequirePrincipal","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolProjectDoesNotRequirePrincipal"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolProjectDoesNotRequirePrincipal","Output":"=== RUN TestGetStateToolProjectDoesNotRequirePrincipal\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolProjectDoesNotRequirePrincipal","Output":"--- PASS: TestGetStateToolProjectDoesNotRequirePrincipal (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolProjectDoesNotRequirePrincipal","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeReturnsNativePacket"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeReturnsNativePacket","Output":"=== RUN TestGetStateToolResumeReturnsNativePacket\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeReturnsNativePacket","Output":"--- PASS: TestGetStateToolResumeReturnsNativePacket (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeReturnsNativePacket","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeSupportsExplicitProjectOnlyScope"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeSupportsExplicitProjectOnlyScope","Output":"=== RUN TestGetStateToolResumeSupportsExplicitProjectOnlyScope\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeSupportsExplicitProjectOnlyScope","Output":"--- PASS: TestGetStateToolResumeSupportsExplicitProjectOnlyScope (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeSupportsExplicitProjectOnlyScope","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsFallbackMasqueradingAsNative"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsFallbackMasqueradingAsNative","Output":"=== RUN TestGetStateToolResumeRejectsFallbackMasqueradingAsNative\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsFallbackMasqueradingAsNative","Output":"--- PASS: TestGetStateToolResumeRejectsFallbackMasqueradingAsNative (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsFallbackMasqueradingAsNative","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsMissingEvidenceRefs"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsMissingEvidenceRefs","Output":"=== RUN TestGetStateToolResumeRejectsMissingEvidenceRefs\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsMissingEvidenceRefs","Output":"--- PASS: TestGetStateToolResumeRejectsMissingEvidenceRefs (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsMissingEvidenceRefs","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsPacketIdentityMismatch"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsPacketIdentityMismatch","Output":"=== RUN TestGetStateToolResumeRejectsPacketIdentityMismatch\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsPacketIdentityMismatch","Output":"--- PASS: TestGetStateToolResumeRejectsPacketIdentityMismatch (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsPacketIdentityMismatch","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches","Output":"=== RUN TestGetStateToolResumeRejectsAdditionalIdentityMismatches\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/project_mismatch"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/project_mismatch","Output":"=== RUN TestGetStateToolResumeRejectsAdditionalIdentityMismatches/project_mismatch\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/project_mismatch","Output":"--- PASS: TestGetStateToolResumeRejectsAdditionalIdentityMismatches/project_mismatch (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/project_mismatch","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/session_mismatch"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/session_mismatch","Output":"=== RUN TestGetStateToolResumeRejectsAdditionalIdentityMismatches/session_mismatch\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/session_mismatch","Output":"--- PASS: TestGetStateToolResumeRejectsAdditionalIdentityMismatches/session_mismatch (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/session_mismatch","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/goal_mismatch"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/goal_mismatch","Output":"=== RUN TestGetStateToolResumeRejectsAdditionalIdentityMismatches/goal_mismatch\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/goal_mismatch","Output":"--- PASS: TestGetStateToolResumeRejectsAdditionalIdentityMismatches/goal_mismatch (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/goal_mismatch","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/task_mismatch"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/task_mismatch","Output":"=== RUN TestGetStateToolResumeRejectsAdditionalIdentityMismatches/task_mismatch\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/task_mismatch","Output":"--- PASS: TestGetStateToolResumeRejectsAdditionalIdentityMismatches/task_mismatch (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/task_mismatch","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_action_kind"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_action_kind","Output":"=== RUN TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_action_kind\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_action_kind","Output":"--- PASS: TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_action_kind (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_action_kind","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_action_command"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_action_command","Output":"=== RUN TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_action_command\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_action_command","Output":"--- PASS: TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_action_command (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_action_command","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_verification_kind"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_verification_kind","Output":"=== RUN TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_verification_kind\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_verification_kind","Output":"--- PASS: TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_verification_kind (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_verification_kind","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_verification_command"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_verification_command","Output":"=== RUN TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_verification_command\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_verification_command","Output":"--- PASS: TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_verification_command (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches/missing_next_verification_command","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches","Output":"--- PASS: TestGetStateToolResumeRejectsAdditionalIdentityMismatches (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRejectsAdditionalIdentityMismatches","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolRejectsFilesystemFallbackOption"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolRejectsFilesystemFallbackOption","Output":"=== RUN TestGetStateToolRejectsFilesystemFallbackOption\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolRejectsFilesystemFallbackOption","Output":"--- PASS: TestGetStateToolRejectsFilesystemFallbackOption (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolRejectsFilesystemFallbackOption","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRequiresPrincipal"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRequiresPrincipal","Output":"=== RUN TestGetStateToolResumeRequiresPrincipal\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRequiresPrincipal","Output":"--- PASS: TestGetStateToolResumeRequiresPrincipal (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeRequiresPrincipal","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeDoesNotInjectContextProjectWhenOmitted"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeDoesNotInjectContextProjectWhenOmitted","Output":"=== RUN TestGetStateToolResumeDoesNotInjectContextProjectWhenOmitted\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeDoesNotInjectContextProjectWhenOmitted","Output":"--- PASS: TestGetStateToolResumeDoesNotInjectContextProjectWhenOmitted (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetStateToolResumeDoesNotInjectContextProjectWhenOmitted","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthToolAdvertisedWhenProviderWiredAndFlagOn"} +{"Time":"2026-07-11T04:02:13.7406467+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthToolAdvertisedWhenProviderWiredAndFlagOn","Output":"=== RUN TestTemporalTruthToolAdvertisedWhenProviderWiredAndFlagOn\n"} +{"Time":"2026-07-11T04:02:13.7411466+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthToolAdvertisedWhenProviderWiredAndFlagOn","Output":"--- PASS: TestTemporalTruthToolAdvertisedWhenProviderWiredAndFlagOn (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7411466+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthToolAdvertisedWhenProviderWiredAndFlagOn","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7411466+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthRefreshToolAdvertisedWhenProviderWiredAndFlagOn"} +{"Time":"2026-07-11T04:02:13.7411466+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthRefreshToolAdvertisedWhenProviderWiredAndFlagOn","Output":"=== RUN TestTemporalTruthRefreshToolAdvertisedWhenProviderWiredAndFlagOn\n"} +{"Time":"2026-07-11T04:02:13.7411466+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthRefreshToolAdvertisedWhenProviderWiredAndFlagOn","Output":"--- PASS: TestTemporalTruthRefreshToolAdvertisedWhenProviderWiredAndFlagOn (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7411466+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthRefreshToolAdvertisedWhenProviderWiredAndFlagOn","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7411466+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthToolsAbsentWhenFlagOff"} +{"Time":"2026-07-11T04:02:13.7411466+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthToolsAbsentWhenFlagOff","Output":"=== RUN TestTemporalTruthToolsAbsentWhenFlagOff\n"} +{"Time":"2026-07-11T04:02:13.7411466+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthToolsAbsentWhenFlagOff","Output":"--- PASS: TestTemporalTruthToolsAbsentWhenFlagOff (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7411466+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthToolsAbsentWhenFlagOff","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7411466+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthDirectCallFailsClosedWhenFeatureGateUnsatisfied"} +{"Time":"2026-07-11T04:02:13.7411466+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthDirectCallFailsClosedWhenFeatureGateUnsatisfied","Output":"=== RUN TestTemporalTruthDirectCallFailsClosedWhenFeatureGateUnsatisfied\n"} +{"Time":"2026-07-11T04:02:13.7411466+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthDirectCallFailsClosedWhenFeatureGateUnsatisfied","Output":"{\"level\":\"error\",\"error\":\"temporal truth feature flag required\",\"tool\":\"temporal_truth\",\"args\":\"{\\\"fact_id\\\":\\\"42\\\",\\\"project\\\":\\\"engram\\\"}\",\"time\":\"2026-07-11T04:02:13+03:00\",\"message\":\"Tool call failed\"}\n"} +{"Time":"2026-07-11T04:02:13.7411466+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthDirectCallFailsClosedWhenFeatureGateUnsatisfied","Output":"{\"level\":\"error\",\"error\":\"temporal truth provider not configured\",\"tool\":\"temporal_truth\",\"args\":\"{\\\"fact_id\\\":\\\"42\\\",\\\"project\\\":\\\"engram\\\"}\",\"time\":\"2026-07-11T04:02:13+03:00\",\"message\":\"Tool call failed\"}\n"} +{"Time":"2026-07-11T04:02:13.7411466+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthDirectCallFailsClosedWhenFeatureGateUnsatisfied","Output":"--- PASS: TestTemporalTruthDirectCallFailsClosedWhenFeatureGateUnsatisfied (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7411466+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthDirectCallFailsClosedWhenFeatureGateUnsatisfied","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7416477+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthRefreshDirectCallFailsClosedWhenFeatureGateUnsatisfied"} +{"Time":"2026-07-11T04:02:13.7416477+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthRefreshDirectCallFailsClosedWhenFeatureGateUnsatisfied","Output":"=== RUN TestTemporalTruthRefreshDirectCallFailsClosedWhenFeatureGateUnsatisfied\n"} +{"Time":"2026-07-11T04:02:13.7416477+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthRefreshDirectCallFailsClosedWhenFeatureGateUnsatisfied","Output":"{\"level\":\"error\",\"error\":\"temporal truth feature flag required\",\"tool\":\"temporal_truth_refresh\",\"args\":\"{\\\"project\\\":\\\"engram\\\"}\",\"time\":\"2026-07-11T04:02:13+03:00\",\"message\":\"Tool call failed\"}\n"} +{"Time":"2026-07-11T04:02:13.7416477+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthRefreshDirectCallFailsClosedWhenFeatureGateUnsatisfied","Output":"{\"level\":\"error\",\"error\":\"temporal truth provider not configured\",\"tool\":\"temporal_truth_refresh\",\"args\":\"{\\\"project\\\":\\\"engram\\\"}\",\"time\":\"2026-07-11T04:02:13+03:00\",\"message\":\"Tool call failed\"}\n"} +{"Time":"2026-07-11T04:02:13.7416477+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthRefreshDirectCallFailsClosedWhenFeatureGateUnsatisfied","Output":"--- PASS: TestTemporalTruthRefreshDirectCallFailsClosedWhenFeatureGateUnsatisfied (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7416477+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTemporalTruthRefreshDirectCallFailsClosedWhenFeatureGateUnsatisfied","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7416477+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthReturnsBoundedResponse"} +{"Time":"2026-07-11T04:02:13.7416477+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthReturnsBoundedResponse","Output":"=== RUN TestHandleTemporalTruthReturnsBoundedResponse\n"} +{"Time":"2026-07-11T04:02:13.7416477+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthReturnsBoundedResponse","Output":"--- PASS: TestHandleTemporalTruthReturnsBoundedResponse (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7416477+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthReturnsBoundedResponse","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7416477+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRefreshReturnsAdmissionResult"} +{"Time":"2026-07-11T04:02:13.7416477+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRefreshReturnsAdmissionResult","Output":"=== RUN TestHandleTemporalTruthRefreshReturnsAdmissionResult\n"} +{"Time":"2026-07-11T04:02:13.7416477+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRefreshReturnsAdmissionResult","Output":"--- PASS: TestHandleTemporalTruthRefreshReturnsAdmissionResult (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7416477+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRefreshReturnsAdmissionResult","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7416477+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRefreshRequiresProject"} +{"Time":"2026-07-11T04:02:13.7416477+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRefreshRequiresProject","Output":"=== RUN TestHandleTemporalTruthRefreshRequiresProject\n"} +{"Time":"2026-07-11T04:02:13.7416477+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRefreshRequiresProject","Output":"--- PASS: TestHandleTemporalTruthRefreshRequiresProject (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7416477+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRefreshRequiresProject","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7416477+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRequiresProject"} +{"Time":"2026-07-11T04:02:13.7416477+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRequiresProject","Output":"=== RUN TestHandleTemporalTruthRequiresProject\n"} +{"Time":"2026-07-11T04:02:13.7416477+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRequiresProject/missing_project"} +{"Time":"2026-07-11T04:02:13.7416477+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRequiresProject/missing_project","Output":"=== RUN TestHandleTemporalTruthRequiresProject/missing_project\n"} +{"Time":"2026-07-11T04:02:13.7416477+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRequiresProject/missing_project","Output":"--- PASS: TestHandleTemporalTruthRequiresProject/missing_project (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7416477+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRequiresProject/missing_project","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7416477+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRequiresProject/blank_project"} +{"Time":"2026-07-11T04:02:13.7416477+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRequiresProject/blank_project","Output":"=== RUN TestHandleTemporalTruthRequiresProject/blank_project\n"} +{"Time":"2026-07-11T04:02:13.7416477+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRequiresProject/blank_project","Output":"--- PASS: TestHandleTemporalTruthRequiresProject/blank_project (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7416477+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRequiresProject/blank_project","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7416477+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRequiresProject","Output":"--- PASS: TestHandleTemporalTruthRequiresProject (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7416477+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRequiresProject","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7416477+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRejectsInvalidAsOf"} +{"Time":"2026-07-11T04:02:13.7416477+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRejectsInvalidAsOf","Output":"=== RUN TestHandleTemporalTruthRejectsInvalidAsOf\n"} +{"Time":"2026-07-11T04:02:13.7416477+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRejectsInvalidAsOf","Output":"--- PASS: TestHandleTemporalTruthRejectsInvalidAsOf (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7416477+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleTemporalTruthRejectsInvalidAsOf","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7416477+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_LifecycleTool_AppearsWhenStoresSetAndFlagOn"} +{"Time":"2026-07-11T04:02:13.7416477+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_LifecycleTool_AppearsWhenStoresSetAndFlagOn","Output":"=== RUN TestWiring_LifecycleTool_AppearsWhenStoresSetAndFlagOn\n"} +{"Time":"2026-07-11T04:02:13.7421464+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_LifecycleTool_AppearsWhenStoresSetAndFlagOn","Output":"--- PASS: TestWiring_LifecycleTool_AppearsWhenStoresSetAndFlagOn (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7421464+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_LifecycleTool_AppearsWhenStoresSetAndFlagOn","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7421464+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_LifecycleTool_AbsentWhenFlagOff"} +{"Time":"2026-07-11T04:02:13.7421464+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_LifecycleTool_AbsentWhenFlagOff","Output":"=== RUN TestWiring_LifecycleTool_AbsentWhenFlagOff\n"} +{"Time":"2026-07-11T04:02:13.7421464+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_LifecycleTool_AbsentWhenFlagOff","Output":"--- PASS: TestWiring_LifecycleTool_AbsentWhenFlagOff (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7421464+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_LifecycleTool_AbsentWhenFlagOff","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7421464+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_LifecycleTool_AbsentWhenStoresNil"} +{"Time":"2026-07-11T04:02:13.7421464+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_LifecycleTool_AbsentWhenStoresNil","Output":"=== RUN TestWiring_LifecycleTool_AbsentWhenStoresNil\n"} +{"Time":"2026-07-11T04:02:13.7421464+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_LifecycleTool_AbsentWhenStoresNil","Output":"--- PASS: TestWiring_LifecycleTool_AbsentWhenStoresNil (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7421464+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_LifecycleTool_AbsentWhenStoresNil","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7421464+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_GraphTool_AppearsWhenStoreSetAndFlagOn"} +{"Time":"2026-07-11T04:02:13.7421464+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_GraphTool_AppearsWhenStoreSetAndFlagOn","Output":"=== RUN TestWiring_GraphTool_AppearsWhenStoreSetAndFlagOn\n"} +{"Time":"2026-07-11T04:02:13.7421464+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_GraphTool_AppearsWhenStoreSetAndFlagOn","Output":"--- PASS: TestWiring_GraphTool_AppearsWhenStoreSetAndFlagOn (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7421464+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_GraphTool_AppearsWhenStoreSetAndFlagOn","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7421464+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_GraphTool_AbsentWhenFlagOff"} +{"Time":"2026-07-11T04:02:13.7421464+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_GraphTool_AbsentWhenFlagOff","Output":"=== RUN TestWiring_GraphTool_AbsentWhenFlagOff\n"} +{"Time":"2026-07-11T04:02:13.7426469+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_GraphTool_AbsentWhenFlagOff","Output":"--- PASS: TestWiring_GraphTool_AbsentWhenFlagOff (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7426469+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_GraphTool_AbsentWhenFlagOff","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7426469+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_GraphTool_AbsentWhenStoreNil"} +{"Time":"2026-07-11T04:02:13.7426469+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_GraphTool_AbsentWhenStoreNil","Output":"=== RUN TestWiring_GraphTool_AbsentWhenStoreNil\n"} +{"Time":"2026-07-11T04:02:13.7426469+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_GraphTool_AbsentWhenStoreNil","Output":"--- PASS: TestWiring_GraphTool_AbsentWhenStoreNil (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7426469+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_GraphTool_AbsentWhenStoreNil","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7426469+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_BothToolsOff_FlagsUnset"} +{"Time":"2026-07-11T04:02:13.7426469+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_BothToolsOff_FlagsUnset","Output":"=== RUN TestWiring_BothToolsOff_FlagsUnset\n"} +{"Time":"2026-07-11T04:02:13.7426469+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_BothToolsOff_FlagsUnset","Output":"--- PASS: TestWiring_BothToolsOff_FlagsUnset (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7426469+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWiring_BothToolsOff_FlagsUnset","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7426469+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCodeIntelFlag_Off_ToolsAbsentFromList"} +{"Time":"2026-07-11T04:02:13.7426469+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCodeIntelFlag_Off_ToolsAbsentFromList","Output":"=== RUN TestCodeIntelFlag_Off_ToolsAbsentFromList\n"} +{"Time":"2026-07-11T04:02:13.7426469+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCodeIntelFlag_Off_ToolsAbsentFromList","Output":"--- PASS: TestCodeIntelFlag_Off_ToolsAbsentFromList (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7426469+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCodeIntelFlag_Off_ToolsAbsentFromList","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7426469+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCodeIntelFlag_On_StoreNil_ToolsAbsentFromList"} +{"Time":"2026-07-11T04:02:13.7426469+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCodeIntelFlag_On_StoreNil_ToolsAbsentFromList","Output":"=== RUN TestCodeIntelFlag_On_StoreNil_ToolsAbsentFromList\n"} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCodeIntelFlag_On_StoreNil_ToolsAbsentFromList","Output":"--- PASS: TestCodeIntelFlag_On_StoreNil_ToolsAbsentFromList (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCodeIntelFlag_On_StoreNil_ToolsAbsentFromList","Elapsed":0} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCodeIntelFlag_On_ServerAdvertisesSearchNotStatus"} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCodeIntelFlag_On_ServerAdvertisesSearchNotStatus","Output":"=== RUN TestCodeIntelFlag_On_ServerAdvertisesSearchNotStatus\n"} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCodeIntelFlag_On_ServerAdvertisesSearchNotStatus","Output":"--- PASS: TestCodeIntelFlag_On_ServerAdvertisesSearchNotStatus (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCodeIntelFlag_On_ServerAdvertisesSearchNotStatus","Elapsed":0} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCodebaseSearch_FlagOff_ReturnsError"} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCodebaseSearch_FlagOff_ReturnsError","Output":"=== RUN TestCodebaseSearch_FlagOff_ReturnsError\n"} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCodebaseSearch_FlagOff_ReturnsError","Output":"{\"level\":\"error\",\"error\":\"codebase_search requires ENGRAM_CODE_INTEL_ENABLED=true\",\"tool\":\"codebase_search\",\"args\":\"{\\\"query\\\":\\\"hello\\\",\\\"project\\\":\\\"test\\\"}\",\"time\":\"2026-07-11T04:02:13+03:00\",\"message\":\"Tool call failed\"}\n"} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCodebaseSearch_FlagOff_ReturnsError","Output":"--- PASS: TestCodebaseSearch_FlagOff_ReturnsError (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCodebaseSearch_FlagOff_ReturnsError","Elapsed":0} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table"} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table","Output":"=== CONT TestRequest_Marshal_Table\n"} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/initialize"} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/initialize","Output":"=== RUN TestRequest_Marshal_Table/initialize\n"} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/initialize","Output":"=== PAUSE TestRequest_Marshal_Table/initialize\n"} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/initialize"} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/string_id"} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/string_id","Output":"=== RUN TestRequest_Marshal_Table/string_id\n"} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/string_id","Output":"=== PAUSE TestRequest_Marshal_Table/string_id\n"} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/string_id"} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/with_params"} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/with_params","Output":"=== RUN TestRequest_Marshal_Table/with_params\n"} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/with_params","Output":"=== PAUSE TestRequest_Marshal_Table/with_params\n"} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/with_params"} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/null_id"} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/null_id","Output":"=== RUN TestRequest_Marshal_Table/null_id\n"} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/null_id","Output":"=== PAUSE TestRequest_Marshal_Table/null_id\n"} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/null_id"} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSanitizeToolCallArgs_OtherToolsStillRedactSecrets"} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSanitizeToolCallArgs_OtherToolsStillRedactSecrets","Output":"=== CONT TestSanitizeToolCallArgs_OtherToolsStillRedactSecrets\n"} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSanitizeToolCallArgs_OtherToolsStillRedactSecrets","Output":"--- PASS: TestSanitizeToolCallArgs_OtherToolsStillRedactSecrets (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSanitizeToolCallArgs_OtherToolsStillRedactSecrets","Elapsed":0} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryToolSchema_T005"} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryToolSchema_T005","Output":"=== CONT TestRecallMemoryToolSchema_T005\n"} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryToolSchema_T005","Output":"--- PASS: TestRecallMemoryToolSchema_T005 (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryToolSchema_T005","Elapsed":0} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryToolSchema_T005"} +{"Time":"2026-07-11T04:02:13.743148+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryToolSchema_T005","Output":"=== CONT TestStoreMemoryToolSchema_T005\n"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryToolSchema_T005","Output":"--- PASS: TestStoreMemoryToolSchema_T005 (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryToolSchema_T005","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryDomainPolicy_DomainOwnedRowVisibleToOwner"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryDomainPolicy_DomainOwnedRowVisibleToOwner","Output":"=== CONT TestRecallMemoryDomainPolicy_DomainOwnedRowVisibleToOwner\n"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryDomainPolicy_DomainOwnedRowVisibleToOwner","Output":"--- PASS: TestRecallMemoryDomainPolicy_DomainOwnedRowVisibleToOwner (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryDomainPolicy_DomainOwnedRowVisibleToOwner","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryDomainPolicy_DomainOwnedRowHiddenFromMismatchedPrincipal"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryDomainPolicy_DomainOwnedRowHiddenFromMismatchedPrincipal","Output":"=== CONT TestRecallMemoryDomainPolicy_DomainOwnedRowHiddenFromMismatchedPrincipal\n"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryDomainPolicy_DomainOwnedRowHiddenFromMismatchedPrincipal","Output":"--- PASS: TestRecallMemoryDomainPolicy_DomainOwnedRowHiddenFromMismatchedPrincipal (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRecallMemoryDomainPolicy_DomainOwnedRowHiddenFromMismatchedPrincipal","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLintDomainPolicy_DomainOwnedTargetHidden"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLintDomainPolicy_DomainOwnedTargetHidden","Output":"=== CONT TestWriteLintDomainPolicy_DomainOwnedTargetHidden\n"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLintDomainPolicy_DomainOwnedTargetHidden","Output":"--- PASS: TestWriteLintDomainPolicy_DomainOwnedTargetHidden (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLintDomainPolicy_DomainOwnedTargetHidden","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLintDomainPolicy_DomainOwnedCandidateHidden"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLintDomainPolicy_DomainOwnedCandidateHidden","Output":"=== CONT TestWriteLintDomainPolicy_DomainOwnedCandidateHidden\n"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLintDomainPolicy_DomainOwnedCandidateHidden","Output":"--- PASS: TestWriteLintDomainPolicy_DomainOwnedCandidateHidden (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestWriteLintDomainPolicy_DomainOwnedCandidateHidden","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainRejectsInvalidPrincipalKind"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainRejectsInvalidPrincipalKind","Output":"=== CONT TestStoreMemoryDomainPolicy_NonEmptyDomainRejectsInvalidPrincipalKind\n"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainRejectsInvalidPrincipalKind","Output":"--- PASS: TestStoreMemoryDomainPolicy_NonEmptyDomainRejectsInvalidPrincipalKind (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainRejectsInvalidPrincipalKind","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainAllowsPrincipalIdentity"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainAllowsPrincipalIdentity","Output":"=== CONT TestStoreMemoryDomainPolicy_NonEmptyDomainAllowsPrincipalIdentity\n"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainAllowsPrincipalIdentity","Output":"--- PASS: TestStoreMemoryDomainPolicy_NonEmptyDomainAllowsPrincipalIdentity (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainAllowsPrincipalIdentity","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainRequiresPrincipal"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainRequiresPrincipal","Output":"=== CONT TestStoreMemoryDomainPolicy_NonEmptyDomainRequiresPrincipal\n"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainRequiresPrincipal","Output":"--- PASS: TestStoreMemoryDomainPolicy_NonEmptyDomainRequiresPrincipal (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_NonEmptyDomainRequiresPrincipal","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_EmptyDomainLegacyCompatible"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_EmptyDomainLegacyCompatible","Output":"=== CONT TestStoreMemoryDomainPolicy_EmptyDomainLegacyCompatible\n"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_EmptyDomainLegacyCompatible","Output":"--- PASS: TestStoreMemoryDomainPolicy_EmptyDomainLegacyCompatible (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestStoreMemoryDomainPolicy_EmptyDomainLegacyCompatible","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTierConstants"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTierConstants","Output":"=== CONT TestTierConstants\n"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTierConstants","Output":"--- PASS: TestTierConstants (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTierConstants","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table","Output":"=== CONT TestJSONRPCErrorCodes_Table\n"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Parse_error"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Parse_error","Output":"=== RUN TestJSONRPCErrorCodes_Table/Parse_error\n"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Parse_error","Output":"=== PAUSE TestJSONRPCErrorCodes_Table/Parse_error\n"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Parse_error"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Invalid_Request"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Invalid_Request","Output":"=== RUN TestJSONRPCErrorCodes_Table/Invalid_Request\n"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Invalid_Request","Output":"=== PAUSE TestJSONRPCErrorCodes_Table/Invalid_Request\n"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Invalid_Request"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Method_not_found"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Method_not_found","Output":"=== RUN TestJSONRPCErrorCodes_Table/Method_not_found\n"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Method_not_found","Output":"=== PAUSE TestJSONRPCErrorCodes_Table/Method_not_found\n"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Method_not_found"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Invalid_params"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Invalid_params","Output":"=== RUN TestJSONRPCErrorCodes_Table/Invalid_params\n"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Invalid_params","Output":"=== PAUSE TestJSONRPCErrorCodes_Table/Invalid_params\n"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Invalid_params"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Internal_error"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Internal_error","Output":"=== RUN TestJSONRPCErrorCodes_Table/Internal_error\n"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Internal_error","Output":"=== PAUSE TestJSONRPCErrorCodes_Table/Internal_error\n"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Internal_error"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_NotificationNoResponse"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_NotificationNoResponse","Output":"=== CONT TestRun_NotificationNoResponse\n"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_NotificationNoResponse","Output":"{\"level\":\"debug\",\"method\":\"initialized\",\"time\":\"2026-07-11T04:02:13+03:00\",\"message\":\"MCP client initialized\"}\n"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_NotificationNoResponse","Output":"--- PASS: TestRun_NotificationNoResponse (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_NotificationNoResponse","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_MixedValidAndInvalid"} +{"Time":"2026-07-11T04:02:13.7436474+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_MixedValidAndInvalid","Output":"=== CONT TestRun_MixedValidAndInvalid\n"} +{"Time":"2026-07-11T04:02:13.7441491+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_MixedValidAndInvalid","Output":"--- PASS: TestRun_MixedValidAndInvalid (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7441491+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_MixedValidAndInvalid","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7441491+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_MultipleRequests"} +{"Time":"2026-07-11T04:02:13.7441491+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_MultipleRequests","Output":"=== CONT TestRun_MultipleRequests\n"} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_MultipleRequests","Output":"--- PASS: TestRun_MultipleRequests (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_MultipleRequests","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_ValidInitialize"} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_ValidInitialize","Output":"=== CONT TestRun_ValidInitialize\n"} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_ValidInitialize","Output":"--- PASS: TestRun_ValidInitialize (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_ValidInitialize","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_EmptyLinesSkipped"} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_EmptyLinesSkipped","Output":"=== CONT TestRun_EmptyLinesSkipped\n"} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_EmptyLinesSkipped","Output":"--- PASS: TestRun_EmptyLinesSkipped (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_EmptyLinesSkipped","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_ParseError"} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_ParseError","Output":"=== CONT TestRun_ParseError\n"} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_ParseError","Output":"--- PASS: TestRun_ParseError (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRun_ParseError","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendError_OutputShape"} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendError_OutputShape","Output":"=== CONT TestSendError_OutputShape\n"} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendError_OutputShape","Output":"--- PASS: TestSendError_OutputShape (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendError_OutputShape","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_VariousIDTypes"} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_VariousIDTypes","Output":"=== CONT TestSendResponse_VariousIDTypes\n"} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_VariousIDTypes","Output":"--- PASS: TestSendResponse_VariousIDTypes (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_VariousIDTypes","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_NilID"} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_NilID","Output":"=== CONT TestSendResponse_NilID\n"} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_NilID","Output":"--- PASS: TestSendResponse_NilID (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_NilID","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_ErrorResponse"} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_ErrorResponse","Output":"=== CONT TestSendResponse_ErrorResponse\n"} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_ErrorResponse","Output":"--- PASS: TestSendResponse_ErrorResponse (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_ErrorResponse","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_ContainsJSONRPC"} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_ContainsJSONRPC","Output":"=== CONT TestSendResponse_ContainsJSONRPC\n"} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_ContainsJSONRPC","Output":"--- PASS: TestSendResponse_ContainsJSONRPC (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSendResponse_ContainsJSONRPC","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleAnalyzeSearchPatterns_InvalidJSON"} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleAnalyzeSearchPatterns_InvalidJSON","Output":"=== CONT TestHandleAnalyzeSearchPatterns_InvalidJSON\n"} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleAnalyzeSearchPatterns_InvalidJSON","Output":"--- PASS: TestHandleAnalyzeSearchPatterns_InvalidJSON (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleAnalyzeSearchPatterns_InvalidJSON","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleFindSimilarObservations_EmptyResultInV5"} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleFindSimilarObservations_EmptyResultInV5","Output":"=== CONT TestHandleFindSimilarObservations_EmptyResultInV5\n"} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleFindSimilarObservations_EmptyResultInV5","Output":"--- PASS: TestHandleFindSimilarObservations_EmptyResultInV5 (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleFindSimilarObservations_EmptyResultInV5","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleFindSimilarObservations_Validation"} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleFindSimilarObservations_Validation","Output":"=== CONT TestHandleFindSimilarObservations_Validation\n"} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleFindSimilarObservations_Validation","Output":"--- PASS: TestHandleFindSimilarObservations_Validation (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleFindSimilarObservations_Validation","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_PrimaryToolsPresent"} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_PrimaryToolsPresent","Output":"=== CONT TestHandleToolsList_PrimaryToolsPresent\n"} +{"Time":"2026-07-11T04:02:13.7446489+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_PrimaryToolsPresent","Output":"--- PASS: TestHandleToolsList_PrimaryToolsPresent (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.7451465+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_PrimaryToolsPresent","Elapsed":0} +{"Time":"2026-07-11T04:02:13.7451465+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleCheckSystemHealth_NilStores_StructuredResponse"} +{"Time":"2026-07-11T04:02:13.7451465+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleCheckSystemHealth_NilStores_StructuredResponse","Output":"=== CONT TestHandleCheckSystemHealth_NilStores_StructuredResponse\n"} +{"Time":"2026-07-11T04:02:13.8706424+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleCheckSystemHealth_NilStores_StructuredResponse","Output":"{\"level\":\"debug\",\"connections\":5,\"time\":\"2026-07-11T04:02:13+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:02:13.8756444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleCheckSystemHealth_NilStores_StructuredResponse","Output":"--- PASS: TestHandleCheckSystemHealth_NilStores_StructuredResponse (0.13s)\n"} +{"Time":"2026-07-11T04:02:13.8756444+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleCheckSystemHealth_NilStores_StructuredResponse","Elapsed":0.13} +{"Time":"2026-07-11T04:02:13.8756444+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSanitizeToolCallArgs_RememberDirectiveRedactsRawLogArguments"} +{"Time":"2026-07-11T04:02:13.8756444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSanitizeToolCallArgs_RememberDirectiveRedactsRawLogArguments","Output":"=== CONT TestSanitizeToolCallArgs_RememberDirectiveRedactsRawLogArguments\n"} +{"Time":"2026-07-11T04:02:13.8756444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSanitizeToolCallArgs_RememberDirectiveRedactsRawLogArguments","Output":"--- PASS: TestSanitizeToolCallArgs_RememberDirectiveRedactsRawLogArguments (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.8756444+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestSanitizeToolCallArgs_RememberDirectiveRedactsRawLogArguments","Elapsed":0} +{"Time":"2026-07-11T04:02:13.8756444+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleGetMemoryStats_NilStores_ValidJSON"} +{"Time":"2026-07-11T04:02:13.8756444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleGetMemoryStats_NilStores_ValidJSON","Output":"=== CONT TestHandleGetMemoryStats_NilStores_ValidJSON\n"} +{"Time":"2026-07-11T04:02:13.8756444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleGetMemoryStats_NilStores_ValidJSON","Output":"--- PASS: TestHandleGetMemoryStats_NilStores_ValidJSON (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.8756444+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleGetMemoryStats_NilStores_ValidJSON","Elapsed":0} +{"Time":"2026-07-11T04:02:13.8756444+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_UnknownTool"} +{"Time":"2026-07-11T04:02:13.8756444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_UnknownTool","Output":"=== CONT TestHandleToolsCall_UnknownTool\n"} +{"Time":"2026-07-11T04:02:13.8756444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_UnknownTool","Output":"{\"level\":\"error\",\"error\":\"unknown tool: no_such_tool\",\"tool\":\"no_such_tool\",\"args\":\"{}\",\"time\":\"2026-07-11T04:02:13+03:00\",\"message\":\"Tool call failed\"}\n"} +{"Time":"2026-07-11T04:02:13.8756444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_UnknownTool","Output":"--- PASS: TestHandleToolsCall_UnknownTool (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.8756444+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_UnknownTool","Elapsed":0} +{"Time":"2026-07-11T04:02:13.8756444+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table"} +{"Time":"2026-07-11T04:02:13.8756444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table","Output":"=== CONT TestCallTool_ParameterValidation_Table\n"} +{"Time":"2026-07-11T04:02:13.8756444+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/find_similar_observations/{invalid"} +{"Time":"2026-07-11T04:02:13.8756444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/find_similar_observations/{invalid","Output":"=== RUN TestCallTool_ParameterValidation_Table/find_similar_observations/{invalid\n"} +{"Time":"2026-07-11T04:02:13.8756444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/find_similar_observations/{invalid","Output":"=== PAUSE TestCallTool_ParameterValidation_Table/find_similar_observations/{invalid\n"} +{"Time":"2026-07-11T04:02:13.8756444+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/find_similar_observations/{invalid"} +{"Time":"2026-07-11T04:02:13.8756444+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/find_similar_observations/{}"} +{"Time":"2026-07-11T04:02:13.8756444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/find_similar_observations/{}","Output":"=== RUN TestCallTool_ParameterValidation_Table/find_similar_observations/{}\n"} +{"Time":"2026-07-11T04:02:13.8756444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/find_similar_observations/{}","Output":"=== PAUSE TestCallTool_ParameterValidation_Table/find_similar_observations/{}\n"} +{"Time":"2026-07-11T04:02:13.8756444+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/find_similar_observations/{}"} +{"Time":"2026-07-11T04:02:13.8756444+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/analyze_search_patterns/{invalid"} +{"Time":"2026-07-11T04:02:13.8756444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/analyze_search_patterns/{invalid","Output":"=== RUN TestCallTool_ParameterValidation_Table/analyze_search_patterns/{invalid\n"} +{"Time":"2026-07-11T04:02:13.8756444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/analyze_search_patterns/{invalid","Output":"=== PAUSE TestCallTool_ParameterValidation_Table/analyze_search_patterns/{invalid\n"} +{"Time":"2026-07-11T04:02:13.8756444+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/analyze_search_patterns/{invalid"} +{"Time":"2026-07-11T04:02:13.8756444+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_EmptyParams"} +{"Time":"2026-07-11T04:02:13.8756444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_EmptyParams","Output":"=== CONT TestHandleToolsCall_EmptyParams\n"} +{"Time":"2026-07-11T04:02:13.8756444+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_EmptyParams","Output":"{\"level\":\"error\",\"error\":\"unknown tool: \",\"tool\":\"\",\"args\":\"\",\"time\":\"2026-07-11T04:02:13+03:00\",\"message\":\"Tool call failed\"}\n"} +{"Time":"2026-07-11T04:02:13.8761438+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_EmptyParams","Output":"--- PASS: TestHandleToolsCall_EmptyParams (0.00s)\n"} +{"Time":"2026-07-11T04:02:13.8761438+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_EmptyParams","Elapsed":0} +{"Time":"2026-07-11T04:02:13.8761438+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_CheckSystemHealth_NilStores"} +{"Time":"2026-07-11T04:02:13.8761438+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_CheckSystemHealth_NilStores","Output":"=== CONT TestCallTool_CheckSystemHealth_NilStores\n"} +{"Time":"2026-07-11T04:02:14.0093922+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_CheckSystemHealth_NilStores","Output":"{\"level\":\"debug\",\"connections\":5,\"time\":\"2026-07-11T04:02:14+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_InvalidParamsJSON"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_InvalidParamsJSON","Output":"=== CONT TestHandleToolsCall_InvalidParamsJSON\n"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_CheckSystemHealth_NilStores","Output":"--- PASS: TestCallTool_CheckSystemHealth_NilStores (0.14s)\n"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_CheckSystemHealth_NilStores","Elapsed":0.14} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryStats_NilDB_NoMemoryOrVnextSections"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryStats_NilDB_NoMemoryOrVnextSections","Output":"=== CONT TestGetMemoryStats_NilDB_NoMemoryOrVnextSections\n"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_InvalidParamsJSON","Output":"--- PASS: TestHandleToolsCall_InvalidParamsJSON (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsCall_InvalidParamsJSON","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryStats_NilDB_NoMemoryOrVnextSections","Output":"--- PASS: TestGetMemoryStats_NilDB_NoMemoryOrVnextSections (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestGetMemoryStats_NilDB_NoMemoryOrVnextSections","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs","Output":"=== CONT TestHandleRequest_CapabilityStubs\n"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/resources/list"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/resources/list","Output":"=== RUN TestHandleRequest_CapabilityStubs/resources/list\n"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/resources/list","Output":"=== PAUSE TestHandleRequest_CapabilityStubs/resources/list\n"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/resources/list"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/resources/templates/list"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/resources/templates/list","Output":"=== RUN TestHandleRequest_CapabilityStubs/resources/templates/list\n"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/resources/templates/list","Output":"=== PAUSE TestHandleRequest_CapabilityStubs/resources/templates/list\n"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/resources/templates/list"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/prompts/list"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/prompts/list","Output":"=== RUN TestHandleRequest_CapabilityStubs/prompts/list\n"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/prompts/list","Output":"=== PAUSE TestHandleRequest_CapabilityStubs/prompts/list\n"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/prompts/list"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/completion/complete"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/completion/complete","Output":"=== RUN TestHandleRequest_CapabilityStubs/completion/complete\n"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/completion/complete","Output":"=== PAUSE TestHandleRequest_CapabilityStubs/completion/complete\n"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/completion/complete"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_NotificationReturnsNil"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_NotificationReturnsNil","Output":"=== CONT TestHandleRequest_NotificationReturnsNil\n"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_NotificationReturnsNil","Output":"{\"level\":\"debug\",\"method\":\"initialized\",\"time\":\"2026-07-11T04:02:14+03:00\",\"message\":\"MCP client initialized\"}\n"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_NotificationReturnsNil","Output":"--- PASS: TestHandleRequest_NotificationReturnsNil (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_NotificationReturnsNil","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_GetMemoryStats_NilStores"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_GetMemoryStats_NilStores","Output":"=== CONT TestCallTool_GetMemoryStats_NilStores\n"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_GetMemoryStats_NilStores","Output":"--- PASS: TestCallTool_GetMemoryStats_NilStores (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_GetMemoryStats_NilStores","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_UnknownMethodError"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_UnknownMethodError","Output":"=== CONT TestHandleRequest_UnknownMethodError\n"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_UnknownMethodError","Output":"--- PASS: TestHandleRequest_UnknownMethodError (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_UnknownMethodError","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_FindByFile_Removed"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_FindByFile_Removed","Output":"=== CONT TestCallTool_FindByFile_Removed\n"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_FindByFile_Removed","Output":"--- PASS: TestCallTool_FindByFile_Removed (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_FindByFile_Removed","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_ToolsListRoute"} +{"Time":"2026-07-11T04:02:14.0143925+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_ToolsListRoute","Output":"=== CONT TestHandleRequest_ToolsListRoute\n"} +{"Time":"2026-07-11T04:02:14.0148921+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_ToolsListRoute","Output":"--- PASS: TestHandleRequest_ToolsListRoute (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0148921+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_ToolsListRoute","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0148921+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table"} +{"Time":"2026-07-11T04:02:14.0148921+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table","Output":"=== CONT TestCallTool_UnknownToolNames_Table\n"} +{"Time":"2026-07-11T04:02:14.0148921+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/invalid_tool"} +{"Time":"2026-07-11T04:02:14.0148921+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/invalid_tool","Output":"=== RUN TestCallTool_UnknownToolNames_Table/invalid_tool\n"} +{"Time":"2026-07-11T04:02:14.0148921+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/invalid_tool","Output":"=== PAUSE TestCallTool_UnknownToolNames_Table/invalid_tool\n"} +{"Time":"2026-07-11T04:02:14.0148921+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/invalid_tool"} +{"Time":"2026-07-11T04:02:14.0148921+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/nonexistent"} +{"Time":"2026-07-11T04:02:14.0148921+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/nonexistent","Output":"=== RUN TestCallTool_UnknownToolNames_Table/nonexistent\n"} +{"Time":"2026-07-11T04:02:14.0148921+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/nonexistent","Output":"=== PAUSE TestCallTool_UnknownToolNames_Table/nonexistent\n"} +{"Time":"2026-07-11T04:02:14.0148921+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/nonexistent"} +{"Time":"2026-07-11T04:02:14.0148921+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/search_v2"} +{"Time":"2026-07-11T04:02:14.0148921+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/search_v2","Output":"=== RUN TestCallTool_UnknownToolNames_Table/search_v2\n"} +{"Time":"2026-07-11T04:02:14.0148921+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/search_v2","Output":"=== PAUSE TestCallTool_UnknownToolNames_Table/search_v2\n"} +{"Time":"2026-07-11T04:02:14.0148921+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/search_v2"} +{"Time":"2026-07-11T04:02:14.0148921+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/timeline_x"} +{"Time":"2026-07-11T04:02:14.0148921+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/timeline_x","Output":"=== RUN TestCallTool_UnknownToolNames_Table/timeline_x\n"} +{"Time":"2026-07-11T04:02:14.0148921+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/timeline_x","Output":"=== PAUSE TestCallTool_UnknownToolNames_Table/timeline_x\n"} +{"Time":"2026-07-11T04:02:14.0148921+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/timeline_x"} +{"Time":"2026-07-11T04:02:14.0148921+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_InitializeRoute"} +{"Time":"2026-07-11T04:02:14.0148921+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_InitializeRoute","Output":"=== CONT TestHandleRequest_InitializeRoute\n"} +{"Time":"2026-07-11T04:02:14.0148921+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_InitializeRoute","Output":"--- PASS: TestHandleRequest_InitializeRoute (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0148921+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_InitializeRoute","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0148921+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolReturnsError"} +{"Time":"2026-07-11T04:02:14.0148921+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolReturnsError","Output":"=== CONT TestCallTool_UnknownToolReturnsError\n"} +{"Time":"2026-07-11T04:02:14.0148921+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolReturnsError","Output":"--- PASS: TestCallTool_UnknownToolReturnsError (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0148921+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolReturnsError","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0148921+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_StoreTypeEnumCorrect"} +{"Time":"2026-07-11T04:02:14.0148921+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_StoreTypeEnumCorrect","Output":"=== CONT TestHandleToolsList_StoreTypeEnumCorrect\n"} +{"Time":"2026-07-11T04:02:14.0148921+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_StoreTypeEnumCorrect","Output":"--- PASS: TestHandleToolsList_StoreTypeEnumCorrect (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0148921+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_StoreTypeEnumCorrect","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0148921+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_RemovedToolsAbsent"} +{"Time":"2026-07-11T04:02:14.0148921+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_RemovedToolsAbsent","Output":"=== CONT TestHandleToolsList_RemovedToolsAbsent\n"} +{"Time":"2026-07-11T04:02:14.0153928+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_RemovedToolsAbsent","Output":"--- PASS: TestHandleToolsList_RemovedToolsAbsent (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0153928+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_RemovedToolsAbsent","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0153928+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_IncludeAllContainsLegacy"} +{"Time":"2026-07-11T04:02:14.0153928+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_IncludeAllContainsLegacy","Output":"=== CONT TestHandleToolsList_IncludeAllContainsLegacy\n"} +{"Time":"2026-07-11T04:02:14.0153928+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_IncludeAllContainsLegacy","Output":"--- PASS: TestHandleToolsList_IncludeAllContainsLegacy (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0153928+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_IncludeAllContainsLegacy","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0153928+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_IncludeAllReturnsMore"} +{"Time":"2026-07-11T04:02:14.0153928+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_IncludeAllReturnsMore","Output":"=== CONT TestHandleToolsList_IncludeAllReturnsMore\n"} +{"Time":"2026-07-11T04:02:14.0158949+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_IncludeAllReturnsMore","Output":"--- PASS: TestHandleToolsList_IncludeAllReturnsMore (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0158949+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_IncludeAllReturnsMore","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0158949+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_FeedbackSchemaCorrect"} +{"Time":"2026-07-11T04:02:14.0158949+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_FeedbackSchemaCorrect","Output":"=== CONT TestHandleToolsList_FeedbackSchemaCorrect\n"} +{"Time":"2026-07-11T04:02:14.0158949+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_FeedbackSchemaCorrect","Output":"--- PASS: TestHandleToolsList_FeedbackSchemaCorrect (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0158949+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_FeedbackSchemaCorrect","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0158949+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_DefaultCountMatchesPrimary"} +{"Time":"2026-07-11T04:02:14.0158949+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_DefaultCountMatchesPrimary","Output":"=== CONT TestHandleToolsList_DefaultCountMatchesPrimary\n"} +{"Time":"2026-07-11T04:02:14.0158949+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_DefaultCountMatchesPrimary","Output":"--- PASS: TestHandleToolsList_DefaultCountMatchesPrimary (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0158949+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_DefaultCountMatchesPrimary","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0158949+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_SchemaCompliance_NoForbiddenTopLevelKeys"} +{"Time":"2026-07-11T04:02:14.0158949+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_SchemaCompliance_NoForbiddenTopLevelKeys","Output":"=== CONT TestHandleToolsList_SchemaCompliance_NoForbiddenTopLevelKeys\n"} +{"Time":"2026-07-11T04:02:14.0158949+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_SchemaCompliance_NoForbiddenTopLevelKeys","Output":"--- PASS: TestHandleToolsList_SchemaCompliance_NoForbiddenTopLevelKeys (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_SchemaCompliance_NoForbiddenTopLevelKeys","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table","Output":"=== CONT TestTimelineParams_Unmarshal_Table\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/anchor_id"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/anchor_id","Output":"=== RUN TestTimelineParams_Unmarshal_Table/anchor_id\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/anchor_id","Output":"=== PAUSE TestTimelineParams_Unmarshal_Table/anchor_id\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/anchor_id"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/query_only"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/query_only","Output":"=== RUN TestTimelineParams_Unmarshal_Table/query_only\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/query_only","Output":"=== PAUSE TestTimelineParams_Unmarshal_Table/query_only\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/query_only"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/invalid_json"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/invalid_json","Output":"=== RUN TestTimelineParams_Unmarshal_Table/invalid_json\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/invalid_json","Output":"=== PAUSE TestTimelineParams_Unmarshal_Table/invalid_json\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/invalid_json"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/empty_object_valid"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/empty_object_valid","Output":"=== RUN TestTimelineParams_Unmarshal_Table/empty_object_valid\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/empty_object_valid","Output":"=== PAUSE TestTimelineParams_Unmarshal_Table/empty_object_valid\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/empty_object_valid"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_NilData_NotInOutput"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_NilData_NotInOutput","Output":"=== CONT TestError_NilData_NotInOutput\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_NilData_NotInOutput","Output":"--- PASS: TestError_NilData_NotInOutput (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_NilData_NotInOutput","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTool_Marshal_RoundTrip"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTool_Marshal_RoundTrip","Output":"=== CONT TestTool_Marshal_RoundTrip\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTool_Marshal_RoundTrip","Output":"--- PASS: TestTool_Marshal_RoundTrip (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTool_Marshal_RoundTrip","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_IDEchoed"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_IDEchoed","Output":"=== CONT TestHandleInitialize_IDEchoed\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_IDEchoed","Output":"--- PASS: TestHandleInitialize_IDEchoed (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_IDEchoed","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_CapabilitiesPresent"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_CapabilitiesPresent","Output":"=== CONT TestHandleInitialize_CapabilitiesPresent\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_CapabilitiesPresent","Output":"--- PASS: TestHandleInitialize_CapabilitiesPresent (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_CapabilitiesPresent","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_ComplexArgs"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_ComplexArgs","Output":"=== CONT TestToolCallParams_ComplexArgs\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_ComplexArgs","Output":"--- PASS: TestToolCallParams_ComplexArgs (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_ComplexArgs","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_ProtocolAndVersion"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_ProtocolAndVersion","Output":"=== CONT TestHandleInitialize_ProtocolAndVersion\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_ProtocolAndVersion","Output":"--- PASS: TestHandleInitialize_ProtocolAndVersion (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleInitialize_ProtocolAndVersion","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal","Output":"=== CONT TestToolCallParams_Unmarshal\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/recall"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/recall","Output":"=== RUN TestToolCallParams_Unmarshal/recall\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/recall","Output":"=== PAUSE TestToolCallParams_Unmarshal/recall\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/recall"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/store"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/store","Output":"=== RUN TestToolCallParams_Unmarshal/store\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/store","Output":"=== PAUSE TestToolCallParams_Unmarshal/store\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/store"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/no-args"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/no-args","Output":"=== RUN TestToolCallParams_Unmarshal/no-args\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/no-args","Output":"=== PAUSE TestToolCallParams_Unmarshal/no-args\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/no-args"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestServer_FieldsInjected"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestServer_FieldsInjected","Output":"=== CONT TestServer_FieldsInjected\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestServer_FieldsInjected","Output":"--- PASS: TestServer_FieldsInjected (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestServer_FieldsInjected","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table","Output":"=== CONT TestResponse_Marshal_Table\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/success_result"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/success_result","Output":"=== RUN TestResponse_Marshal_Table/success_result\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/success_result","Output":"=== PAUSE TestResponse_Marshal_Table/success_result\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/success_result"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/error_response"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/error_response","Output":"=== RUN TestResponse_Marshal_Table/error_response\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/error_response","Output":"=== PAUSE TestResponse_Marshal_Table/error_response\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/error_response"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/error_with_data"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/error_with_data","Output":"=== RUN TestResponse_Marshal_Table/error_with_data\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/error_with_data","Output":"=== PAUSE TestResponse_Marshal_Table/error_with_data\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/error_with_data"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/nil_id"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/nil_id","Output":"=== RUN TestResponse_Marshal_Table/nil_id\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/nil_id","Output":"=== PAUSE TestResponse_Marshal_Table/nil_id\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/nil_id"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestVersion_ReturnsVersion"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestVersion_ReturnsVersion","Output":"=== CONT TestVersion_ReturnsVersion\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestVersion_ReturnsVersion","Output":"--- PASS: TestVersion_ReturnsVersion (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestVersion_ReturnsVersion","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table","Output":"=== CONT TestError_Marshal_Table\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/parse_error"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/parse_error","Output":"=== RUN TestError_Marshal_Table/parse_error\n"} +{"Time":"2026-07-11T04:02:14.0163929+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/parse_error","Output":"=== PAUSE TestError_Marshal_Table/parse_error\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/parse_error"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/method_not_found"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/method_not_found","Output":"=== RUN TestError_Marshal_Table/method_not_found\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/method_not_found","Output":"=== PAUSE TestError_Marshal_Table/method_not_found\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/method_not_found"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/with_data"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/with_data","Output":"=== RUN TestError_Marshal_Table/with_data\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/with_data","Output":"=== PAUSE TestError_Marshal_Table/with_data\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/with_data"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/nil_data_omitted"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/nil_data_omitted","Output":"=== RUN TestError_Marshal_Table/nil_data_omitted\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/nil_data_omitted","Output":"=== PAUSE TestError_Marshal_Table/nil_data_omitted\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"pause","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/nil_data_omitted"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestNewServer_HasStdinStdout"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestNewServer_HasStdinStdout","Output":"=== CONT TestNewServer_HasStdinStdout\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestNewServer_HasStdinStdout","Output":"--- PASS: TestNewServer_HasStdinStdout (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestNewServer_HasStdinStdout","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_AllFields"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_AllFields","Output":"=== CONT TestTimelineParams_AllFields\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_AllFields","Output":"--- PASS: TestTimelineParams_AllFields (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_AllFields","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestNewServer_CreatesWithVersion"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestNewServer_CreatesWithVersion","Output":"=== CONT TestNewServer_CreatesWithVersion\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestNewServer_CreatesWithVersion","Output":"--- PASS: TestNewServer_CreatesWithVersion (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestNewServer_CreatesWithVersion","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Unmarshal_NullID"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Unmarshal_NullID","Output":"=== CONT TestRequest_Unmarshal_NullID\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Unmarshal_NullID","Output":"--- PASS: TestRequest_Unmarshal_NullID (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Unmarshal_NullID","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Unmarshal_RoundTrip"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Unmarshal_RoundTrip","Output":"=== CONT TestRequest_Unmarshal_RoundTrip\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Unmarshal_RoundTrip","Output":"--- PASS: TestRequest_Unmarshal_RoundTrip (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Unmarshal_RoundTrip","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_AllToolSchemasHaveTypeAndProperties"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_AllToolSchemasHaveTypeAndProperties","Output":"=== CONT TestHandleToolsList_AllToolSchemasHaveTypeAndProperties\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_AllToolSchemasHaveTypeAndProperties","Output":"--- PASS: TestHandleToolsList_AllToolSchemasHaveTypeAndProperties (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleToolsList_AllToolSchemasHaveTypeAndProperties","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/initialize"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/initialize","Output":"=== CONT TestRequest_Marshal_Table/initialize\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/initialize","Output":"--- PASS: TestRequest_Marshal_Table/initialize (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/initialize","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/with_params"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/with_params","Output":"=== CONT TestRequest_Marshal_Table/with_params\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/with_params","Output":"--- PASS: TestRequest_Marshal_Table/with_params (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/with_params","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/null_id"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/null_id","Output":"=== CONT TestRequest_Marshal_Table/null_id\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/null_id","Output":"--- PASS: TestRequest_Marshal_Table/null_id (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/null_id","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/string_id"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/string_id","Output":"=== CONT TestRequest_Marshal_Table/string_id\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/string_id","Output":"--- PASS: TestRequest_Marshal_Table/string_id (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table/string_id","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table","Output":"--- PASS: TestRequest_Marshal_Table (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestRequest_Marshal_Table","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Parse_error"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Parse_error","Output":"=== CONT TestJSONRPCErrorCodes_Table/Parse_error\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Parse_error","Output":"--- PASS: TestJSONRPCErrorCodes_Table/Parse_error (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Parse_error","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Invalid_params"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Invalid_params","Output":"=== CONT TestJSONRPCErrorCodes_Table/Invalid_params\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Invalid_params","Output":"--- PASS: TestJSONRPCErrorCodes_Table/Invalid_params (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Invalid_params","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Internal_error"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Internal_error","Output":"=== CONT TestJSONRPCErrorCodes_Table/Internal_error\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Internal_error","Output":"--- PASS: TestJSONRPCErrorCodes_Table/Internal_error (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Internal_error","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Method_not_found"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Method_not_found","Output":"=== CONT TestJSONRPCErrorCodes_Table/Method_not_found\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Method_not_found","Output":"--- PASS: TestJSONRPCErrorCodes_Table/Method_not_found (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Method_not_found","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Invalid_Request"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Invalid_Request","Output":"=== CONT TestJSONRPCErrorCodes_Table/Invalid_Request\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Invalid_Request","Output":"--- PASS: TestJSONRPCErrorCodes_Table/Invalid_Request (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table/Invalid_Request","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table","Output":"--- PASS: TestJSONRPCErrorCodes_Table (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestJSONRPCErrorCodes_Table","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/find_similar_observations/{invalid"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/find_similar_observations/{invalid","Output":"=== CONT TestCallTool_ParameterValidation_Table/find_similar_observations/{invalid\n"} +{"Time":"2026-07-11T04:02:14.0168935+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/find_similar_observations/{invalid","Output":"--- PASS: TestCallTool_ParameterValidation_Table/find_similar_observations/{invalid (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/find_similar_observations/{invalid","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/analyze_search_patterns/{invalid"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/analyze_search_patterns/{invalid","Output":"=== CONT TestCallTool_ParameterValidation_Table/analyze_search_patterns/{invalid\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/analyze_search_patterns/{invalid","Output":"--- PASS: TestCallTool_ParameterValidation_Table/analyze_search_patterns/{invalid (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/analyze_search_patterns/{invalid","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/find_similar_observations/{}"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/find_similar_observations/{}","Output":"=== CONT TestCallTool_ParameterValidation_Table/find_similar_observations/{}\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/find_similar_observations/{}","Output":"--- PASS: TestCallTool_ParameterValidation_Table/find_similar_observations/{} (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table/find_similar_observations/{}","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table","Output":"--- PASS: TestCallTool_ParameterValidation_Table (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_ParameterValidation_Table","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/resources/list"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/resources/list","Output":"=== CONT TestHandleRequest_CapabilityStubs/resources/list\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/resources/list","Output":"--- PASS: TestHandleRequest_CapabilityStubs/resources/list (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/resources/list","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/prompts/list"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/prompts/list","Output":"=== CONT TestHandleRequest_CapabilityStubs/prompts/list\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/prompts/list","Output":"--- PASS: TestHandleRequest_CapabilityStubs/prompts/list (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/prompts/list","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/completion/complete"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/completion/complete","Output":"=== CONT TestHandleRequest_CapabilityStubs/completion/complete\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/completion/complete","Output":"--- PASS: TestHandleRequest_CapabilityStubs/completion/complete (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/completion/complete","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/resources/templates/list"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/resources/templates/list","Output":"=== CONT TestHandleRequest_CapabilityStubs/resources/templates/list\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/resources/templates/list","Output":"--- PASS: TestHandleRequest_CapabilityStubs/resources/templates/list (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs/resources/templates/list","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs","Output":"--- PASS: TestHandleRequest_CapabilityStubs (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestHandleRequest_CapabilityStubs","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/invalid_tool"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/invalid_tool","Output":"=== CONT TestCallTool_UnknownToolNames_Table/invalid_tool\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/invalid_tool","Output":"--- PASS: TestCallTool_UnknownToolNames_Table/invalid_tool (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/invalid_tool","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/search_v2"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/search_v2","Output":"=== CONT TestCallTool_UnknownToolNames_Table/search_v2\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/search_v2","Output":"--- PASS: TestCallTool_UnknownToolNames_Table/search_v2 (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/search_v2","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/timeline_x"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/timeline_x","Output":"=== CONT TestCallTool_UnknownToolNames_Table/timeline_x\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/timeline_x","Output":"--- PASS: TestCallTool_UnknownToolNames_Table/timeline_x (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/timeline_x","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/nonexistent"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/nonexistent","Output":"=== CONT TestCallTool_UnknownToolNames_Table/nonexistent\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/nonexistent","Output":"--- PASS: TestCallTool_UnknownToolNames_Table/nonexistent (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table/nonexistent","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table","Output":"--- PASS: TestCallTool_UnknownToolNames_Table (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestCallTool_UnknownToolNames_Table","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/anchor_id"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/anchor_id","Output":"=== CONT TestTimelineParams_Unmarshal_Table/anchor_id\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/anchor_id","Output":"--- PASS: TestTimelineParams_Unmarshal_Table/anchor_id (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/anchor_id","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/invalid_json"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/invalid_json","Output":"=== CONT TestTimelineParams_Unmarshal_Table/invalid_json\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/invalid_json","Output":"--- PASS: TestTimelineParams_Unmarshal_Table/invalid_json (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/invalid_json","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/query_only"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/query_only","Output":"=== CONT TestTimelineParams_Unmarshal_Table/query_only\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/query_only","Output":"--- PASS: TestTimelineParams_Unmarshal_Table/query_only (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/query_only","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/empty_object_valid"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/empty_object_valid","Output":"=== CONT TestTimelineParams_Unmarshal_Table/empty_object_valid\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/empty_object_valid","Output":"--- PASS: TestTimelineParams_Unmarshal_Table/empty_object_valid (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table/empty_object_valid","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table","Output":"--- PASS: TestTimelineParams_Unmarshal_Table (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestTimelineParams_Unmarshal_Table","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/recall"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/recall","Output":"=== CONT TestToolCallParams_Unmarshal/recall\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/recall","Output":"--- PASS: TestToolCallParams_Unmarshal/recall (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/recall","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/no-args"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/no-args","Output":"=== CONT TestToolCallParams_Unmarshal/no-args\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/no-args","Output":"--- PASS: TestToolCallParams_Unmarshal/no-args (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/no-args","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/store"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/store","Output":"=== CONT TestToolCallParams_Unmarshal/store\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/store","Output":"--- PASS: TestToolCallParams_Unmarshal/store (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal/store","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal","Output":"--- PASS: TestToolCallParams_Unmarshal (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestToolCallParams_Unmarshal","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/success_result"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/success_result","Output":"=== CONT TestResponse_Marshal_Table/success_result\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/success_result","Output":"--- PASS: TestResponse_Marshal_Table/success_result (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/success_result","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/error_with_data"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/error_with_data","Output":"=== CONT TestResponse_Marshal_Table/error_with_data\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/error_with_data","Output":"--- PASS: TestResponse_Marshal_Table/error_with_data (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/error_with_data","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/nil_id"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/nil_id","Output":"=== CONT TestResponse_Marshal_Table/nil_id\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/nil_id","Output":"--- PASS: TestResponse_Marshal_Table/nil_id (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/nil_id","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/error_response"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/error_response","Output":"=== CONT TestResponse_Marshal_Table/error_response\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/error_response","Output":"--- PASS: TestResponse_Marshal_Table/error_response (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table/error_response","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table","Output":"--- PASS: TestResponse_Marshal_Table (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestResponse_Marshal_Table","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/parse_error"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/parse_error","Output":"=== CONT TestError_Marshal_Table/parse_error\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/parse_error","Output":"--- PASS: TestError_Marshal_Table/parse_error (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/parse_error","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/with_data"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/with_data","Output":"=== CONT TestError_Marshal_Table/with_data\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/with_data","Output":"--- PASS: TestError_Marshal_Table/with_data (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/with_data","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/nil_data_omitted"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/nil_data_omitted","Output":"=== CONT TestError_Marshal_Table/nil_data_omitted\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/nil_data_omitted","Output":"--- PASS: TestError_Marshal_Table/nil_data_omitted (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/nil_data_omitted","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"cont","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/method_not_found"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/method_not_found","Output":"=== CONT TestError_Marshal_Table/method_not_found\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/method_not_found","Output":"--- PASS: TestError_Marshal_Table/method_not_found (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table/method_not_found","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table","Output":"--- PASS: TestError_Marshal_Table (0.00s)\n"} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestError_Marshal_Table","Elapsed":0} +{"Time":"2026-07-11T04:02:14.0173942+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"FAIL\n"} +{"Time":"2026-07-11T04:02:14.0398926+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"coverage: 46.2% of statements\n"} +{"Time":"2026-07-11T04:02:14.0676765+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"FAIL\tgithub.com/thebtf/engram/internal/mcp\t8.912s\n"} +{"Time":"2026-07-11T04:02:14.0676765+03:00","Action":"fail","Package":"github.com/thebtf/engram/internal/mcp","Elapsed":8.921} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/pg-stat-activity-after.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/pg-stat-activity-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/pg-stat-activity-after.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/pg-stat-activity-after.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/pg-stat-activity-after.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/pg-stat-activity-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/pg-stat-activity-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/repeat-summary.json b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/repeat-summary.json new file mode 100644 index 00000000..e8662a9c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/repeat-summary.json @@ -0,0 +1,36 @@ +{ + "repeat": 1, + "verdict": "FAIL", + "database": "engram_prc_rg_test_88e43617e8051e79_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_88e43617e8051e79_r1.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": false, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 1, + "json_parser_exit": 1, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\cleanup\\cleanup.json", + "errors": [ + "go test failed with exit 1", + "go test JSON assertion failed with exit 1" + ], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01" +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/server-connection-count-after.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/server-connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/server-connection-count-after.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/server-connection-count-after.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/server-connection-count-after.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/server-connection-count-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/server-connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/server-connection-count-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/server-connection-count-before.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/server-connection-count-before.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/targeted-coverage.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/targeted-coverage.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/targeted-coverage.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/targeted-coverage.stdout.log new file mode 100644 index 00000000..0707546e --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/repeat-01/targeted-coverage.stdout.log @@ -0,0 +1,352 @@ +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33: effectiveAuditWriter 80.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44: isAuditEnabled 100.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52: runAuditAsync 100.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77: marshalState 62.5% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92: logAuditCreate 100.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117: logAuditEdit 90.9% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142: logAuditDelete 90.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166: logAuditGeneric 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189: logAuditSupersede 90.0% +github.com/thebtf/engram/internal/mcp/coerce.go:30: parseArgs 87.5% +github.com/thebtf/engram/internal/mcp/coerce.go:46: coerceString 100.0% +github.com/thebtf/engram/internal/mcp/coerce.go:67: coerceInt 93.3% +github.com/thebtf/engram/internal/mcp/coerce.go:97: coerceInt64 86.7% +github.com/thebtf/engram/internal/mcp/coerce.go:127: coerceFloat64 81.8% +github.com/thebtf/engram/internal/mcp/coerce.go:151: coerceBool 66.7% +github.com/thebtf/engram/internal/mcp/coerce.go:177: coerceStringSlice 84.6% +github.com/thebtf/engram/internal/mcp/coerce.go:204: coerceInt64Slice 100.0% +github.com/thebtf/engram/internal/mcp/coerce.go:222: clampToInt 100.0% +github.com/thebtf/engram/internal/mcp/coerce.go:236: clampInt64ToInt 60.0% +github.com/thebtf/engram/internal/mcp/context.go:17: extractProjectFromHeader 100.0% +github.com/thebtf/engram/internal/mcp/context.go:22: contextWithProject 100.0% +github.com/thebtf/engram/internal/mcp/context.go:29: ContextWithProject 100.0% +github.com/thebtf/engram/internal/mcp/context.go:35: projectFromContext 100.0% +github.com/thebtf/engram/internal/mcp/context.go:41: contextWithSession 100.0% +github.com/thebtf/engram/internal/mcp/context.go:48: ContextWithSession 100.0% +github.com/thebtf/engram/internal/mcp/context.go:54: sessionFromContext 100.0% +github.com/thebtf/engram/internal/mcp/context.go:61: actorFromContext 100.0% +github.com/thebtf/engram/internal/mcp/health.go:22: NewMCPHealth 0.0% +github.com/thebtf/engram/internal/mcp/health.go:29: RecordRequest 0.0% +github.com/thebtf/engram/internal/mcp/health.go:36: RecordError 0.0% +github.com/thebtf/engram/internal/mcp/health.go:42: rotateWindowIfNeeded 0.0% +github.com/thebtf/engram/internal/mcp/health.go:55: HandleHealth 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28: ruleGovernanceCaptureEnabled 50.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39: captureActiveRuleIntent 80.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104: ruleIntentFingerprint 100.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113: marshalRuleCandidateIntentResponse 85.7% +github.com/thebtf/engram/internal/mcp/server.go:127: NewServer 100.0% +github.com/thebtf/engram/internal/mcp/server.go:141: SetBackfillStatusFunc 0.0% +github.com/thebtf/engram/internal/mcp/server.go:146: SetVersionedDocumentStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:151: SetIssueStore 100.0% +github.com/thebtf/engram/internal/mcp/server.go:156: SetMemoryStore 100.0% +github.com/thebtf/engram/internal/mcp/server.go:161: SetMetaMemoryIndex 100.0% +github.com/thebtf/engram/internal/mcp/server.go:166: SetHintQueue 100.0% +github.com/thebtf/engram/internal/mcp/server.go:171: SetStateStore 100.0% +github.com/thebtf/engram/internal/mcp/server.go:176: SetDirectiveCaptureService 100.0% +github.com/thebtf/engram/internal/mcp/server.go:181: SetBehavioralRulesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:186: SetRuleGovernanceStore 100.0% +github.com/thebtf/engram/internal/mcp/server.go:191: SetRuleInjectionTelemetryStore 100.0% +github.com/thebtf/engram/internal/mcp/server.go:195: SetPromotionStore 100.0% +github.com/thebtf/engram/internal/mcp/server.go:199: SetGraphStore 100.0% +github.com/thebtf/engram/internal/mcp/server.go:204: SetNodesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:211: SetAuditStore 100.0% +github.com/thebtf/engram/internal/mcp/server.go:216: SetPurgeStore 100.0% +github.com/thebtf/engram/internal/mcp/server.go:222: SetCandidateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:228: SetSnapshotStore 100.0% +github.com/thebtf/engram/internal/mcp/server.go:234: SetBulkFacade 0.0% +github.com/thebtf/engram/internal/mcp/server.go:240: setTestAuditWriter 100.0% +github.com/thebtf/engram/internal/mcp/server.go:246: setTestMemoryEditor 100.0% +github.com/thebtf/engram/internal/mcp/server.go:252: setTestMemorySignificanceUpdater 100.0% +github.com/thebtf/engram/internal/mcp/server.go:260: SetWriteLintOrchestrator 100.0% +github.com/thebtf/engram/internal/mcp/server.go:269: SetRedactionRules 0.0% +github.com/thebtf/engram/internal/mcp/server.go:274: SetEmbeddingStores 0.0% +github.com/thebtf/engram/internal/mcp/server.go:282: SetRerankClient 0.0% +github.com/thebtf/engram/internal/mcp/server.go:290: SetStatsDB 0.0% +github.com/thebtf/engram/internal/mcp/server.go:297: HandleRequest 100.0% +github.com/thebtf/engram/internal/mcp/server.go:303: ListTools 71.4% +github.com/thebtf/engram/internal/mcp/server.go:332: Version 100.0% +github.com/thebtf/engram/internal/mcp/server.go:383: Run 81.8% +github.com/thebtf/engram/internal/mcp/server.go:427: handleRequest 100.0% +github.com/thebtf/engram/internal/mcp/server.go:461: handleNotification 50.0% +github.com/thebtf/engram/internal/mcp/server.go:473: handleInitialize 100.0% +github.com/thebtf/engram/internal/mcp/server.go:496: buildInstructions 25.0% +github.com/thebtf/engram/internal/mcp/server.go:660: storeMemoryTool 100.0% +github.com/thebtf/engram/internal/mcp/server.go:712: recallMemoryTool 100.0% +github.com/thebtf/engram/internal/mcp/server.go:805: primaryTools 100.0% +github.com/thebtf/engram/internal/mcp/server.go:942: handleToolsList 85.9% +github.com/thebtf/engram/internal/mcp/server.go:1612: handleToolsCall 100.0% +github.com/thebtf/engram/internal/mcp/server.go:1644: sanitizeToolCallArgs 83.3% +github.com/thebtf/engram/internal/mcp/server.go:1656: callTool 33.0% +github.com/thebtf/engram/internal/mcp/server.go:1874: sendResponse 60.0% +github.com/thebtf/engram/internal/mcp/server.go:1884: sendError 100.0% +github.com/thebtf/engram/internal/mcp/server.go:1896: handleFindSimilarObservations 92.3% +github.com/thebtf/engram/internal/mcp/server.go:1927: handleGetMemoryStats 12.3% +github.com/thebtf/engram/internal/mcp/server.go:2055: handleBackfillStatus 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2071: handleCheckSystemHealth 64.1% +github.com/thebtf/engram/internal/mcp/server.go:2216: handleAnalyzeSearchPatterns 30.0% +github.com/thebtf/engram/internal/mcp/server.go:2246: handleSearchSessions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2251: handleListSessions 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:18: buildAdminTool 100.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:68: adminActionsForEnv 100.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:80: vnextEnabled 100.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:84: handleAdmin 57.1% +github.com/thebtf/engram/internal/mcp/tools_admin.go:120: handlePurgeProject 88.2% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27: ambientHintsEnabledFromEnv 100.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32: ambientHintsTool 100.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48: handleGetAmbientHints 79.2% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86: normalizeAmbientHintsToolLimit 80.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96: ambientHintItems 83.3% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114: errMissingSessionID 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:31: handleGetMemoryBrief 31.4% +github.com/thebtf/engram/internal/mcp/tools_brief.go:107: memoryBriefUsesPrincipalScope 100.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:115: handlePrincipalMemoryBrief 73.8% +github.com/thebtf/engram/internal/mcp/tools_brief.go:259: truncateBriefContent 75.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:270: filterInjectionByScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25: bulkOpsTools 100.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95: handleBulkPromote 52.4% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154: handleBulkDelete 47.6% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211: handleBulkSupersede 47.6% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31: candidateItemFromDomain 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51: newCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59: requireCandidateReviewSnapshot 100.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68: candidateTools 100.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165: handleListCandidates 28.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208: handleGetCandidate 35.3% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239: handlePromoteCandidate 23.5% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348: handleRejectCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402: handleSupersedeCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34: codeIntelEnabled 100.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42: SetCodeChunkStore 100.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48: codebaseSearchTool 100.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79: codebaseStatusTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100: handleCodebaseSearch 6.9% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194: handleCodebaseStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:21: getVault 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:35: credentialStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:49: handleStoreCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:130: handleGetCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:192: handleListCredentials 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:243: handleDeleteCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:302: handleVaultStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:338: expandTagHierarchy 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:16: directivesCaptureEnabledFromEnv 100.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:20: rememberDirectiveTool 100.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:38: currentDirectiveCaptureService 100.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:48: handleRememberDirective 87.5% +github.com/thebtf/engram/internal/mcp/tools_directives.go:72: parseRememberDirectiveArgs 75.0% +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10: handleDocsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:15: handleListCollections 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:61: handleListDocuments 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:121: handleGetDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:165: handleRemoveDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:197: handleIngestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:235: handleSearchCollection 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15: handleDocCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61: handleDocRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117: handleDocUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122: handleDocList 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175: handleDocHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232: handleDocComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19: SetExperienceProvider 100.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23: experienceHistoryTools 100.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40: experienceHistoryReadSchema 100.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65: experienceHistoryDetailSchema 100.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82: experienceHistoryTriggerEnum 100.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91: handleExperienceHistoryRead 85.7% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103: handleExperienceHistoryDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115: parseExperienceHistoryReadArgs 75.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142: parseExperienceHistoryDetailArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157: experienceHistoryTriggersFromArgs 93.3% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180: marshalExperienceHistory 75.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12: handleFeedbackConsolidated 54.5% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36: handleSetSessionOutcome 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:27: governanceTools 100.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:98: handleListSnapshots 10.7% +github.com/thebtf/engram/internal/mcp/tools_governance.go:167: handleRollbackSnapshot 13.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:215: handlePinSnapshot 16.7% +github.com/thebtf/engram/internal/mcp/tools_governance.go:258: handleRedactionRulesStatus 76.9% +github.com/thebtf/engram/internal/mcp/tools_governance.go:284: resolveGovernanceActor 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:64: handleGraph 12.5% +github.com/thebtf/engram/internal/mcp/tools_graph.go:100: graphAddEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:216: mcpGraphEndpointExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:243: mcpGraphEdgeAlreadyExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:276: graphAddNode 85.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:317: graphRemoveEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:332: graphGetEdges 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:397: filterEdgesByNodeType 80.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:457: graphTraverse 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:480: graphFindPath 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:502: graphSynonyms 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23: graphCreateEdgeWithGuards 80.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80: graphEndpointExistsWithGuards 71.4% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114: graphDuplicateEdgeExists 57.9% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25: handleIngest 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43: ingestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20: handleImportInstincts 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:19: issuesToolSchema 100.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:109: validateIssueActionParams 60.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:143: handleIssues 41.2% +github.com/thebtf/engram/internal/mcp/tools_issues.go:189: resolveSourceProject 77.8% +github.com/thebtf/engram/internal/mcp/tools_issues.go:205: handleIssueCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:250: handleIssueList 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:311: handleIssueGet 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:344: handleIssueUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:382: handleIssueComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:408: handleIssueReopen 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:425: handleIssueClose 90.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22: handleLifecycle 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48: lifecycleInfo 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87: lifecyclePromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118: lifecycleDemote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149: lifecycleSetConfidence 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172: lifecycleSetDefeasibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191: lifecycleSleepStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197: lifecycleDecayPreview 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233: marshalJSON 75.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:35: vnextFEnabled 100.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:42: isValidPrivacyScope 100.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:54: derivePrivacyScopeFromLegacy 75.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:82: deriveLegacyScopeFromPrivacy 50.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:93: applyPrincipalMemoryMetadata 95.7% +github.com/thebtf/engram/internal/mcp/tools_memory.go:135: addPrincipalMemoryFields 100.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:161: newScopedWriteLintMemoryStore 66.7% +github.com/thebtf/engram/internal/mcp/tools_memory.go:172: writeLintVisibilityCaller 100.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:186: writeLintVisibilityOptions 100.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:192: scopedWriteLintMemoryStore 83.3% +github.com/thebtf/engram/internal/mcp/tools_memory.go:202: filterVisibleWriteGateCandidates 100.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:214: domainManageAllowed 100.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:218: List 28.6% +github.com/thebtf/engram/internal/mcp/tools_memory.go:272: writeLintVisibilityFetchLimit 75.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:286: Get 83.3% +github.com/thebtf/engram/internal/mcp/tools_memory.go:297: Create 100.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:301: Update 100.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:305: MarkSuperseded 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:319: effectiveMemoryEditor 40.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:329: isValidStoreObservationType 66.7% +github.com/thebtf/engram/internal/mcp/tools_memory.go:354: handleStoreMemory 56.4% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111: handleEditMemory 81.1% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218: computeTTLDays 35.3% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258: truncateTitle 100.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270: keepRecallMemory 100.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280: keepRecallMemoryFilters 40.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342: handleRecallMemory 69.3% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690: staleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700: marshalWithStaleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727: Rank 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1751: handleRecallMemoryHybrid 26.6% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252: handleRateMemory 53.3% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281: handleSuppressMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17: SetDomainRegistryService 100.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21: checkDomainWriteMCP 90.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43: addDomainWriteDecisionFields 100.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51: marshalStoreMemoryAugmented 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26: newMemoryStoreSignificanceUpdater 66.7% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33: s6OutcomeEnabledFromEnv 100.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37: effectiveMemorySignificanceUpdater 80.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47: currentMemorySignificanceUpdater 100.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58: rateMemorySignificanceTool 100.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74: handleRateMemorySignificance 82.4% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109: RateMemorySignificance 61.5% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18: s2MetaMemoryEnabled 100.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22: knowAboutTool 100.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39: handleKnowAbout 82.4% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104: parseKnowAboutLimit 75.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118: summarizeMetaIndexTags 95.2% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153: summarizeMetaIndexDateRange 100.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23: SetPrincipalMemoryQueryService 100.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27: principalMemoryQueryTool 100.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52: handleQueryPrincipalMemory 73.2% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134: principalMemoryQueryCaller 88.9% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149: parsePrincipalMemoryQueryLimit 100.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160: principalMemoryQueryText 100.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167: parsePrincipalMemoryQueryVisibility 60.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179: parsePrincipalMemoryQueryOffset 33.3% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190: parsePrincipalMemoryQueryInt 23.1% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215: parsePrincipalMemoryQueryBool 66.7% +github.com/thebtf/engram/internal/mcp/tools_recall.go:28: handleRecall 24.3% +github.com/thebtf/engram/internal/mcp/tools_recall.go:125: parseRecallIncludedPrincipals 88.9% +github.com/thebtf/engram/internal/mcp/tools_recall.go:165: appendRecallIncludedPrincipalMemories 80.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:223: recallIncludeTargetMatchesCaller 100.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:231: recallPrincipalQueryItemToMemory 100.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:247: handleRecallSearch 64.4% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20: currentReviewLoopCandidateLister 80.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30: reviewLoopCandidateTools 100.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65: reviewLoopReadSchema 100.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78: reviewPacketIDSchema 100.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91: handleReviewMetricsRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110: handleReviewQueueRead 80.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140: handleReviewPacketDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151: handleReviewPacketPreviewAction 30.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167: handleReviewPacketApplyAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189: parseReviewLoopReadArgs 73.3% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212: reviewLoopMCPPacketTypeSupported 100.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217: reviewLoopActionFromArgs 75.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225: reviewLoopReasonFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233: loadReviewPacketCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256: applyReviewPacketPreserve 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278: applyReviewPacketSuppress 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296: reviewLoopMemoryFromCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320: filterRiskyMCPReviewCandidates 100.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330: marshalReviewLoop 75.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17: ruleGovernanceReadTools 100.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126: handleRuleGovernanceHealth 85.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176: handleRuleGovernanceQueue 81.8% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233: handleRuleGovernanceSnapshots 76.5% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278: handleRuleGovernanceUsefulness 73.1% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338: handleRuleGovernanceTransition 76.5% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373: handleRuleGovernancePinSnapshot 72.2% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406: handleRuleGovernanceRollback 70.6% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483: requireRuleGovernanceReadAccess 83.3% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495: requireRuleGovernanceProjectOrAdmin 100.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505: ruleGovernanceCallerIsAdmin 100.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510: requireRuleGovernanceAdminAccess 100.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518: redactRuleGovernanceEvidenceHandles 90.9% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535: redactRuleGovernanceEvidenceHandle 90.9% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553: ruleGovernanceEvidenceHandleHasSensitiveText 100.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559: isCanonicalRuleGovernanceEvidenceHandle 75.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580: isSafeRuleGovernanceEvidenceID 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594: parseRuleGovernanceTransitionRequest 100.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604: parseRuleGovernanceSince 58.3% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623: boundedRuleGovernanceLimit 66.7% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634: formatRuleGovernanceTime 100.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641: formatRuleGovernanceTimePtr 50.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649: stringRuleCandidateStatusCounts 75.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657: stringRuleVersionStateCounts 75.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665: stringRuleArbiterRunStatusCounts 75.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673: stringRuleInjectionEventTypeCounts 75.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:17: handleStoreRule 56.6% +github.com/thebtf/engram/internal/mcp/tools_rules.go:133: handleListRules 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:22: handleSettingsConsolidated 75.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:51: SetSettingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:57: settingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:67: isSecretSettingKey 100.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:74: requireAdmin 100.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:85: handleSetSetting 28.6% +github.com/thebtf/engram/internal/mcp/tools_settings.go:145: handleGetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:181: handleListSettings 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:216: handleDeleteSetting 15.4% +github.com/thebtf/engram/internal/mcp/tools_state.go:35: resumeScopesFromFields 100.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:52: stateTool 100.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:82: setStateTool 100.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:142: handleGetState 75.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:219: handleSetState 77.8% +github.com/thebtf/engram/internal/mcp/tools_state.go:274: decodeSessionStateForWrite 80.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:292: validateSessionStateBudget 83.3% +github.com/thebtf/engram/internal/mcp/tools_state.go:303: validateNativeResumePacket 89.7% +github.com/thebtf/engram/internal/mcp/tools_state.go:349: decodeProjectStateForWrite 75.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:364: requireStateObject 63.6% +github.com/thebtf/engram/internal/mcp/tools_state.go:383: requireNestedObject 83.3% +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10: handleStoreConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21: SetTemporalTruthProvider 100.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25: temporalTruthEnabledFromEnv 100.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30: temporalTruthTool 100.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39: temporalTruthRefreshTool 100.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48: temporalTruthRefreshSchema 100.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58: temporalTruthSchema 100.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72: currentTemporalTruthProvider 100.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82: handleTemporalTruth 84.6% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102: handleTemporalTruthRefresh 84.6% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122: parseTemporalTruthArgs 87.5% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151: parseTemporalTruthRefreshProject 85.7% +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10: handleVaultConsolidated 0.0% +total: (statements) 46.2% diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/summary.json b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/summary.json new file mode 100644 index 00000000..a4fedd7a --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/full-internal-mcp/summary.json @@ -0,0 +1,67 @@ +{ + "schema_version": 1, + "gate": "release-gates-foundation", + "run_id": "full-internal-mcp", + "started_at": "2026-07-11T01:02:00.3724722+00:00", + "finished_at": "2026-07-11T01:02:19.8606503+00:00", + "duration_seconds": 19.488, + "verdict": "FAIL", + "counts": { + "requested_repeats": 1, + "completed_repeats": 1, + "passed_repeats": 0, + "failed_repeats": 1, + "child_commands": 16, + "nonzero_child_commands": 2 + }, + "packages": [ + "./internal/mcp" + ], + "run_pattern": null, + "coverage_policy": "Targeted", + "connection_budget": 20, + "race": false, + "database_dsn": "REDACTED_DATABASE_DSN", + "environment": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\environment.json", + "commands": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\commands.json", + "repeats": [ + { + "repeat": 1, + "verdict": "FAIL", + "database": "engram_prc_rg_test_88e43617e8051e79_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_88e43617e8051e79_r1.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": false, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 1, + "json_parser_exit": 1, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01\\cleanup\\cleanup.json", + "errors": [ + "go test failed with exit 1", + "go test JSON assertion failed with exit 1" + ], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp\\repeat-01" + } + ], + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\full-internal-mcp" +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/gitleaks-exact-maker.json b/.agent/reviews/t007-r1-fresh-checker/evidence/gitleaks-exact-maker.json new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/gitleaks-exact-maker.json @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/commands.json b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/commands.json new file mode 100644 index 00000000..29d1f1a2 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/commands.json @@ -0,0 +1,444 @@ +[ + { + "name": "go-version", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "version" + ], + "environment_keys": [], + "command": "C:\\Program Files\\Go\\bin\\go.exe version", + "started_at": "2026-07-11T01:00:09.7388263+00:00", + "finished_at": "2026-07-11T01:00:09.9584149+00:00", + "duration_seconds": 0.22, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\go-version.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\go-version.stderr.log" + }, + { + "name": "postgres-container-identity", + "executable": "docker", + "arguments": [ + "inspect", + "--format", + "{{.Name}}|{{.Config.Image}}|{{.Image}}|{{.State.Running}}", + "engram-prc-postgres" + ], + "environment_keys": [], + "command": "docker inspect --format {{.Name}}|{{.Config.Image}}|{{.Image}}|{{.State.Running}} engram-prc-postgres", + "started_at": "2026-07-11T01:00:10.0120727+00:00", + "finished_at": "2026-07-11T01:00:10.2993661+00:00", + "duration_seconds": 0.287, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\postgres-container-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\postgres-container-identity.stderr.log" + }, + { + "name": "postgres-server-identity", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT json_build_object('server_version', current_setting('server_version'), 'server_version_num', current_setting('server_version_num'), 'version', version(), 'max_connections', current_setting('max_connections'), 'superuser_reserved_connections', current_setting('superuser_reserved_connections'), 'reserved_connections', COALESCE(NULLIF(current_setting('reserved_connections', true), ''), '0'), 'current_connections', (SELECT count(*)::text FROM pg_stat_activity), 'database', current_database(), 'schema', current_schema(), 'user', current_user)::text;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT json_build_object('server_version', current_setting('server_version'), 'server_version_num', current_setting('server_version_num'), 'version', version(), 'max_connections', current_setting('max_connections'), 'superuser_reserved_connections', current_setting('superuser_reserved_connections'), 'reserved_connections', COALESCE(NULLIF(current_setting('reserved_connections', true), ''), '0'), 'current_connections', (SELECT count(*)::text FROM pg_stat_activity), 'database', current_database(), 'schema', current_schema(), 'user', current_user)::text;", + "started_at": "2026-07-11T01:00:10.3119509+00:00", + "finished_at": "2026-07-11T01:00:10.6885875+00:00", + "duration_seconds": 0.377, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\postgres-server-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\postgres-server-identity.stderr.log" + }, + { + "name": "repeat-1-create-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "CREATE DATABASE \"engram_prc_rg_test_ec4161b3fdcd0ac8_r1\" OWNER \"engram\";" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c CREATE DATABASE \"engram_prc_rg_test_ec4161b3fdcd0ac8_r1\" OWNER \"engram\";", + "started_at": "2026-07-11T01:00:10.7217561+00:00", + "finished_at": "2026-07-11T01:00:11.1807265+00:00", + "duration_seconds": 0.459, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\create-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\create-database.stderr.log" + }, + { + "name": "repeat-1-create-pgvector", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_ec4161b3fdcd0ac8_r1", + "-At", + "-F", + "|", + "-c", + "CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_ec4161b3fdcd0ac8_r1 -At -F | -c CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;", + "started_at": "2026-07-11T01:00:11.1844545+00:00", + "finished_at": "2026-07-11T01:00:11.6548496+00:00", + "duration_seconds": 0.47, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\create-pgvector.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\create-pgvector.stderr.log" + }, + { + "name": "repeat-1-database-identity", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_ec4161b3fdcd0ac8_r1", + "-At", + "-F", + "|", + "-c", + "SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_ec4161b3fdcd0ac8_r1 -At -F | -c SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;", + "started_at": "2026-07-11T01:00:11.6572469+00:00", + "finished_at": "2026-07-11T01:00:12.0231590+00:00", + "duration_seconds": 0.366, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\database-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\database-identity.stderr.log" + }, + { + "name": "repeat-1-pg-stat-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_ec4161b3fdcd0ac8_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_ec4161b3fdcd0ac8_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T01:00:12.0278791+00:00", + "finished_at": "2026-07-11T01:00:12.3822206+00:00", + "duration_seconds": 0.354, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\pg-stat-activity-before.stderr.log" + }, + { + "name": "repeat-1-server-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T01:00:12.3843466+00:00", + "finished_at": "2026-07-11T01:00:12.7293765+00:00", + "duration_seconds": 0.345, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\server-connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\server-connection-count-before.stderr.log" + }, + { + "name": "repeat-1-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_ec4161b3fdcd0ac8_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_ec4161b3fdcd0ac8_r1';", + "started_at": "2026-07-11T01:00:12.7408620+00:00", + "finished_at": "2026-07-11T01:00:13.1287332+00:00", + "duration_seconds": 0.388, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\connection-count-before.stderr.log" + }, + { + "name": "repeat-1-go-test", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "test", + "-json", + "-p", + "1", + "-parallel", + "1", + "-count=1", + "-timeout", + "30m", + "-covermode=atomic", + "-coverprofile=D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\coverage.out", + "-run", + "^TestEC_F1_TagDerivedBackfill_T007$", + "./internal/mcp" + ], + "environment_keys": [ + "DATABASE_DSN", + "DATABASE_MAX_CONNS", + "ENGRAM_RELEASE_GATE_REPEAT", + "ENGRAM_RELEASE_GATE_RUN_ID", + "ENGRAM_TEST_DSN", + "TEST_DATABASE_DSN" + ], + "command": "C:\\Program Files\\Go\\bin\\go.exe test -json -p 1 -parallel 1 -count=1 -timeout 30m -covermode=atomic -coverprofile=D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\coverage.out -run ^TestEC_F1_TagDerivedBackfill_T007$ ./internal/mcp", + "started_at": "2026-07-11T01:00:13.1355977+00:00", + "finished_at": "2026-07-11T01:00:19.5831222+00:00", + "duration_seconds": 6.448, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\go-test.stdout.jsonl", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\go-test.stderr.log" + }, + { + "name": "repeat-1-assert-go-test-json", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-r1-parent-red\\scripts\\production-gates\\assert-go-test-json.ps1", + "-InputPath", + "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\go-test.stdout.jsonl", + "-SummaryPath", + "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\go-test-summary.json", + "-FailOnUnexpectedSkip" + ], + "environment_keys": [], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-r1-parent-red\\scripts\\production-gates\\assert-go-test-json.ps1 -InputPath D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\go-test.stdout.jsonl -SummaryPath D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\go-test-summary.json -FailOnUnexpectedSkip", + "started_at": "2026-07-11T01:00:19.5886411+00:00", + "finished_at": "2026-07-11T01:00:20.2850110+00:00", + "duration_seconds": 0.696, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\assert-go-test-json.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\assert-go-test-json.stderr.log" + }, + { + "name": "repeat-1-targeted-coverage-report", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "tool", + "cover", + "-func=D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\coverage.out" + ], + "environment_keys": [], + "command": "C:\\Program Files\\Go\\bin\\go.exe tool cover -func=D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\coverage.out", + "started_at": "2026-07-11T01:00:20.2900430+00:00", + "finished_at": "2026-07-11T01:00:20.7376633+00:00", + "duration_seconds": 0.448, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\targeted-coverage.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\targeted-coverage.stderr.log" + }, + { + "name": "repeat-1-pg-stat-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_ec4161b3fdcd0ac8_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_ec4161b3fdcd0ac8_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T01:00:20.7386500+00:00", + "finished_at": "2026-07-11T01:00:21.0866923+00:00", + "duration_seconds": 0.348, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\pg-stat-activity-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\pg-stat-activity-after.stderr.log" + }, + { + "name": "repeat-1-server-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T01:00:21.0890834+00:00", + "finished_at": "2026-07-11T01:00:21.4249780+00:00", + "duration_seconds": 0.336, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\server-connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\server-connection-count-after.stderr.log" + }, + { + "name": "repeat-1-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_ec4161b3fdcd0ac8_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_ec4161b3fdcd0ac8_r1';", + "started_at": "2026-07-11T01:00:21.4272271+00:00", + "finished_at": "2026-07-11T01:00:21.7619927+00:00", + "duration_seconds": 0.335, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\connection-count-after.stderr.log" + }, + { + "name": "repeat-1-cleanup", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-r1-parent-red\\scripts\\production-gates\\cleanup-db-sessions.ps1", + "-DatabaseName", + "engram_prc_rg_test_ec4161b3fdcd0ac8_r1", + "-SchemaName", + "public", + "-ArtifactRoot", + "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01", + "-RunId", + "parent-ambient-true-false-green-repeat-1", + "-PostgresContainer", + "engram-prc-postgres" + ], + "environment_keys": [ + "ENGRAM_TEST_ADMIN_DSN" + ], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-r1-parent-red\\scripts\\production-gates\\cleanup-db-sessions.ps1 -DatabaseName engram_prc_rg_test_ec4161b3fdcd0ac8_r1 -SchemaName public -ArtifactRoot D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01 -RunId parent-ambient-true-false-green-repeat-1 -PostgresContainer engram-prc-postgres", + "started_at": "2026-07-11T01:00:21.7651524+00:00", + "finished_at": "2026-07-11T01:00:24.6849474+00:00", + "duration_seconds": 2.92, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\cleanup-process.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\cleanup-process.stderr.log" + } +] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/environment.json b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/environment.json new file mode 100644 index 00000000..021a82c9 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/environment.json @@ -0,0 +1,52 @@ +{ + "schema_version": 1, + "run_id": "parent-ambient-true-false-green", + "timestamp": "2026-07-11T01:00:09.7195099+00:00", + "go_version": "go version go1.25.11 windows/amd64", + "postgres": { + "declared_image": "pgvector/pgvector:pg17", + "container": { + "name": "/engram-prc-postgres", + "configured_image": "pgvector/pgvector:pg17", + "image_id": "sha256:feb68f4f15446397d8cac7f4fe48fe4586de83160d1fc48b46283312d1a33966", + "running": true + }, + "server": { + "server_version": "17.10 (Debian 17.10-1.pgdg12+1)", + "server_version_num": "170010", + "version": "PostgreSQL 17.10 (Debian 17.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit", + "max_connections": "100", + "superuser_reserved_connections": "3", + "reserved_connections": "0", + "current_connections": "6", + "database": "postgres", + "schema": "public", + "user": "engram" + }, + "admin_dsn": "postgresql://engram:REDACTED@127.0.0.1:55432/postgres?sslmode=disable" + }, + "packages": [ + "./internal/mcp" + ], + "run_pattern": "^TestEC_F1_TagDerivedBackfill_T007$", + "repeat": 1, + "fail_on_unexpected_skip": true, + "allowed_skip_identities": [], + "coverage_policy": "Targeted", + "connection_budget": 20, + "race": false, + "require_session_start_execution": false, + "required_session_start_test_count": 12, + "sequential_execution": { + "go_package_parallelism": 1, + "go_test_parallelism": 1, + "database_max_connections": 20 + }, + "govulncheck_policy": { + "authoritative": [ + "source scan with tests", + "unstripped binary scan" + ], + "non_authoritative": "stripped binary scan (module-level fallback when symbols are absent)" + } +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/go-version.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/go-version.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/go-version.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/go-version.stdout.log new file mode 100644 index 00000000..a857be3f --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/go-version.stdout.log @@ -0,0 +1 @@ +go version go1.25.11 windows/amd64 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/postgres-container-identity.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/postgres-container-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/postgres-container-identity.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/postgres-container-identity.stdout.log new file mode 100644 index 00000000..c110d492 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/postgres-container-identity.stdout.log @@ -0,0 +1 @@ +/engram-prc-postgres|pgvector/pgvector:pg17|sha256:feb68f4f15446397d8cac7f4fe48fe4586de83160d1fc48b46283312d1a33966|true diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/postgres-server-identity.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/postgres-server-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/postgres-server-identity.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/postgres-server-identity.stdout.log new file mode 100644 index 00000000..2e33d56e --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/postgres-server-identity.stdout.log @@ -0,0 +1 @@ +{"server_version" : "17.10 (Debian 17.10-1.pgdg12+1)", "server_version_num" : "170010", "version" : "PostgreSQL 17.10 (Debian 17.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit", "max_connections" : "100", "superuser_reserved_connections" : "3", "reserved_connections" : "0", "current_connections" : "6", "database" : "postgres", "schema" : "public", "user" : "engram"} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/assert-go-test-json.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/assert-go-test-json.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/assert-go-test-json.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/assert-go-test-json.stdout.log new file mode 100644 index 00000000..4b10fd9f --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/assert-go-test-json.stdout.log @@ -0,0 +1,2 @@ +go test JSON verdict=PASS packages=1 tests=1 passed=1 failed=0 skipped=0 unexpected_skips=0 malformed=0 +summary=D:\Dev\engram\.w\t007-r1-checker\.agent\reviews\t007-r1-fresh-checker\evidence\parent-ambient-true-false-green\repeat-01\go-test-summary.json diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/cleanup-process.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/cleanup-process.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/cleanup-process.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/cleanup-process.stdout.log new file mode 100644 index 00000000..d7c4650d --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/cleanup-process.stdout.log @@ -0,0 +1,2 @@ +cleanup verdict=PASS database=engram_prc_rg_test_ec4161b3fdcd0ac8_r1 schema=public terminated_sessions=0 remaining_database_count=0 +summary=D:\Dev\engram\.w\t007-r1-checker\.agent\reviews\t007-r1-fresh-checker\evidence\parent-ambient-true-false-green\repeat-01\cleanup\cleanup.json diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/cleanup/cleanup.json b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/cleanup/cleanup.json new file mode 100644 index 00000000..e3a60160 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/cleanup/cleanup.json @@ -0,0 +1,170 @@ +{ + "schema_version": 1, + "run_id": "parent-ambient-true-false-green-repeat-1", + "timestamp": "2026-07-11T01:00:24.5902684+00:00", + "verdict": "PASS", + "database": "engram_prc_rg_test_ec4161b3fdcd0ac8_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_ec4161b3fdcd0ac8_r1.public", + "admin_dsn": "postgresql://engram:REDACTED@127.0.0.1:55432/postgres?sslmode=disable", + "postgres_container": "engram-prc-postgres", + "cleanup_status": "PASS", + "cleanup_attempted": true, + "database_existed_before": true, + "absence_verified": true, + "terminated_sessions": 0, + "remaining_database_count": 0, + "commands": [ + { + "name": "database-exists-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_ec4161b3fdcd0ac8_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_ec4161b3fdcd0ac8_r1';", + "started_at": "2026-07-11T01:00:22.4118039+00:00", + "finished_at": "2026-07-11T01:00:22.9160227+00:00", + "duration_seconds": 0.504, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\cleanup\\database-exists-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\cleanup\\database-exists-before.stderr.log" + }, + { + "name": "pg-stat-activity-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_ec4161b3fdcd0ac8_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_ec4161b3fdcd0ac8_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T01:00:22.9804104+00:00", + "finished_at": "2026-07-11T01:00:23.3341638+00:00", + "duration_seconds": 0.354, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\cleanup\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\cleanup\\pg-stat-activity-before.stderr.log" + }, + { + "name": "terminate-database-sessions", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_ec4161b3fdcd0ac8_r1' AND pid <> pg_backend_pid() ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_ec4161b3fdcd0ac8_r1' AND pid <> pg_backend_pid() ORDER BY pid) AS s;", + "started_at": "2026-07-11T01:00:23.3384100+00:00", + "finished_at": "2026-07-11T01:00:23.6971785+00:00", + "duration_seconds": 0.359, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\cleanup\\terminate-sessions.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\cleanup\\terminate-sessions.stderr.log" + }, + { + "name": "drop-fresh-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "DROP DATABASE IF EXISTS \"engram_prc_rg_test_ec4161b3fdcd0ac8_r1\" WITH (FORCE);" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c DROP DATABASE IF EXISTS \"engram_prc_rg_test_ec4161b3fdcd0ac8_r1\" WITH (FORCE);", + "started_at": "2026-07-11T01:00:23.7050832+00:00", + "finished_at": "2026-07-11T01:00:24.1874676+00:00", + "duration_seconds": 0.482, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\cleanup\\drop-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\cleanup\\drop-database.stderr.log" + }, + { + "name": "verify-database-absent", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_ec4161b3fdcd0ac8_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_ec4161b3fdcd0ac8_r1';", + "started_at": "2026-07-11T01:00:24.1920343+00:00", + "finished_at": "2026-07-11T01:00:24.5814009+00:00", + "duration_seconds": 0.389, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\cleanup\\verify-database-absent.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\cleanup\\verify-database-absent.stderr.log" + } + ], + "errors": [] +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/cleanup/database-exists-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/cleanup/database-exists-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/cleanup/database-exists-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/cleanup/database-exists-before.stdout.log new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/cleanup/database-exists-before.stdout.log @@ -0,0 +1 @@ +1 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/cleanup/drop-database.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/cleanup/drop-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/cleanup/drop-database.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/cleanup/drop-database.stdout.log new file mode 100644 index 00000000..ca12dce0 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/cleanup/drop-database.stdout.log @@ -0,0 +1 @@ +DROP DATABASE diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/cleanup/pg-stat-activity-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/cleanup/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/cleanup/pg-stat-activity-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/cleanup/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/cleanup/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/cleanup/terminate-sessions.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/cleanup/terminate-sessions.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/cleanup/terminate-sessions.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/cleanup/terminate-sessions.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/cleanup/terminate-sessions.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/cleanup/verify-database-absent.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/cleanup/verify-database-absent.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/cleanup/verify-database-absent.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/cleanup/verify-database-absent.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/cleanup/verify-database-absent.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/connection-count-after.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/connection-count-after.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/connection-count-after.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/connection-count-after.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/connection-count-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/connection-count-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/connection-count-before.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/connection-count-before.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/coverage.out b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/coverage.out new file mode 100644 index 00000000..52335d8a --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/coverage.out @@ -0,0 +1,3472 @@ +mode: atomic +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33.53,34.30 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:34.30,36.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.2,37.25 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.25,39.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:40.2,40.12 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44.28,46.2 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52.83,53.12 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:53.12,54.16 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:54.16,55.32 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:55.32,61.5 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:63.3,65.33 3 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:65.33,71.4 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77.54,78.14 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:78.14,80.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:81.2,82.16 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:82.16,85.3 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:86.2,87.13 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92.91,93.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:93.23,95.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:96.2,97.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:97.15,99.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:100.2,105.65 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:105.65,113.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117.95,118.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:118.23,120.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:121.2,122.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:122.15,124.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:125.2,129.65 5 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:129.65,138.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142.87,143.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:143.23,145.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:146.2,147.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:150.2,153.65 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:153.65,161.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166.96,167.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:167.23,169.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:170.2,171.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:171.15,173.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:174.2,177.63 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:177.63,185.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189.97,190.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:190.23,192.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:193.2,194.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:194.15,196.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:197.2,200.68 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:200.68,208.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:30.62,31.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:31.20,33.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:34.2,35.49 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:35.49,37.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:38.2,38.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:38.14,40.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:41.2,41.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:46.52,47.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:47.14,49.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:50.2,50.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:51.14,52.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:53.19,54.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:55.15,56.45 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:57.12,58.31 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:59.10,60.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:67.43,68.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:68.14,70.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:71.2,71.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:72.15,73.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:74.19,75.38 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:75.38,77.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:78.3,78.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:78.40,80.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:81.3,81.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:82.14,83.56 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:83.56,85.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:86.3,86.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:86.54,88.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:89.3,89.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:90.10,91.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:97.49,98.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:98.14,100.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:101.2,101.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:102.15,103.18 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:104.19,105.38 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:105.38,107.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:108.3,108.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:108.40,110.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:111.3,111.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:112.14,113.56 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:113.56,115.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:116.3,116.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:116.54,118.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:119.3,119.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:120.10,121.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:127.55,128.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:128.14,130.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:131.2,131.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:132.15,133.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:134.19,135.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:135.40,137.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:138.3,138.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:139.14,140.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:140.54,142.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:143.3,143.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:144.10,145.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:151.46,152.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:152.14,154.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:155.2,155.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:156.12,157.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:158.14,159.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:159.54,161.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:162.3,162.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:163.15,164.16 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:165.19,166.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:166.40,168.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:169.3,169.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:170.10,171.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:177.40,178.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:178.14,180.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:181.2,181.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:182.13,184.26 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:184.26,185.36 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:185.36,187.5 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:189.3,189.16 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:190.16,191.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:192.14,193.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:193.14,195.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:196.3,196.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:197.10,198.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:204.38,205.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:205.14,207.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:208.2,209.9 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:209.9,211.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:212.2,213.27 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:213.27,214.42 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:214.42,216.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:218.2,218.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:222.32,223.39 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:223.39,225.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:226.2,226.30 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:226.30,228.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:229.2,229.30 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:229.30,231.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:232.2,232.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:236.35,237.28 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:237.28,239.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.2,240.28 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.28,242.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:243.2,243.15 1 0 +github.com/thebtf/engram/internal/mcp/context.go:17.55,19.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:22.78,24.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:29.78,31.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:35.53,38.2 2 0 +github.com/thebtf/engram/internal/mcp/context.go:41.80,43.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:48.80,50.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:54.53,57.2 2 0 +github.com/thebtf/engram/internal/mcp/context.go:61.51,62.43 1 0 +github.com/thebtf/engram/internal/mcp/context.go:62.43,64.3 1 0 +github.com/thebtf/engram/internal/mcp/context.go:65.2,65.16 1 0 +github.com/thebtf/engram/internal/mcp/health.go:22.32,26.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:29.37,33.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:36.35,40.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:42.44,45.25 3 0 +github.com/thebtf/engram/internal/mcp/health.go:45.25,47.50 1 0 +github.com/thebtf/engram/internal/mcp/health.go:47.50,50.4 2 0 +github.com/thebtf/engram/internal/mcp/health.go:55.74,60.16 5 0 +github.com/thebtf/engram/internal/mcp/health.go:60.16,62.3 1 0 +github.com/thebtf/engram/internal/mcp/health.go:63.2,71.4 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28.42,29.65 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:29.65,32.3 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.2,33.40 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.40,35.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:36.2,36.14 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39.120,40.69 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:40.69,42.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:43.2,44.19 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:44.19,46.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:47.2,48.17 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:48.17,50.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:51.2,52.59 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:52.59,54.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:55.2,56.20 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:56.20,58.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:59.2,60.17 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:60.17,62.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:63.2,64.21 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:64.21,66.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:67.2,68.22 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:68.22,70.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:71.2,72.23 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:76.2,98.19 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:98.19,100.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:101.2,101.66 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104.52,106.29 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:106.29,108.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:109.2,110.46 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113.113,123.27 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:123.27,125.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:130.2,130.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:127.44,138.2 1 1 +github.com/thebtf/engram/internal/mcp/server.go:141.64,143.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:146.78,148.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:151.53,153.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:156.55,158.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:161.58,163.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:166.62,168.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:171.50,173.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:176.78,178.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:181.74,183.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:186.71,189.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:191.85,193.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:195.61,197.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:199.49,201.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:204.54,206.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:211.53,213.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:216.53,218.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:222.61,224.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:228.59,230.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:234.51,236.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:240.52,242.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:246.55,248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:252.82,254.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:260.70,262.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:269.68,271.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:274.87,277.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:282.60,284.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:290.45,292.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:297.77,299.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:303.37,313.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:313.38,315.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:316.2,317.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:317.9,319.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:320.2,321.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:321.9,323.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:324.2,325.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:325.9,327.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:328.2,328.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:332.35,334.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:383.49,387.12 3 0 +github.com/thebtf/engram/internal/mcp/server.go:387.12,388.22 1 0 +github.com/thebtf/engram/internal/mcp/server.go:388.22,389.11 1 0 +github.com/thebtf/engram/internal/mcp/server.go:390.22,392.11 2 0 +github.com/thebtf/engram/internal/mcp/server.go:393.12,393.12 0 0 +github.com/thebtf/engram/internal/mcp/server.go:396.4,397.18 2 0 +github.com/thebtf/engram/internal/mcp/server.go:397.18,398.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:401.4,402.61 2 0 +github.com/thebtf/engram/internal/mcp/server.go:402.61,404.13 2 0 +github.com/thebtf/engram/internal/mcp/server.go:407.4,407.55 1 0 +github.com/thebtf/engram/internal/mcp/server.go:407.55,409.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:411.3,411.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:414.2,414.9 1 0 +github.com/thebtf/engram/internal/mcp/server.go:415.20,416.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:417.25,418.17 1 0 +github.com/thebtf/engram/internal/mcp/server.go:418.17,420.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:421.3,421.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:427.77,428.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:428.19,431.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:433.2,433.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:434.20,435.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:436.20,437.32 1 0 +github.com/thebtf/engram/internal/mcp/server.go:438.20,439.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:443.24,444.93 1 0 +github.com/thebtf/engram/internal/mcp/server.go:445.34,446.101 1 0 +github.com/thebtf/engram/internal/mcp/server.go:447.22,448.91 1 0 +github.com/thebtf/engram/internal/mcp/server.go:449.29,450.120 1 0 +github.com/thebtf/engram/internal/mcp/server.go:451.10,456.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:461.51,462.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:463.50,464.70 1 0 +github.com/thebtf/engram/internal/mcp/server.go:465.46,466.79 1 0 +github.com/thebtf/engram/internal/mcp/server.go:467.10,468.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:473.59,485.63 2 0 +github.com/thebtf/engram/internal/mcp/server.go:485.63,487.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:489.2,493.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:496.45,503.33 3 0 +github.com/thebtf/engram/internal/mcp/server.go:503.33,505.57 2 0 +github.com/thebtf/engram/internal/mcp/server.go:505.57,506.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:506.76,507.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.4,509.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.18,511.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:511.10,513.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:514.4,518.11 5 0 +github.com/thebtf/engram/internal/mcp/server.go:522.2,522.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:660.29,683.21 2 0 +github.com/thebtf/engram/internal/mcp/server.go:683.21,689.3 5 0 +github.com/thebtf/engram/internal/mcp/server.go:690.2,699.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:712.30,765.49 3 0 +github.com/thebtf/engram/internal/mcp/server.go:765.49,789.3 5 0 +github.com/thebtf/engram/internal/mcp/server.go:790.2,799.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:805.40,936.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:942.58,1048.35 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1048.35,1077.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.2,1080.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.33,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.2,1093.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.26,1123.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1124.2,1124.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1124.80,1126.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1127.2,1127.55 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1127.55,1129.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1130.2,1130.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1130.38,1132.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1134.2,1134.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1134.25,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1138.2,1138.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1138.33,1140.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1141.2,1141.69 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1141.69,1143.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1144.2,1144.75 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1144.75,1146.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1148.2,1148.27 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1148.27,1165.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.2,1168.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.76,1191.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1195.2,1195.48 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1195.48,1197.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.2,1201.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.47,1203.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.2,1205.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.38,1207.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1212.2,1212.21 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1212.21,1214.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1228.2,1228.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1228.51,1230.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1233.2,1233.56 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1233.56,1235.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1238.2,1238.71 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1238.71,1298.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1302.2,1302.104 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1302.104,1321.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1324.2,1324.72 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1324.72,1333.154 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1333.154,1334.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1334.26,1336.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1337.7,1337.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1338.35,1340.26 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1340.26,1342.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1343.7,1343.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1371.2,1371.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1371.26,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1393.2,1393.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1393.28,1443.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.2,1446.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.28,1478.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.2,1481.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.37,1561.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1564.2,1568.23 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1568.23,1570.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1572.2,1588.57 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1588.57,1591.29 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1591.29,1593.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1594.3,1594.27 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1594.27,1595.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1595.29,1597.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1601.2,1607.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1612.79,1614.60 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1614.60,1620.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1622.2,1623.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1623.16,1631.3 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1633.2,1641.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1644.69,1645.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1645.34,1647.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1648.2,1649.22 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1649.22,1651.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1652.2,1652.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1656.99,1658.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1659.16,1660.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1661.15,1662.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1663.18,1664.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1665.15,1666.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1667.18,1668.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1669.14,1670.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1671.15,1672.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1676.2,1676.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1677.35,1678.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1679.26,1680.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1681.20,1682.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1683.20,1684.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1685.16,1686.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1687.29,1688.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1689.33,1690.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1691.25,1692.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1693.23,1694.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1696.26,1697.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1698.24,1699.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1700.22,1701.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1702.25,1703.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1704.27,1705.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1706.25,1707.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1709.30,1710.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1711.28,1712.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1713.17,1714.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1715.20,1716.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1717.20,1718.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1719.20,1720.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1722.20,1723.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1724.18,1725.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1726.20,1727.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1728.18,1729.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1730.21,1731.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1732.21,1733.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1734.26,1735.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1736.25,1737.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1738.26,1739.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1740.24,1741.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1742.26,1743.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1744.27,1745.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1746.22,1747.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1748.19,1749.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1750.15,1751.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1752.16,1753.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1755.21,1756.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1757.19,1758.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1759.20,1760.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1761.22,1762.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1763.22,1764.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1765.23,1766.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1767.20,1768.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1769.32,1770.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1771.19,1772.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1773.19,1774.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1775.33,1776.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1777.35,1778.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1779.24,1780.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1781.32,1782.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1783.28,1784.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1785.21,1786.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1787.34,1788.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1789.25,1790.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1791.29,1792.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1793.26,1794.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1795.27,1796.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1798.25,1799.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1800.23,1801.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1802.27,1803.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1804.26,1805.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1806.29,1807.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1809.29,1810.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1811.27,1812.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1813.30,1814.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1815.38,1816.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1817.36,1818.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1820.24,1821.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1822.27,1823.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1824.22,1825.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1826.32,1827.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1828.32,1829.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1830.31,1831.48 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1832.35,1833.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1834.36,1835.53 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1836.36,1837.53 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1838.38,1839.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1840.34,1841.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1843.22,1844.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1845.21,1846.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1847.24,1848.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1850.25,1851.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1852.25,1853.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1859.2,1859.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1860.22,1863.131 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1866.51,1867.123 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1868.10,1869.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1874.47,1876.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1876.16,1879.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1880.2,1880.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1884.72,1890.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1896.105,1898.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1898.16,1900.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1902.2,1903.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1903.17,1905.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1907.2,1908.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1908.17,1910.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1912.2,1918.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1918.16,1920.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1921.2,1921.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1927.76,1933.15 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1933.15,1936.17 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1936.17,1938.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1939.3,1939.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1943.2,1950.36 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1950.36,1952.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1952.8,1955.29 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1955.29,1958.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1959.3,1962.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.2,1966.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.20,1977.20 6 0 +github.com/thebtf/engram/internal/mcp/server.go:1977.20,1979.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.3,1980.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.20,1982.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.3,1985.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.37,1987.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1987.30,1988.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1988.16,1990.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1990.11,1992.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1994.4,1995.56 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1995.56,1997.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1998.4,2003.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.2,2008.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.29,2009.63 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2009.63,2011.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2011.9,2013.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.2,2021.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.29,2029.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2029.38,2031.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2031.9,2033.31 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2033.31,2035.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2035.30,2037.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2039.4,2042.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2046.2,2047.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2047.16,2049.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2050.2,2050.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2055.57,2056.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2056.33,2058.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2059.2,2060.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2060.16,2062.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2063.2,2064.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2064.16,2066.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2067.2,2067.23 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2071.79,2105.15 6 0 +github.com/thebtf/engram/internal/mcp/server.go:2105.15,2107.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2107.17,2111.4 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2111.9,2112.17 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2112.17,2114.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2115.4,2117.26 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2117.26,2119.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2119.10,2121.29 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2121.29,2123.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2125.4,2129.25 5 0 +github.com/thebtf/engram/internal/mcp/server.go:2130.19,2130.19 0 0 +github.com/thebtf/engram/internal/mcp/server.go:2132.20,2134.106 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2135.12,2137.103 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2140.8,2143.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2144.2,2150.49 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2150.49,2152.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2152.8,2154.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2155.2,2168.27 4 0 +github.com/thebtf/engram/internal/mcp/server.go:2168.27,2170.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2170.17,2173.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2173.9,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2177.2,2182.40 4 0 +github.com/thebtf/engram/internal/mcp/server.go:2182.40,2183.21 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2184.20,2185.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2186.19,2187.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.2,2191.24 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.24,2193.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.8,2193.30 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.30,2195.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.2,2198.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.28,2200.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.2,2203.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.29,2205.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2207.2,2208.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2208.16,2210.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2211.2,2211.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2216.103,2218.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2218.16,2220.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2222.2,2223.15 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2223.15,2225.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2227.2,2239.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2239.16,2241.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2242.2,2242.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2246.93,2248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2251.91,2253.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:18.28,29.20 4 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:29.20,33.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:35.2,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:68.36,69.49 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:69.49,74.3 4 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:75.2,75.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:80.26,82.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:84.89,86.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:89.2,90.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:90.18,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:94.2,94.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:95.15,96.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:97.26,98.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:99.25,100.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:101.23,105.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:105.22,107.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:108.3,108.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:109.10,110.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:120.92,126.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:126.26,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:130.2,131.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:131.19,133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:134.2,135.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:135.19,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.2,138.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.24,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.2,142.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.25,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:146.2,147.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:151.2,151.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27.40,30.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32.30,46.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48.99,49.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:49.34,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.2,52.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.69,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:56.2,57.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:60.2,61.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:61.21,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:64.2,67.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:67.26,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:70.2,71.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:71.25,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:75.2,77.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:77.44,79.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.2,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.33,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:83.2,83.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86.52,87.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:87.16,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.2,90.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.15,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:93.2,93.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96.73,97.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:97.21,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:100.2,101.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:101.29,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:111.2,111.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114.34,116.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:31.98,32.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:32.52,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.2,35.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.26,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:39.2,40.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:40.49,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.2,43.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.21,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.2,46.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.21,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.2,49.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.18,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.2,52.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.18,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.2,56.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.38,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:60.2,61.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:61.16,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:68.2,70.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:70.26,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:79.2,81.36 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:81.36,84.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:86.2,89.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:89.28,90.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:90.39,91.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:93.3,97.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:100.2,104.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:107.60,113.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:115.101,116.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:116.38,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:120.2,122.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:122.21,123.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:123.26,125.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.3,126.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.23,128.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:129.8,130.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:130.26,132.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.3,133.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.68,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:137.2,140.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:141.17,142.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:143.67,143.67 0 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:144.10,145.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:148.2,162.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:162.16,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.2,165.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.2,174.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.30,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.2,177.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.31,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:181.2,182.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:182.36,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:198.2,199.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:199.19,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:202.2,203.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:203.18,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:206.2,207.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:207.21,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:210.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:211.25,213.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:214.2,225.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:225.21,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.25,230.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.2,231.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.18,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:235.2,244.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:244.21,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.2,247.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.25,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.2,250.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.18,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.2,253.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:256.2,256.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:259.50,261.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:261.22,263.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:264.2,264.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:270.90,272.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:272.42,276.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:277.2,281.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:281.27,282.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:282.45,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:286.2,286.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25.28,88.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95.95,96.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:96.22,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:99.2,100.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:100.32,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:104.2,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:109.2,114.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:114.35,121.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.2,123.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.25,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:127.2,134.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:138.2,146.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154.94,155.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:155.22,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:158.2,159.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:159.32,161.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:163.2,164.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:164.16,166.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:168.2,172.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:172.35,179.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.2,181.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.25,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:185.2,192.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:192.16,194.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:196.2,203.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211.97,212.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:212.22,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:215.2,216.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:216.32,218.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:220.2,221.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:221.16,223.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:225.2,229.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:229.35,236.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.2,238.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.25,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:242.2,249.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:249.16,251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:253.2,260.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31.80,32.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:32.14,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:35.2,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51.136,53.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:53.51,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:56.2,56.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59.94,60.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:60.21,62.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:63.2,63.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68.30,162.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165.98,166.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:166.49,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:169.2,170.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:170.16,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:173.2,174.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:174.19,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:177.2,179.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:179.17,181.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:188.2,189.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:189.31,190.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:190.15,191.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:193.3,193.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:196.2,201.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:201.16,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:204.2,204.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208.96,209.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:209.49,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:212.2,213.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:213.16,215.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:216.2,217.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:217.13,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.2,225.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.22,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:229.2,230.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:230.16,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:233.2,233.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239.100,240.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:240.22,242.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:243.2,244.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:244.16,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:247.2,248.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:248.13,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:255.2,256.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:256.12,263.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:263.30,264.77 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:264.77,269.5 4 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:271.3,272.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:272.21,274.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:275.3,275.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.2,279.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.29,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:284.2,285.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:285.16,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.2,288.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.22,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.2,291.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.55,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.2,294.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.74,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:297.2,298.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:298.16,300.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:306.2,307.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:307.41,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:310.2,324.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:324.16,325.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:325.50,327.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:328.3,328.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.2,330.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.38,332.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:334.2,341.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:341.16,343.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:344.2,344.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348.99,349.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:349.49,351.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:352.2,353.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:353.16,355.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:356.2,357.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:357.13,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:360.2,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.2,365.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.22,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.2,368.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.74,370.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:371.2,372.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:372.16,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.2,375.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.85,377.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:379.2,380.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:380.16,381.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:381.50,383.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:384.3,384.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.2,386.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.20,388.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:390.2,395.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:395.16,397.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:398.2,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402.102,403.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:403.49,405.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:406.2,407.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:407.16,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:410.2,411.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:411.13,413.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:414.2,415.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:415.16,417.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.2,418.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.22,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.2,421.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.74,423.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:424.2,425.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:425.16,427.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.2,428.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.88,430.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:432.2,433.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:433.16,434.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:434.50,436.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:437.3,437.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.2,439.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.20,441.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:443.2,448.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:448.16,450.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:451.2,451.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34.30,36.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42.61,44.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48.32,75.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79.32,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100.98,101.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:101.25,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.2,104.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.29,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:108.2,113.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:113.17,114.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:114.55,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.2,118.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.24,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.2,121.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.23,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.2,124.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.23,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:134.2,135.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:135.21,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:142.2,147.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:154.2,165.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:165.25,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:177.2,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:186.2,186.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194.98,195.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:195.25,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.2,198.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.29,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:202.2,205.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:205.17,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:208.2,209.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:209.21,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:213.2,214.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:214.16,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:217.2,218.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:218.16,220.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:226.2,231.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:231.11,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:21.52,22.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:22.24,25.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:25.28,27.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:29.2,29.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:35.72,37.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:37.15,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:45.2,45.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:49.99,51.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:51.16,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:55.2,56.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:56.16,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:60.2,72.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.2,75.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.24,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.2,78.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.24,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:81.2,81.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:82.27,82.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:84.10,85.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.2,87.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.30,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.2,90.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.26,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:104.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:116.2,123.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:126.2,126.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:130.97,132.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:132.16,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:136.2,137.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:141.2,147.23 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:147.23,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.2,150.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.26,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:154.2,155.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:155.16,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:160.16,161.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:161.47,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:164.3,164.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.2,167.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.97,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:174.2,175.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:175.16,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:179.2,185.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:185.16,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:188.2,188.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:192.99,194.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:194.16,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:198.2,199.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:199.16,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:203.2,207.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:207.26,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:211.2,212.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:212.16,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:216.2,223.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:223.26,229.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:229.28,231.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:232.3,232.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:243.100,245.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:245.16,247.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:249.2,250.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:250.16,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:254.2,262.23 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:262.23,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.2,265.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.24,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:268.2,268.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:269.27,269.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:271.10,272.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.2,274.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.30,276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.2,277.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.26,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.2,281.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.71,282.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:282.47,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:285.3,285.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:288.2,293.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:293.16,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:296.2,296.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:302.92,309.19 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:309.19,310.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:310.53,313.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:316.2,317.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:317.51,318.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:318.66,320.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:323.2,331.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:331.16,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:334.2,334.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:338.46,342.32 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:342.32,343.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:343.20,346.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:348.2,350.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:350.26,352.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:352.27,353.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:353.13,355.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:356.4,356.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:358.3,358.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:360.2,360.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:16.45,18.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:20.35,36.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:38.84,39.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:39.40,41.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.2,42.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.50,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:45.2,45.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:48.101,50.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:50.16,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:53.2,54.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:57.2,58.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:58.19,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:61.2,62.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:62.21,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:65.2,66.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:66.16,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:69.2,69.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:72.102,74.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:77.2,82.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10.100,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:22.16,23.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:24.14,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:26.14,27.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:28.17,29.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:30.17,31.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:32.21,33.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:34.19,35.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:36.17,37.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:38.16,39.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:40.16,41.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:42.21,43.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:44.10,45.167 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:15.77,16.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:16.33,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:20.2,21.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:21.27,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:25.2,26.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:26.28,29.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:29.17,31.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:34.2,41.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:41.32,46.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:46.20,48.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:49.3,49.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:61.97,62.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:62.28,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:71.2,75.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:75.29,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:79.2,80.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:80.16,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.2,84.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.20,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:88.2,97.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:97.25,103.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:103.20,105.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.3,106.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.19,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:109.3,109.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:112.2,113.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:113.16,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:117.2,117.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:121.95,122.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:122.28,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:131.2,137.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:137.50,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:141.2,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.2,145.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.16,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.2,149.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.21,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:153.2,154.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:154.16,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.2,157.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.20,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:161.2,161.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:165.98,166.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:166.28,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:170.2,171.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:171.16,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:175.2,181.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:181.50,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.2,185.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.96,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:189.2,189.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:197.98,198.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:198.28,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:207.2,217.74 6 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:217.74,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:222.2,223.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:223.16,225.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:227.2,229.156 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:235.98,237.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:237.16,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:241.2,247.24 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:247.24,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:252.2,253.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:253.29,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:256.2,256.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15.93,16.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:16.37,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:20.2,21.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:21.16,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:25.2,32.16 7 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:32.16,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.2,35.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.19,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.2,38.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.19,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:42.2,43.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:43.16,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:47.2,54.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61.91,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:62.37,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:71.2,73.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:73.16,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.2,76.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.19,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:80.2,81.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:81.43,83.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:83.19,85.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:86.3,86.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:87.8,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.2,90.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.16,91.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:91.45,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:94.3,94.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:97.2,110.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:110.16,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:113.2,113.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117.93,119.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122.91,123.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:123.37,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:132.2,133.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:133.19,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:136.2,141.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:141.16,143.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:145.2,155.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:155.25,165.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:167.2,168.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:168.16,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:171.2,171.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175.94,176.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:176.37,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:180.2,181.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:181.16,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:185.2,187.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:187.16,189.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.2,190.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.19,192.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:193.2,196.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:200.2,208.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:208.25,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:218.2,225.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232.94,233.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:233.37,235.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:242.2,243.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:243.21,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:246.2,248.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:248.19,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:252.2,253.46 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:253.46,255.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:255.13,257.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.2,259.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.44,261.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:261.13,263.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:266.2,267.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:267.16,269.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:271.2,278.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:278.16,280.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:281.2,281.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19.69,21.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23.38,38.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40.51,63.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65.53,80.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82.46,85.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:85.32,87.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:88.2,88.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91.105,93.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:93.16,95.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:96.2,97.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:100.2,100.70 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103.107,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:108.2,109.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:109.16,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:112.2,112.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115.101,117.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:117.16,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:120.2,121.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:121.17,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:124.2,139.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142.109,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:147.2,154.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157.100,159.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:159.28,161.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:161.18,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:164.3,164.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:166.2,167.72 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:167.72,169.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.2,170.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.53,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:173.2,174.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:174.26,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:177.2,177.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180.73,182.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:182.16,184.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:185.2,185.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12.104,14.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:14.16,16.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:18.2,19.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:19.18,21.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:23.2,23.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:24.14,25.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:26.18,27.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:28.17,29.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:30.10,31.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36.101,37.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:37.27,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:46.2,47.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:47.21,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:50.2,51.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:51.19,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:54.2,54.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:55.52,55.52 0 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:56.10,57.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:59.2,61.93 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:61.93,64.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:66.2,70.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:27.31,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:98.97,100.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:100.26,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.2,103.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.28,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:112.2,115.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:115.15,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.2,118.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.17,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:122.2,123.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:127.2,140.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:140.29,151.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:151.31,154.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:155.3,155.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:158.2,162.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:167.100,169.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:169.26,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.2,172.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.28,174.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.2,175.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.26,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:179.2,180.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:184.2,185.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:185.22,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:189.2,190.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:190.20,191.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:191.54,199.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.3,200.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.61,202.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:203.3,203.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:206.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:215.95,217.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:217.32,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.2,220.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.28,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:224.2,225.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:229.2,230.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:230.22,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.2,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.25,246.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:248.2,252.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:258.104,260.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:260.26,262.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:267.2,271.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:271.20,275.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:275.8,279.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:280.2,280.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:284.60,285.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:285.30,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.2,288.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.42,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:291.2,291.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:64.89,65.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:65.25,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:69.2,70.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:70.49,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:74.2,74.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:75.18,76.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:77.21,78.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:79.19,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:81.18,82.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:83.19,84.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:85.18,86.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:87.18,91.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:91.23,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:94.3,94.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:95.10,96.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:100.81,103.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:103.19,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:106.2,107.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:107.19,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.2,112.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.46,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.2,115.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.46,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.2,122.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.66,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.25,128.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:128.22,130.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:131.8,132.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:132.26,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.2,138.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.25,139.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:139.22,141.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:142.8,143.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:143.26,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.2,148.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.22,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.2,151.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.38,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.2,154.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.19,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:159.2,161.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:161.25,164.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.2,165.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.25,168.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:169.2,171.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:171.23,174.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.2,175.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.23,178.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:180.2,193.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:193.16,195.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:198.2,199.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:199.29,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.2,202.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.29,204.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:205.2,213.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:216.121,217.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:217.28,218.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:218.26,220.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:221.3,222.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:222.17,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:223.49,225.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:226.4,226.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:228.3,228.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.2,230.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.26,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:233.2,234.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:234.16,235.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:235.48,237.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:238.3,238.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:240.2,240.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:243.101,248.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:248.36,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:250.8,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.2,253.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.16,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.2,256.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.32,257.128 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:257.128,262.72 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:262.72,264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:267.2,267.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:276.81,277.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:277.25,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.2,280.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.22,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.2,283.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.39,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.2,286.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.25,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.2,289.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.21,291.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:292.2,293.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:293.14,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:296.2,305.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:305.16,307.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:308.2,314.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:317.84,318.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:318.19,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:321.2,323.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:323.63,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:326.2,329.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:332.82,333.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:333.38,335.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:336.2,337.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:338.18,339.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:340.18,341.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.2,345.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.59,347.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:349.2,351.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:351.21,353.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:353.8,356.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.2,357.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:366.2,367.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:367.41,369.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:371.2,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:397.115,398.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:398.15,400.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:403.2,404.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:404.26,405.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:405.28,407.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.3,408.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.28,410.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.2,412.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.23,415.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:420.2,426.12 4 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:426.12,427.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:427.27,429.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:429.18,431.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.4,433.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.33,435.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:440.2,441.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:441.26,442.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:442.28,443.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:443.49,445.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.3,448.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.28,449.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:449.49,451.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:454.2,454.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:457.82,458.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:458.21,460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:461.2,462.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:462.16,464.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.2,465.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.36,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:468.2,469.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:469.16,471.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:472.2,477.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:480.82,481.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:481.40,483.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:484.2,485.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:485.19,487.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:488.2,489.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:489.16,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:492.2,499.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:502.82,503.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:503.21,505.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:506.2,507.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:507.16,509.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:510.2,514.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23.179,24.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:24.22,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:28.2,32.22 4 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:32.22,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:35.2,36.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:36.22,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:40.2,41.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:41.26,43.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.2,44.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.26,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.2,47.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.30,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.2,50.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.30,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:54.2,55.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:55.16,57.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.2,58.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.13,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:61.2,62.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:62.16,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.2,65.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.13,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:69.2,70.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:70.16,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.2,73.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.15,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:77.2,77.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80.172,81.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:81.28,82.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:82.23,84.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.3,85.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.18,87.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:88.3,89.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:89.17,90.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:90.49,92.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:93.4,93.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:95.3,95.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.2,98.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.24,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.2,101.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.19,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:104.2,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:105.16,106.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:106.48,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:109.3,109.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:111.2,111.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114.119,116.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:116.22,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:119.2,120.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:120.22,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:124.2,126.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:126.26,127.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:127.36,129.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:130.3,130.105 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:131.8,132.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:132.32,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:135.3,135.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.2,137.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.2,141.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.32,143.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:143.27,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:146.3,147.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:147.27,149.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.3,150.106 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.106,151.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.3,153.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.27,154.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:154.114,155.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.9,157.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.104,158.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.3,160.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.27,161.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:161.114,162.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.9,164.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.104,165.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:167.3,167.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:169.2,169.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25.90,26.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:26.26,28.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:30.2,31.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:31.49,33.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:35.2,35.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:36.16,37.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:38.10,39.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43.84,44.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:44.21,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.2,47.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.25,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.2,50.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.21,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.2,53.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.21,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:57.2,58.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:59.18,60.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:61.15,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:63.24,64.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:65.10,66.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:69.2,70.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:70.22,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:73.2,74.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:74.29,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.2,78.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.14,85.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:87.2,89.37 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:89.37,92.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:92.21,94.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:97.2,100.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:100.31,102.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:102.38,104.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:104.37,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:109.3,122.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:122.26,124.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.3,125.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.19,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:131.3,133.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:133.39,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:135.9,137.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.3,138.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.17,140.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.3,142.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.34,144.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:145.3,145.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:148.2,155.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20.99,22.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:22.16,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:26.2,31.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:31.44,32.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:32.33,33.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:33.43,38.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.2,43.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.49,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.2,46.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.48,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:50.2,52.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:52.27,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:55.8,60.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:60.24,62.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.3,64.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.57,66.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:68.3,68.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.2,71.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.16,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:75.2,76.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:76.23,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:80.2,80.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:19.40,89.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:109.71,111.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:111.9,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:115.2,116.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:116.38,117.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:118.13,119.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:119.41,121.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:122.17,123.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:123.43,125.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:126.11,127.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:127.40,129.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.2,133.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.22,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:139.2,139.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:143.90,144.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:144.25,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:148.2,149.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:149.16,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:153.2,157.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:157.61,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:161.2,161.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:162.16,163.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:164.14,165.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:166.13,167.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:168.16,169.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:170.17,171.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:172.16,173.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:174.15,175.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:176.10,177.120 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:189.85,191.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:191.39,192.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:192.44,194.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.2,196.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.15,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.2,199.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.15,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:202.2,202.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:205.91,207.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:207.17,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:211.2,215.25 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:215.25,217.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:218.2,224.25 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:224.25,226.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.2,227.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.25,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:231.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:247.2,247.139 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:250.89,252.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:252.19,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:255.2,256.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:256.25,258.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:259.2,264.52 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:264.52,266.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:266.14,268.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:271.2,277.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:277.25,280.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:282.2,283.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:283.16,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.2,287.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.22,288.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:288.20,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:291.3,291.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:294.2,297.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:297.31,300.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:300.29,302.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:303.3,305.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:308.2,308.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:311.88,313.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:313.13,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:317.2,318.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:318.16,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:322.2,328.22 6 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:328.22,331.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.2,333.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.23,335.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:335.30,338.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:341.2,341.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:344.91,346.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:346.13,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:350.2,353.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:353.18,354.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:354.27,356.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.3,357.73 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.73,359.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.2,362.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.19,370.17 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:370.17,372.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:375.2,376.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:376.26,378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:379.2,379.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:382.92,384.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:384.13,386.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:388.2,389.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:389.16,391.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:393.2,401.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:401.16,403.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:405.2,405.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:408.91,410.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:410.13,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:414.2,418.95 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:418.95,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:422.2,422.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:425.90,427.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:427.13,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:431.2,433.167 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:433.167,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.2,437.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.89,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:441.2,441.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22.93,24.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:24.49,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:28.2,28.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:29.14,30.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:31.17,32.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:33.16,34.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:35.24,36.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:37.27,38.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:39.22,40.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:41.23,42.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:43.10,44.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48.79,49.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:49.13,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:57.2,58.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:58.32,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:61.2,84.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87.101,88.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:88.13,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.2,91.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.38,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.2,98.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.53,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:102.2,104.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:104.17,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.2,107.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.29,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:110.2,115.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118.100,119.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:119.13,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.2,122.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.38,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.2,129.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.53,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:133.2,135.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:135.17,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.2,138.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.29,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:141.2,146.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149.123,150.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:150.13,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.2,153.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.18,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.2,156.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.38,158.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:159.2,161.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:161.17,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:164.2,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172.113,173.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:173.13,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.2,176.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.50,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:179.2,181.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:181.17,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:184.2,188.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191.57,195.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197.102,198.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:198.13,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.2,201.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.20,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:204.2,205.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:205.16,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:209.2,210.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:210.32,212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:214.2,217.56 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:217.56,223.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:225.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233.41,235.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:235.16,237.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:238.2,238.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:35.27,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:42.41,43.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:44.48,45.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:46.10,47.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:54.57,55.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:56.17,57.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:58.16,59.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:60.10,61.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:82.58,83.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:84.28,85.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:86.26,87.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:88.10,89.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:93.114,95.68 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:95.68,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:99.2,101.42 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:101.42,102.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:102.71,105.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:107.2,117.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:117.23,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:121.2,124.22 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:124.22,125.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:125.31,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:128.3,128.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.8,129.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.37,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:132.2,132.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:135.74,136.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:136.30,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.2,139.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.34,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.2,142.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.31,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.2,145.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.22,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:161.169,162.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:162.17,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:165.2,166.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:166.51,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:169.2,169.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:172.92,174.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:174.42,177.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:177.63,179.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:179.9,181.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:183.2,183.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:186.65,190.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:192.115,194.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:194.26,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.8,196.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.31,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:199.2,199.117 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:202.122,206.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:206.31,207.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:207.45,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:211.2,211.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:214.72,216.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:218.117,219.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:222.2,223.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:223.20,225.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:225.17,227.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.3,228.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.27,229.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:229.50,231.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:231.30,232.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:236.3,236.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:239.2,241.60 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:241.60,243.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:243.61,245.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.3,246.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.24,247.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:249.3,250.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:250.17,252.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.3,253.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.22,254.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.3,256.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.29,257.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:257.50,259.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:259.30,260.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:264.3,265.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:265.32,266.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:269.2,269.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:272.51,273.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:273.16,275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:276.2,277.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:277.18,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.2,280.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.19,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:283.2,283.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:286.97,288.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:288.30,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.2,291.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.49,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:294.2,294.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:297.108,299.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:301.108,303.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:305.102,307.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:319.55,320.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:320.31,322.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.2,323.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.26,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:326.2,326.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:329.71,330.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:343.26,344.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:345.10,346.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:354.95,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:366.2,397.39 14 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:397.39,399.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:399.27,401.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:402.8,404.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:405.2,407.46 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:407.46,410.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.2,411.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.44,413.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:413.12,415.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.2,417.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.26,419.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.2,420.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.84,422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.2,427.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.65,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:431.2,433.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:433.20,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:436.2,437.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:437.20,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.2,440.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.56,442.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.2,443.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.56,448.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.2,450.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.45,453.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.2,459.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.31,461.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:461.22,462.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:462.62,465.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:466.4,466.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:468.3,468.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:471.2,472.115 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:472.115,474.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.2,491.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.19,493.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:493.23,495.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:496.3,508.21 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:508.21,510.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:511.3,511.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.2,522.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.43,535.34 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:535.34,556.30 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:556.30,558.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.4,559.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.44,561.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.4,562.106 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.106,564.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.4,575.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.74,577.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:578.4,579.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:579.18,581.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:583.4,584.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:584.28,586.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.4,588.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.31,599.57 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:599.57,601.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:601.17,604.7 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:606.5,607.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:607.21,609.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.5,615.138 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.138,617.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:617.27,619.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:620.6,620.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:622.5,623.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:623.26,625.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:626.5,626.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:630.4,631.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:631.20,633.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.4,634.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.22,637.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:637.26,639.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:640.5,640.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:645.4,660.77 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:660.77,662.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:663.4,664.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:664.25,666.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:667.4,667.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.2,673.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.26,675.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:677.2,678.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:678.25,680.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.2,681.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.97,683.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:690.2,691.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:691.21,693.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:693.33,695.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.3,696.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.33,698.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.3,699.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.49,704.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.3,721.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.54,722.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:722.84,724.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.2,728.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.99,730.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:732.2,733.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:733.22,735.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:736.109,737.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:738.100,739.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:740.114,741.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:742.107,743.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:744.11,745.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:748.2,749.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:749.43,751.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:753.2,755.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:755.34,756.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:756.48,757.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:757.19,760.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.2,764.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.31,767.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.2,768.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.35,771.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.2,772.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.76,776.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:778.2,780.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:780.16,782.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:782.20,785.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.2,788.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.25,798.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:798.18,800.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.9,800.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.30,807.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.3,808.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.36,810.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:811.3,812.50 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:812.50,815.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:816.3,822.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:822.17,824.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:826.3,836.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:836.17,838.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:839.3,839.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:842.2,843.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:843.30,844.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:844.52,846.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:846.9,848.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:851.2,869.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:869.21,871.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:871.43,873.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.3,874.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.29,876.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.3,886.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.76,888.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.2,890.105 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.105,892.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:893.2,894.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:894.16,896.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:901.2,904.40 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:904.40,905.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:905.15,906.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:909.3,910.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:910.63,912.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:912.9,914.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.3,916.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.43,918.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:919.3,920.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:920.20,922.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.3,925.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.23,928.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:929.3,931.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:931.33,934.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:934.39,936.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:939.2,948.42 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:948.42,950.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:950.21,952.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:952.9,955.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.2,959.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.53,960.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:960.54,961.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:961.33,963.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:964.9,972.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.3,973.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.60,974.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:974.40,976.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.3,978.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.61,979.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:979.41,981.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.3,983.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.28,985.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:986.3,987.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.2,989.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.51,991.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:995.2,997.53 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:997.53,999.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:999.8,1001.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.2,1002.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.22,1004.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1008.2,1014.76 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1014.76,1016.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.2,1021.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.57,1026.13 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1026.13,1029.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1029.21,1032.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.4,1033.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.49,1035.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1036.4,1043.89 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1043.89,1046.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1048.4,1048.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1052.2,1063.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1063.21,1065.40 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1065.40,1067.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.3,1068.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.38,1070.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1072.2,1074.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1074.18,1081.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.2,1082.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.28,1084.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.2,1085.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.16,1087.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.2,1088.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.30,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.2,1091.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.30,1093.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.2,1098.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.76,1100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1101.2,1102.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1102.16,1104.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1105.2,1105.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111.94,1113.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1113.15,1115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1117.2,1118.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1118.16,1120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1122.2,1123.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1123.13,1125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1126.2,1131.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1131.16,1133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.2,1134.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.19,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.2,1146.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.39,1148.55 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1148.55,1150.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.2,1152.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.39,1154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1157.2,1158.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1158.21,1163.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1163.21,1165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1166.3,1167.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1167.21,1169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.3,1170.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.52,1172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.3,1173.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.52,1178.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.3,1179.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.41,1182.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1183.3,1183.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.2,1188.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.46,1190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.2,1191.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.27,1193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1195.2,1196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1196.16,1198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1201.2,1210.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1210.16,1212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1213.2,1213.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218.59,1220.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1220.38,1222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1225.2,1226.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1226.29,1227.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1227.22,1229.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.2,1232.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.18,1234.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1237.2,1244.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1244.29,1245.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1245.67,1247.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.2,1249.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.16,1251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1254.2,1254.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258.55,1260.47 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1260.47,1262.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1263.2,1264.58 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1264.58,1266.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1267.2,1267.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270.252,1271.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1271.108,1273.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.2,1274.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.55,1276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1277.2,1277.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280.184,1282.69 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1282.69,1284.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1284.32,1285.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1285.58,1287.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.3,1290.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.18,1292.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.2,1294.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.19,1297.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1297.32,1298.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1298.39,1300.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.3,1303.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.19,1305.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.2,1307.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.21,1309.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1309.32,1310.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1310.49,1312.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.3,1315.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.18,1317.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.2,1319.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.28,1321.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1321.17,1323.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.3,1324.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.27,1326.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.2,1328.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.76,1330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1331.2,1331.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342.96,1343.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1343.26,1345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1347.2,1348.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1348.16,1350.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1352.2,1363.23 9 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1363.23,1364.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1364.58,1365.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1365.31,1367.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1367.10,1369.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.2,1373.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.17,1375.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.2,1376.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.16,1378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.2,1379.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.16,1381.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.2,1382.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.18,1384.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.2,1385.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.19,1387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.2,1388.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.19,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1396.2,1399.18 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1399.18,1400.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1400.61,1401.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1402.50,1403.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1404.12,1405.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1409.2,1410.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1410.42,1414.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1415.2,1420.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1420.16,1422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1429.2,1444.43 6 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1444.43,1446.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1449.2,1451.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1451.27,1453.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.2,1458.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.46,1460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.2,1461.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.63,1463.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1465.2,1466.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1466.15,1472.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1472.29,1479.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1479.18,1481.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.4,1482.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.23,1483.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.4,1485.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.30,1486.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1486.24,1488.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1488.32,1489.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1493.4,1494.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1494.30,1495.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1498.8,1504.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1504.29,1506.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1506.18,1508.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.4,1509.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.23,1510.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.4,1512.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.30,1513.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1513.24,1515.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1515.32,1516.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1520.4,1521.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1521.30,1522.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.2,1526.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.26,1528.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1528.17,1530.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.2,1535.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.74,1536.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1536.13,1537.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1537.33,1542.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1542.26,1544.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1544.39,1546.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1548.5,1548.82 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.2,1565.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.38,1569.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1569.27,1571.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.3,1572.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.27,1574.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1576.3,1581.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1581.32,1586.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1588.3,1592.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1592.18,1594.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1595.3,1596.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1596.17,1598.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1599.3,1599.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1602.2,1602.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1603.15,1618.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1618.32,1620.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1620.33,1621.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1621.40,1623.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1626.4,1638.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1640.3,1641.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1641.17,1643.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1644.3,1644.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1646.18,1648.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1648.17,1650.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1651.3,1651.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1653.10,1654.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1654.25,1656.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1657.3,1659.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1659.32,1661.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1661.33,1662.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1662.40,1664.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1667.4,1669.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1669.26,1671.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1672.4,1673.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1673.25,1675.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1676.4,1676.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1678.3,1678.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690.51,1695.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700.73,1702.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1702.16,1704.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1705.2,1706.48 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1706.48,1710.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1711.2,1713.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1713.16,1715.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1716.2,1716.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727.117,1731.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1731.21,1733.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1734.2,1735.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1735.16,1737.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1738.2,1739.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1739.27,1741.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1742.2,1742.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1764.19,1775.30 7 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1775.30,1777.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1777.37,1779.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.3,1781.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.20,1783.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.2,1797.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.39,1799.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1801.2,1811.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1811.25,1813.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1815.2,1816.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1816.29,1818.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.2,1824.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.27,1826.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1831.2,1833.22 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1833.22,1835.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1837.2,1846.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1846.16,1848.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1853.2,1855.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1855.27,1857.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1859.2,1876.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1876.33,1878.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1880.2,1881.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1881.28,1885.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1885.20,1888.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1888.33,1889.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1889.40,1891.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.4,1894.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.20,1895.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.3,1900.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.22,1902.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1902.33,1903.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1903.50,1905.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.4,1908.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.19,1909.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.3,1918.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.56,1919.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.3,1927.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.64,1928.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1932.3,1935.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1935.32,1936.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1936.39,1938.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1942.3,1956.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1956.14,1957.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1957.37,1959.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1961.3,1962.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1962.26,1963.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.2,1975.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.59,1986.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1986.17,1988.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1990.3,1991.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1991.34,1993.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1995.3,1996.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1996.29,1998.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1998.21,2001.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2001.34,2002.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2002.41,2004.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.5,2007.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.21,2008.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.4,2011.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.23,2013.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2013.34,2014.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2014.51,2016.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.5,2019.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.20,2020.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.4,2023.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.57,2024.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.4,2027.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.65,2028.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2030.4,2031.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2031.33,2032.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2032.40,2034.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2037.4,2051.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2051.15,2052.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2052.38,2054.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2056.4,2057.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2057.27,2058.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2065.2,2066.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2066.28,2068.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.2,2072.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.71,2080.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2080.30,2081.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2081.41,2087.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.3,2089.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.13,2090.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2090.31,2095.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2095.25,2097.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2097.38,2099.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2101.5,2101.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.2,2112.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.38,2115.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2115.27,2117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2121.3,2138.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2138.30,2140.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2140.11,2141.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2143.4,2160.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2160.15,2161.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2161.39,2163.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2165.4,2165.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2167.3,2173.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2173.24,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2176.3,2176.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2179.2,2179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2180.15,2182.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2182.24,2184.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2185.3,2185.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2187.18,2199.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2199.30,2201.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2201.11,2202.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2204.4,2208.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2208.15,2209.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2209.39,2211.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2213.4,2213.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2215.3,2216.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2216.24,2218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2219.3,2219.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2220.10,2221.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2221.22,2223.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2224.3,2226.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2226.27,2228.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2228.20,2230.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2231.4,2233.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2233.26,2235.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2236.4,2237.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2237.23,2239.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.4,2240.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.46,2244.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2245.4,2245.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2247.3,2247.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252.94,2254.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2254.16,2256.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2258.2,2260.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2260.18,2261.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2261.59,2262.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2262.36,2264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2264.10,2266.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.2,2270.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.13,2272.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.2,2273.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.50,2275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2277.2,2277.98 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281.98,2282.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2282.26,2284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2286.2,2287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2287.16,2289.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2291.2,2292.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2292.13,2294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2297.2,2298.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2298.19,2299.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2299.51,2301.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2302.3,2302.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.2,2304.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.42,2306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.2,2308.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.54,2309.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2309.48,2311.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2312.3,2312.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2316.2,2318.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17.82,19.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21.149,22.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:22.55,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.2,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.36,27.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:28.2,34.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:34.16,36.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.2,37.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.42,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:40.2,40.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43.105,44.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:44.48,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:47.2,48.54 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51.129,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:56.2,57.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:57.53,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:60.2,61.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:61.25,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:64.2,65.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:65.16,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:68.2,68.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26.97,27.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:27.18,29.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:30.2,30.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33.37,35.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37.81,38.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:38.44,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.2,41.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.38,43.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:44.2,44.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47.88,48.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:48.32,50.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:51.2,52.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:52.20,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:55.2,55.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58.40,72.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74.106,75.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:75.34,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:78.2,79.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:79.16,81.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:83.2,84.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:88.2,89.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:89.13,91.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:93.2,94.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:94.63,96.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.2,98.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.72,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:102.2,106.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109.117,110.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:110.32,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.2,113.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.34,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:117.2,118.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:118.16,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.2,121.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.19,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:125.2,126.69 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:126.69,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:130.2,136.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18.33,20.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22.27,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39.93,40.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:40.30,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.2,43.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.28,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:46.2,47.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:47.16,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:51.2,52.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:52.17,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:55.2,56.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:56.19,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.2,59.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.19,61.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:62.2,63.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:63.16,65.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:67.2,74.9 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:74.9,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:77.2,78.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:78.15,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:81.2,85.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:85.16,87.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.2,88.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.17,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:92.2,101.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104.48,105.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:108.2,109.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:109.29,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.2,112.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.31,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:115.2,115.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118.75,120.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:120.27,121.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:121.32,123.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:123.17,124.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:126.4,126.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:129.2,134.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:134.33,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.2,137.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.40,138.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:138.39,140.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:141.3,141.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.2,143.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.34,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:146.2,147.35 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:147.35,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:150.2,150.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153.77,154.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:154.20,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:157.2,159.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:159.31,160.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:160.33,162.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.3,163.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.30,165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:167.2,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23.91,25.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27.38,50.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52.104,53.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:53.38,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:56.2,57.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:61.2,62.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:62.26,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:65.2,66.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:66.30,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.2,69.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.72,71.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:73.2,74.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:77.2,78.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:78.16,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:81.2,82.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:82.16,84.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:85.2,86.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:90.2,105.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.2,109.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.19,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.2,118.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.25,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.2,121.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.30,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.2,124.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.31,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:131.2,131.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134.91,136.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:136.9,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:139.2,140.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:140.15,141.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:141.19,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:144.3,144.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:146.2,146.94 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149.59,150.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:150.16,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:153.2,154.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:154.61,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:157.2,157.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160.56,161.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:161.75,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:164.2,164.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167.67,169.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:170.17,171.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:172.67,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:174.10,175.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179.60,180.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:183.2,184.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:184.25,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:187.2,187.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190.57,191.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:192.15,193.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:193.81,195.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:196.3,196.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:197.19,199.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:199.17,201.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.3,202.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.55,204.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:205.3,205.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:206.14,207.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:208.11,209.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:210.10,211.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215.59,216.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:216.16,218.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:219.2,219.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:220.12,221.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:222.14,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:224.10,225.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:28.90,30.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:30.16,32.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:34.2,36.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:37.16,38.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:40.16,42.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:44.20,46.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:48.17,50.142 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:52.17,56.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:56.50,62.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:62.63,64.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.4,66.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.45,68.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:72.4,74.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:74.25,76.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:77.4,77.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:80.3,80.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:82.18,84.141 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:86.18,88.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:88.18,90.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:91.3,91.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:93.17,96.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:96.50,99.59 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:99.59,101.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:102.4,104.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:104.25,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:107.4,107.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:110.3,110.98 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:112.10,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:125.86,126.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:129.2,130.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:130.9,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.2,133.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.22,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:137.2,139.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:139.31,141.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:141.10,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:144.3,145.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:145.22,147.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:148.3,149.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:149.26,151.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.3,152.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.68,154.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:155.3,156.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:156.37,158.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:159.3,160.107 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:162.2,162.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:165.249,166.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:166.24,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.2,169.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.38,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:173.2,174.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:174.31,175.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:175.32,177.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:180.2,181.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:181.34,182.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:182.29,183.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:185.3,197.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:197.17,199.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.3,200.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.20,201.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.3,203.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.37,205.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:205.33,206.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.4,208.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.19,209.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:209.43,210.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:212.5,212.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:214.4,215.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:215.30,216.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:220.2,220.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:223.113,229.2 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:231.101,233.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:247.92,251.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:251.16,253.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.8,253.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:259.2,272.51 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:272.51,274.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:274.38,275.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:276.50,277.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:278.12,279.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:287.2,292.26 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:292.26,294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.2,297.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.19,301.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:303.2,311.42 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:311.42,315.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:316.2,341.64 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:341.64,342.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:342.86,344.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.3,345.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.56,347.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:348.3,360.19 6 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:360.19,364.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:365.3,365.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:369.2,370.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:370.15,372.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:372.27,374.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.3,375.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.27,377.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:380.2,381.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:381.15,387.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:387.28,395.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:395.18,397.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.4,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.23,399.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.4,401.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.30,402.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:402.66,403.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:405.5,406.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:406.12,407.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.5,409.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.28,413.6 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:414.5,415.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:415.30,416.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:419.4,420.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:420.30,421.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:424.8,432.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:432.28,438.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:438.18,440.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.4,441.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.23,442.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.4,444.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.30,445.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:445.40,447.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:447.31,448.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:452.4,455.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:455.30,456.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:461.2,465.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:465.17,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:469.2,470.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:470.16,472.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:473.2,473.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20.79,21.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:21.43,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.2,24.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.29,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:27.2,27.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30.40,63.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65.68,71.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:71.25,74.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:75.2,75.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78.62,83.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:83.19,87.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:88.2,88.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91.101,92.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:92.22,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:95.2,96.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:96.18,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:103.2,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:107.2,107.119 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110.99,111.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:111.22,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:114.2,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:115.18,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:118.2,119.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:119.16,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.2,122.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.51,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:129.2,131.15 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:131.15,132.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:132.69,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:135.3,135.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:137.2,137.130 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140.102,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.2,145.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.64,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:148.2,148.113 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151.109,153.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:157.16,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:160.2,161.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:161.16,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:164.2,164.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167.107,169.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:169.16,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:172.2,173.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:173.16,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.2,176.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.107,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:179.2,179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:180.41,181.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:182.41,183.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:184.10,185.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189.111,191.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:191.16,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:194.2,195.57 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:195.57,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:198.2,199.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:199.23,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.2,206.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.17,208.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:209.2,209.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212.63,215.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217.69,219.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:222.2,222.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225.60,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:230.2,230.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233.137,234.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:234.49,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:241.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:246.2,247.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:247.16,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.2,250.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.22,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:253.2,253.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256.142,258.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:258.16,260.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:261.2,262.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:262.16,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.2,265.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.47,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:268.2,269.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:269.16,270.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:270.50,272.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:273.3,273.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:275.2,275.173 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278.157,280.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:280.16,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.2,283.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.47,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:286.2,287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:287.16,288.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:288.50,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:291.3,291.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:293.2,293.169 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296.104,297.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:297.22,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:300.2,301.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:301.61,303.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:303.20,304.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.2,307.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.19,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:310.2,317.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320.119,322.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:322.39,323.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:323.81,325.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:327.2,327.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330.71,332.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:332.16,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:335.2,335.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17.61,105.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:105.23,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:123.2,123.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126.104,127.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:127.61,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.2,130.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.38,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:133.2,134.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:137.2,138.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:138.16,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:141.2,147.107 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:147.107,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:150.2,151.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:151.16,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:154.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:170.19,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:173.2,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176.103,177.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:177.61,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.2,180.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.38,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:187.2,191.106 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:191.106,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:194.2,195.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:195.16,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:198.2,200.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:200.31,207.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:207.36,218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:219.3,220.35 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:222.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233.107,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.2,237.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.38,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:240.2,241.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:241.16,243.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:244.2,248.110 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:248.110,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:251.2,252.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:252.16,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:255.2,256.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:256.33,266.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:267.2,275.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278.108,279.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:279.61,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.2,282.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.37,284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:285.2,286.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:286.16,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:289.2,290.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:290.19,292.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.2,293.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.104,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:296.2,297.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:297.16,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:300.2,307.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:307.16,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:310.2,311.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:311.43,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:319.2,332.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:332.22,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:335.2,335.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338.108,339.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:339.62,341.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.2,342.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.38,344.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:345.2,346.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:346.9,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:349.2,350.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:350.16,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:353.2,357.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:360.2,370.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373.109,374.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:374.62,376.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.2,377.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.38,379.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:380.2,381.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:381.9,383.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:384.2,385.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:385.16,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:388.2,390.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:390.32,392.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:393.2,394.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:394.16,396.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:397.2,403.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406.106,407.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:407.62,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.2,410.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.38,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:413.2,414.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:414.9,416.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:417.2,418.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:418.16,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:421.2,423.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:423.16,424.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:424.41,434.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:435.3,435.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:437.2,445.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483.65,484.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:484.42,485.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:485.39,487.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.2,489.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.85,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:492.2,492.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495.102,496.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:496.38,498.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.2,499.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.58,501.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:502.2,502.90 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505.60,508.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510.66,512.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:512.26,514.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:515.2,515.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518.69,521.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:521.33,523.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:523.21,524.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.3,526.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.34,527.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:529.3,530.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:532.2,532.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535.63,537.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:537.19,539.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:540.2,541.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:541.42,543.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.2,544.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.57,546.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.2,547.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.54,549.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:550.2,550.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553.70,557.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559.66,561.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:561.9,563.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:564.2,566.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:566.17,568.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:569.2,569.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:570.103,572.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:573.34,574.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:575.10,576.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580.56,581.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:581.37,583.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.2,584.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.26,586.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:586.37,587.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:589.3,589.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:591.2,591.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594.90,602.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604.68,605.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:605.71,607.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:607.17,609.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:610.3,610.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:612.2,613.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:613.16,615.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:616.2,617.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:617.41,619.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:620.2,620.78 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623.65,625.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:625.16,627.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.2,628.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.17,630.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:631.2,631.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634.51,635.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:635.16,637.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:638.2,638.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641.56,642.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:642.28,644.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:645.2,646.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649.92,651.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:651.29,653.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:654.2,654.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657.86,659.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:659.29,661.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:662.2,662.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665.94,667.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:667.29,669.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:670.2,670.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673.98,675.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:675.29,677.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:678.2,678.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:17.93,18.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:18.104,20.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:22.2,23.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:23.16,25.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:27.2,28.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:28.19,30.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:32.2,35.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:35.33,36.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:36.47,39.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:42.2,44.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:44.20,47.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:48.2,49.68 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:49.68,50.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:50.48,52.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.3,53.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.32,55.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:55.23,56.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:56.63,58.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:59.5,59.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:61.4,61.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:64.2,71.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:71.17,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.8,73.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.29,75.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:75.36,77.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:78.3,83.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.2,86.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.35,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:90.2,97.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:101.2,110.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:110.28,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:113.2,124.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:133.93,134.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:134.35,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:138.2,139.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:139.16,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:143.2,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.2,147.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.17,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:151.2,152.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:152.33,153.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:153.47,156.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:160.16,162.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:164.2,176.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:176.26,178.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:178.23,180.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:181.3,192.5 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:195.2,196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:199.2,199.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:22.104,24.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:24.16,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:28.2,29.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:29.18,31.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:33.2,33.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:34.13,35.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:36.13,37.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:38.14,39.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:40.16,41.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:42.10,43.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:51.67,53.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:57.68,58.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:58.33,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:61.2,61.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:67.42,69.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:74.61,76.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:76.26,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:79.2,79.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:85.90,86.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:86.49,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:90.2,91.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:91.15,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:94.2,95.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:95.17,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:100.2,103.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:103.16,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:107.2,113.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:113.12,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:115.18,117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:118.3,119.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:119.20,121.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:122.3,124.48 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:125.8,127.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:129.2,130.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:130.16,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:134.2,139.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:145.90,147.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:151.2,152.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:152.16,154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:157.16,158.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:158.47,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:161.3,161.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:164.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:170.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:173.8,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:176.2,176.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:181.92,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:187.2,188.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:188.16,190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:192.2,200.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:200.25,207.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:207.28,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:210.3,210.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:212.2,212.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:216.93,217.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:217.52,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:221.2,222.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:222.15,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:226.2,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.2,231.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.47,232.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:232.47,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:235.3,235.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:238.2,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:35.127,36.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:36.23,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:39.2,40.40 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:40.40,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.2,43.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.37,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.2,46.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.37,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:49.2,49.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:52.23,80.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:82.26,140.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:142.92,143.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:143.25,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:147.2,148.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:148.49,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:152.2,152.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:153.17,154.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:154.24,156.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:157.3,158.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:158.17,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:161.3,165.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:166.17,167.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:167.22,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.3,170.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.22,172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:173.3,174.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:174.17,176.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:177.3,181.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:182.16,189.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:189.23,191.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.3,192.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.24,194.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.3,195.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.39,197.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:198.3,207.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:207.17,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.3,210.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.69,212.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:213.3,213.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:214.10,215.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:219.92,220.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:220.25,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:224.2,225.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:225.49,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:229.2,229.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:230.17,232.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:232.24,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:235.3,236.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:236.17,238.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.3,239.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.59,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.3,242.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.81,244.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:245.3,250.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:251.17,253.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:253.22,255.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:256.3,257.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:257.17,259.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.3,260.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.79,262.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:263.3,268.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:269.10,270.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:274.91,276.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:276.16,278.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.2,279.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.67,280.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:280.76,282.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:285.2,286.52 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:286.52,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:289.2,289.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:292.74,294.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:294.16,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.2,297.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.62,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:300.2,300.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:303.109,304.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:304.56,306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.2,307.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.25,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.2,310.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.81,312.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.2,313.102 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.102,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.2,316.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.108,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.2,319.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.99,321.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.2,322.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.99,324.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.2,325.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.60,327.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.2,328.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.34,330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.2,331.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.114,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.2,334.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.66,336.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.2,337.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.40,339.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.2,340.132 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.132,342.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.2,343.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.35,345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:346.2,346.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:349.92,350.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:350.103,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:354.2,355.52 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:355.52,357.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.2,358.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.32,360.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:361.2,361.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:364.108,365.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:365.19,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:368.2,369.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:369.53,371.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.2,372.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.19,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.2,375.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.39,376.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:376.34,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:380.2,380.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:383.66,385.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:385.53,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.2,388.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.19,390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:391.2,391.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:16.2,18.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:19.16,20.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:21.14,22.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:23.15,24.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:25.16,26.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:27.10,28.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21.75,23.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25.41,28.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30.31,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39.38,46.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48.50,56.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58.43,70.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72.80,73.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:73.36,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.2,76.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.48,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:79.2,79.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82.97,84.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:87.2,88.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:88.16,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:91.2,92.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:92.16,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:95.2,96.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:96.16,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:99.2,99.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102.104,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:111.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:115.2,116.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:116.16,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:119.2,119.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122.96,124.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:127.2,128.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:128.19,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:131.2,132.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:132.18,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:135.2,141.79 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:141.79,143.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:143.17,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:146.3,146.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:148.2,148.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151.77,153.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:156.2,157.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:157.19,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:160.2,160.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:22.15,23.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:24.13,25.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:26.14,27.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:28.16,29.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:30.16,31.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:32.10,33.102 1 0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/create-database.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/create-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/create-database.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/create-database.stdout.log new file mode 100644 index 00000000..4b15bd57 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/create-database.stdout.log @@ -0,0 +1 @@ +CREATE DATABASE diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/create-pgvector.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/create-pgvector.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/create-pgvector.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/create-pgvector.stdout.log new file mode 100644 index 00000000..d26bad14 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/create-pgvector.stdout.log @@ -0,0 +1 @@ +CREATE EXTENSION diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/database-identity.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/database-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/database-identity.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/database-identity.stdout.log new file mode 100644 index 00000000..144d7bc8 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/database-identity.stdout.log @@ -0,0 +1 @@ +{"database" : "engram_prc_rg_test_ec4161b3fdcd0ac8_r1", "schema" : "public", "server_version" : "17.10 (Debian 17.10-1.pgdg12+1)", "user" : "engram"} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/go-test-summary.json b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/go-test-summary.json new file mode 100644 index 00000000..d15cdc43 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/go-test-summary.json @@ -0,0 +1,40 @@ +{ + "schema_version": 1, + "verdict": "PASS", + "input_path": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\go-test.stdout.jsonl", + "fail_on_unexpected_skip": true, + "allowed_skip_identities": [], + "counts": { + "packages": 1, + "tests": 1, + "passed": 1, + "failed": 0, + "skipped": 0, + "no_tests": 0, + "zero_tests": 0, + "incomplete": 0, + "unexpected_skips": 0, + "malformed_lines": 0 + }, + "packages": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "outcome": "pass", + "elapsed_seconds": 4.047, + "last_output": "ok \tgithub.com/thebtf/engram/internal/mcp\t4.039s\tcoverage: 0.1% of statements", + "tests_observed": 1 + } + ], + "tests": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEC_F1_TagDerivedBackfill_T007", + "outcome": "pass", + "elapsed_seconds": 3.91, + "last_output": "--- PASS: TestEC_F1_TagDerivedBackfill_T007 (3.91s)", + "skip_allowed": false + } + ], + "unexpected_skips": [], + "errors": [] +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/go-test.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/go-test.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/go-test.stdout.jsonl b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/go-test.stdout.jsonl new file mode 100644 index 00000000..ac618ffc --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/go-test.stdout.jsonl @@ -0,0 +1,16 @@ +{"Time":"2026-07-11T04:00:15.4043575+03:00","Action":"start","Package":"github.com/thebtf/engram/internal/mcp"} +{"Time":"2026-07-11T04:00:15.4995228+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007"} +{"Time":"2026-07-11T04:00:15.4995228+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"=== RUN TestEC_F1_TagDerivedBackfill_T007\n"} +{"Time":"2026-07-11T04:00:16.3902512+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"warn\",\"error\":\"ERROR: relation \\\"observation_vectors\\\" does not exist (SQLSTATE 42P01)\",\"time\":\"2026-07-11T04:00:16+03:00\",\"message\":\"migration 040: orphan vector cleanup failed (non-fatal)\"}\n"} +{"Time":"2026-07-11T04:00:16.3907511+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"garbage_deleted\":0,\"orphan_vectors_deleted\":0,\"time\":\"2026-07-11T04:00:16+03:00\",\"message\":\"migration 040: garbage cleanup complete\"}\n"} +{"Time":"2026-07-11T04:00:16.39975+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"orphan_vectors_deleted\":0,\"time\":\"2026-07-11T04:00:16+03:00\",\"message\":\"migration 041: orphan vector purge complete\"}\n"} +{"Time":"2026-07-11T04:00:16.4087515+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"patterns_deleted\":0,\"time\":\"2026-07-11T04:00:16+03:00\",\"message\":\"migration 042: low-quality pattern purge complete\"}\n"} +{"Time":"2026-07-11T04:00:16.4437515+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"total_deleted\":0,\"time\":\"2026-07-11T04:00:16+03:00\",\"message\":\"migration 043: radical observation cleanup complete\"}\n"} +{"Time":"2026-07-11T04:00:17.7307513+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"warn\",\"error\":\"ERROR: extension \\\"vectorscale\\\" is not available (SQLSTATE 0A000)\",\"time\":\"2026-07-11T04:00:17+03:00\",\"message\":\"migration 109: vectorscale extension not available, skipping DiskANN index\"}\n"} +{"Time":"2026-07-11T04:00:19.0254877+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T04:00:19+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T04:00:19.4070204+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"--- PASS: TestEC_F1_TagDerivedBackfill_T007 (3.91s)\n"} +{"Time":"2026-07-11T04:00:19.4070204+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Elapsed":3.91} +{"Time":"2026-07-11T04:00:19.4070204+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"PASS\n"} +{"Time":"2026-07-11T04:00:19.4245187+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"coverage: 0.1% of statements\n"} +{"Time":"2026-07-11T04:00:19.45102+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"ok \tgithub.com/thebtf/engram/internal/mcp\t4.039s\tcoverage: 0.1% of statements\n"} +{"Time":"2026-07-11T04:00:19.45102+03:00","Action":"pass","Package":"github.com/thebtf/engram/internal/mcp","Elapsed":4.047} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/pg-stat-activity-after.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/pg-stat-activity-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/pg-stat-activity-after.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/pg-stat-activity-after.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/pg-stat-activity-after.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/pg-stat-activity-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/pg-stat-activity-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/repeat-summary.json b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/repeat-summary.json new file mode 100644 index 00000000..d3a1fc13 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/repeat-summary.json @@ -0,0 +1,33 @@ +{ + "repeat": 1, + "verdict": "PASS", + "database": "engram_prc_rg_test_ec4161b3fdcd0ac8_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_ec4161b3fdcd0ac8_r1.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": false, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 0, + "json_parser_exit": 0, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\cleanup\\cleanup.json", + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01" +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/server-connection-count-after.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/server-connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/server-connection-count-after.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/server-connection-count-after.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/server-connection-count-after.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/server-connection-count-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/server-connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/server-connection-count-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/server-connection-count-before.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/server-connection-count-before.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/targeted-coverage.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/targeted-coverage.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/targeted-coverage.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/targeted-coverage.stdout.log new file mode 100644 index 00000000..c958686c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/repeat-01/targeted-coverage.stdout.log @@ -0,0 +1,352 @@ +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33: effectiveAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44: isAuditEnabled 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52: runAuditAsync 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77: marshalState 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92: logAuditCreate 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117: logAuditEdit 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142: logAuditDelete 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166: logAuditGeneric 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189: logAuditSupersede 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:30: parseArgs 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:46: coerceString 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:67: coerceInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:97: coerceInt64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:127: coerceFloat64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:151: coerceBool 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:177: coerceStringSlice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:204: coerceInt64Slice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:222: clampToInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:236: clampInt64ToInt 0.0% +github.com/thebtf/engram/internal/mcp/context.go:17: extractProjectFromHeader 0.0% +github.com/thebtf/engram/internal/mcp/context.go:22: contextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:29: ContextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:35: projectFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:41: contextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:48: ContextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:54: sessionFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:61: actorFromContext 0.0% +github.com/thebtf/engram/internal/mcp/health.go:22: NewMCPHealth 0.0% +github.com/thebtf/engram/internal/mcp/health.go:29: RecordRequest 0.0% +github.com/thebtf/engram/internal/mcp/health.go:36: RecordError 0.0% +github.com/thebtf/engram/internal/mcp/health.go:42: rotateWindowIfNeeded 0.0% +github.com/thebtf/engram/internal/mcp/health.go:55: HandleHealth 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28: ruleGovernanceCaptureEnabled 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39: captureActiveRuleIntent 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104: ruleIntentFingerprint 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113: marshalRuleCandidateIntentResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:127: NewServer 100.0% +github.com/thebtf/engram/internal/mcp/server.go:141: SetBackfillStatusFunc 0.0% +github.com/thebtf/engram/internal/mcp/server.go:146: SetVersionedDocumentStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:151: SetIssueStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:156: SetMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:161: SetMetaMemoryIndex 0.0% +github.com/thebtf/engram/internal/mcp/server.go:166: SetHintQueue 0.0% +github.com/thebtf/engram/internal/mcp/server.go:171: SetStateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:176: SetDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/server.go:181: SetBehavioralRulesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:186: SetRuleGovernanceStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:191: SetRuleInjectionTelemetryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:195: SetPromotionStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:199: SetGraphStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:204: SetNodesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:211: SetAuditStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:216: SetPurgeStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:222: SetCandidateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:228: SetSnapshotStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:234: SetBulkFacade 0.0% +github.com/thebtf/engram/internal/mcp/server.go:240: setTestAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/server.go:246: setTestMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/server.go:252: setTestMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/server.go:260: SetWriteLintOrchestrator 0.0% +github.com/thebtf/engram/internal/mcp/server.go:269: SetRedactionRules 0.0% +github.com/thebtf/engram/internal/mcp/server.go:274: SetEmbeddingStores 0.0% +github.com/thebtf/engram/internal/mcp/server.go:282: SetRerankClient 0.0% +github.com/thebtf/engram/internal/mcp/server.go:290: SetStatsDB 0.0% +github.com/thebtf/engram/internal/mcp/server.go:297: HandleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:303: ListTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:332: Version 0.0% +github.com/thebtf/engram/internal/mcp/server.go:383: Run 0.0% +github.com/thebtf/engram/internal/mcp/server.go:427: handleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:461: handleNotification 0.0% +github.com/thebtf/engram/internal/mcp/server.go:473: handleInitialize 0.0% +github.com/thebtf/engram/internal/mcp/server.go:496: buildInstructions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:660: storeMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:712: recallMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:805: primaryTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:942: handleToolsList 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1612: handleToolsCall 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1644: sanitizeToolCallArgs 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1656: callTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1874: sendResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1884: sendError 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1896: handleFindSimilarObservations 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1927: handleGetMemoryStats 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2055: handleBackfillStatus 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2071: handleCheckSystemHealth 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2216: handleAnalyzeSearchPatterns 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2246: handleSearchSessions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2251: handleListSessions 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:18: buildAdminTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:68: adminActionsForEnv 33.3% +github.com/thebtf/engram/internal/mcp/tools_admin.go:80: vnextEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:84: handleAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:120: handlePurgeProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27: ambientHintsEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32: ambientHintsTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48: handleGetAmbientHints 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86: normalizeAmbientHintsToolLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96: ambientHintItems 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114: errMissingSessionID 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:31: handleGetMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:107: memoryBriefUsesPrincipalScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:115: handlePrincipalMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:259: truncateBriefContent 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:270: filterInjectionByScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25: bulkOpsTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95: handleBulkPromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154: handleBulkDelete 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211: handleBulkSupersede 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31: candidateItemFromDomain 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51: newCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59: requireCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68: candidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165: handleListCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208: handleGetCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239: handlePromoteCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348: handleRejectCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402: handleSupersedeCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34: codeIntelEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42: SetCodeChunkStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48: codebaseSearchTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79: codebaseStatusTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100: handleCodebaseSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194: handleCodebaseStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:21: getVault 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:35: credentialStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:49: handleStoreCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:130: handleGetCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:192: handleListCredentials 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:243: handleDeleteCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:302: handleVaultStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:338: expandTagHierarchy 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:16: directivesCaptureEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:20: rememberDirectiveTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:38: currentDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:48: handleRememberDirective 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:72: parseRememberDirectiveArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10: handleDocsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:15: handleListCollections 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:61: handleListDocuments 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:121: handleGetDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:165: handleRemoveDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:197: handleIngestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:235: handleSearchCollection 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15: handleDocCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61: handleDocRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117: handleDocUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122: handleDocList 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175: handleDocHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232: handleDocComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19: SetExperienceProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23: experienceHistoryTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40: experienceHistoryReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65: experienceHistoryDetailSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82: experienceHistoryTriggerEnum 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91: handleExperienceHistoryRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103: handleExperienceHistoryDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115: parseExperienceHistoryReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142: parseExperienceHistoryDetailArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157: experienceHistoryTriggersFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180: marshalExperienceHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12: handleFeedbackConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36: handleSetSessionOutcome 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:27: governanceTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:98: handleListSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:167: handleRollbackSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:215: handlePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:258: handleRedactionRulesStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:284: resolveGovernanceActor 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:64: handleGraph 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:100: graphAddEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:216: mcpGraphEndpointExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:243: mcpGraphEdgeAlreadyExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:276: graphAddNode 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:317: graphRemoveEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:332: graphGetEdges 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:397: filterEdgesByNodeType 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:457: graphTraverse 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:480: graphFindPath 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:502: graphSynonyms 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23: graphCreateEdgeWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80: graphEndpointExistsWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114: graphDuplicateEdgeExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25: handleIngest 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43: ingestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20: handleImportInstincts 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:19: issuesToolSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:109: validateIssueActionParams 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:143: handleIssues 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:189: resolveSourceProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:205: handleIssueCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:250: handleIssueList 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:311: handleIssueGet 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:344: handleIssueUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:382: handleIssueComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:408: handleIssueReopen 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:425: handleIssueClose 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22: handleLifecycle 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48: lifecycleInfo 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87: lifecyclePromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118: lifecycleDemote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149: lifecycleSetConfidence 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172: lifecycleSetDefeasibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191: lifecycleSleepStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197: lifecycleDecayPreview 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233: marshalJSON 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:35: vnextFEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:42: isValidPrivacyScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:54: derivePrivacyScopeFromLegacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:82: deriveLegacyScopeFromPrivacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:93: applyPrincipalMemoryMetadata 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:135: addPrincipalMemoryFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:161: newScopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:172: writeLintVisibilityCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:186: writeLintVisibilityOptions 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:192: scopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:202: filterVisibleWriteGateCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:214: domainManageAllowed 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:218: List 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:272: writeLintVisibilityFetchLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:286: Get 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:297: Create 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:301: Update 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:305: MarkSuperseded 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:319: effectiveMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:329: isValidStoreObservationType 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:354: handleStoreMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111: handleEditMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218: computeTTLDays 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258: truncateTitle 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270: keepRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280: keepRecallMemoryFilters 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342: handleRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690: staleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700: marshalWithStaleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727: Rank 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1751: handleRecallMemoryHybrid 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252: handleRateMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281: handleSuppressMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17: SetDomainRegistryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21: checkDomainWriteMCP 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43: addDomainWriteDecisionFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51: marshalStoreMemoryAugmented 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26: newMemoryStoreSignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33: s6OutcomeEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37: effectiveMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47: currentMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58: rateMemorySignificanceTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74: handleRateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109: RateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18: s2MetaMemoryEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22: knowAboutTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39: handleKnowAbout 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104: parseKnowAboutLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118: summarizeMetaIndexTags 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153: summarizeMetaIndexDateRange 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23: SetPrincipalMemoryQueryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27: principalMemoryQueryTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52: handleQueryPrincipalMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134: principalMemoryQueryCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149: parsePrincipalMemoryQueryLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160: principalMemoryQueryText 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167: parsePrincipalMemoryQueryVisibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179: parsePrincipalMemoryQueryOffset 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190: parsePrincipalMemoryQueryInt 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215: parsePrincipalMemoryQueryBool 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:28: handleRecall 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:125: parseRecallIncludedPrincipals 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:165: appendRecallIncludedPrincipalMemories 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:223: recallIncludeTargetMatchesCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:231: recallPrincipalQueryItemToMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:247: handleRecallSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20: currentReviewLoopCandidateLister 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30: reviewLoopCandidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65: reviewLoopReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78: reviewPacketIDSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91: handleReviewMetricsRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110: handleReviewQueueRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140: handleReviewPacketDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151: handleReviewPacketPreviewAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167: handleReviewPacketApplyAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189: parseReviewLoopReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212: reviewLoopMCPPacketTypeSupported 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217: reviewLoopActionFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225: reviewLoopReasonFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233: loadReviewPacketCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256: applyReviewPacketPreserve 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278: applyReviewPacketSuppress 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296: reviewLoopMemoryFromCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320: filterRiskyMCPReviewCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330: marshalReviewLoop 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17: ruleGovernanceReadTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126: handleRuleGovernanceHealth 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176: handleRuleGovernanceQueue 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233: handleRuleGovernanceSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278: handleRuleGovernanceUsefulness 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338: handleRuleGovernanceTransition 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373: handleRuleGovernancePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406: handleRuleGovernanceRollback 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483: requireRuleGovernanceReadAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495: requireRuleGovernanceProjectOrAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505: ruleGovernanceCallerIsAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510: requireRuleGovernanceAdminAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518: redactRuleGovernanceEvidenceHandles 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535: redactRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553: ruleGovernanceEvidenceHandleHasSensitiveText 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559: isCanonicalRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580: isSafeRuleGovernanceEvidenceID 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594: parseRuleGovernanceTransitionRequest 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604: parseRuleGovernanceSince 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623: boundedRuleGovernanceLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634: formatRuleGovernanceTime 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641: formatRuleGovernanceTimePtr 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649: stringRuleCandidateStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657: stringRuleVersionStateCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665: stringRuleArbiterRunStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673: stringRuleInjectionEventTypeCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:17: handleStoreRule 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:133: handleListRules 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:22: handleSettingsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:51: SetSettingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:57: settingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:67: isSecretSettingKey 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:74: requireAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:85: handleSetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:145: handleGetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:181: handleListSettings 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:216: handleDeleteSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:35: resumeScopesFromFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:52: stateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:82: setStateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:142: handleGetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:219: handleSetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:274: decodeSessionStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:292: validateSessionStateBudget 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:303: validateNativeResumePacket 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:349: decodeProjectStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:364: requireStateObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:383: requireNestedObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10: handleStoreConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21: SetTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25: temporalTruthEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30: temporalTruthTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39: temporalTruthRefreshTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48: temporalTruthRefreshSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58: temporalTruthSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72: currentTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82: handleTemporalTruth 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102: handleTemporalTruthRefresh 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122: parseTemporalTruthArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151: parseTemporalTruthRefreshProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10: handleVaultConsolidated 0.0% +total: (statements) 0.1% diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/summary.json b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/summary.json new file mode 100644 index 00000000..f17c6e6f --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-ambient-true-false-green/summary.json @@ -0,0 +1,64 @@ +{ + "schema_version": 1, + "gate": "release-gates-foundation", + "run_id": "parent-ambient-true-false-green", + "started_at": "2026-07-11T01:00:09.7195099+00:00", + "finished_at": "2026-07-11T01:00:24.7128368+00:00", + "duration_seconds": 14.993, + "verdict": "PASS", + "counts": { + "requested_repeats": 1, + "completed_repeats": 1, + "passed_repeats": 1, + "failed_repeats": 0, + "child_commands": 16, + "nonzero_child_commands": 0 + }, + "packages": [ + "./internal/mcp" + ], + "run_pattern": "^TestEC_F1_TagDerivedBackfill_T007$", + "coverage_policy": "Targeted", + "connection_budget": 20, + "race": false, + "database_dsn": "REDACTED_DATABASE_DSN", + "environment": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\environment.json", + "commands": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\commands.json", + "repeats": [ + { + "repeat": 1, + "verdict": "PASS", + "database": "engram_prc_rg_test_ec4161b3fdcd0ac8_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_ec4161b3fdcd0ac8_r1.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": false, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 0, + "json_parser_exit": 0, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01\\cleanup\\cleanup.json", + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green\\repeat-01" + } + ], + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-ambient-true-false-green" +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/commands.json b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/commands.json new file mode 100644 index 00000000..2ec8267a --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/commands.json @@ -0,0 +1,444 @@ +[ + { + "name": "go-version", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "version" + ], + "environment_keys": [], + "command": "C:\\Program Files\\Go\\bin\\go.exe version", + "started_at": "2026-07-11T00:55:50.4248591+00:00", + "finished_at": "2026-07-11T00:55:50.6303477+00:00", + "duration_seconds": 0.205, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\go-version.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\go-version.stderr.log" + }, + { + "name": "postgres-container-identity", + "executable": "docker", + "arguments": [ + "inspect", + "--format", + "{{.Name}}|{{.Config.Image}}|{{.Image}}|{{.State.Running}}", + "engram-prc-postgres" + ], + "environment_keys": [], + "command": "docker inspect --format {{.Name}}|{{.Config.Image}}|{{.Image}}|{{.State.Running}} engram-prc-postgres", + "started_at": "2026-07-11T00:55:50.6840195+00:00", + "finished_at": "2026-07-11T00:55:50.9380590+00:00", + "duration_seconds": 0.254, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\postgres-container-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\postgres-container-identity.stderr.log" + }, + { + "name": "postgres-server-identity", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT json_build_object('server_version', current_setting('server_version'), 'server_version_num', current_setting('server_version_num'), 'version', version(), 'max_connections', current_setting('max_connections'), 'superuser_reserved_connections', current_setting('superuser_reserved_connections'), 'reserved_connections', COALESCE(NULLIF(current_setting('reserved_connections', true), ''), '0'), 'current_connections', (SELECT count(*)::text FROM pg_stat_activity), 'database', current_database(), 'schema', current_schema(), 'user', current_user)::text;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT json_build_object('server_version', current_setting('server_version'), 'server_version_num', current_setting('server_version_num'), 'version', version(), 'max_connections', current_setting('max_connections'), 'superuser_reserved_connections', current_setting('superuser_reserved_connections'), 'reserved_connections', COALESCE(NULLIF(current_setting('reserved_connections', true), ''), '0'), 'current_connections', (SELECT count(*)::text FROM pg_stat_activity), 'database', current_database(), 'schema', current_schema(), 'user', current_user)::text;", + "started_at": "2026-07-11T00:55:50.9484938+00:00", + "finished_at": "2026-07-11T00:55:51.3030798+00:00", + "duration_seconds": 0.355, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\postgres-server-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\postgres-server-identity.stderr.log" + }, + { + "name": "repeat-1-create-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "CREATE DATABASE \"engram_prc_rg_test_9d26ac76f6cc9efa_r1\" OWNER \"engram\";" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c CREATE DATABASE \"engram_prc_rg_test_9d26ac76f6cc9efa_r1\" OWNER \"engram\";", + "started_at": "2026-07-11T00:55:51.3338875+00:00", + "finished_at": "2026-07-11T00:55:51.7388242+00:00", + "duration_seconds": 0.405, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\create-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\create-database.stderr.log" + }, + { + "name": "repeat-1-create-pgvector", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_9d26ac76f6cc9efa_r1", + "-At", + "-F", + "|", + "-c", + "CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_9d26ac76f6cc9efa_r1 -At -F | -c CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;", + "started_at": "2026-07-11T00:55:51.7431173+00:00", + "finished_at": "2026-07-11T00:55:52.2041917+00:00", + "duration_seconds": 0.461, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\create-pgvector.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\create-pgvector.stderr.log" + }, + { + "name": "repeat-1-database-identity", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_9d26ac76f6cc9efa_r1", + "-At", + "-F", + "|", + "-c", + "SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_9d26ac76f6cc9efa_r1 -At -F | -c SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;", + "started_at": "2026-07-11T00:55:52.2070435+00:00", + "finished_at": "2026-07-11T00:55:52.5734833+00:00", + "duration_seconds": 0.366, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\database-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\database-identity.stderr.log" + }, + { + "name": "repeat-1-pg-stat-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_9d26ac76f6cc9efa_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_9d26ac76f6cc9efa_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:55:52.5777918+00:00", + "finished_at": "2026-07-11T00:55:52.9524124+00:00", + "duration_seconds": 0.375, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\pg-stat-activity-before.stderr.log" + }, + { + "name": "repeat-1-server-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T00:55:52.9548136+00:00", + "finished_at": "2026-07-11T00:55:53.3204073+00:00", + "duration_seconds": 0.366, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\server-connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\server-connection-count-before.stderr.log" + }, + { + "name": "repeat-1-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_9d26ac76f6cc9efa_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_9d26ac76f6cc9efa_r1';", + "started_at": "2026-07-11T00:55:53.3317730+00:00", + "finished_at": "2026-07-11T00:55:53.8494255+00:00", + "duration_seconds": 0.518, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\connection-count-before.stderr.log" + }, + { + "name": "repeat-1-go-test", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "test", + "-json", + "-p", + "1", + "-parallel", + "1", + "-count=1", + "-timeout", + "30m", + "-covermode=atomic", + "-coverprofile=D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\coverage.out", + "-run", + "^TestEC_F1_TagDerivedBackfill_T007$", + "./internal/mcp" + ], + "environment_keys": [ + "DATABASE_DSN", + "DATABASE_MAX_CONNS", + "ENGRAM_RELEASE_GATE_REPEAT", + "ENGRAM_RELEASE_GATE_RUN_ID", + "ENGRAM_TEST_DSN", + "TEST_DATABASE_DSN" + ], + "command": "C:\\Program Files\\Go\\bin\\go.exe test -json -p 1 -parallel 1 -count=1 -timeout 30m -covermode=atomic -coverprofile=D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\coverage.out -run ^TestEC_F1_TagDerivedBackfill_T007$ ./internal/mcp", + "started_at": "2026-07-11T00:55:53.8567276+00:00", + "finished_at": "2026-07-11T00:56:09.4377437+00:00", + "duration_seconds": 15.581, + "exit_code": 1, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\go-test.stdout.jsonl", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\go-test.stderr.log" + }, + { + "name": "repeat-1-assert-go-test-json", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-r1-parent-red\\scripts\\production-gates\\assert-go-test-json.ps1", + "-InputPath", + "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\go-test.stdout.jsonl", + "-SummaryPath", + "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\go-test-summary.json", + "-FailOnUnexpectedSkip" + ], + "environment_keys": [], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-r1-parent-red\\scripts\\production-gates\\assert-go-test-json.ps1 -InputPath D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\go-test.stdout.jsonl -SummaryPath D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\go-test-summary.json -FailOnUnexpectedSkip", + "started_at": "2026-07-11T00:56:09.4420630+00:00", + "finished_at": "2026-07-11T00:56:10.1275710+00:00", + "duration_seconds": 0.686, + "exit_code": 1, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\assert-go-test-json.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\assert-go-test-json.stderr.log" + }, + { + "name": "repeat-1-targeted-coverage-report", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "tool", + "cover", + "-func=D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\coverage.out" + ], + "environment_keys": [], + "command": "C:\\Program Files\\Go\\bin\\go.exe tool cover -func=D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\coverage.out", + "started_at": "2026-07-11T00:56:10.1326483+00:00", + "finished_at": "2026-07-11T00:56:10.5844994+00:00", + "duration_seconds": 0.452, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\targeted-coverage.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\targeted-coverage.stderr.log" + }, + { + "name": "repeat-1-pg-stat-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_9d26ac76f6cc9efa_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_9d26ac76f6cc9efa_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:56:10.5854680+00:00", + "finished_at": "2026-07-11T00:56:10.9386460+00:00", + "duration_seconds": 0.353, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\pg-stat-activity-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\pg-stat-activity-after.stderr.log" + }, + { + "name": "repeat-1-server-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T00:56:10.9409392+00:00", + "finished_at": "2026-07-11T00:56:11.2962264+00:00", + "duration_seconds": 0.355, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\server-connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\server-connection-count-after.stderr.log" + }, + { + "name": "repeat-1-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_9d26ac76f6cc9efa_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_9d26ac76f6cc9efa_r1';", + "started_at": "2026-07-11T00:56:11.2989168+00:00", + "finished_at": "2026-07-11T00:56:11.6627791+00:00", + "duration_seconds": 0.364, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\connection-count-after.stderr.log" + }, + { + "name": "repeat-1-cleanup", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-r1-parent-red\\scripts\\production-gates\\cleanup-db-sessions.ps1", + "-DatabaseName", + "engram_prc_rg_test_9d26ac76f6cc9efa_r1", + "-SchemaName", + "public", + "-ArtifactRoot", + "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01", + "-RunId", + "parent-original-red-repeat-1", + "-PostgresContainer", + "engram-prc-postgres" + ], + "environment_keys": [ + "ENGRAM_TEST_ADMIN_DSN" + ], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-r1-parent-red\\scripts\\production-gates\\cleanup-db-sessions.ps1 -DatabaseName engram_prc_rg_test_9d26ac76f6cc9efa_r1 -SchemaName public -ArtifactRoot D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01 -RunId parent-original-red-repeat-1 -PostgresContainer engram-prc-postgres", + "started_at": "2026-07-11T00:56:11.6657516+00:00", + "finished_at": "2026-07-11T00:56:14.9035181+00:00", + "duration_seconds": 3.238, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\cleanup-process.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\cleanup-process.stderr.log" + } +] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/environment.json b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/environment.json new file mode 100644 index 00000000..679d0696 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/environment.json @@ -0,0 +1,52 @@ +{ + "schema_version": 1, + "run_id": "parent-original-red", + "timestamp": "2026-07-11T00:55:50.4077959+00:00", + "go_version": "go version go1.25.11 windows/amd64", + "postgres": { + "declared_image": "pgvector/pgvector:pg17", + "container": { + "name": "/engram-prc-postgres", + "configured_image": "pgvector/pgvector:pg17", + "image_id": "sha256:feb68f4f15446397d8cac7f4fe48fe4586de83160d1fc48b46283312d1a33966", + "running": true + }, + "server": { + "server_version": "17.10 (Debian 17.10-1.pgdg12+1)", + "server_version_num": "170010", + "version": "PostgreSQL 17.10 (Debian 17.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit", + "max_connections": "100", + "superuser_reserved_connections": "3", + "reserved_connections": "0", + "current_connections": "6", + "database": "postgres", + "schema": "public", + "user": "engram" + }, + "admin_dsn": "postgresql://engram:REDACTED@127.0.0.1:55432/postgres?sslmode=disable" + }, + "packages": [ + "./internal/mcp" + ], + "run_pattern": "^TestEC_F1_TagDerivedBackfill_T007$", + "repeat": 1, + "fail_on_unexpected_skip": true, + "allowed_skip_identities": [], + "coverage_policy": "Targeted", + "connection_budget": 20, + "race": false, + "require_session_start_execution": false, + "required_session_start_test_count": 12, + "sequential_execution": { + "go_package_parallelism": 1, + "go_test_parallelism": 1, + "database_max_connections": 20 + }, + "govulncheck_policy": { + "authoritative": [ + "source scan with tests", + "unstripped binary scan" + ], + "non_authoritative": "stripped binary scan (module-level fallback when symbols are absent)" + } +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/go-version.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/go-version.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/go-version.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/go-version.stdout.log new file mode 100644 index 00000000..a857be3f --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/go-version.stdout.log @@ -0,0 +1 @@ +go version go1.25.11 windows/amd64 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/postgres-container-identity.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/postgres-container-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/postgres-container-identity.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/postgres-container-identity.stdout.log new file mode 100644 index 00000000..c110d492 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/postgres-container-identity.stdout.log @@ -0,0 +1 @@ +/engram-prc-postgres|pgvector/pgvector:pg17|sha256:feb68f4f15446397d8cac7f4fe48fe4586de83160d1fc48b46283312d1a33966|true diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/postgres-server-identity.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/postgres-server-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/postgres-server-identity.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/postgres-server-identity.stdout.log new file mode 100644 index 00000000..2e33d56e --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/postgres-server-identity.stdout.log @@ -0,0 +1 @@ +{"server_version" : "17.10 (Debian 17.10-1.pgdg12+1)", "server_version_num" : "170010", "version" : "PostgreSQL 17.10 (Debian 17.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit", "max_connections" : "100", "superuser_reserved_connections" : "3", "reserved_connections" : "0", "current_connections" : "6", "database" : "postgres", "schema" : "public", "user" : "engram"} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/assert-go-test-json.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/assert-go-test-json.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/assert-go-test-json.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/assert-go-test-json.stdout.log new file mode 100644 index 00000000..43c7b76b --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/assert-go-test-json.stdout.log @@ -0,0 +1,2 @@ +go test JSON verdict=FAIL packages=1 tests=1 passed=0 failed=1 skipped=0 unexpected_skips=0 malformed=0 +summary=D:\Dev\engram\.w\t007-r1-checker\.agent\reviews\t007-r1-fresh-checker\evidence\parent-original-red\repeat-01\go-test-summary.json diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/cleanup-process.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/cleanup-process.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/cleanup-process.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/cleanup-process.stdout.log new file mode 100644 index 00000000..42bd04ae --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/cleanup-process.stdout.log @@ -0,0 +1,2 @@ +cleanup verdict=PASS database=engram_prc_rg_test_9d26ac76f6cc9efa_r1 schema=public terminated_sessions=0 remaining_database_count=0 +summary=D:\Dev\engram\.w\t007-r1-checker\.agent\reviews\t007-r1-fresh-checker\evidence\parent-original-red\repeat-01\cleanup\cleanup.json diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/cleanup/cleanup.json b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/cleanup/cleanup.json new file mode 100644 index 00000000..2705e693 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/cleanup/cleanup.json @@ -0,0 +1,170 @@ +{ + "schema_version": 1, + "run_id": "parent-original-red-repeat-1", + "timestamp": "2026-07-11T00:56:14.8476994+00:00", + "verdict": "PASS", + "database": "engram_prc_rg_test_9d26ac76f6cc9efa_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_9d26ac76f6cc9efa_r1.public", + "admin_dsn": "postgresql://engram:REDACTED@127.0.0.1:55432/postgres?sslmode=disable", + "postgres_container": "engram-prc-postgres", + "cleanup_status": "PASS", + "cleanup_attempted": true, + "database_existed_before": true, + "absence_verified": true, + "terminated_sessions": 0, + "remaining_database_count": 0, + "commands": [ + { + "name": "database-exists-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_9d26ac76f6cc9efa_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_9d26ac76f6cc9efa_r1';", + "started_at": "2026-07-11T00:56:12.2898743+00:00", + "finished_at": "2026-07-11T00:56:12.7020100+00:00", + "duration_seconds": 0.412, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\cleanup\\database-exists-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\cleanup\\database-exists-before.stderr.log" + }, + { + "name": "pg-stat-activity-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_9d26ac76f6cc9efa_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_9d26ac76f6cc9efa_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:56:12.7659751+00:00", + "finished_at": "2026-07-11T00:56:13.1941347+00:00", + "duration_seconds": 0.428, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\cleanup\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\cleanup\\pg-stat-activity-before.stderr.log" + }, + { + "name": "terminate-database-sessions", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_9d26ac76f6cc9efa_r1' AND pid <> pg_backend_pid() ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_9d26ac76f6cc9efa_r1' AND pid <> pg_backend_pid() ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:56:13.1985008+00:00", + "finished_at": "2026-07-11T00:56:13.8237299+00:00", + "duration_seconds": 0.625, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\cleanup\\terminate-sessions.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\cleanup\\terminate-sessions.stderr.log" + }, + { + "name": "drop-fresh-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "DROP DATABASE IF EXISTS \"engram_prc_rg_test_9d26ac76f6cc9efa_r1\" WITH (FORCE);" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c DROP DATABASE IF EXISTS \"engram_prc_rg_test_9d26ac76f6cc9efa_r1\" WITH (FORCE);", + "started_at": "2026-07-11T00:56:13.8338145+00:00", + "finished_at": "2026-07-11T00:56:14.3708899+00:00", + "duration_seconds": 0.537, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\cleanup\\drop-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\cleanup\\drop-database.stderr.log" + }, + { + "name": "verify-database-absent", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_9d26ac76f6cc9efa_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_9d26ac76f6cc9efa_r1';", + "started_at": "2026-07-11T00:56:14.3753989+00:00", + "finished_at": "2026-07-11T00:56:14.8394054+00:00", + "duration_seconds": 0.464, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\cleanup\\verify-database-absent.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\cleanup\\verify-database-absent.stderr.log" + } + ], + "errors": [] +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/cleanup/database-exists-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/cleanup/database-exists-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/cleanup/database-exists-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/cleanup/database-exists-before.stdout.log new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/cleanup/database-exists-before.stdout.log @@ -0,0 +1 @@ +1 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/cleanup/drop-database.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/cleanup/drop-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/cleanup/drop-database.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/cleanup/drop-database.stdout.log new file mode 100644 index 00000000..ca12dce0 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/cleanup/drop-database.stdout.log @@ -0,0 +1 @@ +DROP DATABASE diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/cleanup/pg-stat-activity-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/cleanup/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/cleanup/pg-stat-activity-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/cleanup/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/cleanup/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/cleanup/terminate-sessions.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/cleanup/terminate-sessions.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/cleanup/terminate-sessions.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/cleanup/terminate-sessions.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/cleanup/terminate-sessions.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/cleanup/verify-database-absent.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/cleanup/verify-database-absent.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/cleanup/verify-database-absent.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/cleanup/verify-database-absent.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/cleanup/verify-database-absent.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/connection-count-after.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/connection-count-after.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/connection-count-after.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/connection-count-after.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/connection-count-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/connection-count-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/connection-count-before.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/connection-count-before.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/coverage.out b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/coverage.out new file mode 100644 index 00000000..52335d8a --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/coverage.out @@ -0,0 +1,3472 @@ +mode: atomic +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33.53,34.30 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:34.30,36.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.2,37.25 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.25,39.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:40.2,40.12 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44.28,46.2 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52.83,53.12 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:53.12,54.16 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:54.16,55.32 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:55.32,61.5 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:63.3,65.33 3 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:65.33,71.4 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77.54,78.14 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:78.14,80.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:81.2,82.16 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:82.16,85.3 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:86.2,87.13 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92.91,93.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:93.23,95.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:96.2,97.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:97.15,99.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:100.2,105.65 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:105.65,113.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117.95,118.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:118.23,120.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:121.2,122.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:122.15,124.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:125.2,129.65 5 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:129.65,138.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142.87,143.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:143.23,145.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:146.2,147.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:150.2,153.65 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:153.65,161.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166.96,167.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:167.23,169.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:170.2,171.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:171.15,173.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:174.2,177.63 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:177.63,185.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189.97,190.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:190.23,192.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:193.2,194.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:194.15,196.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:197.2,200.68 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:200.68,208.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:30.62,31.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:31.20,33.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:34.2,35.49 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:35.49,37.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:38.2,38.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:38.14,40.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:41.2,41.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:46.52,47.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:47.14,49.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:50.2,50.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:51.14,52.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:53.19,54.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:55.15,56.45 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:57.12,58.31 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:59.10,60.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:67.43,68.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:68.14,70.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:71.2,71.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:72.15,73.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:74.19,75.38 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:75.38,77.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:78.3,78.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:78.40,80.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:81.3,81.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:82.14,83.56 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:83.56,85.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:86.3,86.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:86.54,88.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:89.3,89.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:90.10,91.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:97.49,98.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:98.14,100.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:101.2,101.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:102.15,103.18 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:104.19,105.38 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:105.38,107.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:108.3,108.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:108.40,110.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:111.3,111.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:112.14,113.56 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:113.56,115.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:116.3,116.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:116.54,118.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:119.3,119.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:120.10,121.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:127.55,128.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:128.14,130.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:131.2,131.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:132.15,133.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:134.19,135.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:135.40,137.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:138.3,138.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:139.14,140.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:140.54,142.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:143.3,143.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:144.10,145.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:151.46,152.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:152.14,154.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:155.2,155.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:156.12,157.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:158.14,159.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:159.54,161.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:162.3,162.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:163.15,164.16 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:165.19,166.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:166.40,168.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:169.3,169.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:170.10,171.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:177.40,178.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:178.14,180.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:181.2,181.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:182.13,184.26 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:184.26,185.36 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:185.36,187.5 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:189.3,189.16 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:190.16,191.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:192.14,193.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:193.14,195.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:196.3,196.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:197.10,198.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:204.38,205.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:205.14,207.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:208.2,209.9 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:209.9,211.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:212.2,213.27 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:213.27,214.42 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:214.42,216.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:218.2,218.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:222.32,223.39 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:223.39,225.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:226.2,226.30 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:226.30,228.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:229.2,229.30 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:229.30,231.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:232.2,232.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:236.35,237.28 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:237.28,239.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.2,240.28 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.28,242.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:243.2,243.15 1 0 +github.com/thebtf/engram/internal/mcp/context.go:17.55,19.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:22.78,24.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:29.78,31.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:35.53,38.2 2 0 +github.com/thebtf/engram/internal/mcp/context.go:41.80,43.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:48.80,50.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:54.53,57.2 2 0 +github.com/thebtf/engram/internal/mcp/context.go:61.51,62.43 1 0 +github.com/thebtf/engram/internal/mcp/context.go:62.43,64.3 1 0 +github.com/thebtf/engram/internal/mcp/context.go:65.2,65.16 1 0 +github.com/thebtf/engram/internal/mcp/health.go:22.32,26.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:29.37,33.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:36.35,40.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:42.44,45.25 3 0 +github.com/thebtf/engram/internal/mcp/health.go:45.25,47.50 1 0 +github.com/thebtf/engram/internal/mcp/health.go:47.50,50.4 2 0 +github.com/thebtf/engram/internal/mcp/health.go:55.74,60.16 5 0 +github.com/thebtf/engram/internal/mcp/health.go:60.16,62.3 1 0 +github.com/thebtf/engram/internal/mcp/health.go:63.2,71.4 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28.42,29.65 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:29.65,32.3 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.2,33.40 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.40,35.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:36.2,36.14 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39.120,40.69 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:40.69,42.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:43.2,44.19 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:44.19,46.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:47.2,48.17 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:48.17,50.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:51.2,52.59 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:52.59,54.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:55.2,56.20 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:56.20,58.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:59.2,60.17 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:60.17,62.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:63.2,64.21 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:64.21,66.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:67.2,68.22 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:68.22,70.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:71.2,72.23 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:76.2,98.19 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:98.19,100.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:101.2,101.66 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104.52,106.29 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:106.29,108.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:109.2,110.46 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113.113,123.27 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:123.27,125.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:130.2,130.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:127.44,138.2 1 1 +github.com/thebtf/engram/internal/mcp/server.go:141.64,143.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:146.78,148.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:151.53,153.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:156.55,158.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:161.58,163.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:166.62,168.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:171.50,173.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:176.78,178.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:181.74,183.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:186.71,189.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:191.85,193.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:195.61,197.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:199.49,201.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:204.54,206.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:211.53,213.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:216.53,218.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:222.61,224.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:228.59,230.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:234.51,236.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:240.52,242.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:246.55,248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:252.82,254.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:260.70,262.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:269.68,271.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:274.87,277.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:282.60,284.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:290.45,292.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:297.77,299.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:303.37,313.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:313.38,315.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:316.2,317.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:317.9,319.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:320.2,321.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:321.9,323.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:324.2,325.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:325.9,327.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:328.2,328.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:332.35,334.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:383.49,387.12 3 0 +github.com/thebtf/engram/internal/mcp/server.go:387.12,388.22 1 0 +github.com/thebtf/engram/internal/mcp/server.go:388.22,389.11 1 0 +github.com/thebtf/engram/internal/mcp/server.go:390.22,392.11 2 0 +github.com/thebtf/engram/internal/mcp/server.go:393.12,393.12 0 0 +github.com/thebtf/engram/internal/mcp/server.go:396.4,397.18 2 0 +github.com/thebtf/engram/internal/mcp/server.go:397.18,398.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:401.4,402.61 2 0 +github.com/thebtf/engram/internal/mcp/server.go:402.61,404.13 2 0 +github.com/thebtf/engram/internal/mcp/server.go:407.4,407.55 1 0 +github.com/thebtf/engram/internal/mcp/server.go:407.55,409.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:411.3,411.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:414.2,414.9 1 0 +github.com/thebtf/engram/internal/mcp/server.go:415.20,416.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:417.25,418.17 1 0 +github.com/thebtf/engram/internal/mcp/server.go:418.17,420.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:421.3,421.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:427.77,428.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:428.19,431.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:433.2,433.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:434.20,435.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:436.20,437.32 1 0 +github.com/thebtf/engram/internal/mcp/server.go:438.20,439.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:443.24,444.93 1 0 +github.com/thebtf/engram/internal/mcp/server.go:445.34,446.101 1 0 +github.com/thebtf/engram/internal/mcp/server.go:447.22,448.91 1 0 +github.com/thebtf/engram/internal/mcp/server.go:449.29,450.120 1 0 +github.com/thebtf/engram/internal/mcp/server.go:451.10,456.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:461.51,462.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:463.50,464.70 1 0 +github.com/thebtf/engram/internal/mcp/server.go:465.46,466.79 1 0 +github.com/thebtf/engram/internal/mcp/server.go:467.10,468.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:473.59,485.63 2 0 +github.com/thebtf/engram/internal/mcp/server.go:485.63,487.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:489.2,493.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:496.45,503.33 3 0 +github.com/thebtf/engram/internal/mcp/server.go:503.33,505.57 2 0 +github.com/thebtf/engram/internal/mcp/server.go:505.57,506.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:506.76,507.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.4,509.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.18,511.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:511.10,513.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:514.4,518.11 5 0 +github.com/thebtf/engram/internal/mcp/server.go:522.2,522.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:660.29,683.21 2 0 +github.com/thebtf/engram/internal/mcp/server.go:683.21,689.3 5 0 +github.com/thebtf/engram/internal/mcp/server.go:690.2,699.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:712.30,765.49 3 0 +github.com/thebtf/engram/internal/mcp/server.go:765.49,789.3 5 0 +github.com/thebtf/engram/internal/mcp/server.go:790.2,799.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:805.40,936.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:942.58,1048.35 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1048.35,1077.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.2,1080.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.33,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.2,1093.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.26,1123.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1124.2,1124.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1124.80,1126.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1127.2,1127.55 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1127.55,1129.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1130.2,1130.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1130.38,1132.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1134.2,1134.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1134.25,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1138.2,1138.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1138.33,1140.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1141.2,1141.69 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1141.69,1143.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1144.2,1144.75 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1144.75,1146.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1148.2,1148.27 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1148.27,1165.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.2,1168.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.76,1191.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1195.2,1195.48 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1195.48,1197.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.2,1201.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.47,1203.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.2,1205.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.38,1207.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1212.2,1212.21 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1212.21,1214.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1228.2,1228.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1228.51,1230.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1233.2,1233.56 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1233.56,1235.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1238.2,1238.71 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1238.71,1298.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1302.2,1302.104 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1302.104,1321.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1324.2,1324.72 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1324.72,1333.154 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1333.154,1334.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1334.26,1336.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1337.7,1337.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1338.35,1340.26 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1340.26,1342.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1343.7,1343.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1371.2,1371.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1371.26,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1393.2,1393.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1393.28,1443.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.2,1446.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.28,1478.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.2,1481.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.37,1561.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1564.2,1568.23 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1568.23,1570.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1572.2,1588.57 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1588.57,1591.29 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1591.29,1593.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1594.3,1594.27 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1594.27,1595.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1595.29,1597.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1601.2,1607.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1612.79,1614.60 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1614.60,1620.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1622.2,1623.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1623.16,1631.3 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1633.2,1641.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1644.69,1645.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1645.34,1647.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1648.2,1649.22 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1649.22,1651.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1652.2,1652.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1656.99,1658.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1659.16,1660.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1661.15,1662.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1663.18,1664.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1665.15,1666.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1667.18,1668.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1669.14,1670.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1671.15,1672.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1676.2,1676.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1677.35,1678.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1679.26,1680.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1681.20,1682.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1683.20,1684.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1685.16,1686.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1687.29,1688.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1689.33,1690.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1691.25,1692.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1693.23,1694.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1696.26,1697.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1698.24,1699.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1700.22,1701.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1702.25,1703.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1704.27,1705.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1706.25,1707.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1709.30,1710.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1711.28,1712.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1713.17,1714.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1715.20,1716.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1717.20,1718.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1719.20,1720.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1722.20,1723.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1724.18,1725.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1726.20,1727.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1728.18,1729.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1730.21,1731.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1732.21,1733.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1734.26,1735.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1736.25,1737.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1738.26,1739.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1740.24,1741.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1742.26,1743.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1744.27,1745.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1746.22,1747.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1748.19,1749.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1750.15,1751.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1752.16,1753.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1755.21,1756.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1757.19,1758.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1759.20,1760.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1761.22,1762.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1763.22,1764.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1765.23,1766.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1767.20,1768.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1769.32,1770.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1771.19,1772.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1773.19,1774.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1775.33,1776.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1777.35,1778.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1779.24,1780.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1781.32,1782.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1783.28,1784.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1785.21,1786.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1787.34,1788.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1789.25,1790.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1791.29,1792.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1793.26,1794.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1795.27,1796.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1798.25,1799.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1800.23,1801.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1802.27,1803.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1804.26,1805.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1806.29,1807.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1809.29,1810.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1811.27,1812.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1813.30,1814.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1815.38,1816.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1817.36,1818.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1820.24,1821.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1822.27,1823.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1824.22,1825.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1826.32,1827.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1828.32,1829.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1830.31,1831.48 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1832.35,1833.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1834.36,1835.53 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1836.36,1837.53 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1838.38,1839.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1840.34,1841.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1843.22,1844.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1845.21,1846.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1847.24,1848.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1850.25,1851.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1852.25,1853.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1859.2,1859.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1860.22,1863.131 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1866.51,1867.123 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1868.10,1869.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1874.47,1876.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1876.16,1879.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1880.2,1880.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1884.72,1890.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1896.105,1898.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1898.16,1900.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1902.2,1903.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1903.17,1905.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1907.2,1908.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1908.17,1910.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1912.2,1918.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1918.16,1920.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1921.2,1921.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1927.76,1933.15 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1933.15,1936.17 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1936.17,1938.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1939.3,1939.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1943.2,1950.36 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1950.36,1952.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1952.8,1955.29 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1955.29,1958.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1959.3,1962.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.2,1966.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.20,1977.20 6 0 +github.com/thebtf/engram/internal/mcp/server.go:1977.20,1979.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.3,1980.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.20,1982.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.3,1985.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.37,1987.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1987.30,1988.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1988.16,1990.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1990.11,1992.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1994.4,1995.56 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1995.56,1997.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1998.4,2003.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.2,2008.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.29,2009.63 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2009.63,2011.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2011.9,2013.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.2,2021.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.29,2029.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2029.38,2031.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2031.9,2033.31 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2033.31,2035.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2035.30,2037.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2039.4,2042.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2046.2,2047.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2047.16,2049.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2050.2,2050.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2055.57,2056.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2056.33,2058.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2059.2,2060.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2060.16,2062.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2063.2,2064.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2064.16,2066.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2067.2,2067.23 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2071.79,2105.15 6 0 +github.com/thebtf/engram/internal/mcp/server.go:2105.15,2107.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2107.17,2111.4 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2111.9,2112.17 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2112.17,2114.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2115.4,2117.26 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2117.26,2119.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2119.10,2121.29 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2121.29,2123.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2125.4,2129.25 5 0 +github.com/thebtf/engram/internal/mcp/server.go:2130.19,2130.19 0 0 +github.com/thebtf/engram/internal/mcp/server.go:2132.20,2134.106 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2135.12,2137.103 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2140.8,2143.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2144.2,2150.49 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2150.49,2152.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2152.8,2154.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2155.2,2168.27 4 0 +github.com/thebtf/engram/internal/mcp/server.go:2168.27,2170.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2170.17,2173.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2173.9,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2177.2,2182.40 4 0 +github.com/thebtf/engram/internal/mcp/server.go:2182.40,2183.21 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2184.20,2185.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2186.19,2187.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.2,2191.24 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.24,2193.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.8,2193.30 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.30,2195.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.2,2198.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.28,2200.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.2,2203.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.29,2205.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2207.2,2208.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2208.16,2210.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2211.2,2211.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2216.103,2218.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2218.16,2220.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2222.2,2223.15 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2223.15,2225.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2227.2,2239.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2239.16,2241.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2242.2,2242.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2246.93,2248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2251.91,2253.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:18.28,29.20 4 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:29.20,33.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:35.2,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:68.36,69.49 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:69.49,74.3 4 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:75.2,75.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:80.26,82.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:84.89,86.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:89.2,90.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:90.18,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:94.2,94.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:95.15,96.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:97.26,98.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:99.25,100.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:101.23,105.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:105.22,107.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:108.3,108.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:109.10,110.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:120.92,126.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:126.26,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:130.2,131.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:131.19,133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:134.2,135.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:135.19,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.2,138.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.24,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.2,142.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.25,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:146.2,147.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:151.2,151.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27.40,30.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32.30,46.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48.99,49.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:49.34,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.2,52.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.69,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:56.2,57.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:60.2,61.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:61.21,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:64.2,67.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:67.26,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:70.2,71.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:71.25,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:75.2,77.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:77.44,79.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.2,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.33,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:83.2,83.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86.52,87.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:87.16,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.2,90.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.15,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:93.2,93.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96.73,97.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:97.21,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:100.2,101.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:101.29,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:111.2,111.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114.34,116.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:31.98,32.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:32.52,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.2,35.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.26,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:39.2,40.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:40.49,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.2,43.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.21,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.2,46.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.21,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.2,49.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.18,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.2,52.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.18,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.2,56.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.38,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:60.2,61.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:61.16,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:68.2,70.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:70.26,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:79.2,81.36 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:81.36,84.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:86.2,89.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:89.28,90.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:90.39,91.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:93.3,97.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:100.2,104.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:107.60,113.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:115.101,116.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:116.38,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:120.2,122.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:122.21,123.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:123.26,125.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.3,126.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.23,128.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:129.8,130.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:130.26,132.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.3,133.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.68,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:137.2,140.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:141.17,142.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:143.67,143.67 0 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:144.10,145.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:148.2,162.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:162.16,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.2,165.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.2,174.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.30,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.2,177.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.31,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:181.2,182.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:182.36,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:198.2,199.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:199.19,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:202.2,203.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:203.18,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:206.2,207.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:207.21,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:210.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:211.25,213.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:214.2,225.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:225.21,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.25,230.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.2,231.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.18,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:235.2,244.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:244.21,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.2,247.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.25,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.2,250.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.18,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.2,253.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:256.2,256.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:259.50,261.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:261.22,263.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:264.2,264.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:270.90,272.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:272.42,276.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:277.2,281.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:281.27,282.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:282.45,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:286.2,286.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25.28,88.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95.95,96.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:96.22,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:99.2,100.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:100.32,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:104.2,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:109.2,114.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:114.35,121.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.2,123.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.25,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:127.2,134.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:138.2,146.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154.94,155.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:155.22,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:158.2,159.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:159.32,161.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:163.2,164.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:164.16,166.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:168.2,172.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:172.35,179.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.2,181.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.25,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:185.2,192.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:192.16,194.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:196.2,203.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211.97,212.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:212.22,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:215.2,216.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:216.32,218.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:220.2,221.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:221.16,223.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:225.2,229.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:229.35,236.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.2,238.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.25,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:242.2,249.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:249.16,251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:253.2,260.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31.80,32.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:32.14,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:35.2,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51.136,53.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:53.51,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:56.2,56.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59.94,60.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:60.21,62.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:63.2,63.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68.30,162.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165.98,166.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:166.49,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:169.2,170.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:170.16,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:173.2,174.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:174.19,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:177.2,179.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:179.17,181.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:188.2,189.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:189.31,190.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:190.15,191.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:193.3,193.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:196.2,201.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:201.16,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:204.2,204.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208.96,209.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:209.49,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:212.2,213.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:213.16,215.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:216.2,217.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:217.13,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.2,225.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.22,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:229.2,230.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:230.16,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:233.2,233.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239.100,240.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:240.22,242.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:243.2,244.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:244.16,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:247.2,248.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:248.13,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:255.2,256.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:256.12,263.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:263.30,264.77 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:264.77,269.5 4 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:271.3,272.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:272.21,274.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:275.3,275.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.2,279.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.29,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:284.2,285.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:285.16,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.2,288.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.22,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.2,291.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.55,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.2,294.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.74,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:297.2,298.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:298.16,300.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:306.2,307.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:307.41,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:310.2,324.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:324.16,325.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:325.50,327.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:328.3,328.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.2,330.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.38,332.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:334.2,341.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:341.16,343.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:344.2,344.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348.99,349.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:349.49,351.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:352.2,353.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:353.16,355.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:356.2,357.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:357.13,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:360.2,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.2,365.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.22,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.2,368.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.74,370.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:371.2,372.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:372.16,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.2,375.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.85,377.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:379.2,380.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:380.16,381.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:381.50,383.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:384.3,384.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.2,386.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.20,388.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:390.2,395.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:395.16,397.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:398.2,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402.102,403.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:403.49,405.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:406.2,407.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:407.16,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:410.2,411.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:411.13,413.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:414.2,415.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:415.16,417.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.2,418.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.22,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.2,421.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.74,423.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:424.2,425.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:425.16,427.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.2,428.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.88,430.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:432.2,433.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:433.16,434.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:434.50,436.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:437.3,437.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.2,439.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.20,441.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:443.2,448.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:448.16,450.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:451.2,451.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34.30,36.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42.61,44.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48.32,75.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79.32,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100.98,101.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:101.25,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.2,104.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.29,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:108.2,113.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:113.17,114.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:114.55,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.2,118.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.24,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.2,121.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.23,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.2,124.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.23,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:134.2,135.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:135.21,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:142.2,147.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:154.2,165.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:165.25,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:177.2,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:186.2,186.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194.98,195.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:195.25,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.2,198.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.29,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:202.2,205.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:205.17,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:208.2,209.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:209.21,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:213.2,214.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:214.16,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:217.2,218.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:218.16,220.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:226.2,231.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:231.11,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:21.52,22.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:22.24,25.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:25.28,27.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:29.2,29.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:35.72,37.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:37.15,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:45.2,45.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:49.99,51.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:51.16,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:55.2,56.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:56.16,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:60.2,72.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.2,75.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.24,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.2,78.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.24,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:81.2,81.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:82.27,82.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:84.10,85.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.2,87.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.30,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.2,90.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.26,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:104.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:116.2,123.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:126.2,126.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:130.97,132.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:132.16,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:136.2,137.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:141.2,147.23 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:147.23,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.2,150.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.26,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:154.2,155.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:155.16,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:160.16,161.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:161.47,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:164.3,164.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.2,167.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.97,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:174.2,175.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:175.16,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:179.2,185.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:185.16,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:188.2,188.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:192.99,194.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:194.16,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:198.2,199.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:199.16,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:203.2,207.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:207.26,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:211.2,212.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:212.16,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:216.2,223.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:223.26,229.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:229.28,231.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:232.3,232.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:243.100,245.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:245.16,247.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:249.2,250.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:250.16,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:254.2,262.23 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:262.23,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.2,265.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.24,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:268.2,268.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:269.27,269.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:271.10,272.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.2,274.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.30,276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.2,277.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.26,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.2,281.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.71,282.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:282.47,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:285.3,285.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:288.2,293.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:293.16,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:296.2,296.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:302.92,309.19 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:309.19,310.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:310.53,313.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:316.2,317.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:317.51,318.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:318.66,320.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:323.2,331.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:331.16,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:334.2,334.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:338.46,342.32 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:342.32,343.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:343.20,346.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:348.2,350.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:350.26,352.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:352.27,353.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:353.13,355.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:356.4,356.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:358.3,358.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:360.2,360.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:16.45,18.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:20.35,36.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:38.84,39.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:39.40,41.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.2,42.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.50,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:45.2,45.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:48.101,50.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:50.16,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:53.2,54.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:57.2,58.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:58.19,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:61.2,62.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:62.21,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:65.2,66.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:66.16,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:69.2,69.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:72.102,74.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:77.2,82.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10.100,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:22.16,23.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:24.14,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:26.14,27.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:28.17,29.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:30.17,31.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:32.21,33.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:34.19,35.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:36.17,37.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:38.16,39.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:40.16,41.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:42.21,43.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:44.10,45.167 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:15.77,16.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:16.33,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:20.2,21.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:21.27,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:25.2,26.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:26.28,29.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:29.17,31.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:34.2,41.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:41.32,46.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:46.20,48.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:49.3,49.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:61.97,62.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:62.28,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:71.2,75.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:75.29,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:79.2,80.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:80.16,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.2,84.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.20,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:88.2,97.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:97.25,103.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:103.20,105.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.3,106.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.19,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:109.3,109.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:112.2,113.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:113.16,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:117.2,117.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:121.95,122.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:122.28,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:131.2,137.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:137.50,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:141.2,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.2,145.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.16,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.2,149.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.21,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:153.2,154.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:154.16,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.2,157.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.20,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:161.2,161.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:165.98,166.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:166.28,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:170.2,171.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:171.16,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:175.2,181.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:181.50,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.2,185.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.96,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:189.2,189.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:197.98,198.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:198.28,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:207.2,217.74 6 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:217.74,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:222.2,223.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:223.16,225.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:227.2,229.156 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:235.98,237.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:237.16,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:241.2,247.24 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:247.24,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:252.2,253.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:253.29,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:256.2,256.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15.93,16.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:16.37,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:20.2,21.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:21.16,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:25.2,32.16 7 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:32.16,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.2,35.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.19,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.2,38.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.19,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:42.2,43.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:43.16,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:47.2,54.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61.91,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:62.37,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:71.2,73.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:73.16,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.2,76.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.19,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:80.2,81.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:81.43,83.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:83.19,85.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:86.3,86.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:87.8,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.2,90.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.16,91.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:91.45,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:94.3,94.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:97.2,110.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:110.16,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:113.2,113.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117.93,119.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122.91,123.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:123.37,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:132.2,133.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:133.19,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:136.2,141.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:141.16,143.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:145.2,155.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:155.25,165.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:167.2,168.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:168.16,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:171.2,171.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175.94,176.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:176.37,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:180.2,181.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:181.16,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:185.2,187.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:187.16,189.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.2,190.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.19,192.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:193.2,196.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:200.2,208.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:208.25,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:218.2,225.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232.94,233.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:233.37,235.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:242.2,243.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:243.21,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:246.2,248.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:248.19,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:252.2,253.46 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:253.46,255.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:255.13,257.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.2,259.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.44,261.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:261.13,263.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:266.2,267.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:267.16,269.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:271.2,278.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:278.16,280.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:281.2,281.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19.69,21.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23.38,38.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40.51,63.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65.53,80.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82.46,85.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:85.32,87.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:88.2,88.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91.105,93.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:93.16,95.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:96.2,97.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:100.2,100.70 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103.107,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:108.2,109.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:109.16,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:112.2,112.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115.101,117.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:117.16,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:120.2,121.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:121.17,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:124.2,139.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142.109,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:147.2,154.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157.100,159.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:159.28,161.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:161.18,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:164.3,164.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:166.2,167.72 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:167.72,169.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.2,170.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.53,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:173.2,174.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:174.26,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:177.2,177.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180.73,182.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:182.16,184.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:185.2,185.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12.104,14.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:14.16,16.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:18.2,19.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:19.18,21.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:23.2,23.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:24.14,25.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:26.18,27.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:28.17,29.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:30.10,31.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36.101,37.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:37.27,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:46.2,47.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:47.21,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:50.2,51.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:51.19,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:54.2,54.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:55.52,55.52 0 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:56.10,57.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:59.2,61.93 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:61.93,64.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:66.2,70.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:27.31,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:98.97,100.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:100.26,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.2,103.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.28,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:112.2,115.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:115.15,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.2,118.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.17,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:122.2,123.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:127.2,140.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:140.29,151.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:151.31,154.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:155.3,155.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:158.2,162.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:167.100,169.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:169.26,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.2,172.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.28,174.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.2,175.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.26,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:179.2,180.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:184.2,185.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:185.22,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:189.2,190.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:190.20,191.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:191.54,199.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.3,200.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.61,202.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:203.3,203.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:206.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:215.95,217.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:217.32,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.2,220.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.28,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:224.2,225.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:229.2,230.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:230.22,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.2,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.25,246.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:248.2,252.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:258.104,260.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:260.26,262.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:267.2,271.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:271.20,275.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:275.8,279.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:280.2,280.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:284.60,285.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:285.30,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.2,288.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.42,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:291.2,291.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:64.89,65.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:65.25,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:69.2,70.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:70.49,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:74.2,74.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:75.18,76.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:77.21,78.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:79.19,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:81.18,82.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:83.19,84.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:85.18,86.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:87.18,91.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:91.23,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:94.3,94.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:95.10,96.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:100.81,103.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:103.19,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:106.2,107.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:107.19,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.2,112.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.46,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.2,115.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.46,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.2,122.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.66,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.25,128.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:128.22,130.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:131.8,132.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:132.26,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.2,138.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.25,139.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:139.22,141.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:142.8,143.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:143.26,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.2,148.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.22,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.2,151.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.38,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.2,154.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.19,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:159.2,161.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:161.25,164.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.2,165.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.25,168.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:169.2,171.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:171.23,174.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.2,175.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.23,178.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:180.2,193.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:193.16,195.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:198.2,199.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:199.29,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.2,202.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.29,204.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:205.2,213.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:216.121,217.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:217.28,218.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:218.26,220.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:221.3,222.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:222.17,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:223.49,225.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:226.4,226.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:228.3,228.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.2,230.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.26,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:233.2,234.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:234.16,235.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:235.48,237.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:238.3,238.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:240.2,240.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:243.101,248.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:248.36,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:250.8,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.2,253.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.16,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.2,256.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.32,257.128 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:257.128,262.72 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:262.72,264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:267.2,267.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:276.81,277.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:277.25,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.2,280.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.22,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.2,283.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.39,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.2,286.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.25,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.2,289.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.21,291.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:292.2,293.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:293.14,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:296.2,305.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:305.16,307.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:308.2,314.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:317.84,318.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:318.19,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:321.2,323.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:323.63,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:326.2,329.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:332.82,333.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:333.38,335.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:336.2,337.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:338.18,339.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:340.18,341.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.2,345.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.59,347.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:349.2,351.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:351.21,353.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:353.8,356.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.2,357.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:366.2,367.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:367.41,369.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:371.2,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:397.115,398.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:398.15,400.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:403.2,404.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:404.26,405.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:405.28,407.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.3,408.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.28,410.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.2,412.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.23,415.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:420.2,426.12 4 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:426.12,427.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:427.27,429.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:429.18,431.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.4,433.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.33,435.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:440.2,441.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:441.26,442.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:442.28,443.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:443.49,445.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.3,448.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.28,449.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:449.49,451.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:454.2,454.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:457.82,458.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:458.21,460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:461.2,462.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:462.16,464.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.2,465.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.36,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:468.2,469.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:469.16,471.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:472.2,477.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:480.82,481.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:481.40,483.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:484.2,485.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:485.19,487.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:488.2,489.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:489.16,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:492.2,499.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:502.82,503.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:503.21,505.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:506.2,507.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:507.16,509.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:510.2,514.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23.179,24.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:24.22,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:28.2,32.22 4 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:32.22,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:35.2,36.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:36.22,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:40.2,41.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:41.26,43.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.2,44.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.26,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.2,47.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.30,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.2,50.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.30,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:54.2,55.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:55.16,57.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.2,58.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.13,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:61.2,62.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:62.16,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.2,65.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.13,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:69.2,70.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:70.16,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.2,73.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.15,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:77.2,77.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80.172,81.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:81.28,82.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:82.23,84.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.3,85.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.18,87.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:88.3,89.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:89.17,90.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:90.49,92.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:93.4,93.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:95.3,95.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.2,98.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.24,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.2,101.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.19,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:104.2,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:105.16,106.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:106.48,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:109.3,109.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:111.2,111.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114.119,116.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:116.22,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:119.2,120.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:120.22,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:124.2,126.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:126.26,127.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:127.36,129.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:130.3,130.105 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:131.8,132.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:132.32,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:135.3,135.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.2,137.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.2,141.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.32,143.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:143.27,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:146.3,147.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:147.27,149.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.3,150.106 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.106,151.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.3,153.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.27,154.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:154.114,155.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.9,157.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.104,158.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.3,160.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.27,161.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:161.114,162.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.9,164.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.104,165.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:167.3,167.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:169.2,169.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25.90,26.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:26.26,28.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:30.2,31.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:31.49,33.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:35.2,35.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:36.16,37.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:38.10,39.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43.84,44.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:44.21,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.2,47.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.25,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.2,50.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.21,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.2,53.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.21,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:57.2,58.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:59.18,60.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:61.15,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:63.24,64.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:65.10,66.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:69.2,70.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:70.22,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:73.2,74.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:74.29,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.2,78.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.14,85.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:87.2,89.37 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:89.37,92.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:92.21,94.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:97.2,100.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:100.31,102.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:102.38,104.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:104.37,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:109.3,122.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:122.26,124.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.3,125.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.19,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:131.3,133.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:133.39,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:135.9,137.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.3,138.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.17,140.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.3,142.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.34,144.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:145.3,145.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:148.2,155.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20.99,22.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:22.16,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:26.2,31.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:31.44,32.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:32.33,33.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:33.43,38.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.2,43.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.49,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.2,46.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.48,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:50.2,52.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:52.27,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:55.8,60.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:60.24,62.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.3,64.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.57,66.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:68.3,68.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.2,71.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.16,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:75.2,76.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:76.23,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:80.2,80.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:19.40,89.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:109.71,111.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:111.9,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:115.2,116.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:116.38,117.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:118.13,119.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:119.41,121.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:122.17,123.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:123.43,125.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:126.11,127.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:127.40,129.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.2,133.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.22,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:139.2,139.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:143.90,144.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:144.25,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:148.2,149.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:149.16,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:153.2,157.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:157.61,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:161.2,161.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:162.16,163.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:164.14,165.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:166.13,167.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:168.16,169.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:170.17,171.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:172.16,173.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:174.15,175.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:176.10,177.120 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:189.85,191.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:191.39,192.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:192.44,194.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.2,196.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.15,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.2,199.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.15,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:202.2,202.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:205.91,207.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:207.17,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:211.2,215.25 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:215.25,217.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:218.2,224.25 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:224.25,226.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.2,227.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.25,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:231.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:247.2,247.139 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:250.89,252.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:252.19,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:255.2,256.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:256.25,258.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:259.2,264.52 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:264.52,266.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:266.14,268.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:271.2,277.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:277.25,280.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:282.2,283.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:283.16,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.2,287.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.22,288.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:288.20,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:291.3,291.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:294.2,297.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:297.31,300.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:300.29,302.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:303.3,305.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:308.2,308.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:311.88,313.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:313.13,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:317.2,318.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:318.16,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:322.2,328.22 6 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:328.22,331.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.2,333.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.23,335.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:335.30,338.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:341.2,341.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:344.91,346.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:346.13,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:350.2,353.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:353.18,354.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:354.27,356.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.3,357.73 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.73,359.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.2,362.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.19,370.17 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:370.17,372.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:375.2,376.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:376.26,378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:379.2,379.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:382.92,384.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:384.13,386.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:388.2,389.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:389.16,391.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:393.2,401.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:401.16,403.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:405.2,405.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:408.91,410.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:410.13,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:414.2,418.95 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:418.95,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:422.2,422.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:425.90,427.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:427.13,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:431.2,433.167 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:433.167,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.2,437.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.89,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:441.2,441.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22.93,24.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:24.49,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:28.2,28.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:29.14,30.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:31.17,32.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:33.16,34.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:35.24,36.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:37.27,38.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:39.22,40.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:41.23,42.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:43.10,44.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48.79,49.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:49.13,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:57.2,58.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:58.32,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:61.2,84.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87.101,88.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:88.13,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.2,91.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.38,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.2,98.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.53,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:102.2,104.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:104.17,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.2,107.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.29,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:110.2,115.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118.100,119.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:119.13,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.2,122.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.38,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.2,129.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.53,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:133.2,135.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:135.17,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.2,138.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.29,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:141.2,146.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149.123,150.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:150.13,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.2,153.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.18,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.2,156.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.38,158.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:159.2,161.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:161.17,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:164.2,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172.113,173.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:173.13,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.2,176.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.50,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:179.2,181.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:181.17,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:184.2,188.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191.57,195.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197.102,198.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:198.13,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.2,201.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.20,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:204.2,205.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:205.16,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:209.2,210.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:210.32,212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:214.2,217.56 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:217.56,223.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:225.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233.41,235.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:235.16,237.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:238.2,238.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:35.27,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:42.41,43.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:44.48,45.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:46.10,47.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:54.57,55.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:56.17,57.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:58.16,59.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:60.10,61.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:82.58,83.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:84.28,85.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:86.26,87.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:88.10,89.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:93.114,95.68 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:95.68,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:99.2,101.42 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:101.42,102.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:102.71,105.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:107.2,117.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:117.23,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:121.2,124.22 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:124.22,125.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:125.31,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:128.3,128.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.8,129.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.37,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:132.2,132.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:135.74,136.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:136.30,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.2,139.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.34,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.2,142.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.31,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.2,145.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.22,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:161.169,162.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:162.17,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:165.2,166.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:166.51,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:169.2,169.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:172.92,174.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:174.42,177.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:177.63,179.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:179.9,181.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:183.2,183.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:186.65,190.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:192.115,194.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:194.26,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.8,196.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.31,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:199.2,199.117 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:202.122,206.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:206.31,207.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:207.45,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:211.2,211.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:214.72,216.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:218.117,219.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:222.2,223.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:223.20,225.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:225.17,227.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.3,228.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.27,229.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:229.50,231.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:231.30,232.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:236.3,236.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:239.2,241.60 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:241.60,243.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:243.61,245.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.3,246.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.24,247.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:249.3,250.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:250.17,252.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.3,253.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.22,254.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.3,256.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.29,257.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:257.50,259.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:259.30,260.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:264.3,265.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:265.32,266.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:269.2,269.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:272.51,273.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:273.16,275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:276.2,277.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:277.18,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.2,280.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.19,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:283.2,283.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:286.97,288.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:288.30,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.2,291.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.49,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:294.2,294.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:297.108,299.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:301.108,303.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:305.102,307.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:319.55,320.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:320.31,322.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.2,323.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.26,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:326.2,326.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:329.71,330.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:343.26,344.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:345.10,346.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:354.95,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:366.2,397.39 14 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:397.39,399.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:399.27,401.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:402.8,404.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:405.2,407.46 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:407.46,410.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.2,411.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.44,413.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:413.12,415.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.2,417.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.26,419.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.2,420.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.84,422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.2,427.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.65,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:431.2,433.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:433.20,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:436.2,437.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:437.20,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.2,440.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.56,442.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.2,443.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.56,448.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.2,450.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.45,453.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.2,459.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.31,461.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:461.22,462.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:462.62,465.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:466.4,466.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:468.3,468.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:471.2,472.115 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:472.115,474.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.2,491.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.19,493.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:493.23,495.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:496.3,508.21 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:508.21,510.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:511.3,511.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.2,522.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.43,535.34 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:535.34,556.30 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:556.30,558.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.4,559.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.44,561.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.4,562.106 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.106,564.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.4,575.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.74,577.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:578.4,579.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:579.18,581.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:583.4,584.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:584.28,586.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.4,588.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.31,599.57 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:599.57,601.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:601.17,604.7 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:606.5,607.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:607.21,609.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.5,615.138 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.138,617.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:617.27,619.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:620.6,620.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:622.5,623.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:623.26,625.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:626.5,626.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:630.4,631.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:631.20,633.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.4,634.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.22,637.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:637.26,639.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:640.5,640.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:645.4,660.77 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:660.77,662.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:663.4,664.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:664.25,666.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:667.4,667.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.2,673.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.26,675.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:677.2,678.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:678.25,680.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.2,681.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.97,683.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:690.2,691.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:691.21,693.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:693.33,695.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.3,696.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.33,698.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.3,699.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.49,704.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.3,721.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.54,722.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:722.84,724.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.2,728.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.99,730.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:732.2,733.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:733.22,735.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:736.109,737.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:738.100,739.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:740.114,741.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:742.107,743.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:744.11,745.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:748.2,749.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:749.43,751.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:753.2,755.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:755.34,756.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:756.48,757.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:757.19,760.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.2,764.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.31,767.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.2,768.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.35,771.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.2,772.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.76,776.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:778.2,780.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:780.16,782.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:782.20,785.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.2,788.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.25,798.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:798.18,800.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.9,800.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.30,807.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.3,808.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.36,810.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:811.3,812.50 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:812.50,815.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:816.3,822.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:822.17,824.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:826.3,836.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:836.17,838.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:839.3,839.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:842.2,843.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:843.30,844.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:844.52,846.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:846.9,848.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:851.2,869.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:869.21,871.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:871.43,873.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.3,874.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.29,876.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.3,886.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.76,888.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.2,890.105 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.105,892.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:893.2,894.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:894.16,896.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:901.2,904.40 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:904.40,905.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:905.15,906.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:909.3,910.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:910.63,912.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:912.9,914.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.3,916.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.43,918.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:919.3,920.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:920.20,922.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.3,925.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.23,928.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:929.3,931.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:931.33,934.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:934.39,936.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:939.2,948.42 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:948.42,950.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:950.21,952.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:952.9,955.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.2,959.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.53,960.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:960.54,961.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:961.33,963.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:964.9,972.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.3,973.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.60,974.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:974.40,976.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.3,978.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.61,979.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:979.41,981.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.3,983.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.28,985.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:986.3,987.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.2,989.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.51,991.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:995.2,997.53 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:997.53,999.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:999.8,1001.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.2,1002.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.22,1004.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1008.2,1014.76 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1014.76,1016.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.2,1021.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.57,1026.13 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1026.13,1029.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1029.21,1032.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.4,1033.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.49,1035.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1036.4,1043.89 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1043.89,1046.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1048.4,1048.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1052.2,1063.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1063.21,1065.40 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1065.40,1067.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.3,1068.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.38,1070.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1072.2,1074.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1074.18,1081.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.2,1082.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.28,1084.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.2,1085.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.16,1087.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.2,1088.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.30,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.2,1091.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.30,1093.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.2,1098.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.76,1100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1101.2,1102.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1102.16,1104.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1105.2,1105.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111.94,1113.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1113.15,1115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1117.2,1118.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1118.16,1120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1122.2,1123.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1123.13,1125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1126.2,1131.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1131.16,1133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.2,1134.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.19,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.2,1146.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.39,1148.55 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1148.55,1150.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.2,1152.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.39,1154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1157.2,1158.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1158.21,1163.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1163.21,1165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1166.3,1167.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1167.21,1169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.3,1170.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.52,1172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.3,1173.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.52,1178.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.3,1179.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.41,1182.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1183.3,1183.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.2,1188.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.46,1190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.2,1191.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.27,1193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1195.2,1196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1196.16,1198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1201.2,1210.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1210.16,1212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1213.2,1213.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218.59,1220.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1220.38,1222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1225.2,1226.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1226.29,1227.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1227.22,1229.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.2,1232.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.18,1234.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1237.2,1244.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1244.29,1245.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1245.67,1247.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.2,1249.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.16,1251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1254.2,1254.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258.55,1260.47 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1260.47,1262.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1263.2,1264.58 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1264.58,1266.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1267.2,1267.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270.252,1271.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1271.108,1273.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.2,1274.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.55,1276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1277.2,1277.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280.184,1282.69 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1282.69,1284.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1284.32,1285.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1285.58,1287.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.3,1290.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.18,1292.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.2,1294.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.19,1297.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1297.32,1298.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1298.39,1300.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.3,1303.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.19,1305.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.2,1307.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.21,1309.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1309.32,1310.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1310.49,1312.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.3,1315.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.18,1317.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.2,1319.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.28,1321.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1321.17,1323.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.3,1324.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.27,1326.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.2,1328.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.76,1330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1331.2,1331.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342.96,1343.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1343.26,1345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1347.2,1348.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1348.16,1350.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1352.2,1363.23 9 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1363.23,1364.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1364.58,1365.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1365.31,1367.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1367.10,1369.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.2,1373.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.17,1375.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.2,1376.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.16,1378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.2,1379.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.16,1381.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.2,1382.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.18,1384.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.2,1385.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.19,1387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.2,1388.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.19,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1396.2,1399.18 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1399.18,1400.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1400.61,1401.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1402.50,1403.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1404.12,1405.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1409.2,1410.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1410.42,1414.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1415.2,1420.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1420.16,1422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1429.2,1444.43 6 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1444.43,1446.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1449.2,1451.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1451.27,1453.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.2,1458.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.46,1460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.2,1461.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.63,1463.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1465.2,1466.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1466.15,1472.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1472.29,1479.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1479.18,1481.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.4,1482.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.23,1483.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.4,1485.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.30,1486.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1486.24,1488.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1488.32,1489.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1493.4,1494.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1494.30,1495.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1498.8,1504.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1504.29,1506.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1506.18,1508.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.4,1509.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.23,1510.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.4,1512.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.30,1513.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1513.24,1515.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1515.32,1516.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1520.4,1521.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1521.30,1522.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.2,1526.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.26,1528.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1528.17,1530.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.2,1535.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.74,1536.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1536.13,1537.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1537.33,1542.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1542.26,1544.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1544.39,1546.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1548.5,1548.82 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.2,1565.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.38,1569.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1569.27,1571.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.3,1572.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.27,1574.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1576.3,1581.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1581.32,1586.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1588.3,1592.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1592.18,1594.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1595.3,1596.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1596.17,1598.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1599.3,1599.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1602.2,1602.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1603.15,1618.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1618.32,1620.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1620.33,1621.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1621.40,1623.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1626.4,1638.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1640.3,1641.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1641.17,1643.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1644.3,1644.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1646.18,1648.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1648.17,1650.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1651.3,1651.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1653.10,1654.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1654.25,1656.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1657.3,1659.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1659.32,1661.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1661.33,1662.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1662.40,1664.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1667.4,1669.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1669.26,1671.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1672.4,1673.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1673.25,1675.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1676.4,1676.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1678.3,1678.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690.51,1695.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700.73,1702.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1702.16,1704.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1705.2,1706.48 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1706.48,1710.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1711.2,1713.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1713.16,1715.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1716.2,1716.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727.117,1731.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1731.21,1733.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1734.2,1735.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1735.16,1737.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1738.2,1739.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1739.27,1741.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1742.2,1742.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1764.19,1775.30 7 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1775.30,1777.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1777.37,1779.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.3,1781.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.20,1783.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.2,1797.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.39,1799.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1801.2,1811.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1811.25,1813.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1815.2,1816.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1816.29,1818.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.2,1824.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.27,1826.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1831.2,1833.22 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1833.22,1835.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1837.2,1846.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1846.16,1848.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1853.2,1855.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1855.27,1857.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1859.2,1876.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1876.33,1878.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1880.2,1881.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1881.28,1885.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1885.20,1888.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1888.33,1889.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1889.40,1891.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.4,1894.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.20,1895.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.3,1900.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.22,1902.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1902.33,1903.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1903.50,1905.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.4,1908.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.19,1909.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.3,1918.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.56,1919.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.3,1927.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.64,1928.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1932.3,1935.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1935.32,1936.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1936.39,1938.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1942.3,1956.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1956.14,1957.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1957.37,1959.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1961.3,1962.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1962.26,1963.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.2,1975.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.59,1986.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1986.17,1988.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1990.3,1991.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1991.34,1993.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1995.3,1996.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1996.29,1998.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1998.21,2001.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2001.34,2002.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2002.41,2004.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.5,2007.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.21,2008.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.4,2011.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.23,2013.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2013.34,2014.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2014.51,2016.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.5,2019.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.20,2020.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.4,2023.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.57,2024.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.4,2027.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.65,2028.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2030.4,2031.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2031.33,2032.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2032.40,2034.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2037.4,2051.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2051.15,2052.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2052.38,2054.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2056.4,2057.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2057.27,2058.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2065.2,2066.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2066.28,2068.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.2,2072.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.71,2080.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2080.30,2081.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2081.41,2087.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.3,2089.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.13,2090.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2090.31,2095.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2095.25,2097.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2097.38,2099.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2101.5,2101.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.2,2112.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.38,2115.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2115.27,2117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2121.3,2138.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2138.30,2140.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2140.11,2141.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2143.4,2160.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2160.15,2161.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2161.39,2163.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2165.4,2165.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2167.3,2173.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2173.24,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2176.3,2176.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2179.2,2179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2180.15,2182.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2182.24,2184.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2185.3,2185.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2187.18,2199.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2199.30,2201.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2201.11,2202.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2204.4,2208.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2208.15,2209.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2209.39,2211.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2213.4,2213.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2215.3,2216.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2216.24,2218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2219.3,2219.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2220.10,2221.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2221.22,2223.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2224.3,2226.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2226.27,2228.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2228.20,2230.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2231.4,2233.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2233.26,2235.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2236.4,2237.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2237.23,2239.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.4,2240.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.46,2244.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2245.4,2245.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2247.3,2247.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252.94,2254.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2254.16,2256.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2258.2,2260.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2260.18,2261.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2261.59,2262.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2262.36,2264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2264.10,2266.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.2,2270.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.13,2272.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.2,2273.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.50,2275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2277.2,2277.98 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281.98,2282.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2282.26,2284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2286.2,2287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2287.16,2289.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2291.2,2292.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2292.13,2294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2297.2,2298.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2298.19,2299.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2299.51,2301.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2302.3,2302.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.2,2304.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.42,2306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.2,2308.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.54,2309.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2309.48,2311.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2312.3,2312.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2316.2,2318.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17.82,19.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21.149,22.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:22.55,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.2,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.36,27.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:28.2,34.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:34.16,36.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.2,37.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.42,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:40.2,40.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43.105,44.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:44.48,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:47.2,48.54 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51.129,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:56.2,57.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:57.53,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:60.2,61.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:61.25,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:64.2,65.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:65.16,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:68.2,68.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26.97,27.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:27.18,29.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:30.2,30.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33.37,35.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37.81,38.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:38.44,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.2,41.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.38,43.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:44.2,44.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47.88,48.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:48.32,50.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:51.2,52.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:52.20,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:55.2,55.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58.40,72.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74.106,75.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:75.34,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:78.2,79.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:79.16,81.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:83.2,84.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:88.2,89.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:89.13,91.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:93.2,94.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:94.63,96.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.2,98.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.72,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:102.2,106.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109.117,110.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:110.32,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.2,113.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.34,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:117.2,118.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:118.16,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.2,121.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.19,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:125.2,126.69 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:126.69,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:130.2,136.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18.33,20.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22.27,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39.93,40.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:40.30,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.2,43.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.28,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:46.2,47.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:47.16,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:51.2,52.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:52.17,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:55.2,56.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:56.19,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.2,59.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.19,61.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:62.2,63.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:63.16,65.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:67.2,74.9 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:74.9,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:77.2,78.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:78.15,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:81.2,85.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:85.16,87.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.2,88.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.17,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:92.2,101.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104.48,105.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:108.2,109.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:109.29,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.2,112.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.31,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:115.2,115.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118.75,120.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:120.27,121.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:121.32,123.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:123.17,124.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:126.4,126.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:129.2,134.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:134.33,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.2,137.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.40,138.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:138.39,140.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:141.3,141.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.2,143.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.34,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:146.2,147.35 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:147.35,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:150.2,150.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153.77,154.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:154.20,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:157.2,159.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:159.31,160.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:160.33,162.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.3,163.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.30,165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:167.2,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23.91,25.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27.38,50.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52.104,53.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:53.38,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:56.2,57.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:61.2,62.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:62.26,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:65.2,66.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:66.30,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.2,69.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.72,71.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:73.2,74.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:77.2,78.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:78.16,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:81.2,82.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:82.16,84.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:85.2,86.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:90.2,105.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.2,109.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.19,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.2,118.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.25,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.2,121.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.30,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.2,124.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.31,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:131.2,131.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134.91,136.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:136.9,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:139.2,140.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:140.15,141.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:141.19,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:144.3,144.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:146.2,146.94 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149.59,150.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:150.16,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:153.2,154.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:154.61,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:157.2,157.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160.56,161.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:161.75,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:164.2,164.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167.67,169.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:170.17,171.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:172.67,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:174.10,175.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179.60,180.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:183.2,184.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:184.25,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:187.2,187.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190.57,191.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:192.15,193.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:193.81,195.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:196.3,196.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:197.19,199.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:199.17,201.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.3,202.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.55,204.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:205.3,205.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:206.14,207.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:208.11,209.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:210.10,211.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215.59,216.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:216.16,218.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:219.2,219.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:220.12,221.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:222.14,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:224.10,225.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:28.90,30.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:30.16,32.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:34.2,36.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:37.16,38.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:40.16,42.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:44.20,46.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:48.17,50.142 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:52.17,56.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:56.50,62.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:62.63,64.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.4,66.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.45,68.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:72.4,74.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:74.25,76.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:77.4,77.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:80.3,80.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:82.18,84.141 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:86.18,88.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:88.18,90.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:91.3,91.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:93.17,96.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:96.50,99.59 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:99.59,101.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:102.4,104.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:104.25,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:107.4,107.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:110.3,110.98 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:112.10,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:125.86,126.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:129.2,130.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:130.9,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.2,133.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.22,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:137.2,139.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:139.31,141.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:141.10,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:144.3,145.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:145.22,147.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:148.3,149.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:149.26,151.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.3,152.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.68,154.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:155.3,156.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:156.37,158.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:159.3,160.107 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:162.2,162.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:165.249,166.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:166.24,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.2,169.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.38,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:173.2,174.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:174.31,175.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:175.32,177.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:180.2,181.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:181.34,182.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:182.29,183.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:185.3,197.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:197.17,199.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.3,200.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.20,201.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.3,203.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.37,205.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:205.33,206.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.4,208.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.19,209.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:209.43,210.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:212.5,212.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:214.4,215.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:215.30,216.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:220.2,220.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:223.113,229.2 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:231.101,233.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:247.92,251.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:251.16,253.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.8,253.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:259.2,272.51 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:272.51,274.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:274.38,275.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:276.50,277.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:278.12,279.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:287.2,292.26 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:292.26,294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.2,297.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.19,301.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:303.2,311.42 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:311.42,315.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:316.2,341.64 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:341.64,342.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:342.86,344.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.3,345.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.56,347.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:348.3,360.19 6 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:360.19,364.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:365.3,365.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:369.2,370.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:370.15,372.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:372.27,374.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.3,375.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.27,377.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:380.2,381.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:381.15,387.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:387.28,395.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:395.18,397.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.4,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.23,399.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.4,401.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.30,402.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:402.66,403.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:405.5,406.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:406.12,407.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.5,409.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.28,413.6 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:414.5,415.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:415.30,416.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:419.4,420.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:420.30,421.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:424.8,432.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:432.28,438.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:438.18,440.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.4,441.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.23,442.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.4,444.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.30,445.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:445.40,447.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:447.31,448.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:452.4,455.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:455.30,456.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:461.2,465.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:465.17,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:469.2,470.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:470.16,472.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:473.2,473.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20.79,21.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:21.43,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.2,24.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.29,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:27.2,27.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30.40,63.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65.68,71.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:71.25,74.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:75.2,75.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78.62,83.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:83.19,87.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:88.2,88.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91.101,92.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:92.22,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:95.2,96.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:96.18,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:103.2,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:107.2,107.119 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110.99,111.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:111.22,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:114.2,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:115.18,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:118.2,119.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:119.16,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.2,122.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.51,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:129.2,131.15 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:131.15,132.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:132.69,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:135.3,135.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:137.2,137.130 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140.102,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.2,145.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.64,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:148.2,148.113 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151.109,153.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:157.16,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:160.2,161.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:161.16,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:164.2,164.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167.107,169.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:169.16,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:172.2,173.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:173.16,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.2,176.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.107,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:179.2,179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:180.41,181.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:182.41,183.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:184.10,185.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189.111,191.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:191.16,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:194.2,195.57 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:195.57,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:198.2,199.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:199.23,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.2,206.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.17,208.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:209.2,209.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212.63,215.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217.69,219.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:222.2,222.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225.60,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:230.2,230.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233.137,234.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:234.49,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:241.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:246.2,247.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:247.16,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.2,250.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.22,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:253.2,253.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256.142,258.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:258.16,260.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:261.2,262.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:262.16,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.2,265.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.47,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:268.2,269.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:269.16,270.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:270.50,272.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:273.3,273.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:275.2,275.173 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278.157,280.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:280.16,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.2,283.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.47,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:286.2,287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:287.16,288.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:288.50,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:291.3,291.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:293.2,293.169 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296.104,297.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:297.22,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:300.2,301.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:301.61,303.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:303.20,304.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.2,307.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.19,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:310.2,317.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320.119,322.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:322.39,323.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:323.81,325.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:327.2,327.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330.71,332.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:332.16,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:335.2,335.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17.61,105.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:105.23,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:123.2,123.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126.104,127.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:127.61,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.2,130.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.38,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:133.2,134.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:137.2,138.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:138.16,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:141.2,147.107 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:147.107,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:150.2,151.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:151.16,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:154.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:170.19,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:173.2,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176.103,177.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:177.61,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.2,180.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.38,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:187.2,191.106 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:191.106,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:194.2,195.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:195.16,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:198.2,200.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:200.31,207.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:207.36,218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:219.3,220.35 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:222.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233.107,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.2,237.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.38,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:240.2,241.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:241.16,243.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:244.2,248.110 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:248.110,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:251.2,252.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:252.16,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:255.2,256.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:256.33,266.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:267.2,275.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278.108,279.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:279.61,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.2,282.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.37,284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:285.2,286.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:286.16,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:289.2,290.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:290.19,292.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.2,293.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.104,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:296.2,297.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:297.16,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:300.2,307.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:307.16,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:310.2,311.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:311.43,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:319.2,332.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:332.22,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:335.2,335.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338.108,339.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:339.62,341.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.2,342.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.38,344.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:345.2,346.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:346.9,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:349.2,350.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:350.16,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:353.2,357.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:360.2,370.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373.109,374.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:374.62,376.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.2,377.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.38,379.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:380.2,381.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:381.9,383.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:384.2,385.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:385.16,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:388.2,390.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:390.32,392.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:393.2,394.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:394.16,396.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:397.2,403.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406.106,407.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:407.62,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.2,410.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.38,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:413.2,414.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:414.9,416.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:417.2,418.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:418.16,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:421.2,423.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:423.16,424.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:424.41,434.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:435.3,435.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:437.2,445.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483.65,484.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:484.42,485.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:485.39,487.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.2,489.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.85,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:492.2,492.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495.102,496.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:496.38,498.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.2,499.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.58,501.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:502.2,502.90 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505.60,508.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510.66,512.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:512.26,514.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:515.2,515.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518.69,521.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:521.33,523.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:523.21,524.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.3,526.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.34,527.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:529.3,530.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:532.2,532.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535.63,537.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:537.19,539.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:540.2,541.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:541.42,543.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.2,544.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.57,546.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.2,547.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.54,549.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:550.2,550.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553.70,557.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559.66,561.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:561.9,563.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:564.2,566.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:566.17,568.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:569.2,569.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:570.103,572.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:573.34,574.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:575.10,576.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580.56,581.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:581.37,583.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.2,584.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.26,586.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:586.37,587.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:589.3,589.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:591.2,591.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594.90,602.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604.68,605.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:605.71,607.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:607.17,609.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:610.3,610.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:612.2,613.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:613.16,615.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:616.2,617.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:617.41,619.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:620.2,620.78 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623.65,625.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:625.16,627.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.2,628.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.17,630.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:631.2,631.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634.51,635.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:635.16,637.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:638.2,638.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641.56,642.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:642.28,644.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:645.2,646.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649.92,651.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:651.29,653.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:654.2,654.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657.86,659.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:659.29,661.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:662.2,662.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665.94,667.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:667.29,669.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:670.2,670.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673.98,675.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:675.29,677.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:678.2,678.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:17.93,18.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:18.104,20.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:22.2,23.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:23.16,25.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:27.2,28.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:28.19,30.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:32.2,35.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:35.33,36.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:36.47,39.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:42.2,44.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:44.20,47.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:48.2,49.68 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:49.68,50.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:50.48,52.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.3,53.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.32,55.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:55.23,56.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:56.63,58.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:59.5,59.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:61.4,61.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:64.2,71.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:71.17,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.8,73.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.29,75.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:75.36,77.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:78.3,83.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.2,86.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.35,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:90.2,97.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:101.2,110.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:110.28,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:113.2,124.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:133.93,134.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:134.35,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:138.2,139.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:139.16,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:143.2,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.2,147.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.17,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:151.2,152.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:152.33,153.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:153.47,156.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:160.16,162.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:164.2,176.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:176.26,178.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:178.23,180.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:181.3,192.5 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:195.2,196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:199.2,199.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:22.104,24.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:24.16,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:28.2,29.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:29.18,31.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:33.2,33.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:34.13,35.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:36.13,37.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:38.14,39.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:40.16,41.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:42.10,43.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:51.67,53.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:57.68,58.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:58.33,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:61.2,61.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:67.42,69.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:74.61,76.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:76.26,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:79.2,79.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:85.90,86.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:86.49,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:90.2,91.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:91.15,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:94.2,95.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:95.17,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:100.2,103.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:103.16,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:107.2,113.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:113.12,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:115.18,117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:118.3,119.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:119.20,121.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:122.3,124.48 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:125.8,127.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:129.2,130.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:130.16,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:134.2,139.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:145.90,147.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:151.2,152.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:152.16,154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:157.16,158.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:158.47,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:161.3,161.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:164.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:170.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:173.8,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:176.2,176.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:181.92,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:187.2,188.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:188.16,190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:192.2,200.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:200.25,207.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:207.28,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:210.3,210.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:212.2,212.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:216.93,217.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:217.52,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:221.2,222.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:222.15,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:226.2,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.2,231.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.47,232.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:232.47,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:235.3,235.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:238.2,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:35.127,36.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:36.23,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:39.2,40.40 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:40.40,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.2,43.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.37,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.2,46.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.37,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:49.2,49.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:52.23,80.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:82.26,140.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:142.92,143.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:143.25,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:147.2,148.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:148.49,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:152.2,152.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:153.17,154.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:154.24,156.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:157.3,158.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:158.17,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:161.3,165.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:166.17,167.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:167.22,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.3,170.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.22,172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:173.3,174.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:174.17,176.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:177.3,181.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:182.16,189.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:189.23,191.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.3,192.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.24,194.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.3,195.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.39,197.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:198.3,207.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:207.17,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.3,210.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.69,212.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:213.3,213.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:214.10,215.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:219.92,220.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:220.25,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:224.2,225.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:225.49,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:229.2,229.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:230.17,232.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:232.24,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:235.3,236.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:236.17,238.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.3,239.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.59,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.3,242.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.81,244.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:245.3,250.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:251.17,253.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:253.22,255.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:256.3,257.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:257.17,259.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.3,260.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.79,262.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:263.3,268.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:269.10,270.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:274.91,276.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:276.16,278.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.2,279.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.67,280.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:280.76,282.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:285.2,286.52 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:286.52,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:289.2,289.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:292.74,294.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:294.16,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.2,297.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.62,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:300.2,300.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:303.109,304.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:304.56,306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.2,307.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.25,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.2,310.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.81,312.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.2,313.102 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.102,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.2,316.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.108,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.2,319.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.99,321.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.2,322.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.99,324.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.2,325.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.60,327.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.2,328.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.34,330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.2,331.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.114,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.2,334.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.66,336.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.2,337.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.40,339.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.2,340.132 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.132,342.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.2,343.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.35,345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:346.2,346.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:349.92,350.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:350.103,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:354.2,355.52 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:355.52,357.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.2,358.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.32,360.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:361.2,361.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:364.108,365.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:365.19,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:368.2,369.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:369.53,371.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.2,372.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.19,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.2,375.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.39,376.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:376.34,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:380.2,380.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:383.66,385.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:385.53,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.2,388.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.19,390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:391.2,391.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:16.2,18.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:19.16,20.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:21.14,22.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:23.15,24.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:25.16,26.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:27.10,28.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21.75,23.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25.41,28.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30.31,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39.38,46.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48.50,56.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58.43,70.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72.80,73.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:73.36,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.2,76.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.48,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:79.2,79.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82.97,84.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:87.2,88.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:88.16,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:91.2,92.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:92.16,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:95.2,96.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:96.16,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:99.2,99.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102.104,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:111.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:115.2,116.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:116.16,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:119.2,119.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122.96,124.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:127.2,128.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:128.19,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:131.2,132.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:132.18,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:135.2,141.79 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:141.79,143.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:143.17,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:146.3,146.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:148.2,148.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151.77,153.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:156.2,157.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:157.19,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:160.2,160.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:22.15,23.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:24.13,25.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:26.14,27.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:28.16,29.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:30.16,31.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:32.10,33.102 1 0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/create-database.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/create-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/create-database.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/create-database.stdout.log new file mode 100644 index 00000000..4b15bd57 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/create-database.stdout.log @@ -0,0 +1 @@ +CREATE DATABASE diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/create-pgvector.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/create-pgvector.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/create-pgvector.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/create-pgvector.stdout.log new file mode 100644 index 00000000..d26bad14 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/create-pgvector.stdout.log @@ -0,0 +1 @@ +CREATE EXTENSION diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/database-identity.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/database-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/database-identity.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/database-identity.stdout.log new file mode 100644 index 00000000..adb03acb --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/database-identity.stdout.log @@ -0,0 +1 @@ +{"database" : "engram_prc_rg_test_9d26ac76f6cc9efa_r1", "schema" : "public", "server_version" : "17.10 (Debian 17.10-1.pgdg12+1)", "user" : "engram"} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/go-test-summary.json b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/go-test-summary.json new file mode 100644 index 00000000..547b6c54 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/go-test-summary.json @@ -0,0 +1,40 @@ +{ + "schema_version": 1, + "verdict": "FAIL", + "input_path": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\go-test.stdout.jsonl", + "fail_on_unexpected_skip": true, + "allowed_skip_identities": [], + "counts": { + "packages": 1, + "tests": 1, + "passed": 0, + "failed": 1, + "skipped": 0, + "no_tests": 0, + "zero_tests": 0, + "incomplete": 0, + "unexpected_skips": 0, + "malformed_lines": 0 + }, + "packages": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "outcome": "fail", + "elapsed_seconds": 3.915, + "last_output": "FAIL\tgithub.com/thebtf/engram/internal/mcp\t3.908s", + "tests_observed": 1 + } + ], + "tests": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEC_F1_TagDerivedBackfill_T007", + "outcome": "fail", + "elapsed_seconds": 3.77, + "last_output": "--- FAIL: TestEC_F1_TagDerivedBackfill_T007 (3.77s)", + "skip_allowed": false + } + ], + "unexpected_skips": [], + "errors": [] +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/go-test.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/go-test.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/go-test.stdout.jsonl b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/go-test.stdout.jsonl new file mode 100644 index 00000000..3ac78ddc --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/go-test.stdout.jsonl @@ -0,0 +1,21 @@ +{"Time":"2026-07-11T03:56:05.4077143+03:00","Action":"start","Package":"github.com/thebtf/engram/internal/mcp"} +{"Time":"2026-07-11T03:56:05.5146724+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007"} +{"Time":"2026-07-11T03:56:05.5151729+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"=== RUN TestEC_F1_TagDerivedBackfill_T007\n"} +{"Time":"2026-07-11T03:56:06.4360756+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"warn\",\"error\":\"ERROR: relation \\\"observation_vectors\\\" does not exist (SQLSTATE 42P01)\",\"time\":\"2026-07-11T03:56:06+03:00\",\"message\":\"migration 040: orphan vector cleanup failed (non-fatal)\"}\n"} +{"Time":"2026-07-11T03:56:06.4360756+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"garbage_deleted\":0,\"orphan_vectors_deleted\":0,\"time\":\"2026-07-11T03:56:06+03:00\",\"message\":\"migration 040: garbage cleanup complete\"}\n"} +{"Time":"2026-07-11T03:56:06.4440745+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"orphan_vectors_deleted\":0,\"time\":\"2026-07-11T03:56:06+03:00\",\"message\":\"migration 041: orphan vector purge complete\"}\n"} +{"Time":"2026-07-11T03:56:06.4520745+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"patterns_deleted\":0,\"time\":\"2026-07-11T03:56:06+03:00\",\"message\":\"migration 042: low-quality pattern purge complete\"}\n"} +{"Time":"2026-07-11T03:56:06.4905759+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"total_deleted\":0,\"time\":\"2026-07-11T03:56:06+03:00\",\"message\":\"migration 043: radical observation cleanup complete\"}\n"} +{"Time":"2026-07-11T03:56:07.733613+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"warn\",\"error\":\"ERROR: extension \\\"vectorscale\\\" is not available (SQLSTATE 0A000)\",\"time\":\"2026-07-11T03:56:07+03:00\",\"message\":\"migration 109: vectorscale extension not available, skipping DiskANN index\"}\n"} +{"Time":"2026-07-11T03:56:08.9133229+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:56:08+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:56:08.9378239+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" store_memory_compat_t007_test.go:157: \n"} +{"Time":"2026-07-11T03:56:08.9378239+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \tError Trace:\tD:/Dev/engram/.w/t007-r1-parent-red/internal/mcp/store_memory_compat_t007_test.go:157\n"} +{"Time":"2026-07-11T03:56:08.9378239+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \tError: \tShould be true\n"} +{"Time":"2026-07-11T03:56:08.9378239+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \tTest: \tTestEC_F1_TagDerivedBackfill_T007\n"} +{"Time":"2026-07-11T03:56:08.9378239+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \tMessages: \tglobal-scoped row must be returned by MemoryStore.List within its own project\n"} +{"Time":"2026-07-11T03:56:09.28165+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"--- FAIL: TestEC_F1_TagDerivedBackfill_T007 (3.77s)\n"} +{"Time":"2026-07-11T03:56:09.28165+03:00","Action":"fail","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Elapsed":3.77} +{"Time":"2026-07-11T03:56:09.28165+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"FAIL\n"} +{"Time":"2026-07-11T03:56:09.2981487+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"coverage: 0.1% of statements\n"} +{"Time":"2026-07-11T03:56:09.3224226+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"FAIL\tgithub.com/thebtf/engram/internal/mcp\t3.908s\n"} +{"Time":"2026-07-11T03:56:09.3224226+03:00","Action":"fail","Package":"github.com/thebtf/engram/internal/mcp","Elapsed":3.915} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/pg-stat-activity-after.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/pg-stat-activity-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/pg-stat-activity-after.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/pg-stat-activity-after.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/pg-stat-activity-after.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/pg-stat-activity-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/pg-stat-activity-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/repeat-summary.json b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/repeat-summary.json new file mode 100644 index 00000000..458015de --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/repeat-summary.json @@ -0,0 +1,36 @@ +{ + "repeat": 1, + "verdict": "FAIL", + "database": "engram_prc_rg_test_9d26ac76f6cc9efa_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_9d26ac76f6cc9efa_r1.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": false, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 1, + "json_parser_exit": 1, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\cleanup\\cleanup.json", + "errors": [ + "go test failed with exit 1", + "go test JSON assertion failed with exit 1" + ], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01" +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/server-connection-count-after.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/server-connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/server-connection-count-after.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/server-connection-count-after.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/server-connection-count-after.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/server-connection-count-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/server-connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/server-connection-count-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/server-connection-count-before.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/server-connection-count-before.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/targeted-coverage.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/targeted-coverage.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/targeted-coverage.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/targeted-coverage.stdout.log new file mode 100644 index 00000000..c958686c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/repeat-01/targeted-coverage.stdout.log @@ -0,0 +1,352 @@ +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33: effectiveAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44: isAuditEnabled 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52: runAuditAsync 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77: marshalState 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92: logAuditCreate 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117: logAuditEdit 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142: logAuditDelete 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166: logAuditGeneric 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189: logAuditSupersede 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:30: parseArgs 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:46: coerceString 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:67: coerceInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:97: coerceInt64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:127: coerceFloat64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:151: coerceBool 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:177: coerceStringSlice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:204: coerceInt64Slice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:222: clampToInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:236: clampInt64ToInt 0.0% +github.com/thebtf/engram/internal/mcp/context.go:17: extractProjectFromHeader 0.0% +github.com/thebtf/engram/internal/mcp/context.go:22: contextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:29: ContextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:35: projectFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:41: contextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:48: ContextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:54: sessionFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:61: actorFromContext 0.0% +github.com/thebtf/engram/internal/mcp/health.go:22: NewMCPHealth 0.0% +github.com/thebtf/engram/internal/mcp/health.go:29: RecordRequest 0.0% +github.com/thebtf/engram/internal/mcp/health.go:36: RecordError 0.0% +github.com/thebtf/engram/internal/mcp/health.go:42: rotateWindowIfNeeded 0.0% +github.com/thebtf/engram/internal/mcp/health.go:55: HandleHealth 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28: ruleGovernanceCaptureEnabled 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39: captureActiveRuleIntent 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104: ruleIntentFingerprint 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113: marshalRuleCandidateIntentResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:127: NewServer 100.0% +github.com/thebtf/engram/internal/mcp/server.go:141: SetBackfillStatusFunc 0.0% +github.com/thebtf/engram/internal/mcp/server.go:146: SetVersionedDocumentStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:151: SetIssueStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:156: SetMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:161: SetMetaMemoryIndex 0.0% +github.com/thebtf/engram/internal/mcp/server.go:166: SetHintQueue 0.0% +github.com/thebtf/engram/internal/mcp/server.go:171: SetStateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:176: SetDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/server.go:181: SetBehavioralRulesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:186: SetRuleGovernanceStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:191: SetRuleInjectionTelemetryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:195: SetPromotionStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:199: SetGraphStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:204: SetNodesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:211: SetAuditStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:216: SetPurgeStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:222: SetCandidateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:228: SetSnapshotStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:234: SetBulkFacade 0.0% +github.com/thebtf/engram/internal/mcp/server.go:240: setTestAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/server.go:246: setTestMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/server.go:252: setTestMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/server.go:260: SetWriteLintOrchestrator 0.0% +github.com/thebtf/engram/internal/mcp/server.go:269: SetRedactionRules 0.0% +github.com/thebtf/engram/internal/mcp/server.go:274: SetEmbeddingStores 0.0% +github.com/thebtf/engram/internal/mcp/server.go:282: SetRerankClient 0.0% +github.com/thebtf/engram/internal/mcp/server.go:290: SetStatsDB 0.0% +github.com/thebtf/engram/internal/mcp/server.go:297: HandleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:303: ListTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:332: Version 0.0% +github.com/thebtf/engram/internal/mcp/server.go:383: Run 0.0% +github.com/thebtf/engram/internal/mcp/server.go:427: handleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:461: handleNotification 0.0% +github.com/thebtf/engram/internal/mcp/server.go:473: handleInitialize 0.0% +github.com/thebtf/engram/internal/mcp/server.go:496: buildInstructions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:660: storeMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:712: recallMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:805: primaryTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:942: handleToolsList 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1612: handleToolsCall 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1644: sanitizeToolCallArgs 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1656: callTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1874: sendResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1884: sendError 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1896: handleFindSimilarObservations 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1927: handleGetMemoryStats 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2055: handleBackfillStatus 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2071: handleCheckSystemHealth 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2216: handleAnalyzeSearchPatterns 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2246: handleSearchSessions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2251: handleListSessions 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:18: buildAdminTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:68: adminActionsForEnv 33.3% +github.com/thebtf/engram/internal/mcp/tools_admin.go:80: vnextEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:84: handleAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:120: handlePurgeProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27: ambientHintsEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32: ambientHintsTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48: handleGetAmbientHints 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86: normalizeAmbientHintsToolLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96: ambientHintItems 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114: errMissingSessionID 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:31: handleGetMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:107: memoryBriefUsesPrincipalScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:115: handlePrincipalMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:259: truncateBriefContent 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:270: filterInjectionByScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25: bulkOpsTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95: handleBulkPromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154: handleBulkDelete 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211: handleBulkSupersede 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31: candidateItemFromDomain 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51: newCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59: requireCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68: candidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165: handleListCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208: handleGetCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239: handlePromoteCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348: handleRejectCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402: handleSupersedeCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34: codeIntelEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42: SetCodeChunkStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48: codebaseSearchTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79: codebaseStatusTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100: handleCodebaseSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194: handleCodebaseStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:21: getVault 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:35: credentialStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:49: handleStoreCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:130: handleGetCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:192: handleListCredentials 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:243: handleDeleteCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:302: handleVaultStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:338: expandTagHierarchy 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:16: directivesCaptureEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:20: rememberDirectiveTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:38: currentDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:48: handleRememberDirective 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:72: parseRememberDirectiveArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10: handleDocsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:15: handleListCollections 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:61: handleListDocuments 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:121: handleGetDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:165: handleRemoveDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:197: handleIngestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:235: handleSearchCollection 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15: handleDocCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61: handleDocRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117: handleDocUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122: handleDocList 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175: handleDocHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232: handleDocComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19: SetExperienceProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23: experienceHistoryTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40: experienceHistoryReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65: experienceHistoryDetailSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82: experienceHistoryTriggerEnum 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91: handleExperienceHistoryRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103: handleExperienceHistoryDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115: parseExperienceHistoryReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142: parseExperienceHistoryDetailArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157: experienceHistoryTriggersFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180: marshalExperienceHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12: handleFeedbackConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36: handleSetSessionOutcome 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:27: governanceTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:98: handleListSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:167: handleRollbackSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:215: handlePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:258: handleRedactionRulesStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:284: resolveGovernanceActor 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:64: handleGraph 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:100: graphAddEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:216: mcpGraphEndpointExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:243: mcpGraphEdgeAlreadyExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:276: graphAddNode 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:317: graphRemoveEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:332: graphGetEdges 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:397: filterEdgesByNodeType 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:457: graphTraverse 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:480: graphFindPath 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:502: graphSynonyms 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23: graphCreateEdgeWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80: graphEndpointExistsWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114: graphDuplicateEdgeExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25: handleIngest 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43: ingestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20: handleImportInstincts 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:19: issuesToolSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:109: validateIssueActionParams 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:143: handleIssues 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:189: resolveSourceProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:205: handleIssueCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:250: handleIssueList 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:311: handleIssueGet 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:344: handleIssueUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:382: handleIssueComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:408: handleIssueReopen 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:425: handleIssueClose 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22: handleLifecycle 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48: lifecycleInfo 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87: lifecyclePromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118: lifecycleDemote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149: lifecycleSetConfidence 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172: lifecycleSetDefeasibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191: lifecycleSleepStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197: lifecycleDecayPreview 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233: marshalJSON 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:35: vnextFEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:42: isValidPrivacyScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:54: derivePrivacyScopeFromLegacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:82: deriveLegacyScopeFromPrivacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:93: applyPrincipalMemoryMetadata 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:135: addPrincipalMemoryFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:161: newScopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:172: writeLintVisibilityCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:186: writeLintVisibilityOptions 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:192: scopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:202: filterVisibleWriteGateCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:214: domainManageAllowed 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:218: List 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:272: writeLintVisibilityFetchLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:286: Get 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:297: Create 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:301: Update 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:305: MarkSuperseded 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:319: effectiveMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:329: isValidStoreObservationType 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:354: handleStoreMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111: handleEditMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218: computeTTLDays 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258: truncateTitle 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270: keepRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280: keepRecallMemoryFilters 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342: handleRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690: staleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700: marshalWithStaleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727: Rank 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1751: handleRecallMemoryHybrid 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252: handleRateMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281: handleSuppressMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17: SetDomainRegistryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21: checkDomainWriteMCP 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43: addDomainWriteDecisionFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51: marshalStoreMemoryAugmented 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26: newMemoryStoreSignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33: s6OutcomeEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37: effectiveMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47: currentMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58: rateMemorySignificanceTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74: handleRateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109: RateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18: s2MetaMemoryEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22: knowAboutTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39: handleKnowAbout 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104: parseKnowAboutLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118: summarizeMetaIndexTags 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153: summarizeMetaIndexDateRange 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23: SetPrincipalMemoryQueryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27: principalMemoryQueryTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52: handleQueryPrincipalMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134: principalMemoryQueryCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149: parsePrincipalMemoryQueryLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160: principalMemoryQueryText 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167: parsePrincipalMemoryQueryVisibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179: parsePrincipalMemoryQueryOffset 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190: parsePrincipalMemoryQueryInt 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215: parsePrincipalMemoryQueryBool 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:28: handleRecall 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:125: parseRecallIncludedPrincipals 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:165: appendRecallIncludedPrincipalMemories 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:223: recallIncludeTargetMatchesCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:231: recallPrincipalQueryItemToMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:247: handleRecallSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20: currentReviewLoopCandidateLister 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30: reviewLoopCandidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65: reviewLoopReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78: reviewPacketIDSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91: handleReviewMetricsRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110: handleReviewQueueRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140: handleReviewPacketDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151: handleReviewPacketPreviewAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167: handleReviewPacketApplyAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189: parseReviewLoopReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212: reviewLoopMCPPacketTypeSupported 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217: reviewLoopActionFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225: reviewLoopReasonFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233: loadReviewPacketCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256: applyReviewPacketPreserve 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278: applyReviewPacketSuppress 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296: reviewLoopMemoryFromCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320: filterRiskyMCPReviewCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330: marshalReviewLoop 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17: ruleGovernanceReadTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126: handleRuleGovernanceHealth 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176: handleRuleGovernanceQueue 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233: handleRuleGovernanceSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278: handleRuleGovernanceUsefulness 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338: handleRuleGovernanceTransition 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373: handleRuleGovernancePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406: handleRuleGovernanceRollback 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483: requireRuleGovernanceReadAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495: requireRuleGovernanceProjectOrAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505: ruleGovernanceCallerIsAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510: requireRuleGovernanceAdminAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518: redactRuleGovernanceEvidenceHandles 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535: redactRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553: ruleGovernanceEvidenceHandleHasSensitiveText 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559: isCanonicalRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580: isSafeRuleGovernanceEvidenceID 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594: parseRuleGovernanceTransitionRequest 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604: parseRuleGovernanceSince 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623: boundedRuleGovernanceLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634: formatRuleGovernanceTime 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641: formatRuleGovernanceTimePtr 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649: stringRuleCandidateStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657: stringRuleVersionStateCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665: stringRuleArbiterRunStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673: stringRuleInjectionEventTypeCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:17: handleStoreRule 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:133: handleListRules 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:22: handleSettingsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:51: SetSettingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:57: settingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:67: isSecretSettingKey 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:74: requireAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:85: handleSetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:145: handleGetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:181: handleListSettings 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:216: handleDeleteSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:35: resumeScopesFromFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:52: stateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:82: setStateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:142: handleGetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:219: handleSetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:274: decodeSessionStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:292: validateSessionStateBudget 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:303: validateNativeResumePacket 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:349: decodeProjectStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:364: requireStateObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:383: requireNestedObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10: handleStoreConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21: SetTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25: temporalTruthEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30: temporalTruthTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39: temporalTruthRefreshTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48: temporalTruthRefreshSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58: temporalTruthSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72: currentTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82: handleTemporalTruth 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102: handleTemporalTruthRefresh 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122: parseTemporalTruthArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151: parseTemporalTruthRefreshProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10: handleVaultConsolidated 0.0% +total: (statements) 0.1% diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/summary.json b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/summary.json new file mode 100644 index 00000000..30895ff7 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/parent-original-red/summary.json @@ -0,0 +1,67 @@ +{ + "schema_version": 1, + "gate": "release-gates-foundation", + "run_id": "parent-original-red", + "started_at": "2026-07-11T00:55:50.4077959+00:00", + "finished_at": "2026-07-11T00:56:14.9285790+00:00", + "duration_seconds": 24.521, + "verdict": "FAIL", + "counts": { + "requested_repeats": 1, + "completed_repeats": 1, + "passed_repeats": 0, + "failed_repeats": 1, + "child_commands": 16, + "nonzero_child_commands": 2 + }, + "packages": [ + "./internal/mcp" + ], + "run_pattern": "^TestEC_F1_TagDerivedBackfill_T007$", + "coverage_policy": "Targeted", + "connection_budget": 20, + "race": false, + "database_dsn": "REDACTED_DATABASE_DSN", + "environment": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\environment.json", + "commands": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\commands.json", + "repeats": [ + { + "repeat": 1, + "verdict": "FAIL", + "database": "engram_prc_rg_test_9d26ac76f6cc9efa_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_9d26ac76f6cc9efa_r1.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": false, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 1, + "json_parser_exit": 1, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01\\cleanup\\cleanup.json", + "errors": [ + "go test failed with exit 1", + "go test JSON assertion failed with exit 1" + ], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red\\repeat-01" + } + ], + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\parent-original-red" +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/commands.json b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/commands.json new file mode 100644 index 00000000..6a251900 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/commands.json @@ -0,0 +1,444 @@ +[ + { + "name": "go-version", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "version" + ], + "environment_keys": [], + "command": "C:\\Program Files\\Go\\bin\\go.exe version", + "started_at": "2026-07-11T00:57:32.0630167+00:00", + "finished_at": "2026-07-11T00:57:32.4057689+00:00", + "duration_seconds": 0.343, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\go-version.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\go-version.stderr.log" + }, + { + "name": "postgres-container-identity", + "executable": "docker", + "arguments": [ + "inspect", + "--format", + "{{.Name}}|{{.Config.Image}}|{{.Image}}|{{.State.Running}}", + "engram-prc-postgres" + ], + "environment_keys": [], + "command": "docker inspect --format {{.Name}}|{{.Config.Image}}|{{.Image}}|{{.State.Running}} engram-prc-postgres", + "started_at": "2026-07-11T00:57:32.4681694+00:00", + "finished_at": "2026-07-11T00:57:32.9588668+00:00", + "duration_seconds": 0.491, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\postgres-container-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\postgres-container-identity.stderr.log" + }, + { + "name": "postgres-server-identity", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT json_build_object('server_version', current_setting('server_version'), 'server_version_num', current_setting('server_version_num'), 'version', version(), 'max_connections', current_setting('max_connections'), 'superuser_reserved_connections', current_setting('superuser_reserved_connections'), 'reserved_connections', COALESCE(NULLIF(current_setting('reserved_connections', true), ''), '0'), 'current_connections', (SELECT count(*)::text FROM pg_stat_activity), 'database', current_database(), 'schema', current_schema(), 'user', current_user)::text;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT json_build_object('server_version', current_setting('server_version'), 'server_version_num', current_setting('server_version_num'), 'version', version(), 'max_connections', current_setting('max_connections'), 'superuser_reserved_connections', current_setting('superuser_reserved_connections'), 'reserved_connections', COALESCE(NULLIF(current_setting('reserved_connections', true), ''), '0'), 'current_connections', (SELECT count(*)::text FROM pg_stat_activity), 'database', current_database(), 'schema', current_schema(), 'user', current_user)::text;", + "started_at": "2026-07-11T00:57:32.9732484+00:00", + "finished_at": "2026-07-11T00:57:33.4487072+00:00", + "duration_seconds": 0.475, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\postgres-server-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\postgres-server-identity.stderr.log" + }, + { + "name": "repeat-1-create-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "CREATE DATABASE \"engram_prc_rg_test_c7cfa0692a684a57_r1\" OWNER \"engram\";" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c CREATE DATABASE \"engram_prc_rg_test_c7cfa0692a684a57_r1\" OWNER \"engram\";", + "started_at": "2026-07-11T00:57:33.4958668+00:00", + "finished_at": "2026-07-11T00:57:34.0729155+00:00", + "duration_seconds": 0.577, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\create-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\create-database.stderr.log" + }, + { + "name": "repeat-1-create-pgvector", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_c7cfa0692a684a57_r1", + "-At", + "-F", + "|", + "-c", + "CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_c7cfa0692a684a57_r1 -At -F | -c CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;", + "started_at": "2026-07-11T00:57:34.0772644+00:00", + "finished_at": "2026-07-11T00:57:34.5167289+00:00", + "duration_seconds": 0.439, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\create-pgvector.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\create-pgvector.stderr.log" + }, + { + "name": "repeat-1-database-identity", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "engram_prc_rg_test_c7cfa0692a684a57_r1", + "-At", + "-F", + "|", + "-c", + "SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d engram_prc_rg_test_c7cfa0692a684a57_r1 -At -F | -c SELECT json_build_object('database', current_database(), 'schema', current_schema(), 'server_version', current_setting('server_version'), 'user', current_user)::text;", + "started_at": "2026-07-11T00:57:34.5201913+00:00", + "finished_at": "2026-07-11T00:57:35.0740152+00:00", + "duration_seconds": 0.554, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\database-identity.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\database-identity.stderr.log" + }, + { + "name": "repeat-1-pg-stat-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_c7cfa0692a684a57_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_c7cfa0692a684a57_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:57:35.0805302+00:00", + "finished_at": "2026-07-11T00:57:35.6924294+00:00", + "duration_seconds": 0.612, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\pg-stat-activity-before.stderr.log" + }, + { + "name": "repeat-1-server-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T00:57:35.6969310+00:00", + "finished_at": "2026-07-11T00:57:36.2240680+00:00", + "duration_seconds": 0.527, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\server-connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\server-connection-count-before.stderr.log" + }, + { + "name": "repeat-1-connection-count-before", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_c7cfa0692a684a57_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_c7cfa0692a684a57_r1';", + "started_at": "2026-07-11T00:57:36.2372753+00:00", + "finished_at": "2026-07-11T00:57:37.5142455+00:00", + "duration_seconds": 1.277, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\connection-count-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\connection-count-before.stderr.log" + }, + { + "name": "repeat-1-go-test", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "test", + "-json", + "-p", + "1", + "-parallel", + "1", + "-count=1", + "-timeout", + "30m", + "-covermode=atomic", + "-coverprofile=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\coverage.out", + "-run", + "^TestEC_F1_TagDerivedBackfill_T007$", + "./internal/mcp" + ], + "environment_keys": [ + "DATABASE_DSN", + "DATABASE_MAX_CONNS", + "ENGRAM_RELEASE_GATE_REPEAT", + "ENGRAM_RELEASE_GATE_RUN_ID", + "ENGRAM_TEST_DSN", + "TEST_DATABASE_DSN" + ], + "command": "C:\\Program Files\\Go\\bin\\go.exe test -json -p 1 -parallel 1 -count=1 -timeout 30m -covermode=atomic -coverprofile=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\coverage.out -run ^TestEC_F1_TagDerivedBackfill_T007$ ./internal/mcp", + "started_at": "2026-07-11T00:57:37.5232982+00:00", + "finished_at": "2026-07-11T00:57:53.4470198+00:00", + "duration_seconds": 15.924, + "exit_code": 1, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\go-test.stdout.jsonl", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\go-test.stderr.log" + }, + { + "name": "repeat-1-assert-go-test-json", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\assert-go-test-json.ps1", + "-InputPath", + ".agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\go-test.stdout.jsonl", + "-SummaryPath", + ".agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\go-test-summary.json", + "-FailOnUnexpectedSkip" + ], + "environment_keys": [], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\assert-go-test-json.ps1 -InputPath .agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\go-test.stdout.jsonl -SummaryPath .agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\go-test-summary.json -FailOnUnexpectedSkip", + "started_at": "2026-07-11T00:57:53.4523468+00:00", + "finished_at": "2026-07-11T00:57:54.2345123+00:00", + "duration_seconds": 0.782, + "exit_code": 1, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\assert-go-test-json.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\assert-go-test-json.stderr.log" + }, + { + "name": "repeat-1-targeted-coverage-report", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "tool", + "cover", + "-func=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\coverage.out" + ], + "environment_keys": [], + "command": "C:\\Program Files\\Go\\bin\\go.exe tool cover -func=.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\coverage.out", + "started_at": "2026-07-11T00:57:54.2404178+00:00", + "finished_at": "2026-07-11T00:57:55.0462973+00:00", + "duration_seconds": 0.806, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\targeted-coverage.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\targeted-coverage.stderr.log" + }, + { + "name": "repeat-1-pg-stat-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_c7cfa0692a684a57_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_c7cfa0692a684a57_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:57:55.0470922+00:00", + "finished_at": "2026-07-11T00:57:55.4076714+00:00", + "duration_seconds": 0.361, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\pg-stat-activity-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\pg-stat-activity-after.stderr.log" + }, + { + "name": "repeat-1-server-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity;", + "started_at": "2026-07-11T00:57:55.4104022+00:00", + "finished_at": "2026-07-11T00:57:55.8196344+00:00", + "duration_seconds": 0.409, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\server-connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\server-connection-count-after.stderr.log" + }, + { + "name": "repeat-1-connection-count-after", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_c7cfa0692a684a57_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_c7cfa0692a684a57_r1';", + "started_at": "2026-07-11T00:57:55.8213732+00:00", + "finished_at": "2026-07-11T00:57:56.2285013+00:00", + "duration_seconds": 0.407, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\connection-count-after.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\connection-count-after.stderr.log" + }, + { + "name": "repeat-1-cleanup", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\cleanup-db-sessions.ps1", + "-DatabaseName", + "engram_prc_rg_test_c7cfa0692a684a57_r1", + "-SchemaName", + "public", + "-ArtifactRoot", + ".agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01", + "-RunId", + "prove-it-old-assertion-repeat-1", + "-PostgresContainer", + "engram-prc-postgres" + ], + "environment_keys": [ + "ENGRAM_TEST_ADMIN_DSN" + ], + "command": "C:\\Program Files\\PowerShell\\7\\pwsh.exe -NoProfile -File D:\\Dev\\engram\\.w\\t007-r1-checker\\scripts\\production-gates\\cleanup-db-sessions.ps1 -DatabaseName engram_prc_rg_test_c7cfa0692a684a57_r1 -SchemaName public -ArtifactRoot .agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01 -RunId prove-it-old-assertion-repeat-1 -PostgresContainer engram-prc-postgres", + "started_at": "2026-07-11T00:57:56.2324402+00:00", + "finished_at": "2026-07-11T00:57:59.4416146+00:00", + "duration_seconds": 3.209, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\cleanup-process.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\cleanup-process.stderr.log" + } +] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/environment.json b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/environment.json new file mode 100644 index 00000000..4698ed08 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/environment.json @@ -0,0 +1,52 @@ +{ + "schema_version": 1, + "run_id": "prove-it-old-assertion", + "timestamp": "2026-07-11T00:57:32.0371142+00:00", + "go_version": "go version go1.25.11 windows/amd64", + "postgres": { + "declared_image": "pgvector/pgvector:pg17", + "container": { + "name": "/engram-prc-postgres", + "configured_image": "pgvector/pgvector:pg17", + "image_id": "sha256:feb68f4f15446397d8cac7f4fe48fe4586de83160d1fc48b46283312d1a33966", + "running": true + }, + "server": { + "server_version": "17.10 (Debian 17.10-1.pgdg12+1)", + "server_version_num": "170010", + "version": "PostgreSQL 17.10 (Debian 17.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit", + "max_connections": "100", + "superuser_reserved_connections": "3", + "reserved_connections": "0", + "current_connections": "6", + "database": "postgres", + "schema": "public", + "user": "engram" + }, + "admin_dsn": "postgresql://engram:REDACTED@127.0.0.1:55432/postgres?sslmode=disable" + }, + "packages": [ + "./internal/mcp" + ], + "run_pattern": "^TestEC_F1_TagDerivedBackfill_T007$", + "repeat": 1, + "fail_on_unexpected_skip": true, + "allowed_skip_identities": [], + "coverage_policy": "Targeted", + "connection_budget": 20, + "race": false, + "require_session_start_execution": false, + "required_session_start_test_count": 12, + "sequential_execution": { + "go_package_parallelism": 1, + "go_test_parallelism": 1, + "database_max_connections": 20 + }, + "govulncheck_policy": { + "authoritative": [ + "source scan with tests", + "unstripped binary scan" + ], + "non_authoritative": "stripped binary scan (module-level fallback when symbols are absent)" + } +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/go-version.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/go-version.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/go-version.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/go-version.stdout.log new file mode 100644 index 00000000..a857be3f --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/go-version.stdout.log @@ -0,0 +1 @@ +go version go1.25.11 windows/amd64 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/postgres-container-identity.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/postgres-container-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/postgres-container-identity.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/postgres-container-identity.stdout.log new file mode 100644 index 00000000..c110d492 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/postgres-container-identity.stdout.log @@ -0,0 +1 @@ +/engram-prc-postgres|pgvector/pgvector:pg17|sha256:feb68f4f15446397d8cac7f4fe48fe4586de83160d1fc48b46283312d1a33966|true diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/postgres-server-identity.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/postgres-server-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/postgres-server-identity.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/postgres-server-identity.stdout.log new file mode 100644 index 00000000..2e33d56e --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/postgres-server-identity.stdout.log @@ -0,0 +1 @@ +{"server_version" : "17.10 (Debian 17.10-1.pgdg12+1)", "server_version_num" : "170010", "version" : "PostgreSQL 17.10 (Debian 17.10-1.pgdg12+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit", "max_connections" : "100", "superuser_reserved_connections" : "3", "reserved_connections" : "0", "current_connections" : "6", "database" : "postgres", "schema" : "public", "user" : "engram"} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/assert-go-test-json.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/assert-go-test-json.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/assert-go-test-json.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/assert-go-test-json.stdout.log new file mode 100644 index 00000000..459ebb80 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/assert-go-test-json.stdout.log @@ -0,0 +1,2 @@ +go test JSON verdict=FAIL packages=1 tests=1 passed=0 failed=1 skipped=0 unexpected_skips=0 malformed=0 +summary=D:\Dev\engram\.w\t007-r1-checker\.agent\reviews\t007-r1-fresh-checker\evidence\prove-it-old-assertion\repeat-01\go-test-summary.json diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/cleanup-process.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/cleanup-process.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/cleanup-process.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/cleanup-process.stdout.log new file mode 100644 index 00000000..cfe43a85 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/cleanup-process.stdout.log @@ -0,0 +1,2 @@ +cleanup verdict=PASS database=engram_prc_rg_test_c7cfa0692a684a57_r1 schema=public terminated_sessions=0 remaining_database_count=0 +summary=D:\Dev\engram\.w\t007-r1-checker\.agent\reviews\t007-r1-fresh-checker\evidence\prove-it-old-assertion\repeat-01\cleanup\cleanup.json diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/cleanup/cleanup.json b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/cleanup/cleanup.json new file mode 100644 index 00000000..cde55486 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/cleanup/cleanup.json @@ -0,0 +1,170 @@ +{ + "schema_version": 1, + "run_id": "prove-it-old-assertion-repeat-1", + "timestamp": "2026-07-11T00:57:59.3574971+00:00", + "verdict": "PASS", + "database": "engram_prc_rg_test_c7cfa0692a684a57_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_c7cfa0692a684a57_r1.public", + "admin_dsn": "postgresql://engram:REDACTED@127.0.0.1:55432/postgres?sslmode=disable", + "postgres_container": "engram-prc-postgres", + "cleanup_status": "PASS", + "cleanup_attempted": true, + "database_existed_before": true, + "absence_verified": true, + "terminated_sessions": 0, + "remaining_database_count": 0, + "commands": [ + { + "name": "database-exists-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_c7cfa0692a684a57_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_c7cfa0692a684a57_r1';", + "started_at": "2026-07-11T00:57:56.9048477+00:00", + "finished_at": "2026-07-11T00:57:57.4164874+00:00", + "duration_seconds": 0.512, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\cleanup\\database-exists-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\cleanup\\database-exists-before.stderr.log" + }, + { + "name": "pg-stat-activity-before-cleanup", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_c7cfa0692a684a57_r1' ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, usename, datname, state, backend_type, application_name, client_addr::text AS client_addr, wait_event_type, wait_event, query_start FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_c7cfa0692a684a57_r1' ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:57:57.4860603+00:00", + "finished_at": "2026-07-11T00:57:58.0577057+00:00", + "duration_seconds": 0.572, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\cleanup\\pg-stat-activity-before.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\cleanup\\pg-stat-activity-before.stderr.log" + }, + { + "name": "terminate-database-sessions", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_c7cfa0692a684a57_r1' AND pid <> pg_backend_pid() ORDER BY pid) AS s;" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT COALESCE(json_agg(row_to_json(s)), '[]'::json)::text FROM (SELECT pid, pg_terminate_backend(pid) AS terminated FROM pg_stat_activity WHERE datname = 'engram_prc_rg_test_c7cfa0692a684a57_r1' AND pid <> pg_backend_pid() ORDER BY pid) AS s;", + "started_at": "2026-07-11T00:57:58.0626850+00:00", + "finished_at": "2026-07-11T00:57:58.4590271+00:00", + "duration_seconds": 0.396, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\cleanup\\terminate-sessions.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\cleanup\\terminate-sessions.stderr.log" + }, + { + "name": "drop-fresh-database", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "DROP DATABASE IF EXISTS \"engram_prc_rg_test_c7cfa0692a684a57_r1\" WITH (FORCE);" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c DROP DATABASE IF EXISTS \"engram_prc_rg_test_c7cfa0692a684a57_r1\" WITH (FORCE);", + "started_at": "2026-07-11T00:57:58.4667085+00:00", + "finished_at": "2026-07-11T00:57:58.9615983+00:00", + "duration_seconds": 0.495, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\cleanup\\drop-database.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\cleanup\\drop-database.stderr.log" + }, + { + "name": "verify-database-absent", + "executable": "docker", + "arguments": [ + "exec", + "engram-prc-postgres", + "psql", + "-X", + "-v", + "ON_ERROR_STOP=1", + "-U", + "engram", + "-d", + "postgres", + "-At", + "-F", + "|", + "-c", + "SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_c7cfa0692a684a57_r1';" + ], + "environment_keys": [], + "command": "docker exec engram-prc-postgres psql -X -v ON_ERROR_STOP=1 -U engram -d postgres -At -F | -c SELECT count(*) FROM pg_database WHERE datname = 'engram_prc_rg_test_c7cfa0692a684a57_r1';", + "started_at": "2026-07-11T00:57:58.9651047+00:00", + "finished_at": "2026-07-11T00:57:59.3500053+00:00", + "duration_seconds": 0.385, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\cleanup\\verify-database-absent.stdout.log", + "stderr": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\cleanup\\verify-database-absent.stderr.log" + } + ], + "errors": [] +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/cleanup/database-exists-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/cleanup/database-exists-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/cleanup/database-exists-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/cleanup/database-exists-before.stdout.log new file mode 100644 index 00000000..d00491fd --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/cleanup/database-exists-before.stdout.log @@ -0,0 +1 @@ +1 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/cleanup/drop-database.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/cleanup/drop-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/cleanup/drop-database.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/cleanup/drop-database.stdout.log new file mode 100644 index 00000000..ca12dce0 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/cleanup/drop-database.stdout.log @@ -0,0 +1 @@ +DROP DATABASE diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/cleanup/pg-stat-activity-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/cleanup/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/cleanup/pg-stat-activity-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/cleanup/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/cleanup/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/cleanup/terminate-sessions.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/cleanup/terminate-sessions.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/cleanup/terminate-sessions.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/cleanup/terminate-sessions.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/cleanup/terminate-sessions.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/cleanup/verify-database-absent.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/cleanup/verify-database-absent.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/cleanup/verify-database-absent.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/cleanup/verify-database-absent.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/cleanup/verify-database-absent.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/connection-count-after.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/connection-count-after.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/connection-count-after.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/connection-count-after.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/connection-count-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/connection-count-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/connection-count-before.stdout.log new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/connection-count-before.stdout.log @@ -0,0 +1 @@ +0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/coverage.out b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/coverage.out new file mode 100644 index 00000000..52335d8a --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/coverage.out @@ -0,0 +1,3472 @@ +mode: atomic +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33.53,34.30 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:34.30,36.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.2,37.25 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:37.25,39.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:40.2,40.12 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44.28,46.2 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52.83,53.12 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:53.12,54.16 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:54.16,55.32 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:55.32,61.5 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:63.3,65.33 3 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:65.33,71.4 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77.54,78.14 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:78.14,80.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:81.2,82.16 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:82.16,85.3 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:86.2,87.13 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92.91,93.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:93.23,95.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:96.2,97.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:97.15,99.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:100.2,105.65 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:105.65,113.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117.95,118.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:118.23,120.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:121.2,122.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:122.15,124.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:125.2,129.65 5 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:129.65,138.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142.87,143.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:143.23,145.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:146.2,147.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:150.2,153.65 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:153.65,161.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166.96,167.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:167.23,169.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:170.2,171.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:171.15,173.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:174.2,177.63 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:177.63,185.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189.97,190.23 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:190.23,192.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:193.2,194.15 2 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:194.15,196.3 1 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:197.2,200.68 4 0 +github.com/thebtf/engram/internal/mcp/audit_helpers.go:200.68,208.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:30.62,31.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:31.20,33.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:34.2,35.49 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:35.49,37.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:38.2,38.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:38.14,40.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:41.2,41.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:46.52,47.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:47.14,49.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:50.2,50.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:51.14,52.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:53.19,54.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:55.15,56.45 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:57.12,58.31 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:59.10,60.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:67.43,68.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:68.14,70.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:71.2,71.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:72.15,73.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:74.19,75.38 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:75.38,77.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:78.3,78.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:78.40,80.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:81.3,81.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:82.14,83.56 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:83.56,85.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:86.3,86.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:86.54,88.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:89.3,89.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:90.10,91.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:97.49,98.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:98.14,100.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:101.2,101.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:102.15,103.18 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:104.19,105.38 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:105.38,107.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:108.3,108.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:108.40,110.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:111.3,111.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:112.14,113.56 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:113.56,115.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:116.3,116.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:116.54,118.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:119.3,119.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:120.10,121.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:127.55,128.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:128.14,130.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:131.2,131.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:132.15,133.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:134.19,135.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:135.40,137.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:138.3,138.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:139.14,140.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:140.54,142.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:143.3,143.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:144.10,145.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:151.46,152.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:152.14,154.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:155.2,155.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:156.12,157.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:158.14,159.54 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:159.54,161.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:162.3,162.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:163.15,164.16 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:165.19,166.40 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:166.40,168.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:169.3,169.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:170.10,171.20 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:177.40,178.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:178.14,180.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:181.2,181.23 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:182.13,184.26 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:184.26,185.36 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:185.36,187.5 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:189.3,189.16 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:190.16,191.11 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:192.14,193.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:193.14,195.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:196.3,196.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:197.10,198.13 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:204.38,205.14 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:205.14,207.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:208.2,209.9 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:209.9,211.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:212.2,213.27 2 0 +github.com/thebtf/engram/internal/mcp/coerce.go:213.27,214.42 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:214.42,216.4 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:218.2,218.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:222.32,223.39 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:223.39,225.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:226.2,226.30 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:226.30,228.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:229.2,229.30 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:229.30,231.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:232.2,232.15 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:236.35,237.28 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:237.28,239.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.2,240.28 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:240.28,242.3 1 0 +github.com/thebtf/engram/internal/mcp/coerce.go:243.2,243.15 1 0 +github.com/thebtf/engram/internal/mcp/context.go:17.55,19.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:22.78,24.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:29.78,31.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:35.53,38.2 2 0 +github.com/thebtf/engram/internal/mcp/context.go:41.80,43.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:48.80,50.2 1 0 +github.com/thebtf/engram/internal/mcp/context.go:54.53,57.2 2 0 +github.com/thebtf/engram/internal/mcp/context.go:61.51,62.43 1 0 +github.com/thebtf/engram/internal/mcp/context.go:62.43,64.3 1 0 +github.com/thebtf/engram/internal/mcp/context.go:65.2,65.16 1 0 +github.com/thebtf/engram/internal/mcp/health.go:22.32,26.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:29.37,33.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:36.35,40.2 3 0 +github.com/thebtf/engram/internal/mcp/health.go:42.44,45.25 3 0 +github.com/thebtf/engram/internal/mcp/health.go:45.25,47.50 1 0 +github.com/thebtf/engram/internal/mcp/health.go:47.50,50.4 2 0 +github.com/thebtf/engram/internal/mcp/health.go:55.74,60.16 5 0 +github.com/thebtf/engram/internal/mcp/health.go:60.16,62.3 1 0 +github.com/thebtf/engram/internal/mcp/health.go:63.2,71.4 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28.42,29.65 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:29.65,32.3 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.2,33.40 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:33.40,35.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:36.2,36.14 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39.120,40.69 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:40.69,42.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:43.2,44.19 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:44.19,46.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:47.2,48.17 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:48.17,50.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:51.2,52.59 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:52.59,54.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:55.2,56.20 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:56.20,58.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:59.2,60.17 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:60.17,62.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:63.2,64.21 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:64.21,66.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:67.2,68.22 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:68.22,70.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:71.2,72.23 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:76.2,98.19 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:98.19,100.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:101.2,101.66 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104.52,106.29 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:106.29,108.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:109.2,110.46 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113.113,123.27 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:123.27,125.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:130.2,130.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:127.44,138.2 1 1 +github.com/thebtf/engram/internal/mcp/server.go:141.64,143.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:146.78,148.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:151.53,153.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:156.55,158.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:161.58,163.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:166.62,168.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:171.50,173.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:176.78,178.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:181.74,183.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:186.71,189.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:191.85,193.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:195.61,197.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:199.49,201.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:204.54,206.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:211.53,213.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:216.53,218.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:222.61,224.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:228.59,230.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:234.51,236.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:240.52,242.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:246.55,248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:252.82,254.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:260.70,262.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:269.68,271.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:274.87,277.2 2 0 +github.com/thebtf/engram/internal/mcp/server.go:282.60,284.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:290.45,292.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:297.77,299.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:303.37,313.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:313.38,315.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:316.2,317.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:317.9,319.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:320.2,321.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:321.9,323.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:324.2,325.9 2 0 +github.com/thebtf/engram/internal/mcp/server.go:325.9,327.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:328.2,328.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:332.35,334.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:383.49,387.12 3 0 +github.com/thebtf/engram/internal/mcp/server.go:387.12,388.22 1 0 +github.com/thebtf/engram/internal/mcp/server.go:388.22,389.11 1 0 +github.com/thebtf/engram/internal/mcp/server.go:390.22,392.11 2 0 +github.com/thebtf/engram/internal/mcp/server.go:393.12,393.12 0 0 +github.com/thebtf/engram/internal/mcp/server.go:396.4,397.18 2 0 +github.com/thebtf/engram/internal/mcp/server.go:397.18,398.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:401.4,402.61 2 0 +github.com/thebtf/engram/internal/mcp/server.go:402.61,404.13 2 0 +github.com/thebtf/engram/internal/mcp/server.go:407.4,407.55 1 0 +github.com/thebtf/engram/internal/mcp/server.go:407.55,409.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:411.3,411.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:414.2,414.9 1 0 +github.com/thebtf/engram/internal/mcp/server.go:415.20,416.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:417.25,418.17 1 0 +github.com/thebtf/engram/internal/mcp/server.go:418.17,420.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:421.3,421.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:427.77,428.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:428.19,431.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:433.2,433.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:434.20,435.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:436.20,437.32 1 0 +github.com/thebtf/engram/internal/mcp/server.go:438.20,439.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:443.24,444.93 1 0 +github.com/thebtf/engram/internal/mcp/server.go:445.34,446.101 1 0 +github.com/thebtf/engram/internal/mcp/server.go:447.22,448.91 1 0 +github.com/thebtf/engram/internal/mcp/server.go:449.29,450.120 1 0 +github.com/thebtf/engram/internal/mcp/server.go:451.10,456.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:461.51,462.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:463.50,464.70 1 0 +github.com/thebtf/engram/internal/mcp/server.go:465.46,466.79 1 0 +github.com/thebtf/engram/internal/mcp/server.go:467.10,468.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:473.59,485.63 2 0 +github.com/thebtf/engram/internal/mcp/server.go:485.63,487.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:489.2,493.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:496.45,503.33 3 0 +github.com/thebtf/engram/internal/mcp/server.go:503.33,505.57 2 0 +github.com/thebtf/engram/internal/mcp/server.go:505.57,506.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:506.76,507.13 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.4,509.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:509.18,511.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:511.10,513.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:514.4,518.11 5 0 +github.com/thebtf/engram/internal/mcp/server.go:522.2,522.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:660.29,683.21 2 0 +github.com/thebtf/engram/internal/mcp/server.go:683.21,689.3 5 0 +github.com/thebtf/engram/internal/mcp/server.go:690.2,699.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:712.30,765.49 3 0 +github.com/thebtf/engram/internal/mcp/server.go:765.49,789.3 5 0 +github.com/thebtf/engram/internal/mcp/server.go:790.2,799.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:805.40,936.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:942.58,1048.35 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1048.35,1077.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.2,1080.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1080.33,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.2,1093.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1093.26,1123.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1124.2,1124.80 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1124.80,1126.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1127.2,1127.55 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1127.55,1129.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1130.2,1130.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1130.38,1132.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1134.2,1134.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1134.25,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1138.2,1138.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1138.33,1140.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1141.2,1141.69 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1141.69,1143.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1144.2,1144.75 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1144.75,1146.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1148.2,1148.27 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1148.27,1165.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.2,1168.76 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1168.76,1191.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1195.2,1195.48 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1195.48,1197.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.2,1201.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1201.47,1203.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.2,1205.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1205.38,1207.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1212.2,1212.21 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1212.21,1214.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1228.2,1228.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1228.51,1230.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1233.2,1233.56 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1233.56,1235.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1238.2,1238.71 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1238.71,1298.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1302.2,1302.104 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1302.104,1321.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1324.2,1324.72 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1324.72,1333.154 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1333.154,1334.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1334.26,1336.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1337.7,1337.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1338.35,1340.26 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1340.26,1342.8 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1343.7,1343.18 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1371.2,1371.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1371.26,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1393.2,1393.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1393.28,1443.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.2,1446.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1446.28,1478.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.2,1481.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1481.37,1561.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1564.2,1568.23 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1568.23,1570.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1572.2,1588.57 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1588.57,1591.29 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1591.29,1593.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1594.3,1594.27 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1594.27,1595.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1595.29,1597.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1601.2,1607.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1612.79,1614.60 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1614.60,1620.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1622.2,1623.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1623.16,1631.3 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1633.2,1641.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1644.69,1645.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1645.34,1647.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1648.2,1649.22 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1649.22,1651.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1652.2,1652.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1656.99,1658.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1659.16,1660.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1661.15,1662.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1663.18,1664.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1665.15,1666.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1667.18,1668.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1669.14,1670.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1671.15,1672.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1676.2,1676.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1677.35,1678.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1679.26,1680.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1681.20,1682.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1683.20,1684.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1685.16,1686.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1687.29,1688.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1689.33,1690.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1691.25,1692.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1693.23,1694.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1696.26,1697.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1698.24,1699.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1700.22,1701.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1702.25,1703.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1704.27,1705.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1706.25,1707.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1709.30,1710.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1711.28,1712.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1713.17,1714.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1715.20,1716.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1717.20,1718.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1719.20,1720.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1722.20,1723.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1724.18,1725.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1726.20,1727.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1728.18,1729.36 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1730.21,1731.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1732.21,1733.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1734.26,1735.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1736.25,1737.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1738.26,1739.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1740.24,1741.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1742.26,1743.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1744.27,1745.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1746.22,1747.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1748.19,1749.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1750.15,1751.34 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1752.16,1753.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1755.21,1756.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1757.19,1758.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1759.20,1760.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1761.22,1762.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1763.22,1764.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1765.23,1766.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1767.20,1768.38 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1769.32,1770.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1771.19,1772.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1773.19,1774.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1775.33,1776.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1777.35,1778.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1779.24,1780.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1781.32,1782.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1783.28,1784.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1785.21,1786.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1787.34,1788.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1789.25,1790.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1791.29,1792.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1793.26,1794.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1795.27,1796.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1798.25,1799.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1800.23,1801.41 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1802.27,1803.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1804.26,1805.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1806.29,1807.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1809.29,1810.46 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1811.27,1812.44 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1813.30,1814.47 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1815.38,1816.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1817.36,1818.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1820.24,1821.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1822.27,1823.45 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1824.22,1825.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1826.32,1827.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1828.32,1829.49 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1830.31,1831.48 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1832.35,1833.52 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1834.36,1835.53 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1836.36,1837.53 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1838.38,1839.54 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1840.34,1841.51 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1843.22,1844.40 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1845.21,1846.39 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1847.24,1848.42 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1850.25,1851.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1852.25,1853.43 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1859.2,1859.14 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1860.22,1863.131 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1866.51,1867.123 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1868.10,1869.50 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1874.47,1876.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1876.16,1879.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1880.2,1880.35 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1884.72,1890.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1896.105,1898.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1898.16,1900.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1902.2,1903.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1903.17,1905.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1907.2,1908.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1908.17,1910.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1912.2,1918.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1918.16,1920.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1921.2,1921.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1927.76,1933.15 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1933.15,1936.17 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1936.17,1938.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1939.3,1939.26 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1943.2,1950.36 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1950.36,1952.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1952.8,1955.29 3 0 +github.com/thebtf/engram/internal/mcp/server.go:1955.29,1958.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1959.3,1962.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.2,1966.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1966.20,1977.20 6 0 +github.com/thebtf/engram/internal/mcp/server.go:1977.20,1979.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.3,1980.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1980.20,1982.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.3,1985.37 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1985.37,1987.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1987.30,1988.16 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1988.16,1990.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1990.11,1992.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1994.4,1995.56 2 0 +github.com/thebtf/engram/internal/mcp/server.go:1995.56,1997.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:1998.4,2003.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.2,2008.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2008.29,2009.63 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2009.63,2011.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2011.9,2013.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.2,2021.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2021.29,2029.38 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2029.38,2031.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2031.9,2033.31 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2033.31,2035.30 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2035.30,2037.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2039.4,2042.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2046.2,2047.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2047.16,2049.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2050.2,2050.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2055.57,2056.33 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2056.33,2058.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2059.2,2060.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2060.16,2062.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2063.2,2064.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2064.16,2066.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2067.2,2067.23 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2071.79,2105.15 6 0 +github.com/thebtf/engram/internal/mcp/server.go:2105.15,2107.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2107.17,2111.4 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2111.9,2112.17 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2112.17,2114.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2115.4,2117.26 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2117.26,2119.5 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2119.10,2121.29 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2121.29,2123.6 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2125.4,2129.25 5 0 +github.com/thebtf/engram/internal/mcp/server.go:2130.19,2130.19 0 0 +github.com/thebtf/engram/internal/mcp/server.go:2132.20,2134.106 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2135.12,2137.103 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2140.8,2143.3 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2144.2,2150.49 3 0 +github.com/thebtf/engram/internal/mcp/server.go:2150.49,2152.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2152.8,2154.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2155.2,2168.27 4 0 +github.com/thebtf/engram/internal/mcp/server.go:2168.27,2170.17 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2170.17,2173.4 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2173.9,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2177.2,2182.40 4 0 +github.com/thebtf/engram/internal/mcp/server.go:2182.40,2183.21 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2184.20,2185.20 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2186.19,2187.19 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.2,2191.24 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2191.24,2193.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.8,2193.30 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2193.30,2195.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.2,2198.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2198.28,2200.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.2,2203.29 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2203.29,2205.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2207.2,2208.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2208.16,2210.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2211.2,2211.28 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2216.103,2218.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2218.16,2220.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2222.2,2223.15 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2223.15,2225.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2227.2,2239.16 2 0 +github.com/thebtf/engram/internal/mcp/server.go:2239.16,2241.3 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2242.2,2242.25 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2246.93,2248.2 1 0 +github.com/thebtf/engram/internal/mcp/server.go:2251.91,2253.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:18.28,29.20 4 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:29.20,33.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:35.2,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:68.36,69.49 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:69.49,74.3 4 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:75.2,75.25 1 1 +github.com/thebtf/engram/internal/mcp/tools_admin.go:80.26,82.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:84.89,86.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:89.2,90.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:90.18,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:94.2,94.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:95.15,96.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:97.26,98.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:99.25,100.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:101.23,105.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:105.22,107.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:108.3,108.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:109.10,110.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:120.92,126.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:126.26,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:130.2,131.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:131.19,133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:134.2,135.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:135.19,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.2,138.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:138.24,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.2,142.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:142.25,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:146.2,147.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_admin.go:151.2,151.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27.40,30.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32.30,46.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48.99,49.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:49.34,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.2,52.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:52.69,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:56.2,57.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:60.2,61.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:61.21,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:64.2,67.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:67.26,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:70.2,71.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:71.25,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:75.2,77.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:77.44,79.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.2,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:80.33,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:83.2,83.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86.52,87.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:87.16,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.2,90.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:90.15,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:93.2,93.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96.73,97.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:97.21,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:100.2,101.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:101.29,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:111.2,111.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114.34,116.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:31.98,32.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:32.52,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.2,35.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:35.26,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:39.2,40.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:40.49,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.2,43.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:43.21,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.2,46.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:46.21,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.2,49.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:49.18,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.2,52.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:52.18,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.2,56.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:56.38,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:60.2,61.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:61.16,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:68.2,70.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:70.26,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:79.2,81.36 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:81.36,84.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:86.2,89.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:89.28,90.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:90.39,91.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:93.3,97.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:100.2,104.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:107.60,113.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:115.101,116.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:116.38,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:120.2,122.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:122.21,123.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:123.26,125.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.3,126.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:126.23,128.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:129.8,130.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:130.26,132.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.3,133.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:133.68,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:137.2,140.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:141.17,142.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:143.67,143.67 0 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:144.10,145.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:148.2,162.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:162.16,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.2,165.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:165.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.2,174.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:174.30,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.2,177.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:177.31,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:181.2,182.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:182.36,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:198.2,199.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:199.19,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:202.2,203.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:203.18,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:206.2,207.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:207.21,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:210.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:211.25,213.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:214.2,225.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:225.21,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:228.25,230.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.2,231.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:231.18,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:235.2,244.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:244.21,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.2,247.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:247.25,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.2,250.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:250.18,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.2,253.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:256.2,256.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:259.50,261.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:261.22,263.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:264.2,264.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:270.90,272.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:272.42,276.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:277.2,281.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:281.27,282.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:282.45,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_brief.go:286.2,286.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25.28,88.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95.95,96.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:96.22,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:99.2,100.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:100.32,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:104.2,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:109.2,114.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:114.35,121.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.2,123.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:123.25,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:127.2,134.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:138.2,146.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154.94,155.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:155.22,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:158.2,159.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:159.32,161.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:163.2,164.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:164.16,166.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:168.2,172.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:172.35,179.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.2,181.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:181.25,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:185.2,192.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:192.16,194.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:196.2,203.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211.97,212.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:212.22,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:215.2,216.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:216.32,218.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:220.2,221.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:221.16,223.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:225.2,229.35 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:229.35,236.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.2,238.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:238.25,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:242.2,249.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:249.16,251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:253.2,260.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31.80,32.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:32.14,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:35.2,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51.136,53.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:53.51,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:56.2,56.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59.94,60.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:60.21,62.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:63.2,63.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68.30,162.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165.98,166.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:166.49,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:169.2,170.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:170.16,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:173.2,174.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:174.19,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:177.2,179.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:179.17,181.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:188.2,189.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:189.31,190.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:190.15,191.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:193.3,193.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:196.2,201.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:201.16,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:204.2,204.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208.96,209.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:209.49,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:212.2,213.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:213.16,215.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:216.2,217.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:217.13,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.2,225.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:225.22,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:229.2,230.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:230.16,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:233.2,233.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239.100,240.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:240.22,242.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:243.2,244.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:244.16,246.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:247.2,248.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:248.13,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:255.2,256.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:256.12,263.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:263.30,264.77 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:264.77,269.5 4 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:271.3,272.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:272.21,274.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:275.3,275.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.2,279.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:279.29,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:284.2,285.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:285.16,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.2,288.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:288.22,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.2,291.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:291.55,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.2,294.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:294.74,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:297.2,298.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:298.16,300.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:306.2,307.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:307.41,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:310.2,324.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:324.16,325.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:325.50,327.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:328.3,328.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.2,330.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:330.38,332.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:334.2,341.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:341.16,343.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:344.2,344.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348.99,349.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:349.49,351.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:352.2,353.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:353.16,355.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:356.2,357.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:357.13,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:360.2,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.2,365.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:365.22,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.2,368.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:368.74,370.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:371.2,372.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:372.16,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.2,375.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:375.85,377.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:379.2,380.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:380.16,381.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:381.50,383.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:384.3,384.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.2,386.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:386.20,388.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:390.2,395.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:395.16,397.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:398.2,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402.102,403.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:403.49,405.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:406.2,407.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:407.16,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:410.2,411.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:411.13,413.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:414.2,415.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:415.16,417.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.2,418.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:418.22,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.2,421.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:421.74,423.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:424.2,425.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:425.16,427.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.2,428.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:428.88,430.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:432.2,433.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:433.16,434.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:434.50,436.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:437.3,437.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.2,439.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:439.20,441.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:443.2,448.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:448.16,450.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_candidates.go:451.2,451.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34.30,36.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42.61,44.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48.32,75.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79.32,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100.98,101.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:101.25,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.2,104.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:104.29,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:108.2,113.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:113.17,114.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:114.55,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.2,118.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:118.24,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.2,121.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:121.23,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.2,124.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:124.23,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:134.2,135.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:135.21,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:142.2,147.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:147.16,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:154.2,165.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:165.25,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:177.2,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:186.2,186.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194.98,195.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:195.25,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.2,198.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:198.29,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:202.2,205.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:205.17,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:208.2,209.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:209.21,211.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:213.2,214.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:214.16,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:217.2,218.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:218.16,220.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:221.2,222.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:222.16,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:226.2,231.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:231.11,233.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:21.52,22.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:22.24,25.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:25.28,27.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:29.2,29.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:35.72,37.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:37.15,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:45.2,45.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:49.99,51.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:51.16,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:55.2,56.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:56.16,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:60.2,72.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:72.23,74.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.2,75.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:75.24,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.2,78.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:78.24,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:81.2,81.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:82.27,82.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:84.10,85.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.2,87.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:87.30,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.2,90.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:90.26,92.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:104.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:116.2,123.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:126.2,126.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:130.97,132.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:132.16,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:136.2,137.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:141.2,147.23 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:147.23,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.2,150.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:150.26,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:154.2,155.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:155.16,157.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:160.16,161.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:161.47,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:164.3,164.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.2,167.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:167.97,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:174.2,175.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:175.16,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:179.2,185.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:185.16,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:188.2,188.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:192.99,194.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:194.16,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:198.2,199.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:199.16,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:203.2,207.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:207.26,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:211.2,212.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:212.16,214.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:216.2,223.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:223.26,229.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:229.28,231.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:232.3,232.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:235.2,236.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:243.100,245.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:245.16,247.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:249.2,250.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:250.16,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:254.2,262.23 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:262.23,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.2,265.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:265.24,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:268.2,268.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:269.27,269.27 0 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:271.10,272.93 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.2,274.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:274.30,276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.2,277.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:277.26,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.2,281.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:281.71,282.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:282.47,284.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:285.3,285.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:288.2,293.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:293.16,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:296.2,296.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:302.92,309.19 5 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:309.19,310.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:310.53,313.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:316.2,317.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:317.51,318.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:318.66,320.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:323.2,331.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:331.16,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:334.2,334.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:338.46,342.32 4 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:342.32,343.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:343.20,346.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:348.2,350.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:350.26,352.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:352.27,353.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:353.13,355.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:356.4,356.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:358.3,358.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_credential.go:360.2,360.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:16.45,18.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:20.35,36.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:38.84,39.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:39.40,41.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.2,42.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:42.50,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:45.2,45.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:48.101,50.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:50.16,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:53.2,54.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:57.2,58.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:58.19,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:61.2,62.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:62.21,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:65.2,66.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:66.16,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:69.2,69.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:72.102,74.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_directives.go:77.2,82.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10.100,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:22.16,23.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:24.14,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:26.14,27.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:28.17,29.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:30.17,31.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:32.21,33.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:34.19,35.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:36.17,37.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:38.16,39.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:40.16,41.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:42.21,43.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:44.10,45.167 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:15.77,16.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:16.33,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:20.2,21.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:21.27,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:25.2,26.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:26.28,29.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:29.17,31.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:34.2,41.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:41.32,46.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:46.20,48.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:49.3,49.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:61.97,62.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:62.28,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:71.2,75.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:75.29,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:79.2,80.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:80.16,82.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.2,84.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:84.20,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:88.2,97.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:97.25,103.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:103.20,105.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.3,106.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:106.19,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:109.3,109.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:112.2,113.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:113.16,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:117.2,117.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:121.95,122.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:122.28,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:126.2,127.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:127.16,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:131.2,137.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:137.50,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:141.2,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.2,145.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:145.16,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.2,149.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:149.21,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:153.2,154.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:154.16,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.2,157.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:157.20,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:161.2,161.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:165.98,166.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:166.28,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:170.2,171.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:171.16,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:175.2,181.50 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:181.50,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.2,185.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:185.96,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:189.2,189.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:197.98,198.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:198.28,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:207.2,217.74 6 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:217.74,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:222.2,223.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:223.16,225.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:227.2,229.156 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:235.98,237.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:237.16,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:241.2,247.24 4 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:247.24,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:252.2,253.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:253.29,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents.go:256.2,256.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15.93,16.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:16.37,18.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:20.2,21.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:21.16,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:25.2,32.16 7 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:32.16,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.2,35.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:35.19,37.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.2,38.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:38.19,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:42.2,43.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:43.16,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:47.2,54.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:54.16,56.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:57.2,57.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61.91,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:62.37,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:66.2,67.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:67.16,69.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:71.2,73.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:73.16,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.2,76.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:76.19,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:80.2,81.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:81.43,83.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:83.19,85.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:86.3,86.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:87.8,89.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.2,90.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:90.16,91.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:91.45,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:94.3,94.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:97.2,110.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:110.16,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:113.2,113.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117.93,119.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122.91,123.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:123.37,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:132.2,133.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:133.19,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:136.2,141.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:141.16,143.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:145.2,155.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:155.25,165.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:167.2,168.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:168.16,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:171.2,171.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175.94,176.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:176.37,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:180.2,181.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:181.16,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:185.2,187.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:187.16,189.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.2,190.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:190.19,192.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:193.2,196.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:200.2,208.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:208.25,216.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:218.2,225.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:228.2,228.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232.94,233.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:233.37,235.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:242.2,243.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:243.21,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:246.2,248.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:248.19,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:252.2,253.46 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:253.46,255.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:255.13,257.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.2,259.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:259.44,261.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:261.13,263.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:266.2,267.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:267.16,269.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:271.2,278.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:278.16,280.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:281.2,281.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19.69,21.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23.38,38.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40.51,63.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65.53,80.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82.46,85.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:85.32,87.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:88.2,88.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91.105,93.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:93.16,95.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:96.2,97.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:100.2,100.70 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103.107,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:108.2,109.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:109.16,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:112.2,112.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115.101,117.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:117.16,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:120.2,121.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:121.17,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:124.2,139.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142.109,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:147.2,154.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157.100,159.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:159.28,161.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:161.18,163.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:164.3,164.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:166.2,167.72 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:167.72,169.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.2,170.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:170.53,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:173.2,174.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:174.26,176.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:177.2,177.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180.73,182.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:182.16,184.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:185.2,185.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12.104,14.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:14.16,16.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:18.2,19.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:19.18,21.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:23.2,23.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:24.14,25.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:26.18,27.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:28.17,29.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:30.10,31.96 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36.101,37.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:37.27,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:41.2,42.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:42.16,44.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:46.2,47.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:47.21,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:50.2,51.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:51.19,53.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:54.2,54.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:55.52,55.52 0 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:56.10,57.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:59.2,61.93 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:61.93,64.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_feedback.go:66.2,70.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:27.31,94.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:98.97,100.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:100.26,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.2,103.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:103.28,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:112.2,115.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:115.15,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.2,118.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:118.17,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:122.2,123.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:123.16,125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:127.2,140.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:140.29,151.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:151.31,154.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:155.3,155.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:158.2,162.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:167.100,169.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:169.26,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.2,172.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:172.28,174.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.2,175.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:175.26,177.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:179.2,180.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:184.2,185.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:185.22,187.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:189.2,190.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:190.20,191.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:191.54,199.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.3,200.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:200.61,202.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:203.3,203.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:206.2,211.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:215.95,217.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:217.32,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.2,220.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:220.28,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:224.2,225.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:225.16,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:229.2,230.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:230.22,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.2,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.2,239.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:239.25,246.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:248.2,252.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:258.104,260.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:260.26,262.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:267.2,271.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:271.20,275.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:275.8,279.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:280.2,280.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:284.60,285.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:285.30,287.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.2,288.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:288.42,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_governance.go:291.2,291.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:64.89,65.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:65.25,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:69.2,70.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:70.49,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:74.2,74.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:75.18,76.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:77.21,78.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:79.19,80.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:81.18,82.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:83.19,84.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:85.18,86.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:87.18,91.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:91.23,93.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:94.3,94.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:95.10,96.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:100.81,103.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:103.19,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:106.2,107.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:107.19,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.2,112.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:112.46,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.2,115.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:115.46,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.2,122.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:122.66,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:127.25,128.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:128.22,130.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:131.8,132.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:132.26,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.2,138.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:138.25,139.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:139.22,141.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:142.8,143.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:143.26,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.2,148.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:148.22,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.2,151.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:151.38,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.2,154.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:154.19,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:159.2,161.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:161.25,164.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.2,165.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:165.25,168.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:169.2,171.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:171.23,174.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.2,175.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:175.23,178.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:180.2,193.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:193.16,195.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:198.2,199.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:199.29,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.2,202.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:202.29,204.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:205.2,213.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:216.121,217.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:217.28,218.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:218.26,220.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:221.3,222.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:222.17,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:223.49,225.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:226.4,226.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:228.3,228.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.2,230.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:230.26,232.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:233.2,234.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:234.16,235.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:235.48,237.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:238.3,238.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:240.2,240.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:243.101,248.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:248.36,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:250.8,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.2,253.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:253.16,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.2,256.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:256.32,257.128 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:257.128,262.72 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:262.72,264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:267.2,267.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:276.81,277.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:277.25,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.2,280.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:280.22,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.2,283.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:283.39,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.2,286.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:286.25,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.2,289.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:289.21,291.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:292.2,293.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:293.14,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:296.2,305.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:305.16,307.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:308.2,314.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:317.84,318.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:318.19,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:321.2,323.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:323.63,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:326.2,329.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:332.82,333.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:333.38,335.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:336.2,337.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:338.18,339.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:340.18,341.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.2,345.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:345.59,347.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:349.2,351.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:351.21,353.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:353.8,356.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.2,357.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:366.2,367.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:367.41,369.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:371.2,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:397.115,398.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:398.15,400.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:403.2,404.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:404.26,405.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:405.28,407.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.3,408.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:408.28,410.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.2,412.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:412.23,415.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:420.2,426.12 4 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:426.12,427.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:427.27,429.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:429.18,431.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.4,433.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:433.33,435.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:440.2,441.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:441.26,442.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:442.28,443.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:443.49,445.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.3,448.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:448.28,449.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:449.49,451.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:454.2,454.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:457.82,458.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:458.21,460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:461.2,462.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:462.16,464.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.2,465.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:465.36,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:468.2,469.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:469.16,471.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:472.2,477.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:480.82,481.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:481.40,483.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:484.2,485.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:485.19,487.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:488.2,489.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:489.16,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:492.2,499.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:502.82,503.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:503.21,505.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:506.2,507.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:507.16,509.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph.go:510.2,514.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23.179,24.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:24.22,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:28.2,32.22 4 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:32.22,34.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:35.2,36.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:36.22,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:40.2,41.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:41.26,43.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.2,44.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:44.26,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.2,47.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:47.30,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.2,50.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:50.30,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:54.2,55.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:55.16,57.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.2,58.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:58.13,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:61.2,62.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:62.16,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.2,65.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:65.13,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:69.2,70.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:70.16,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.2,73.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:73.15,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:77.2,77.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80.172,81.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:81.28,82.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:82.23,84.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.3,85.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:85.18,87.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:88.3,89.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:89.17,90.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:90.49,92.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:93.4,93.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:95.3,95.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.2,98.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:98.24,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.2,101.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:101.19,103.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:104.2,105.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:105.16,106.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:106.48,108.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:109.3,109.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:111.2,111.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114.119,116.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:116.22,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:119.2,120.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:120.22,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:124.2,126.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:126.26,127.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:127.36,129.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:130.3,130.105 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:131.8,132.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:132.32,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:135.3,135.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.2,137.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:137.16,139.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.2,141.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:141.32,143.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:143.27,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:146.3,147.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:147.27,149.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.3,150.106 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:150.106,151.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.3,153.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:153.27,154.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:154.114,155.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.9,157.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:157.104,158.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.3,160.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:160.27,161.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:161.114,162.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.9,164.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:164.104,165.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:167.3,167.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:169.2,169.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25.90,26.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:26.26,28.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:30.2,31.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:31.49,33.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:35.2,35.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:36.16,37.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:38.10,39.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43.84,44.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:44.21,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.2,47.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:47.25,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.2,50.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:50.21,52.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.2,53.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:53.21,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:57.2,58.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:59.18,60.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:61.15,62.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:63.24,64.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:65.10,66.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:69.2,70.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:70.22,72.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:73.2,74.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:74.29,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.2,78.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:78.14,85.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:87.2,89.37 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:89.37,92.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:92.21,94.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:97.2,100.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:100.31,102.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:102.38,104.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:104.37,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:109.3,122.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:122.26,124.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.3,125.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:125.19,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:131.3,133.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:133.39,135.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:135.9,137.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.3,138.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:138.17,140.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.3,142.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:142.34,144.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:145.3,145.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_ingest.go:148.2,155.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20.99,22.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:22.16,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:26.2,31.44 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:31.44,32.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:32.33,33.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:33.43,38.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.2,43.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:43.49,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.2,46.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:46.48,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:50.2,52.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:52.27,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:55.8,60.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:60.24,62.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.3,64.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:64.57,66.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:68.3,68.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.2,71.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:71.16,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:75.2,76.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:76.23,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_instincts.go:80.2,80.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:19.40,89.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:109.71,111.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:111.9,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:115.2,116.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:116.38,117.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:118.13,119.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:119.41,121.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:122.17,123.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:123.43,125.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:126.11,127.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:127.40,129.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.2,133.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:133.22,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:139.2,139.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:143.90,144.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:144.25,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:148.2,149.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:149.16,151.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:153.2,157.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:157.61,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:161.2,161.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:162.16,163.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:164.14,165.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:166.13,167.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:168.16,169.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:170.17,171.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:172.16,173.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:174.15,175.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:176.10,177.120 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:189.85,191.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:191.39,192.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:192.44,194.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.2,196.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:196.15,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.2,199.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:199.15,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:202.2,202.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:205.91,207.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:207.17,209.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:211.2,215.25 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:215.25,217.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:218.2,224.25 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:224.25,226.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.2,227.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:227.25,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:231.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:247.2,247.139 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:250.89,252.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:252.19,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:255.2,256.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:256.25,258.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:259.2,264.52 5 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:264.52,266.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:266.14,268.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:271.2,277.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:277.25,280.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:282.2,283.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:283.16,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.2,287.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:287.22,288.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:288.20,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:291.3,291.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:294.2,297.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:297.31,300.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:300.29,302.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:303.3,305.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:308.2,308.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:311.88,313.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:313.13,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:317.2,318.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:318.16,320.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:322.2,328.22 6 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:328.22,331.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.2,333.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:333.23,335.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:335.30,338.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:341.2,341.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:344.91,346.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:346.13,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:350.2,353.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:353.18,354.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:354.27,356.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.3,357.73 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:357.73,359.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.2,362.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:362.19,370.17 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:370.17,372.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:375.2,376.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:376.26,378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:379.2,379.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:382.92,384.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:384.13,386.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:388.2,389.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:389.16,391.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:393.2,401.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:401.16,403.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:405.2,405.88 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:408.91,410.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:410.13,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:414.2,418.95 4 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:418.95,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:422.2,422.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:425.90,427.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:427.13,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:431.2,433.167 3 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:433.167,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.2,437.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:437.89,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_issues.go:441.2,441.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22.93,24.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:24.49,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:28.2,28.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:29.14,30.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:31.17,32.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:33.16,34.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:35.24,36.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:37.27,38.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:39.22,40.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:41.23,42.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:43.10,44.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48.79,49.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:49.13,51.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:52.2,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:57.2,58.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:58.32,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:61.2,84.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87.101,88.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:88.13,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.2,91.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:91.38,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:94.2,95.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:95.16,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.2,98.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:98.53,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:102.2,104.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:104.17,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.2,107.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:107.29,109.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:110.2,115.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118.100,119.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:119.13,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.2,122.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:122.38,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.2,129.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:129.53,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:133.2,135.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:135.17,137.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.2,138.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:138.29,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:141.2,146.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149.123,150.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:150.13,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.2,153.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:153.18,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.2,156.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:156.38,158.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:159.2,161.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:161.17,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:164.2,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172.113,173.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:173.13,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.2,176.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:176.50,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:179.2,181.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:181.17,183.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:184.2,188.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191.57,195.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197.102,198.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:198.13,200.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.2,201.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:201.20,203.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:204.2,205.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:205.16,207.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:209.2,210.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:210.32,212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:214.2,217.56 3 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:217.56,223.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:225.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233.41,235.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:235.16,237.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:238.2,238.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:35.27,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:42.41,43.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:44.48,45.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:46.10,47.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:54.57,55.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:56.17,57.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:58.16,59.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:60.10,61.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:82.58,83.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:84.28,85.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:86.26,87.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:88.10,89.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:93.114,95.68 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:95.68,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:99.2,101.42 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:101.42,102.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:102.71,105.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:107.2,117.23 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:117.23,119.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:121.2,124.22 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:124.22,125.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:125.31,127.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:128.3,128.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.8,129.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:129.37,131.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:132.2,132.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:135.74,136.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:136.30,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.2,139.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:139.34,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.2,142.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:142.31,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.2,145.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:145.22,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:161.169,162.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:162.17,164.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:165.2,166.51 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:166.51,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:169.2,169.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:172.92,174.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:174.42,177.63 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:177.63,179.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:179.9,181.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:183.2,183.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:186.65,190.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:192.115,194.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:194.26,196.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.8,196.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:196.31,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:199.2,199.117 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:202.122,206.31 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:206.31,207.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:207.45,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:211.2,211.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:214.72,216.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:218.117,219.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:222.2,223.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:223.20,225.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:225.17,227.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.3,228.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:228.27,229.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:229.50,231.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:231.30,232.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:236.3,236.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:239.2,241.60 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:241.60,243.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:243.61,245.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.3,246.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:246.24,247.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:249.3,250.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:250.17,252.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.3,253.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:253.22,254.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.3,256.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:256.29,257.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:257.50,259.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:259.30,260.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:264.3,265.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:265.32,266.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:269.2,269.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:272.51,273.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:273.16,275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:276.2,277.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:277.18,279.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.2,280.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:280.19,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:283.2,283.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:286.97,288.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:288.30,290.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.2,291.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:291.49,293.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:294.2,294.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:297.108,299.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:301.108,303.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:305.102,307.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:319.55,320.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:320.31,322.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.2,323.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:323.26,325.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:326.2,326.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:329.71,330.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:343.26,344.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:345.10,346.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:354.95,362.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:362.16,364.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:366.2,397.39 14 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:397.39,399.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:399.27,401.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:402.8,404.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:405.2,407.46 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:407.46,410.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.2,411.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:411.44,413.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:413.12,415.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.2,417.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:417.26,419.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.2,420.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:420.84,422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.2,427.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:427.65,429.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:431.2,433.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:433.20,435.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:436.2,437.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:437.20,439.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.2,440.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:440.56,442.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.2,443.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:443.56,448.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.2,450.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:450.45,453.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.2,459.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:459.31,461.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:461.22,462.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:462.62,465.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:466.4,466.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:468.3,468.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:471.2,472.115 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:472.115,474.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.2,491.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:491.19,493.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:493.23,495.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:496.3,508.21 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:508.21,510.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:511.3,511.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.2,522.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:522.43,535.34 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:535.34,556.30 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:556.30,558.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.4,559.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:559.44,561.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.4,562.106 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:562.106,564.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.4,575.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:575.74,577.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:578.4,579.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:579.18,581.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:583.4,584.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:584.28,586.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.4,588.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:588.31,599.57 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:599.57,601.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:601.17,604.7 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:606.5,607.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:607.21,609.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.5,615.138 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:615.138,617.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:617.27,619.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:620.6,620.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:622.5,623.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:623.26,625.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:626.5,626.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:630.4,631.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:631.20,633.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.4,634.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:634.22,637.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:637.26,639.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:640.5,640.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:645.4,660.77 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:660.77,662.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:663.4,664.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:664.25,666.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:667.4,667.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.2,673.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:673.26,675.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:677.2,678.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:678.25,680.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.2,681.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:681.97,683.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:690.2,691.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:691.21,693.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:693.33,695.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.3,696.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:696.33,698.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.3,699.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:699.49,704.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.3,721.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:721.54,722.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:722.84,724.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.2,728.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:728.99,730.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:732.2,733.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:733.22,735.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:736.109,737.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:738.100,739.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:740.114,741.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:742.107,743.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:744.11,745.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:748.2,749.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:749.43,751.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:753.2,755.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:755.34,756.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:756.48,757.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:757.19,760.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.2,764.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:764.31,767.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.2,768.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:768.35,771.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.2,772.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:772.76,776.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:778.2,780.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:780.16,782.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:782.20,785.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.2,788.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:788.25,798.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:798.18,800.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.9,800.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:800.30,807.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.3,808.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:808.36,810.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:811.3,812.50 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:812.50,815.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:816.3,822.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:822.17,824.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:826.3,836.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:836.17,838.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:839.3,839.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:842.2,843.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:843.30,844.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:844.52,846.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:846.9,848.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:851.2,869.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:869.21,871.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:871.43,873.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.3,874.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:874.29,876.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.3,886.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:886.76,888.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.2,890.105 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:890.105,892.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:893.2,894.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:894.16,896.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:901.2,904.40 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:904.40,905.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:905.15,906.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:909.3,910.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:910.63,912.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:912.9,914.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.3,916.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:916.43,918.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:919.3,920.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:920.20,922.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.3,925.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:925.23,928.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:929.3,931.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:931.33,934.39 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:934.39,936.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:939.2,948.42 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:948.42,950.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:950.21,952.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:952.9,955.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.2,959.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:959.53,960.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:960.54,961.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:961.33,963.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:964.9,972.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.3,973.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:973.60,974.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:974.40,976.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.3,978.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:978.61,979.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:979.41,981.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.3,983.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:983.28,985.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:986.3,987.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.2,989.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:989.51,991.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:995.2,997.53 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:997.53,999.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:999.8,1001.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.2,1002.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1002.22,1004.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1008.2,1014.76 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1014.76,1016.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.2,1021.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1021.57,1026.13 5 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1026.13,1029.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1029.21,1032.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.4,1033.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1033.49,1035.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1036.4,1043.89 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1043.89,1046.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1048.4,1048.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1052.2,1063.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1063.21,1065.40 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1065.40,1067.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.3,1068.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1068.38,1070.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1072.2,1074.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1074.18,1081.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.2,1082.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1082.28,1084.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.2,1085.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1085.16,1087.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.2,1088.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1088.30,1090.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.2,1091.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1091.30,1093.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.2,1098.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1098.76,1100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1101.2,1102.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1102.16,1104.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1105.2,1105.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111.94,1113.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1113.15,1115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1117.2,1118.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1118.16,1120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1122.2,1123.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1123.13,1125.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1126.2,1131.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1131.16,1133.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.2,1134.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1134.19,1136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.2,1146.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1146.39,1148.55 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1148.55,1150.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.2,1152.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1152.39,1154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1157.2,1158.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1158.21,1163.21 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1163.21,1165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1166.3,1167.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1167.21,1169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.3,1170.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1170.52,1172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.3,1173.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1173.52,1178.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.3,1179.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1179.41,1182.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1183.3,1183.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.2,1188.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1188.46,1190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.2,1191.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1191.27,1193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1195.2,1196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1196.16,1198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1201.2,1210.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1210.16,1212.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1213.2,1213.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218.59,1220.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1220.38,1222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1225.2,1226.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1226.29,1227.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1227.22,1229.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.2,1232.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1232.18,1234.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1237.2,1244.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1244.29,1245.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1245.67,1247.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.2,1249.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1249.16,1251.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1254.2,1254.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258.55,1260.47 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1260.47,1262.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1263.2,1264.58 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1264.58,1266.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1267.2,1267.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270.252,1271.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1271.108,1273.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.2,1274.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1274.55,1276.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1277.2,1277.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280.184,1282.69 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1282.69,1284.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1284.32,1285.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1285.58,1287.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.3,1290.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1290.18,1292.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.2,1294.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1294.19,1297.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1297.32,1298.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1298.39,1300.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.3,1303.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1303.19,1305.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.2,1307.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1307.21,1309.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1309.32,1310.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1310.49,1312.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.3,1315.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1315.18,1317.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.2,1319.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1319.28,1321.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1321.17,1323.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.3,1324.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1324.27,1326.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.2,1328.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1328.76,1330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1331.2,1331.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342.96,1343.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1343.26,1345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1347.2,1348.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1348.16,1350.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1352.2,1363.23 9 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1363.23,1364.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1364.58,1365.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1365.31,1367.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1367.10,1369.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.2,1373.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1373.17,1375.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.2,1376.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1376.16,1378.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.2,1379.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1379.16,1381.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.2,1382.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1382.18,1384.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.2,1385.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1385.19,1387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.2,1388.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1388.19,1390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1396.2,1399.18 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1399.18,1400.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1400.61,1401.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1402.50,1403.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1404.12,1405.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1409.2,1410.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1410.42,1414.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1415.2,1420.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1420.16,1422.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1429.2,1444.43 6 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1444.43,1446.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1449.2,1451.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1451.27,1453.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.2,1458.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1458.46,1460.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.2,1461.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1461.63,1463.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1465.2,1466.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1466.15,1472.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1472.29,1479.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1479.18,1481.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.4,1482.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1482.23,1483.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.4,1485.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1485.30,1486.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1486.24,1488.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1488.32,1489.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1493.4,1494.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1494.30,1495.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1498.8,1504.29 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1504.29,1506.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1506.18,1508.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.4,1509.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1509.23,1510.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.4,1512.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1512.30,1513.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1513.24,1515.32 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1515.32,1516.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1520.4,1521.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1521.30,1522.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.2,1526.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1526.26,1528.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1528.17,1530.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.2,1535.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1535.74,1536.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1536.13,1537.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1537.33,1542.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1542.26,1544.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1544.39,1546.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1548.5,1548.82 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.2,1565.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1565.38,1569.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1569.27,1571.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.3,1572.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1572.27,1574.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1576.3,1581.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1581.32,1586.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1588.3,1592.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1592.18,1594.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1595.3,1596.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1596.17,1598.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1599.3,1599.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1602.2,1602.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1603.15,1618.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1618.32,1620.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1620.33,1621.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1621.40,1623.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1626.4,1638.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1640.3,1641.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1641.17,1643.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1644.3,1644.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1646.18,1648.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1648.17,1650.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1651.3,1651.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1653.10,1654.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1654.25,1656.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1657.3,1659.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1659.32,1661.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1661.33,1662.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1662.40,1664.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1667.4,1669.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1669.26,1671.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1672.4,1673.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1673.25,1675.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1676.4,1676.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1678.3,1678.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690.51,1695.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700.73,1702.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1702.16,1704.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1705.2,1706.48 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1706.48,1710.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1711.2,1713.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1713.16,1715.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1716.2,1716.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727.117,1731.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1731.21,1733.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1734.2,1735.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1735.16,1737.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1738.2,1739.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1739.27,1741.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1742.2,1742.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1764.19,1775.30 7 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1775.30,1777.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1777.37,1779.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.3,1781.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1781.20,1783.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.2,1797.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1797.39,1799.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1801.2,1811.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1811.25,1813.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1815.2,1816.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1816.29,1818.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.2,1824.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1824.27,1826.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1831.2,1833.22 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1833.22,1835.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1837.2,1846.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1846.16,1848.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1853.2,1855.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1855.27,1857.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1859.2,1876.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1876.33,1878.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1880.2,1881.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1881.28,1885.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1885.20,1888.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1888.33,1889.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1889.40,1891.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.4,1894.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1894.20,1895.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.3,1900.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1900.22,1902.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1902.33,1903.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1903.50,1905.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.4,1908.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1908.19,1909.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.3,1918.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1918.56,1919.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.3,1927.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1927.64,1928.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1932.3,1935.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1935.32,1936.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1936.39,1938.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1942.3,1956.14 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1956.14,1957.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1957.37,1959.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1961.3,1962.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1962.26,1963.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.2,1975.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1975.59,1986.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1986.17,1988.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1990.3,1991.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1991.34,1993.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1995.3,1996.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1996.29,1998.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:1998.21,2001.34 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2001.34,2002.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2002.41,2004.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.5,2007.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2007.21,2008.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.4,2011.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2011.23,2013.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2013.34,2014.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2014.51,2016.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.5,2019.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2019.20,2020.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.4,2023.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2023.57,2024.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.4,2027.65 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2027.65,2028.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2030.4,2031.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2031.33,2032.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2032.40,2034.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2037.4,2051.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2051.15,2052.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2052.38,2054.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2056.4,2057.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2057.27,2058.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2065.2,2066.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2066.28,2068.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.2,2072.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2072.71,2080.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2080.30,2081.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2081.41,2087.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.3,2089.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2089.13,2090.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2090.31,2095.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2095.25,2097.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2097.38,2099.7 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2101.5,2101.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.2,2112.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2112.38,2115.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2115.27,2117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2121.3,2138.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2138.30,2140.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2140.11,2141.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2143.4,2160.15 4 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2160.15,2161.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2161.39,2163.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2165.4,2165.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2167.3,2173.24 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2173.24,2175.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2176.3,2176.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2179.2,2179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2180.15,2182.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2182.24,2184.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2185.3,2185.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2187.18,2199.30 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2199.30,2201.11 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2201.11,2202.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2204.4,2208.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2208.15,2209.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2209.39,2211.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2213.4,2213.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2215.3,2216.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2216.24,2218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2219.3,2219.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2220.10,2221.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2221.22,2223.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2224.3,2226.27 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2226.27,2228.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2228.20,2230.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2231.4,2233.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2233.26,2235.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2236.4,2237.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2237.23,2239.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.4,2240.46 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2240.46,2244.5 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2245.4,2245.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2247.3,2247.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252.94,2254.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2254.16,2256.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2258.2,2260.18 3 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2260.18,2261.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2261.59,2262.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2262.36,2264.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2264.10,2266.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.2,2270.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2270.13,2272.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.2,2273.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2273.50,2275.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2277.2,2277.98 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281.98,2282.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2282.26,2284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2286.2,2287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2287.16,2289.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2291.2,2292.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2292.13,2294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2297.2,2298.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2298.19,2299.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2299.51,2301.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2302.3,2302.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.2,2304.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2304.42,2306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.2,2308.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2308.54,2309.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2309.48,2311.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2312.3,2312.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory.go:2316.2,2318.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17.82,19.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21.149,22.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:22.55,24.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.2,25.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:25.36,27.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:28.2,34.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:34.16,36.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.2,37.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:37.42,39.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:40.2,40.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43.105,44.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:44.48,46.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:47.2,48.54 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51.129,53.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:53.16,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:56.2,57.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:57.53,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:60.2,61.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:61.25,63.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:64.2,65.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:65.16,67.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:68.2,68.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26.97,27.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:27.18,29.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:30.2,30.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33.37,35.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37.81,38.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:38.44,40.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.2,41.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:41.38,43.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:44.2,44.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47.88,48.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:48.32,50.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:51.2,52.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:52.20,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:55.2,55.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58.40,72.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74.106,75.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:75.34,77.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:78.2,79.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:79.16,81.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:83.2,84.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:88.2,89.13 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:89.13,91.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:93.2,94.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:94.63,96.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.2,98.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:98.72,100.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:102.2,106.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109.117,110.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:110.32,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.2,113.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:113.34,115.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:117.2,118.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:118.16,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.2,121.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:121.19,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:125.2,126.69 2 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:126.69,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:130.2,136.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18.33,20.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22.27,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39.93,40.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:40.30,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.2,43.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:43.28,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:46.2,47.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:47.16,49.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:51.2,52.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:52.17,54.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:55.2,56.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:56.19,58.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.2,59.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:59.19,61.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:62.2,63.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:63.16,65.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:67.2,74.9 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:74.9,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:77.2,78.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:78.15,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:81.2,85.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:85.16,87.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.2,88.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:88.17,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:92.2,101.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104.48,105.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:108.2,109.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:109.29,111.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.2,112.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:112.31,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:115.2,115.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118.75,120.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:120.27,121.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:121.32,123.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:123.17,124.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:126.4,126.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:129.2,134.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:134.33,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.2,137.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:137.40,138.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:138.39,140.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:141.3,141.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.2,143.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:143.34,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:146.2,147.35 2 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:147.35,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:150.2,150.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153.77,154.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:154.20,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:157.2,159.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:159.31,160.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:160.33,162.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.3,163.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:163.30,165.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:167.2,170.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23.91,25.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27.38,50.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52.104,53.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:53.38,55.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:56.2,57.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:57.16,59.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:61.2,62.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:62.26,64.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:65.2,66.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:66.30,68.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.2,69.72 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:69.72,71.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:73.2,74.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:74.16,76.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:77.2,78.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:78.16,80.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:81.2,82.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:82.16,84.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:85.2,86.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:86.16,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:90.2,105.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:105.16,107.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.2,109.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:109.19,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.2,118.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:118.25,120.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.2,121.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:121.30,123.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.2,124.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:124.31,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:127.2,128.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:128.16,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:131.2,131.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134.91,136.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:136.9,138.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:139.2,140.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:140.15,141.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:141.19,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:144.3,144.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:146.2,146.94 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149.59,150.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:150.16,152.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:153.2,154.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:154.61,156.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:157.2,157.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160.56,161.75 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:161.75,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:164.2,164.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167.67,169.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:170.17,171.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:172.67,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:174.10,175.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179.60,180.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:180.16,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:183.2,184.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:184.25,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:187.2,187.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190.57,191.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:192.15,193.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:193.81,195.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:196.3,196.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:197.19,199.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:199.17,201.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.3,202.55 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:202.55,204.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:205.3,205.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:206.14,207.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:208.11,209.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:210.10,211.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215.59,216.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:216.16,218.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:219.2,219.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:220.12,221.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:222.14,223.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:224.10,225.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:28.90,30.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:30.16,32.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:34.2,36.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:37.16,38.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:40.16,42.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:44.20,46.140 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:48.17,50.142 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:52.17,56.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:56.50,62.63 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:62.63,64.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.4,66.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:66.45,68.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:72.4,74.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:74.25,76.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:77.4,77.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:80.3,80.101 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:82.18,84.141 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:86.18,88.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:88.18,90.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:91.3,91.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:93.17,96.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:96.50,99.59 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:99.59,101.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:102.4,104.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:104.25,106.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:107.4,107.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:110.3,110.98 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:112.10,116.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:125.86,126.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:129.2,130.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:130.9,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.2,133.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:133.22,135.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:137.2,139.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:139.31,141.10 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:141.10,143.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:144.3,145.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:145.22,147.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:148.3,149.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:149.26,151.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.3,152.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:152.68,154.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:155.3,156.37 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:156.37,158.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:159.3,160.107 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:162.2,162.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:165.249,166.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:166.24,168.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.2,169.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:169.38,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:173.2,174.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:174.31,175.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:175.32,177.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:180.2,181.34 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:181.34,182.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:182.29,183.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:185.3,197.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:197.17,199.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.3,200.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:200.20,201.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.3,203.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:203.37,205.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:205.33,206.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.4,208.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:208.19,209.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:209.43,210.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:212.5,212.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:214.4,215.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:215.30,216.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:220.2,220.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:223.113,229.2 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:231.101,233.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:247.92,251.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:251.16,253.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.8,253.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:253.24,255.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:259.2,272.51 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:272.51,274.38 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:274.38,275.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:276.50,277.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:278.12,279.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:287.2,292.26 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:292.26,294.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.2,297.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:297.19,301.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:303.2,311.42 5 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:311.42,315.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:316.2,341.64 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:341.64,342.86 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:342.86,344.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.3,345.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:345.56,347.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:348.3,360.19 6 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:360.19,364.4 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:365.3,365.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:369.2,370.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:370.15,372.27 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:372.27,374.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.3,375.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:375.27,377.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:380.2,381.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:381.15,387.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:387.28,395.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:395.18,397.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.4,398.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:398.23,399.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.4,401.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:401.30,402.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:402.66,403.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:405.5,406.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:406.12,407.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.5,409.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:409.28,413.6 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:414.5,415.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:415.30,416.11 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:419.4,420.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:420.30,421.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:424.8,432.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:432.28,438.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:438.18,440.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.4,441.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:441.23,442.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.4,444.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:444.30,445.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:445.40,447.31 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:447.31,448.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:452.4,455.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:455.30,456.10 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:461.2,465.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:465.17,467.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:469.2,470.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:470.16,472.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_recall.go:473.2,473.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20.79,21.43 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:21.43,23.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.2,24.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:24.29,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:27.2,27.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30.40,63.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65.68,71.25 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:71.25,74.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:75.2,75.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78.62,83.19 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:83.19,87.3 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:88.2,88.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91.101,92.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:92.22,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:95.2,96.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:96.18,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:99.2,100.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:100.16,102.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:103.2,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:107.2,107.119 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110.99,111.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:111.22,113.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:114.2,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:115.18,117.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:118.2,119.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:119.16,121.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.2,122.51 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:122.51,124.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:125.2,126.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:126.16,128.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:129.2,131.15 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:131.15,132.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:132.69,134.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:135.3,135.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:137.2,137.130 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140.102,142.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:142.16,144.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.2,145.64 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:145.64,147.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:148.2,148.113 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151.109,153.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:157.16,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:160.2,161.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:161.16,163.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:164.2,164.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167.107,169.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:169.16,171.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:172.2,173.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:173.16,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.2,176.107 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:176.107,178.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:179.2,179.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:180.41,181.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:182.41,183.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:184.10,185.83 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189.111,191.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:191.16,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:194.2,195.57 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:195.57,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:198.2,199.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:199.23,201.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:202.2,203.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:203.16,205.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.2,206.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:206.17,208.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:209.2,209.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212.63,215.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217.69,219.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:219.16,221.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:222.2,222.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225.60,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:230.2,230.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233.137,234.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:234.49,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:237.2,238.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:238.16,240.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:241.2,243.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:243.16,245.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:246.2,247.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:247.16,249.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.2,250.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:250.22,252.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:253.2,253.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256.142,258.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:258.16,260.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:261.2,262.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:262.16,264.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.2,265.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:265.47,267.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:268.2,269.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:269.16,270.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:270.50,272.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:273.3,273.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:275.2,275.173 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278.157,280.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:280.16,282.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.2,283.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:283.47,285.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:286.2,287.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:287.16,288.50 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:288.50,290.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:291.3,291.89 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:293.2,293.169 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296.104,297.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:297.22,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:300.2,301.61 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:301.61,303.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:303.20,304.9 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.2,307.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:307.19,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:310.2,317.8 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320.119,322.39 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:322.39,323.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:323.81,325.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:327.2,327.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330.71,332.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:332.16,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:335.2,335.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17.61,105.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:105.23,122.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:123.2,123.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126.104,127.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:127.61,129.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.2,130.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:130.38,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:133.2,134.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:134.16,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:137.2,138.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:138.16,140.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:141.2,147.107 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:147.107,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:150.2,151.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:151.16,153.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:154.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:170.19,172.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:173.2,173.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176.103,177.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:177.61,179.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.2,180.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:180.38,182.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:183.2,184.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:184.16,186.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:187.2,191.106 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:191.106,193.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:194.2,195.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:195.16,197.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:198.2,200.31 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:200.31,207.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:207.36,218.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:219.3,220.35 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:222.2,230.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233.107,234.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:234.61,236.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.2,237.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:237.38,239.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:240.2,241.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:241.16,243.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:244.2,248.110 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:248.110,250.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:251.2,252.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:252.16,254.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:255.2,256.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:256.33,266.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:267.2,275.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278.108,279.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:279.61,281.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.2,282.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:282.37,284.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:285.2,286.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:286.16,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:289.2,290.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:290.19,292.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.2,293.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:293.104,295.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:296.2,297.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:297.16,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:300.2,307.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:307.16,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:310.2,311.43 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:311.43,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:319.2,332.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:332.22,334.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:335.2,335.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338.108,339.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:339.62,341.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.2,342.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:342.38,344.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:345.2,346.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:346.9,348.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:349.2,350.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:350.16,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:353.2,357.16 5 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:357.16,359.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:360.2,370.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373.109,374.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:374.62,376.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.2,377.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:377.38,379.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:380.2,381.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:381.9,383.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:384.2,385.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:385.16,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:388.2,390.32 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:390.32,392.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:393.2,394.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:394.16,396.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:397.2,403.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406.106,407.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:407.62,409.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.2,410.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:410.38,412.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:413.2,414.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:414.9,416.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:417.2,418.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:418.16,420.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:421.2,423.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:423.16,424.41 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:424.41,434.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:435.3,435.61 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:437.2,445.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483.65,484.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:484.42,485.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:485.39,487.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.2,489.85 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:489.85,491.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:492.2,492.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495.102,496.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:496.38,498.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.2,499.58 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:499.58,501.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:502.2,502.90 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505.60,508.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510.66,512.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:512.26,514.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:515.2,515.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518.69,521.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:521.33,523.21 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:523.21,524.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.3,526.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:526.34,527.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:529.3,530.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:532.2,532.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535.63,537.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:537.19,539.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:540.2,541.42 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:541.42,543.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.2,544.57 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:544.57,546.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.2,547.54 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:547.54,549.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:550.2,550.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553.70,557.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559.66,561.9 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:561.9,563.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:564.2,566.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:566.17,568.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:569.2,569.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:570.103,572.30 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:573.34,574.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:575.10,576.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580.56,581.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:581.37,583.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.2,584.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:584.26,586.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:586.37,587.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:589.3,589.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:591.2,591.13 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594.90,602.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604.68,605.71 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:605.71,607.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:607.17,609.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:610.3,610.26 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:612.2,613.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:613.16,615.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:616.2,617.41 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:617.41,619.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:620.2,620.78 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623.65,625.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:625.16,627.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.2,628.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:628.17,630.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:631.2,631.14 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634.51,635.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:635.16,637.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:638.2,638.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641.56,642.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:642.28,644.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:645.2,646.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649.92,651.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:651.29,653.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:654.2,654.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657.86,659.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:659.29,661.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:662.2,662.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665.94,667.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:667.29,669.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:670.2,670.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673.98,675.29 2 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:675.29,677.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:678.2,678.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:17.93,18.104 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:18.104,20.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:22.2,23.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:23.16,25.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:27.2,28.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:28.19,30.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:32.2,35.33 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:35.33,36.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:36.47,39.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:42.2,44.20 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:44.20,47.3 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:48.2,49.68 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:49.68,50.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:50.48,52.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.3,53.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:53.32,55.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:55.23,56.63 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:56.63,58.6 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:59.5,59.53 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:61.4,61.31 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:64.2,71.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:71.17,73.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.8,73.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:73.29,75.36 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:75.36,77.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:78.3,83.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.2,86.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:86.35,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:90.2,97.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:97.16,99.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:101.2,110.28 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:110.28,112.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:113.2,124.16 4 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:127.2,127.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:133.93,134.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:134.35,136.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:138.2,139.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:139.16,141.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:143.2,144.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:144.16,146.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.2,147.17 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:147.17,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:151.2,152.33 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:152.33,153.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:153.47,156.4 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:159.2,160.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:160.16,162.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:164.2,176.26 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:176.26,178.23 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:178.23,180.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:181.3,192.5 3 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:195.2,196.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:196.16,198.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_rules.go:199.2,199.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:22.104,24.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:24.16,26.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:28.2,29.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:29.18,31.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:33.2,33.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:34.13,35.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:36.13,37.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:38.14,39.38 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:40.16,41.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:42.10,43.95 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:51.67,53.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:57.68,58.33 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:58.33,60.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:61.2,61.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:67.42,69.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:74.61,76.26 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:76.26,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:79.2,79.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:85.90,86.49 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:86.49,88.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:90.2,91.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:91.15,93.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:94.2,95.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:95.17,97.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:100.2,103.16 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:103.16,105.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:107.2,113.12 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:113.12,115.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:115.18,117.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:118.3,119.20 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:119.20,121.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:122.3,124.48 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:125.8,127.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:129.2,130.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:130.16,132.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:134.2,139.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:145.90,147.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:147.15,149.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:151.2,152.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:152.16,154.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:156.2,157.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:157.16,158.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:158.47,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:161.3,161.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:164.2,170.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:170.19,173.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:173.8,175.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:176.2,176.28 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:181.92,183.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:183.16,185.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:187.2,188.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:188.16,190.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:192.2,200.25 3 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:200.25,207.28 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:207.28,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:210.3,210.30 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:212.2,212.27 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:216.93,217.52 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:217.52,219.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:221.2,222.15 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:222.15,224.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:226.2,227.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:227.16,229.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.2,231.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:231.47,232.47 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:232.47,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:235.3,235.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_settings.go:238.2,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:35.127,36.23 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:36.23,38.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:39.2,40.40 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:40.40,42.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.2,43.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:43.37,45.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.2,46.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:46.37,48.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:49.2,49.15 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:52.23,80.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:82.26,140.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:142.92,143.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:143.25,145.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:147.2,148.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:148.49,150.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:152.2,152.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:153.17,154.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:154.24,156.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:157.3,158.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:158.17,160.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:161.3,165.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:166.17,167.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:167.22,169.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.3,170.22 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:170.22,172.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:173.3,174.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:174.17,176.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:177.3,181.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:182.16,189.23 7 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:189.23,191.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.3,192.24 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:192.24,194.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.3,195.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:195.39,197.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:198.3,207.17 3 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:207.17,209.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.3,210.69 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:210.69,212.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:213.3,213.29 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:214.10,215.74 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:219.92,220.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:220.25,222.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:224.2,225.49 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:225.49,227.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:229.2,229.18 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:230.17,232.24 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:232.24,234.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:235.3,236.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:236.17,238.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.3,239.59 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:239.59,241.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.3,242.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:242.81,244.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:245.3,250.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:251.17,253.22 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:253.22,255.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:256.3,257.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:257.17,259.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.3,260.79 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:260.79,262.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:263.3,268.5 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:269.10,270.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:274.91,276.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:276.16,278.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.2,279.67 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:279.67,280.76 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:280.76,282.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:285.2,286.52 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:286.52,288.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:289.2,289.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:292.74,294.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:294.16,296.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.2,297.62 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:297.62,299.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:300.2,300.68 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:303.109,304.56 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:304.56,306.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.2,307.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:307.25,309.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.2,310.81 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:310.81,312.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.2,313.102 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:313.102,315.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.2,316.108 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:316.108,318.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.2,319.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:319.99,321.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.2,322.99 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:322.99,324.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.2,325.60 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:325.60,327.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.2,328.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:328.34,330.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.2,331.114 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:331.114,333.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.2,334.66 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:334.66,336.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.2,337.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:337.40,339.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.2,340.132 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:340.132,342.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.2,343.35 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:343.35,345.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:346.2,346.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:349.92,350.103 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:350.103,352.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:354.2,355.52 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:355.52,357.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.2,358.32 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:358.32,360.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:361.2,361.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:364.108,365.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:365.19,367.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:368.2,369.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:369.53,371.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.2,372.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:372.19,374.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.2,375.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:375.39,376.34 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:376.34,378.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:380.2,380.20 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:383.66,385.53 2 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:385.53,387.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.2,388.19 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:388.19,390.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_state.go:391.2,391.12 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:16.2,18.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:19.16,20.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:21.14,22.39 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:23.15,24.84 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:25.16,26.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:27.10,28.97 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21.75,23.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25.41,28.2 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30.31,37.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39.38,46.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48.50,56.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58.43,70.2 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72.80,73.36 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:73.36,75.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.2,76.48 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:76.48,78.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:79.2,79.37 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82.97,84.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:84.16,86.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:87.2,88.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:88.16,90.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:91.2,92.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:92.16,94.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:95.2,96.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:96.16,98.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:99.2,99.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102.104,104.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:104.16,106.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:107.2,108.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:108.16,110.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:111.2,112.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:112.16,114.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:115.2,116.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:116.16,118.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:119.2,119.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122.96,124.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:124.16,126.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:127.2,128.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:128.19,130.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:131.2,132.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:132.18,134.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:135.2,141.79 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:141.79,143.17 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:143.17,145.4 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:146.3,146.25 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:148.2,148.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151.77,153.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:153.16,155.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:156.2,157.19 2 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:157.19,159.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:160.2,160.21 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10.101,12.16 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:12.16,14.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:16.2,17.18 2 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:17.18,19.3 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:21.2,21.16 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:22.15,23.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:24.13,25.42 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:26.14,27.44 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:28.16,29.45 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:30.16,31.40 1 0 +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:32.10,33.102 1 0 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/create-database.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/create-database.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/create-database.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/create-database.stdout.log new file mode 100644 index 00000000..4b15bd57 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/create-database.stdout.log @@ -0,0 +1 @@ +CREATE DATABASE diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/create-pgvector.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/create-pgvector.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/create-pgvector.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/create-pgvector.stdout.log new file mode 100644 index 00000000..d26bad14 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/create-pgvector.stdout.log @@ -0,0 +1 @@ +CREATE EXTENSION diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/database-identity.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/database-identity.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/database-identity.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/database-identity.stdout.log new file mode 100644 index 00000000..5197c6db --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/database-identity.stdout.log @@ -0,0 +1 @@ +{"database" : "engram_prc_rg_test_c7cfa0692a684a57_r1", "schema" : "public", "server_version" : "17.10 (Debian 17.10-1.pgdg12+1)", "user" : "engram"} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/go-test-summary.json b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/go-test-summary.json new file mode 100644 index 00000000..0c341cb4 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/go-test-summary.json @@ -0,0 +1,40 @@ +{ + "schema_version": 1, + "verdict": "FAIL", + "input_path": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\go-test.stdout.jsonl", + "fail_on_unexpected_skip": true, + "allowed_skip_identities": [], + "counts": { + "packages": 1, + "tests": 1, + "passed": 0, + "failed": 1, + "skipped": 0, + "no_tests": 0, + "zero_tests": 0, + "incomplete": 0, + "unexpected_skips": 0, + "malformed_lines": 0 + }, + "packages": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "outcome": "fail", + "elapsed_seconds": 4.569, + "last_output": "FAIL\tgithub.com/thebtf/engram/internal/mcp\t4.560s", + "tests_observed": 1 + } + ], + "tests": [ + { + "package": "github.com/thebtf/engram/internal/mcp", + "test": "TestEC_F1_TagDerivedBackfill_T007", + "outcome": "fail", + "elapsed_seconds": 4.3, + "last_output": "--- FAIL: TestEC_F1_TagDerivedBackfill_T007 (4.30s)", + "skip_allowed": false + } + ], + "unexpected_skips": [], + "errors": [] +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/go-test.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/go-test.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/go-test.stdout.jsonl b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/go-test.stdout.jsonl new file mode 100644 index 00000000..e7378bc7 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/go-test.stdout.jsonl @@ -0,0 +1,21 @@ +{"Time":"2026-07-11T03:57:48.7713114+03:00","Action":"start","Package":"github.com/thebtf/engram/internal/mcp"} +{"Time":"2026-07-11T03:57:48.9879086+03:00","Action":"run","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007"} +{"Time":"2026-07-11T03:57:48.9879086+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"=== RUN TestEC_F1_TagDerivedBackfill_T007\n"} +{"Time":"2026-07-11T03:57:50.0321518+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"warn\",\"error\":\"ERROR: relation \\\"observation_vectors\\\" does not exist (SQLSTATE 42P01)\",\"time\":\"2026-07-11T03:57:50+03:00\",\"message\":\"migration 040: orphan vector cleanup failed (non-fatal)\"}\n"} +{"Time":"2026-07-11T03:57:50.0321518+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"garbage_deleted\":0,\"orphan_vectors_deleted\":0,\"time\":\"2026-07-11T03:57:50+03:00\",\"message\":\"migration 040: garbage cleanup complete\"}\n"} +{"Time":"2026-07-11T03:57:50.0421515+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"orphan_vectors_deleted\":0,\"time\":\"2026-07-11T03:57:50+03:00\",\"message\":\"migration 041: orphan vector purge complete\"}\n"} +{"Time":"2026-07-11T03:57:50.0511493+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"patterns_deleted\":0,\"time\":\"2026-07-11T03:57:50+03:00\",\"message\":\"migration 042: low-quality pattern purge complete\"}\n"} +{"Time":"2026-07-11T03:57:50.0921852+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"info\",\"total_deleted\":0,\"time\":\"2026-07-11T03:57:50+03:00\",\"message\":\"migration 043: radical observation cleanup complete\"}\n"} +{"Time":"2026-07-11T03:57:51.50115+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"warn\",\"error\":\"ERROR: extension \\\"vectorscale\\\" is not available (SQLSTATE 0A000)\",\"time\":\"2026-07-11T03:57:51+03:00\",\"message\":\"migration 109: vectorscale extension not available, skipping DiskANN index\"}\n"} +{"Time":"2026-07-11T03:57:52.8670903+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"{\"level\":\"debug\",\"connections\":1,\"time\":\"2026-07-11T03:57:52+03:00\",\"message\":\"Connection pool warmed\"}\n"} +{"Time":"2026-07-11T03:57:52.8953857+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" store_memory_compat_t007_test.go:159: \n"} +{"Time":"2026-07-11T03:57:52.8953857+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \tError Trace:\tD:/Dev/engram/.w/t007-r1-checker/internal/mcp/store_memory_compat_t007_test.go:159\n"} +{"Time":"2026-07-11T03:57:52.8953857+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \tError: \tShould be true\n"} +{"Time":"2026-07-11T03:57:52.8953857+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \tTest: \tTestEC_F1_TagDerivedBackfill_T007\n"} +{"Time":"2026-07-11T03:57:52.8953857+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":" \tMessages: \tglobal-scoped row must be returned by MemoryStore.List within its own project\n"} +{"Time":"2026-07-11T03:57:53.2911526+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Output":"--- FAIL: TestEC_F1_TagDerivedBackfill_T007 (4.30s)\n"} +{"Time":"2026-07-11T03:57:53.2911526+03:00","Action":"fail","Package":"github.com/thebtf/engram/internal/mcp","Test":"TestEC_F1_TagDerivedBackfill_T007","Elapsed":4.3} +{"Time":"2026-07-11T03:57:53.2911526+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"FAIL\n"} +{"Time":"2026-07-11T03:57:53.3131894+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"coverage: 0.1% of statements\n"} +{"Time":"2026-07-11T03:57:53.3407084+03:00","Action":"output","Package":"github.com/thebtf/engram/internal/mcp","Output":"FAIL\tgithub.com/thebtf/engram/internal/mcp\t4.560s\n"} +{"Time":"2026-07-11T03:57:53.3407084+03:00","Action":"fail","Package":"github.com/thebtf/engram/internal/mcp","Elapsed":4.569} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/pg-stat-activity-after.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/pg-stat-activity-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/pg-stat-activity-after.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/pg-stat-activity-after.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/pg-stat-activity-after.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/pg-stat-activity-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/pg-stat-activity-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/pg-stat-activity-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/pg-stat-activity-before.stdout.log new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/pg-stat-activity-before.stdout.log @@ -0,0 +1 @@ +[] diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/repeat-summary.json b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/repeat-summary.json new file mode 100644 index 00000000..29435b14 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/repeat-summary.json @@ -0,0 +1,36 @@ +{ + "repeat": 1, + "verdict": "FAIL", + "database": "engram_prc_rg_test_c7cfa0692a684a57_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_c7cfa0692a684a57_r1.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": false, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 1, + "json_parser_exit": 1, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\cleanup\\cleanup.json", + "errors": [ + "go test failed with exit 1", + "go test JSON assertion failed with exit 1" + ], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01" +} diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/server-connection-count-after.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/server-connection-count-after.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/server-connection-count-after.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/server-connection-count-after.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/server-connection-count-after.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/server-connection-count-before.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/server-connection-count-before.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/server-connection-count-before.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/server-connection-count-before.stdout.log new file mode 100644 index 00000000..1e8b3149 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/server-connection-count-before.stdout.log @@ -0,0 +1 @@ +6 diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/targeted-coverage.stderr.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/targeted-coverage.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/targeted-coverage.stdout.log b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/targeted-coverage.stdout.log new file mode 100644 index 00000000..c958686c --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/repeat-01/targeted-coverage.stdout.log @@ -0,0 +1,352 @@ +github.com/thebtf/engram/internal/mcp/audit_helpers.go:33: effectiveAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:44: isAuditEnabled 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:52: runAuditAsync 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:77: marshalState 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:92: logAuditCreate 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:117: logAuditEdit 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:142: logAuditDelete 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:166: logAuditGeneric 0.0% +github.com/thebtf/engram/internal/mcp/audit_helpers.go:189: logAuditSupersede 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:30: parseArgs 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:46: coerceString 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:67: coerceInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:97: coerceInt64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:127: coerceFloat64 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:151: coerceBool 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:177: coerceStringSlice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:204: coerceInt64Slice 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:222: clampToInt 0.0% +github.com/thebtf/engram/internal/mcp/coerce.go:236: clampInt64ToInt 0.0% +github.com/thebtf/engram/internal/mcp/context.go:17: extractProjectFromHeader 0.0% +github.com/thebtf/engram/internal/mcp/context.go:22: contextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:29: ContextWithProject 0.0% +github.com/thebtf/engram/internal/mcp/context.go:35: projectFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:41: contextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:48: ContextWithSession 0.0% +github.com/thebtf/engram/internal/mcp/context.go:54: sessionFromContext 0.0% +github.com/thebtf/engram/internal/mcp/context.go:61: actorFromContext 0.0% +github.com/thebtf/engram/internal/mcp/health.go:22: NewMCPHealth 0.0% +github.com/thebtf/engram/internal/mcp/health.go:29: RecordRequest 0.0% +github.com/thebtf/engram/internal/mcp/health.go:36: RecordError 0.0% +github.com/thebtf/engram/internal/mcp/health.go:42: rotateWindowIfNeeded 0.0% +github.com/thebtf/engram/internal/mcp/health.go:55: HandleHealth 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:28: ruleGovernanceCaptureEnabled 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:39: captureActiveRuleIntent 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:104: ruleIntentFingerprint 0.0% +github.com/thebtf/engram/internal/mcp/rule_governance_intent.go:113: marshalRuleCandidateIntentResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:127: NewServer 100.0% +github.com/thebtf/engram/internal/mcp/server.go:141: SetBackfillStatusFunc 0.0% +github.com/thebtf/engram/internal/mcp/server.go:146: SetVersionedDocumentStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:151: SetIssueStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:156: SetMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:161: SetMetaMemoryIndex 0.0% +github.com/thebtf/engram/internal/mcp/server.go:166: SetHintQueue 0.0% +github.com/thebtf/engram/internal/mcp/server.go:171: SetStateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:176: SetDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/server.go:181: SetBehavioralRulesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:186: SetRuleGovernanceStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:191: SetRuleInjectionTelemetryStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:195: SetPromotionStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:199: SetGraphStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:204: SetNodesStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:211: SetAuditStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:216: SetPurgeStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:222: SetCandidateStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:228: SetSnapshotStore 0.0% +github.com/thebtf/engram/internal/mcp/server.go:234: SetBulkFacade 0.0% +github.com/thebtf/engram/internal/mcp/server.go:240: setTestAuditWriter 0.0% +github.com/thebtf/engram/internal/mcp/server.go:246: setTestMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/server.go:252: setTestMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/server.go:260: SetWriteLintOrchestrator 0.0% +github.com/thebtf/engram/internal/mcp/server.go:269: SetRedactionRules 0.0% +github.com/thebtf/engram/internal/mcp/server.go:274: SetEmbeddingStores 0.0% +github.com/thebtf/engram/internal/mcp/server.go:282: SetRerankClient 0.0% +github.com/thebtf/engram/internal/mcp/server.go:290: SetStatsDB 0.0% +github.com/thebtf/engram/internal/mcp/server.go:297: HandleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:303: ListTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:332: Version 0.0% +github.com/thebtf/engram/internal/mcp/server.go:383: Run 0.0% +github.com/thebtf/engram/internal/mcp/server.go:427: handleRequest 0.0% +github.com/thebtf/engram/internal/mcp/server.go:461: handleNotification 0.0% +github.com/thebtf/engram/internal/mcp/server.go:473: handleInitialize 0.0% +github.com/thebtf/engram/internal/mcp/server.go:496: buildInstructions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:660: storeMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:712: recallMemoryTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:805: primaryTools 0.0% +github.com/thebtf/engram/internal/mcp/server.go:942: handleToolsList 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1612: handleToolsCall 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1644: sanitizeToolCallArgs 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1656: callTool 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1874: sendResponse 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1884: sendError 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1896: handleFindSimilarObservations 0.0% +github.com/thebtf/engram/internal/mcp/server.go:1927: handleGetMemoryStats 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2055: handleBackfillStatus 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2071: handleCheckSystemHealth 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2216: handleAnalyzeSearchPatterns 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2246: handleSearchSessions 0.0% +github.com/thebtf/engram/internal/mcp/server.go:2251: handleListSessions 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:18: buildAdminTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:68: adminActionsForEnv 33.3% +github.com/thebtf/engram/internal/mcp/tools_admin.go:80: vnextEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:84: handleAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_admin.go:120: handlePurgeProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:27: ambientHintsEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:32: ambientHintsTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:48: handleGetAmbientHints 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:86: normalizeAmbientHintsToolLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:96: ambientHintItems 0.0% +github.com/thebtf/engram/internal/mcp/tools_ambient_hints.go:114: errMissingSessionID 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:31: handleGetMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:107: memoryBriefUsesPrincipalScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:115: handlePrincipalMemoryBrief 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:259: truncateBriefContent 0.0% +github.com/thebtf/engram/internal/mcp/tools_brief.go:270: filterInjectionByScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:25: bulkOpsTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:95: handleBulkPromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:154: handleBulkDelete 0.0% +github.com/thebtf/engram/internal/mcp/tools_bulkops.go:211: handleBulkSupersede 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:31: candidateItemFromDomain 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:51: newCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:59: requireCandidateReviewSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:68: candidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:165: handleListCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:208: handleGetCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:239: handlePromoteCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:348: handleRejectCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_candidates.go:402: handleSupersedeCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:34: codeIntelEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:42: SetCodeChunkStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:48: codebaseSearchTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:79: codebaseStatusTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:100: handleCodebaseSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_code_intel.go:194: handleCodebaseStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:21: getVault 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:35: credentialStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:49: handleStoreCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:130: handleGetCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:192: handleListCredentials 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:243: handleDeleteCredential 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:302: handleVaultStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_credential.go:338: expandTagHierarchy 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:16: directivesCaptureEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:20: rememberDirectiveTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:38: currentDirectiveCaptureService 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:48: handleRememberDirective 0.0% +github.com/thebtf/engram/internal/mcp/tools_directives.go:72: parseRememberDirectiveArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_docs_consolidated.go:10: handleDocsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:15: handleListCollections 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:61: handleListDocuments 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:121: handleGetDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:165: handleRemoveDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:197: handleIngestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents.go:235: handleSearchCollection 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:15: handleDocCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:61: handleDocRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:117: handleDocUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:122: handleDocList 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:175: handleDocHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_documents_v2.go:232: handleDocComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:19: SetExperienceProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:23: experienceHistoryTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:40: experienceHistoryReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:65: experienceHistoryDetailSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:82: experienceHistoryTriggerEnum 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:91: handleExperienceHistoryRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:103: handleExperienceHistoryDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:115: parseExperienceHistoryReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:142: parseExperienceHistoryDetailArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:157: experienceHistoryTriggersFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_experience_history.go:180: marshalExperienceHistory 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:12: handleFeedbackConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_feedback.go:36: handleSetSessionOutcome 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:27: governanceTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:98: handleListSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:167: handleRollbackSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:215: handlePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:258: handleRedactionRulesStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_governance.go:284: resolveGovernanceActor 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:64: handleGraph 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:100: graphAddEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:216: mcpGraphEndpointExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:243: mcpGraphEdgeAlreadyExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:276: graphAddNode 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:317: graphRemoveEdge 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:332: graphGetEdges 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:397: filterEdgesByNodeType 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:457: graphTraverse 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:480: graphFindPath 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph.go:502: graphSynonyms 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:23: graphCreateEdgeWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:80: graphEndpointExistsWithGuards 0.0% +github.com/thebtf/engram/internal/mcp/tools_graph_guards.go:114: graphDuplicateEdgeExists 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:25: handleIngest 0.0% +github.com/thebtf/engram/internal/mcp/tools_ingest.go:43: ingestDocument 0.0% +github.com/thebtf/engram/internal/mcp/tools_instincts.go:20: handleImportInstincts 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:19: issuesToolSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:109: validateIssueActionParams 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:143: handleIssues 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:189: resolveSourceProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:205: handleIssueCreate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:250: handleIssueList 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:311: handleIssueGet 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:344: handleIssueUpdate 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:382: handleIssueComment 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:408: handleIssueReopen 0.0% +github.com/thebtf/engram/internal/mcp/tools_issues.go:425: handleIssueClose 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:22: handleLifecycle 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:48: lifecycleInfo 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:87: lifecyclePromote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:118: lifecycleDemote 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:149: lifecycleSetConfidence 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:172: lifecycleSetDefeasibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:191: lifecycleSleepStatus 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:197: lifecycleDecayPreview 0.0% +github.com/thebtf/engram/internal/mcp/tools_lifecycle.go:233: marshalJSON 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:35: vnextFEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:42: isValidPrivacyScope 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:54: derivePrivacyScopeFromLegacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:82: deriveLegacyScopeFromPrivacy 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:93: applyPrincipalMemoryMetadata 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:135: addPrincipalMemoryFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:161: newScopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:172: writeLintVisibilityCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:186: writeLintVisibilityOptions 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:192: scopedWriteLintMemoryStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:202: filterVisibleWriteGateCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:214: domainManageAllowed 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:218: List 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:272: writeLintVisibilityFetchLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:286: Get 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:297: Create 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:301: Update 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:305: MarkSuperseded 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:319: effectiveMemoryEditor 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:329: isValidStoreObservationType 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:354: handleStoreMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1111: handleEditMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1218: computeTTLDays 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1258: truncateTitle 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1270: keepRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1280: keepRecallMemoryFilters 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1342: handleRecallMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1690: staleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1700: marshalWithStaleAdvisory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1727: Rank 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:1751: handleRecallMemoryHybrid 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2252: handleRateMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory.go:2281: handleSuppressMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:17: SetDomainRegistryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:21: checkDomainWriteMCP 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:43: addDomainWriteDecisionFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_domain_registry.go:51: marshalStoreMemoryAugmented 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:26: newMemoryStoreSignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:33: s6OutcomeEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:37: effectiveMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:47: currentMemorySignificanceUpdater 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:58: rateMemorySignificanceTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:74: handleRateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_memory_significance.go:109: RateMemorySignificance 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:18: s2MetaMemoryEnabled 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:22: knowAboutTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:39: handleKnowAbout 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:104: parseKnowAboutLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:118: summarizeMetaIndexTags 0.0% +github.com/thebtf/engram/internal/mcp/tools_meta_memory.go:153: summarizeMetaIndexDateRange 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:23: SetPrincipalMemoryQueryService 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:27: principalMemoryQueryTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:52: handleQueryPrincipalMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:134: principalMemoryQueryCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:149: parsePrincipalMemoryQueryLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:160: principalMemoryQueryText 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:167: parsePrincipalMemoryQueryVisibility 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:179: parsePrincipalMemoryQueryOffset 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:190: parsePrincipalMemoryQueryInt 0.0% +github.com/thebtf/engram/internal/mcp/tools_principal_memory.go:215: parsePrincipalMemoryQueryBool 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:28: handleRecall 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:125: parseRecallIncludedPrincipals 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:165: appendRecallIncludedPrincipalMemories 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:223: recallIncludeTargetMatchesCaller 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:231: recallPrincipalQueryItemToMemory 0.0% +github.com/thebtf/engram/internal/mcp/tools_recall.go:247: handleRecallSearch 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:20: currentReviewLoopCandidateLister 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:30: reviewLoopCandidateTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:65: reviewLoopReadSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:78: reviewPacketIDSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:91: handleReviewMetricsRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:110: handleReviewQueueRead 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:140: handleReviewPacketDetail 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:151: handleReviewPacketPreviewAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:167: handleReviewPacketApplyAction 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:189: parseReviewLoopReadArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:212: reviewLoopMCPPacketTypeSupported 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:217: reviewLoopActionFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:225: reviewLoopReasonFromArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:233: loadReviewPacketCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:256: applyReviewPacketPreserve 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:278: applyReviewPacketSuppress 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:296: reviewLoopMemoryFromCandidate 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:320: filterRiskyMCPReviewCandidates 0.0% +github.com/thebtf/engram/internal/mcp/tools_review_loop.go:330: marshalReviewLoop 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:17: ruleGovernanceReadTools 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:126: handleRuleGovernanceHealth 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:176: handleRuleGovernanceQueue 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:233: handleRuleGovernanceSnapshots 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:278: handleRuleGovernanceUsefulness 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:338: handleRuleGovernanceTransition 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:373: handleRuleGovernancePinSnapshot 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:406: handleRuleGovernanceRollback 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:483: requireRuleGovernanceReadAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:495: requireRuleGovernanceProjectOrAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:505: ruleGovernanceCallerIsAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:510: requireRuleGovernanceAdminAccess 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:518: redactRuleGovernanceEvidenceHandles 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:535: redactRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:553: ruleGovernanceEvidenceHandleHasSensitiveText 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:559: isCanonicalRuleGovernanceEvidenceHandle 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:580: isSafeRuleGovernanceEvidenceID 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:594: parseRuleGovernanceTransitionRequest 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:604: parseRuleGovernanceSince 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:623: boundedRuleGovernanceLimit 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:634: formatRuleGovernanceTime 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:641: formatRuleGovernanceTimePtr 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:649: stringRuleCandidateStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:657: stringRuleVersionStateCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:665: stringRuleArbiterRunStatusCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rule_governance.go:673: stringRuleInjectionEventTypeCounts 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:17: handleStoreRule 0.0% +github.com/thebtf/engram/internal/mcp/tools_rules.go:133: handleListRules 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:22: handleSettingsConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:51: SetSettingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:57: settingsStore 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:67: isSecretSettingKey 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:74: requireAdmin 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:85: handleSetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:145: handleGetSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:181: handleListSettings 0.0% +github.com/thebtf/engram/internal/mcp/tools_settings.go:216: handleDeleteSetting 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:35: resumeScopesFromFields 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:52: stateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:82: setStateTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:142: handleGetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:219: handleSetState 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:274: decodeSessionStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:292: validateSessionStateBudget 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:303: validateNativeResumePacket 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:349: decodeProjectStateForWrite 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:364: requireStateObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_state.go:383: requireNestedObject 0.0% +github.com/thebtf/engram/internal/mcp/tools_store_consolidated.go:10: handleStoreConsolidated 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:21: SetTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:25: temporalTruthEnabledFromEnv 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:30: temporalTruthTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:39: temporalTruthRefreshTool 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:48: temporalTruthRefreshSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:58: temporalTruthSchema 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:72: currentTemporalTruthProvider 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:82: handleTemporalTruth 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:102: handleTemporalTruthRefresh 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:122: parseTemporalTruthArgs 0.0% +github.com/thebtf/engram/internal/mcp/tools_temporal_truth.go:151: parseTemporalTruthRefreshProject 0.0% +github.com/thebtf/engram/internal/mcp/tools_vault_consolidated.go:10: handleVaultConsolidated 0.0% +total: (statements) 0.1% diff --git a/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/summary.json b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/summary.json new file mode 100644 index 00000000..c62a5bdf --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/evidence/prove-it-old-assertion/summary.json @@ -0,0 +1,67 @@ +{ + "schema_version": 1, + "gate": "release-gates-foundation", + "run_id": "prove-it-old-assertion", + "started_at": "2026-07-11T00:57:32.0371142+00:00", + "finished_at": "2026-07-11T00:57:59.4665508+00:00", + "duration_seconds": 27.429, + "verdict": "FAIL", + "counts": { + "requested_repeats": 1, + "completed_repeats": 1, + "passed_repeats": 0, + "failed_repeats": 1, + "child_commands": 16, + "nonzero_child_commands": 2 + }, + "packages": [ + "./internal/mcp" + ], + "run_pattern": "^TestEC_F1_TagDerivedBackfill_T007$", + "coverage_policy": "Targeted", + "connection_budget": 20, + "race": false, + "database_dsn": "REDACTED_DATABASE_DSN", + "environment": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\environment.json", + "commands": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\commands.json", + "repeats": [ + { + "repeat": 1, + "verdict": "FAIL", + "database": "engram_prc_rg_test_c7cfa0692a684a57_r1", + "schema": "public", + "database_schema_identity": "engram_prc_rg_test_c7cfa0692a684a57_r1.public", + "database_dsn": "REDACTED_DATABASE_DSN", + "database_create_confirmed": true, + "sequential_execution": { + "package_parallelism": 1, + "test_parallelism": 1 + }, + "race": false, + "connection_budget": 20, + "server_sessions_before": 6, + "server_sessions_after": 6, + "sessions_before": 0, + "sessions_after": 0, + "go_test_exit": 1, + "json_parser_exit": 1, + "coverage_policy": "Targeted", + "coverage_exit": 0, + "cleanup_exit": 0, + "cleanup_status": "PASS", + "required_session_start_execution": { + "schema_version": 1, + "verdict": "NOT_APPLICABLE", + "reason": "only an unfiltered canonical ./... run requires the 12-test session-start execution proof" + }, + "cleanup_summary": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01\\cleanup\\cleanup.json", + "errors": [ + "go test failed with exit 1", + "go test JSON assertion failed with exit 1" + ], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion\\repeat-01" + } + ], + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.w\\t007-r1-checker\\.agent\\reviews\\t007-r1-fresh-checker\\evidence\\prove-it-old-assertion" +} diff --git a/.agent/reviews/t007-r1-fresh-checker/verification-summary.json b/.agent/reviews/t007-r1-fresh-checker/verification-summary.json new file mode 100644 index 00000000..81979ca0 --- /dev/null +++ b/.agent/reviews/t007-r1-fresh-checker/verification-summary.json @@ -0,0 +1,83 @@ +{ + "schema_version": 1, + "review": "T007-R1-FRESH-CHECKER", + "recorded_at": "2026-07-11T04:06:02.8221931+03:00", + "verdict": "ACCEPT_WITH_MEDIUM_AUDIT_CORRECTION", + "maker": { + "sha": "1418796e55e8b5bfbb216ffbf5a3fba9fa620922", + "parent": "af1ed63536829916e0477be719a30a57a8d9227a", + "tree": "a08b92b88d5ac5570e25f3b8ef19ad0acf1727b6", + "direct_child": true, + "maker_worktree_clean": true + }, + "scope": { + "changed_paths": 331, + "test_paths": [ + "internal/mcp/store_memory_compat_t007_test.go" + ], + "production_code_paths": [], + "maker_evidence_paths": 329, + "maker_report_paths": 1, + "path_set_valid": true, + "claimed_culture_aware_path_digest_sha256": "5B4915A5F57F8251000992B52876B6291BF4E7CA60F6EA48CD36238E76E738F1", + "active_ordinal_lf_path_digest_sha256": "1d545a9ff8ff89dcd4a7a363ab621b3e7c28d9bc67c235ba715ec30cd98c294b" + }, + "semantic_contract": { + "classification": "CURRENT_CONTRACT_TEST_CORRECTION", + "flag_off_explicit": true, + "raw_sql_proves_global_scope": true, + "durable_fixture_id_proved": true, + "list_requires_exact_id_and_content": true, + "privacy_scope_projection_required_when_flag_off": false, + "demolished_v5_behavior_restored": false + }, + "independent_gates": { + "parent_original_red": { + "verdict": "EXPECTED_FAIL", + "tests": 1, + "failed": 1, + "skipped": 0 + }, + "prove_it_old_assertion": "EXPECTED_FAIL", + "wrong_fixture_id_challenge": "EXPECTED_FAIL_AT_EXACT_CONTENT_ASSERTION", + "raw_sql_corruption_challenge": "EXPECTED_FAIL_AT_GLOBAL_SCOPE_ASSERTION", + "parent_ambient_true": "EXPECTED_FALSE_GREEN_REPRODUCED", + "maker_flag_reset_with_ambient_true": "PASS", + "flag_reset_removed_with_checker_guard": "EXPECTED_FAIL", + "focused_fresh_database_repeat3": "PASS_3_OF_3", + "focused_fresh_database_race": "PASS_1_OF_1", + "full_internal_mcp": { + "tests": 488, + "passed": 487, + "failed": 1, + "skipped": 0, + "t007_tests": "PASS_2_OF_2", + "sole_unrelated_failure": "TestHybridTG3_ConfidenceMin_FloorEnforced_T022" + }, + "go_build_all": "PASS", + "go_vet_all": "PASS", + "git_diff_check": "PASS", + "gitleaks_exact_maker_commit": "PASS_0_FINDINGS", + "synthesis_preview_merge_tree": { + "verdict": "PASS", + "preview": "0c6269908aa810a2248f2bfaf3fca4f9f5791359", + "merge_base": "dc891b2d72b1fd63b83e4a630a249241fc389151", + "result_tree": "9421a8eae8c9579dfe6800e6d16f26840269823a" + }, + "maker_json_artifacts": "PASS_40_OF_40_PARSE", + "run_databases_checked": 12, + "database_residue": 0, + "session_residue": 0 + }, + "findings": [ + { + "id": "T007-R1-AUDIT-001", + "severity": "MEDIUM", + "class": "AUDIT_PRESENTATION", + "blocking": false, + "summary": "The maker handoff path digest used culture-aware PowerShell sorting, not the active ordinal normalized-path plus LF contract.", + "evidence": "The claimed 5B4915... digest reproduces only with Sort-Object ordering; ordinal ordering of the same valid 331-path set yields 1d545a9f....", + "resolution": "Use the corrected active-contract digest from this checker artifact. No path membership, product, test, lineage, or immutable-tree discrepancy exists." + } + ] +} diff --git a/.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R2.red.json b/.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R2.red.json new file mode 100644 index 00000000..8c8d439d --- /dev/null +++ b/.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R2.red.json @@ -0,0 +1,9 @@ +{ + "task_id": "DB-EMBEDDING-EVIDENCE-TRANSPORT-R2", + "stack": "GO repository with Node.js evidence verifier", + "observed_at": "2026-07-10T13:49:08.1979550Z", + "test_file": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs", + "test_name": "artifact-set and contract-schema mutations fail closed", + "failure_reason": "The rejected verifier returned exit 0 for empty, missing, extra, traversal, dot-alias, and invalid contract-policy mutations.", + "runner_stdout_excerpt": "tests 18; pass 1; fail 17; captured_exit=1; false-pass assertions observed actual exit 0" +} diff --git a/.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R2.tdd.json b/.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R2.tdd.json new file mode 100644 index 00000000..73f3aa07 --- /dev/null +++ b/.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R2.tdd.json @@ -0,0 +1,56 @@ +{ + "task_id": "DB-EMBEDDING-EVIDENCE-TRANSPORT-R2", + "stack": "GO repository with Node.js evidence verifier", + "red": { + "observed_at": "2026-07-10T13:49:08.1979550Z", + "test_file": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs", + "test_name": "artifact-set and contract-schema mutations fail closed", + "failure_reason": "Rejected verifier returned exit 0 for fail-closed mutations.", + "passed_tests": 1, + "failed_tests": 17, + "runner_stdout_excerpt": "tests 18; pass 1; fail 17; captured_exit=1" + }, + "green": { + "observed_at": "2026-07-10T14:00:14.1815032Z", + "passed_tests": 18, + "failed_tests": 0, + "skipped_tests": 0, + "regressed_tests": 0, + "runner_stdout_excerpt": "tests 18; pass 18; fail 0; captured_exit=0" + }, + "refactor": { + "applied": false, + "reason": "GREEN implementation already separates schema, canonical-path, and artifact-set validation without duplicated behavior." + }, + "prove_it": { + "substituted_files": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.cjs" + ], + "substituted_functions": [ + "validateContractSchema", + "verifyArtifactFiles" + ], + "failed_tests": 27, + "runner_stdout_excerpt": "validateContractSchema sentinel: 18 failed; verifyArtifactFiles sentinel: 9 failed; both exits 1", + "reverted_at": "2026-07-10T14:00:14.1815032Z", + "post_restore_passed_tests": 18, + "post_restore_exit_code": 0 + }, + "coverage": { + "runner": "node --test --experimental-test-coverage", + "all_files_line_percent": 88.89, + "verifier_line_percent": 84.46, + "branch_percent": 65.33, + "functions_percent": 100.0, + "threshold": 80, + "status": "PASS", + "exit_code": 0 + }, + "behavioral_signal": { + "name": "release-evidence-false-pass-rate", + "measurement_window": "each verifier self-test run", + "target": "0 false PASS results across the permanent mutation set", + "measurement_method": "Node built-in test runner executes verifier subprocesses against byte-restored manifest mutations", + "evidence_source": "independent checker findings ET-001 and ET-002" + } +} diff --git a/.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R3.red.json b/.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R3.red.json new file mode 100644 index 00000000..6bedbc5c --- /dev/null +++ b/.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R3.red.json @@ -0,0 +1,23 @@ +{ + "task_id": "DB-EMBEDDING-EVIDENCE-TRANSPORT-R3", + "stack": "GO repository with Node.js evidence verifier", + "observed_at": "2026-07-10T14:57:31.2279610Z", + "test_file": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs", + "test_name": "R2 checker false-PASS regressions fail closed before source access", + "failure_reason": "The R2 verifier false-PASSED delete-one, valid go.mod substitution, and alternate-ancestor rebind mutations, and attempted Git access for a schema-invalid raw path.", + "baseline": { + "exit_code": 0, + "tests": 18, + "passed": 18, + "failed": 0 + }, + "red": { + "exit_code": 1, + "tests": 22, + "passed": 18, + "failed": 4, + "false_pass_failures": 3, + "pre_access_gate_failures": 1 + }, + "runner_stdout_excerpt": "tests 22; pass 18; fail 4; delete-one, go.mod substitution, and source rebind returned exit 0; invalid raw path reached git cat-file and emitted no structured FAIL" +} diff --git a/.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R3.tdd.json b/.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R3.tdd.json new file mode 100644 index 00000000..f3a26e44 --- /dev/null +++ b/.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R3.tdd.json @@ -0,0 +1,25 @@ +{ + "task_id": "DB-EMBEDDING-EVIDENCE-TRANSPORT-R3", + "stack": "GO repository with Node.js evidence verifier", + "status": "SUPERSEDED_BY_R5", + "red": { + "passed_tests": 18, + "failed_tests": 4, + "exit_code": 1 + }, + "green": { + "passed_tests": 22, + "failed_tests": 0, + "exit_code": 0 + }, + "prove_it": { + "validateContractSchema_failed_tests": 12, + "verifyArtifactFiles_failed_tests": 9, + "post_restore_passed_tests": 22, + "restored_byte_identical": true + }, + "coverage": { + "status": "REMOVED_AS_NOT_REPRODUCIBLE", + "replacement": ".agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R5.tdd.json" + } +} diff --git a/.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R4.red.json b/.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R4.red.json new file mode 100644 index 00000000..f085568d --- /dev/null +++ b/.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R4.red.json @@ -0,0 +1,44 @@ +{ + "schema_version": 1, + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT-R4", + "phase": "RED", + "observed_at_utc": "2026-07-10T16:40:11.4799120+00:00", + "base_commit": "d650df5c4271cdb50aa1f443d2f95b2f4b672541", + "node_version": "v24.2.0", + "command": "node.exe --test --test-concurrency=1 .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs", + "exit_code": 1, + "tests": { + "total": 24, + "passed": 22, + "failed": 2 + }, + "failing_tests": [ + { + "name": "contract rejects null representation with structured FAIL before actual source access", + "observed_failure": "verifier emitted no FAIL JSON and escaped through TypeError: Cannot read properties of null (reading 'kind') at verify-manifest.cjs:562" + }, + { + "name": "contract rejects a null entry with structured FAIL before actual source access", + "observed_failure": "verifier emitted no FAIL JSON and escaped through TypeError: Cannot read properties of null (reading 'path') at verify-manifest.cjs:185" + } + ], + "preload_spy_contract": { + "instrumented_actual_accesses": [ + "child_process.spawnSync git cat-file blob", + "fs.readFileSync for every required source path" + ], + "green_requirement": "both mutations must emit stable structured FAIL with reported and observed source accesses equal to zero" + }, + "exact_base_replay": { + "observed_at_utc": "2026-07-10T16:42:42.2695231+00:00", + "base_commit": "d650df5c4271cdb50aa1f443d2f95b2f4b672541", + "final_test_bytes_overlaid": true, + "exit_code": 1, + "tests": { + "total": 24, + "passed": 22, + "failed": 2 + }, + "same_failures": true + } +} diff --git a/.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R4.tdd.json b/.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R4.tdd.json new file mode 100644 index 00000000..e3680d8b --- /dev/null +++ b/.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R4.tdd.json @@ -0,0 +1,69 @@ +{ + "task_id": "DB-EMBEDDING-EVIDENCE-TRANSPORT-R4", + "stack": "GO repository with Node.js evidence verifier", + "base_commit": "d650df5c4271cdb50aa1f443d2f95b2f4b672541", + "node_version": "v24.2.0", + "red": { + "observed_at_utc": "2026-07-10T16:40:11.4799120+00:00", + "passed_tests": 22, + "failed_tests": 2, + "exit_code": 1, + "failures": [ + "representation=null escaped as a raw TypeError reading kind", + "entries[0]=null escaped as a raw TypeError reading path" + ] + }, + "exact_base_red": { + "observed_at_utc": "2026-07-10T16:42:42.2695231+00:00", + "base_commit": "d650df5c4271cdb50aa1f443d2f95b2f4b672541", + "final_test_bytes_overlaid": true, + "passed_tests": 22, + "failed_tests": 2, + "exit_code": 1 + }, + "green": { + "observed_at_utc": "2026-07-10T16:41:31.7931552+00:00", + "passed_tests": 24, + "failed_tests": 0, + "exit_code": 0, + "preload_spy": { + "null_representation_git_cat_file_reads": 0, + "null_representation_source_file_reads": 0, + "null_entry_git_cat_file_reads": 0, + "null_entry_source_file_reads": 0 + } + }, + "prove_it": { + "validateContractSchema": { + "observed_at_utc": "2026-07-10T16:45:55.4146451+00:00", + "sentinel": "discard structural errors and release validated subsets", + "passed_tests": 9, + "failed_tests": 15, + "exit_code": 1 + }, + "verifyArtifactFiles": { + "observed_at_utc": "2026-07-10T16:48:49.6474087+00:00", + "sentinel": "force artifact status PASS", + "passed_tests": 15, + "failed_tests": 9, + "exit_code": 1 + }, + "post_restore": { + "observed_at_utc": "2026-07-10T16:49:23.1957280+00:00", + "passed_tests": 24, + "failed_tests": 0, + "exit_code": 0, + "verifier_sha256_before_and_after": "525a9cd937e26fb7f38b8b51792f3af0e95eafdbdb2670fa7aee7a15fa914673" + } + }, + "coverage": { + "status": "REMOVED_AS_MIXED_EOL_MATERIALIZATION", + "checker_finding": "The recorded exact values were tied to maker-only mixed EOL working-tree bytes rather than the committed target representation.", + "replacement": ".agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R5.tdd.json" + }, + "behavioral_signal": { + "name": "release-evidence-false-pass-rate", + "target": "0 false PASS results across 24 permanent mutation cases", + "measurement_method": "Node test runner plus preload observation of actual Git cat-file and source-file reads" + } +} diff --git a/.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R5.red.json b/.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R5.red.json new file mode 100644 index 00000000..466b24d4 --- /dev/null +++ b/.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R5.red.json @@ -0,0 +1,11 @@ +{ + "task_id": "DB-EMBEDDING-EVIDENCE-TRANSPORT-R5", + "observed_at": "2026-07-10T19:18:54.3616699Z", + "test_file": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs", + "test_name": "evidence manifests reject incomplete sets and undeclared or mixed coverage capture", + "failure_reason": "R4 verifier rejected the new coverage-evidence mode as unsupported, so it could not prove the declared materialization or reject mixed working-tree bytes.", + "runner_stdout_excerpt": "tests 24; pass 23; fail 1; AssertionError: unsupported mode: coverage-evidence", + "exit_code": 1, + "passed_tests": 23, + "failed_tests": 1 +} diff --git a/.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R5.tdd.json b/.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R5.tdd.json new file mode 100644 index 00000000..06c850fb --- /dev/null +++ b/.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R5.tdd.json @@ -0,0 +1,104 @@ +{ + "task_id": "DB-EMBEDDING-EVIDENCE-TRANSPORT-R5", + "evidence_status": "REJECTED_SUPERSEDED_BY_R6", + "correction_note": "R5 values are a historical rejected snapshot; the validateContractSchema sentinel was re-run against the exact R5 final test blob and corrected from 9/15 to 8/16.", + "stack": "GO repository with Node.js evidence verifiers", + "base_commit": "369951b61ee07cb0c405558e0f677cd1c9e90362", + "node_version": "v24.2.0", + "red": { + "observed_at_utc": "2026-07-10T19:18:54.3616699Z", + "test_name": "evidence manifests reject incomplete sets and undeclared or mixed coverage capture", + "passed_tests": 23, + "failed_tests": 1, + "exit_code": 1, + "failure": "coverage materialization verifier was absent" + }, + "exact_base_red": { + "base_commit": "d650df5c4271cdb50aa1f443d2f95b2f4b672541", + "r4_final_test_blob_overlaid": true, + "passed_tests": 22, + "failed_tests": 2, + "exit_code": 1, + "failures": [ + "representation=null escaped as raw TypeError", + "entries[0]=null escaped as raw TypeError" + ] + }, + "green": { + "passed_tests": 24, + "failed_tests": 0, + "exit_code": 0, + "permanent_attack_cases": 15, + "undeclared_capture_structured_fail": true, + "mixed_eol_capture_structured_fail": true, + "null_representation_structured_fail": true, + "null_entry_structured_fail": true, + "null_reported_and_preload_source_access_zero": true + }, + "refactor": { + "applied": true, + "patterns": [ + "preserve covered R4 verifier unchanged", + "isolate representation and transcript validation in evidence-side verifier", + "clear Node coverage environment in wrapper before evidence-side verifier launch" + ], + "post_refactor_parity": true, + "tests_before": 24, + "tests_after": 24 + }, + "prove_it": { + "validateContractSchema": { + "sentinel": "discard structural errors and release validated subsets", + "passed_tests": 8, + "failed_tests": 16, + "exit_code": 1 + }, + "verifyArtifactFiles": { + "sentinel": "force artifact status PASS", + "passed_tests": 15, + "failed_tests": 9, + "exit_code": 1 + }, + "verifyCoverageCapture": { + "sentinel": "force evidence-side verifier status PASS", + "passed_tests": 23, + "failed_tests": 1, + "exit_code": 1 + }, + "post_restore": { + "passed_tests": 24, + "failed_tests": 0, + "exit_code": 0, + "r4_verifier_git_blob_oid": "75bec9c41eb5abc435f13d90848074f6608f7fce" + } + }, + "coverage": { + "historical_r5_snapshot": true, + "command": "node.exe --test --test-concurrency=1 --experimental-test-coverage .agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs", + "capture_manifest": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-capture.v1.json", + "transcript_representation": "canonical-lf-tap-trim-trailing-table-padding", + "transcripts": [ + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-run-1.tap", + "sha256": "52a871ca44112dc2d4e7540f7e9548079a05619f967b4c4d9445b999d7a42daf" + }, + { + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-run-2.tap", + "sha256": "d88556d5e8e437eba50505db6ac200e52910353ced62ad4eafbf6195147387a5" + } + ], + "repeat_count": 2, + "metrics_identical": true, + "aggregate": { "line_percent": 89.28, "branch_percent": 75.30, "functions_percent": 95.59 }, + "verifier": { "line_percent": 80.08, "branch_percent": 55.91, "functions_percent": 81.82 }, + "test_harness": { "line_percent": 99.68, "branch_percent": 95.16, "functions_percent": 100.00 }, + "threshold_basis": "aggregate line coverage", + "threshold_percent": 80, + "status": "PASS" + }, + "behavioral_signal": { + "name": "release-evidence-false-pass-rate", + "target": "0 false PASS results across 15 top-level attacks and 24 Node test cases", + "measurement_method": "permanent mutation suite, preload source-access spy, LF/index capture verifier, and canonical transcript parser" + } +} diff --git a/.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R6.red.json b/.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R6.red.json new file mode 100644 index 00000000..bacd1088 --- /dev/null +++ b/.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R6.red.json @@ -0,0 +1,85 @@ +{ + "schema_version": 1, + "task_id": "DB-EMBEDDING-EVIDENCE-TRANSPORT-R6", + "phase": "RED", + "observed_at_utc": "2026-07-10T21:28:56.4495986Z", + "target_commit": "a538f6224ef31f612152470a4ecd45e78ff9d0f2", + "node_version": "v24.2.0", + "platform": "win32-x64", + "reproducer": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/red-reproduction.cjs", + "blockers": { + "ET-R5-001": { + "reproduced": true, + "malicious_process_exit_code": 7, + "malicious_stdout_sha256": "52a871ca44112dc2d4e7540f7e9548079a05619f967b4c4d9445b999d7a42daf", + "committed_transcript_sha256": "52a871ca44112dc2d4e7540f7e9548079a05619f967b4c4d9445b999d7a42daf", + "stdout_matches_committed_transcript": true, + "r5_verifier_exit_code": 0, + "r5_verifier_status": "PASS", + "r5_synthetic_parsed_exit_code": 0 + }, + "ET-R5-002": { + "reproduced": true, + "checkout_core_autocrlf": "true", + "checkout_eol": [ + "i/lf w/crlf attr/ \t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.cjs", + "i/lf w/crlf attr/ \t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs" + ], + "suite_exit_code": 1, + "tests": 24, + "passed": 23, + "failed": 1 + }, + "ET-R5-003": { + "reproduced": true, + "exact_final_r5_test_blob": "8e814737c8d5f4437aeb2a97dc52220e115cba0b", + "sentinel": "discard structural errors and release validated subsets", + "suite_exit_code": 1, + "tests": 24, + "passed": 8, + "failed": 16, + "stale_claim": { + "passed": 9, + "failed": 15 + } + } + }, + "review_red": { + "prefix_collision": { + "observed_before_fix": true, + "staged_replay_blob_oid": "87cdcd95e2863967e44bc51c91cb5df26ee850b6", + "allow_prefix": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport", + "collision_probe": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-evil/payload.cjs", + "old_starts_with_result": true, + "expected_result": false, + "finding": "unbounded startsWith prefix accepted a sibling namespace" + }, + "checksum_diff_completeness": { + "observed_before_fix": true, + "observed_commit": "42ff7ff264a62c2d573eac1658cb61468075bf84", + "changed_path_count": 32, + "self_excluded_changed_paths": 2, + "expected_directly_checksummed_changed_paths": 30, + "old_manifest_entry_count": 30, + "missing_changed_path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verify-coverage-capture.cjs", + "unexpected_unchanged_extra": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.cjs", + "old_verifier_exit_code": 0, + "old_verifier_status": "PASS", + "finding": "the checksum packet counted an unchanged load-bearing source while omitting one directly changed R5 verifier" + }, + "checkout_topology_variance": { + "observed_before_fix": true, + "observed_commit": "42ff7ff264a62c2d573eac1658cb61468075bf84", + "fresh_clone_topology": "git-directory", + "fresh_lf_suite": { "tests": 24, "passed": 24, "failed": 0, "exit_code": 0 }, + "fresh_crlf_suite": { "tests": 24, "passed": 24, "failed": 0, "exit_code": 0 }, + "fresh_lf_aggregate": { "line_percent": 89.96, "branch_percent": 75.86, "functions_percent": 95.8 }, + "fresh_crlf_aggregate": { "line_percent": 90.3, "branch_percent": 76.81, "functions_percent": 95.8 }, + "old_linked_worktree_packet_aggregate": { "line_percent": 90.51, "branch_percent": 77.36, "functions_percent": 95.8 }, + "old_fresh_clone_replay_exit_code": 1, + "old_fresh_clone_replay_error": "final replay aggregate metrics differ from committed real-run packet", + "finding": "the measured harness inherited host checkout topology and EOL branches instead of using one canonical execution repository" + } + }, + "temp_residue_after_reproduction": false +} diff --git a/.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R6.tdd.json b/.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R6.tdd.json new file mode 100644 index 00000000..0428bf0b --- /dev/null +++ b/.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R6.tdd.json @@ -0,0 +1,157 @@ +{ + "schema_version": 1, + "task_id": "DB-EMBEDDING-EVIDENCE-TRANSPORT-R6", + "stack": "Go repository with Node.js evidence verifiers", + "target_base": "a538f6224ef31f612152470a4ecd45e78ff9d0f2", + "node_version": "v24.2.0", + "recorded_at_utc": "2026-07-10T23:20:32.8654914Z", + "red": { + "artifact": ".agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R6.red.json", + "blockers_reproduced_before_implementation": [ + "ET-R5-001: exit-7 process emitted byte-identical TAP while R5 verifier synthesized exit_code=0 and passed", + "ET-R5-002: core.autocrlf=true checkout produced 23/24 exit 1", + "ET-R5-003: exact R5 test blob produced 8/16, not the stale 9/15 claim" + ], + "review_prefix_collision": { + "staged_replay_blob_oid": "87cdcd95e2863967e44bc51c91cb5df26ee850b6", + "collision_probe": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-evil/payload.cjs", + "old_starts_with_result": true, + "expected_result": false + }, + "review_checksum_completeness": { + "observed_commit": "42ff7ff264a62c2d573eac1658cb61468075bf84", + "old_verifier_status": "PASS", + "missing_changed_path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verify-coverage-capture.cjs", + "unexpected_unchanged_extra": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.cjs" + }, + "review_topology_variance": { + "observed_commit": "42ff7ff264a62c2d573eac1658cb61468075bf84", + "ordinary_clone_suite": "LF 24/24; CRLF 24/24", + "old_clone_replay": "exit 1: aggregate metrics differ from committed real-run packet" + } + }, + "green": { + "base_suite": { "tests": 24, "passed": 24, "failed": 0, "exit_code": 0 }, + "r6_tamper_suite": { "tests": 12, "passed": 12, "failed": 0, "exit_code": 0 }, + "process_envelopes": 2, + "real_exit_codes": [0, 0], + "raw_stderr_bytes": [0, 0], + "product_parity": "git-object 7/7; checkout-lf 7/7; artifact-files 5/5", + "prefix_boundary_self_test": { + "exit_code": 0, + "status": "PASS", + "rejected_collision_probes": 4, + "r5_namespace_required_by_final_diff": true + }, + "checksum_diff_completeness": { + "changed_paths": 32, + "directly_checksummed_changed_paths": 30, + "self_excluded_changed_paths": 2, + "load_bearing_unchanged_paths": 1, + "missing_changed_path_mutation": "nonzero FAIL" + } + }, + "refactor": { + "applied": true, + "patterns": [ + "strict LF materialization moved into an isolated Git fixture built from index blobs", + "checkout representation classification separated from canonical execution bytes", + "coverage capture split into raw streams, canonical transcript, real process envelope, and independent verifier", + "coverage execution materialized in an independent git-directory clone from the exact tree", + "every base-to-candidate changed path directly checksummed except two declared self-exclusions", + "final-commit replay gate separated from pre-commit capture to avoid self-referential commit identity" + ], + "post_refactor_parity": true + }, + "exact_final_source_blobs": { + "covered_verifier": { + "git_blob_oid": "75bec9c41eb5abc435f13d90848074f6608f7fce", + "sha256": "a55e59dd870659330add8f840272aa1e8829f8161779db3e9be9e6e014cf1ba4" + }, + "covered_test": { + "git_blob_oid": "caca5ec75f47c03698ac270b549a432b0de04cfe", + "sha256": "d04b8bc050182f2806972c9d30aaa7d6349ef2f56f15b3ef21f7005459bb86cc" + }, + "r6_verifier": { + "git_blob_oid": "f81ca4b1616a58049327b52adee5b9e9ab844eac", + "sha256": "eae5cf24991cf3122a85488ac57e986f589002d071d407a6228a0e6dc235481c" + }, + "r6_test": { + "git_blob_oid": "39ccc3463292a11975bda90271b3b2f169472b64", + "sha256": "d49a5b28894fd4308cf463f1d99f6fd0d58b7d389b7a717dcb5da94561872a72" + } + }, + "coverage": { + "capture_manifest_sha256": "28b5286a025794bae2c24535fe31f35e23c8d940698ab9c561aa5a0c1fd178c8", + "runs": [ + { + "run": 1, + "exit_code": 0, + "stdout_sha256": "4fa07b262ea52975cdeb007bf3f7ce15787dc801731cf274f82af19007a6921b", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "transcript_sha256": "dcb71f918832c790b93f9f01564e247a69ff623c50a303aa1979f61ab12cfc18" + }, + { + "run": 2, + "exit_code": 0, + "stdout_sha256": "8c6d8ae30614624a979c2423ab7c36f9f6f6c029bc4f9e1a4c91fda035164d95", + "stderr_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "transcript_sha256": "7e56b583cb602dd1ac6f156edfd5f18380991126bbb5ef42995fd5ea2089df21" + } + ], + "metrics_identical": true, + "aggregate": { "line_percent": 89.96, "branch_percent": 75.86, "functions_percent": 95.8 }, + "verifier": { "line_percent": 80.08, "branch_percent": 55.91, "functions_percent": 81.82 }, + "test_harness": { "line_percent": 99.72, "branch_percent": 94.78, "functions_percent": 100 }, + "normative_floor": { + "dimension": "aggregate.line_percent", + "observed_percent": 89.96, + "floor_percent": 80, + "margin_percent": 9.96, + "status": "PASS" + }, + "non_normative_dimensions": 8 + }, + "prove_it": { + "validateContractSchema": { + "tests": 24, + "passed": 9, + "failed": 15, + "exit_code": 1, + "stdout_sha256": "95d250957aa82fd9dc2a8e052c8d9dcc4280e02f2f98ae27ebe1b2c4c6113b1a" + }, + "verifyArtifactFiles": { + "tests": 24, + "passed": 15, + "failed": 9, + "exit_code": 1, + "stdout_sha256": "9a50ed4fb0297e1543d39d12700c3319f506eadf5f7fa4be15c1949230db8943" + }, + "r6_status_gate": { + "tests": 12, + "passed": 0, + "failed": 12, + "exit_code": 1, + "stdout_sha256": "cb8619fdbc922197cce23599b1c32759db2ffe300d4087a2515ff57922aa9e0e" + }, + "post_restore": { + "base_suite": { "tests": 24, "passed": 24, "failed": 0, "exit_code": 0 }, + "r6_tamper_suite": { "tests": 12, "passed": 12, "failed": 0, "exit_code": 0 }, + "residue": false + } + }, + "final_commit_replay": { + "verifier": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/verify-final-commit-replay.cjs", + "required_after_atomic_commit": true, + "contracts": [ + "exactly one parent equal to target_base", + "final committed verifier/test/wrapper blobs equal captured execution blobs", + "changed paths remain inside the authorized evidence namespaces", + "all changed paths are directly checksummed except the two declared checksum self-exclusions", + "fresh replay exits 0 with empty stderr and 24/24", + "replay uses the canonical independent clone and all nine dimensions equal both real-run envelopes", + "only aggregate.line_percent has a normative 80 floor; observed margin is machine-bound", + "exact final commit, tree, changed-path digest, and zero tracked residue are emitted" + ] + } +} diff --git a/.agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.red.json b/.agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.red.json new file mode 100644 index 00000000..48db3052 --- /dev/null +++ b/.agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.red.json @@ -0,0 +1,8 @@ +{ + "task_id": "DB-EMBEDDING-STATS", + "observed_at": "2026-07-10T09:26:11.3028869Z", + "test_file": "internal/embedding/store_stats_test.go", + "test_name": "TestStoreStats_EmptyPhysicalTableReturnsZeroValue", + "failure_reason": "PostgreSQL max(created_at) returned NULL for an empty content_chunks table and GORM attempted to scan it into *time.Time.", + "runner_stdout_excerpt": "Stats on physically empty content_chunks: embedding stats: last chunk at: sql: Scan error on column index 0, name max: unsupported Scan, storing driver.Value type into type *time.Time" +} diff --git a/.agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.tdd.json b/.agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.tdd.json new file mode 100644 index 00000000..4d94a57d --- /dev/null +++ b/.agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.tdd.json @@ -0,0 +1,35 @@ +{ + "task_id": "DB-EMBEDDING-STATS", + "stack": "GO", + "red": { + "observed_at": "2026-07-10T09:26:11.3028869Z", + "test_file": "internal/embedding/store_stats_test.go", + "test_name": "TestStoreStats_EmptyPhysicalTableReturnsZeroValue", + "failure_reason": "PostgreSQL max(created_at) returned NULL for an empty content_chunks table and GORM attempted to scan it into *time.Time.", + "runner_stdout_excerpt": "unsupported Scan, storing driver.Value type into type *time.Time" + }, + "green": { + "observed_at": "2026-07-10T09:28:32.6987371Z", + "passed_tests": 28, + "regressed_tests": 0, + "runner_stdout_excerpt": "focused PASS; repeat-20 PASS; race repeat-3 PASS; internal/embedding package PASS against full-schema PostgreSQL" + }, + "refactor": { + "applied": false, + "reason": "The minimal sql.NullTime conversion is already idiomatic and introduces no duplication." + }, + "prove_it": { + "substituted_files": [ + "internal/embedding/store.go" + ], + "failed_tests": 1, + "runner_stdout_excerpt": "TestStoreStats_EmptyPhysicalTableReturnsZeroValue failed with panic: not implemented after substituting Store.Stats.", + "reverted_at": "2026-07-10T09:31:25.3811023Z" + }, + "coverage": { + "percent": 47.8, + "threshold": 80, + "status": "WARN", + "notes": "Package-wide informational coverage is below the default gate; the touched Stats function measured 76.2%." + } +} diff --git a/.agent/specs/db-embedding-stats/evidence/coverage.out b/.agent/specs/db-embedding-stats/evidence/coverage.out new file mode 100644 index 00000000..457c38e0 --- /dev/null +++ b/.agent/specs/db-embedding-stats/evidence/coverage.out @@ -0,0 +1,240 @@ +mode: set +github.com/thebtf/engram/internal/embedding/backfill.go:17.123,18.15 1 0 +github.com/thebtf/engram/internal/embedding/backfill.go:18.15,20.3 1 0 +github.com/thebtf/engram/internal/embedding/backfill.go:21.2,21.35 1 0 +github.com/thebtf/engram/internal/embedding/backfill.go:21.35,23.3 1 0 +github.com/thebtf/engram/internal/embedding/backfill.go:24.2,24.20 1 0 +github.com/thebtf/engram/internal/embedding/backfill.go:24.20,26.3 1 0 +github.com/thebtf/engram/internal/embedding/backfill.go:28.2,29.6 2 0 +github.com/thebtf/engram/internal/embedding/backfill.go:29.6,30.10 1 0 +github.com/thebtf/engram/internal/embedding/backfill.go:31.21,33.20 2 0 +github.com/thebtf/engram/internal/embedding/backfill.go:34.11,34.11 0 0 +github.com/thebtf/engram/internal/embedding/backfill.go:38.3,46.17 3 0 +github.com/thebtf/engram/internal/embedding/backfill.go:46.17,48.4 1 0 +github.com/thebtf/engram/internal/embedding/backfill.go:49.3,49.26 1 0 +github.com/thebtf/engram/internal/embedding/backfill.go:49.26,52.4 2 0 +github.com/thebtf/engram/internal/embedding/backfill.go:55.3,62.35 3 0 +github.com/thebtf/engram/internal/embedding/backfill.go:62.35,64.4 1 0 +github.com/thebtf/engram/internal/embedding/backfill.go:67.3,68.26 2 0 +github.com/thebtf/engram/internal/embedding/backfill.go:68.26,70.4 1 0 +github.com/thebtf/engram/internal/embedding/backfill.go:71.3,72.17 2 0 +github.com/thebtf/engram/internal/embedding/backfill.go:72.17,74.18 2 0 +github.com/thebtf/engram/internal/embedding/backfill.go:74.18,76.5 1 0 +github.com/thebtf/engram/internal/embedding/backfill.go:77.4,77.11 1 0 +github.com/thebtf/engram/internal/embedding/backfill.go:78.22,79.21 1 0 +github.com/thebtf/engram/internal/embedding/backfill.go:80.39,80.39 0 0 +github.com/thebtf/engram/internal/embedding/backfill.go:82.4,82.12 1 0 +github.com/thebtf/engram/internal/embedding/backfill.go:84.3,84.24 1 0 +github.com/thebtf/engram/internal/embedding/backfill.go:84.24,86.12 2 0 +github.com/thebtf/engram/internal/embedding/backfill.go:92.3,93.26 2 0 +github.com/thebtf/engram/internal/embedding/backfill.go:93.26,94.47 1 0 +github.com/thebtf/engram/internal/embedding/backfill.go:94.47,102.5 1 0 +github.com/thebtf/engram/internal/embedding/backfill.go:104.3,104.23 1 0 +github.com/thebtf/engram/internal/embedding/backfill.go:104.23,106.12 2 0 +github.com/thebtf/engram/internal/embedding/backfill.go:108.3,108.56 1 0 +github.com/thebtf/engram/internal/embedding/backfill.go:108.56,110.18 2 0 +github.com/thebtf/engram/internal/embedding/backfill.go:110.18,112.5 1 0 +github.com/thebtf/engram/internal/embedding/backfill.go:113.4,113.11 1 0 +github.com/thebtf/engram/internal/embedding/backfill.go:114.22,115.21 1 0 +github.com/thebtf/engram/internal/embedding/backfill.go:116.39,116.39 0 0 +github.com/thebtf/engram/internal/embedding/backfill.go:118.4,118.12 1 0 +github.com/thebtf/engram/internal/embedding/backfill.go:121.3,121.17 1 0 +github.com/thebtf/engram/internal/embedding/backfill.go:121.17,123.4 1 0 +github.com/thebtf/engram/internal/embedding/backfill.go:124.3,125.55 2 0 +github.com/thebtf/engram/internal/embedding/backfill.go:125.55,127.4 1 0 +github.com/thebtf/engram/internal/embedding/client.go:32.51,34.16 2 1 +github.com/thebtf/engram/internal/embedding/client.go:34.16,37.3 1 0 +github.com/thebtf/engram/internal/embedding/client.go:42.2,43.36 2 1 +github.com/thebtf/engram/internal/embedding/client.go:43.36,45.3 1 1 +github.com/thebtf/engram/internal/embedding/client.go:45.8,47.3 1 1 +github.com/thebtf/engram/internal/embedding/client.go:48.2,48.48 1 1 +github.com/thebtf/engram/internal/embedding/client.go:67.35,69.2 1 1 +github.com/thebtf/engram/internal/embedding/client.go:100.93,102.18 2 1 +github.com/thebtf/engram/internal/embedding/client.go:102.18,104.3 1 1 +github.com/thebtf/engram/internal/embedding/client.go:105.2,107.17 3 1 +github.com/thebtf/engram/internal/embedding/client.go:107.17,109.3 1 1 +github.com/thebtf/engram/internal/embedding/client.go:124.2,125.64 2 1 +github.com/thebtf/engram/internal/embedding/client.go:125.64,126.46 1 1 +github.com/thebtf/engram/internal/embedding/client.go:126.46,129.4 1 0 +github.com/thebtf/engram/internal/embedding/client.go:129.9,129.41 1 1 +github.com/thebtf/engram/internal/embedding/client.go:129.41,131.4 1 1 +github.com/thebtf/engram/internal/embedding/client.go:131.9,135.4 1 1 +github.com/thebtf/engram/internal/embedding/client.go:137.2,145.8 1 1 +github.com/thebtf/engram/internal/embedding/client.go:150.103,151.37 1 1 +github.com/thebtf/engram/internal/embedding/client.go:151.37,153.3 1 1 +github.com/thebtf/engram/internal/embedding/client.go:154.2,154.21 1 1 +github.com/thebtf/engram/internal/embedding/client.go:154.21,155.49 1 1 +github.com/thebtf/engram/internal/embedding/client.go:155.49,157.4 1 1 +github.com/thebtf/engram/internal/embedding/client.go:159.2,159.11 1 1 +github.com/thebtf/engram/internal/embedding/client.go:180.33,182.2 1 0 +github.com/thebtf/engram/internal/embedding/client.go:186.82,187.21 1 1 +github.com/thebtf/engram/internal/embedding/client.go:187.21,189.3 1 0 +github.com/thebtf/engram/internal/embedding/client.go:191.2,195.22 2 1 +github.com/thebtf/engram/internal/embedding/client.go:195.22,197.3 1 1 +github.com/thebtf/engram/internal/embedding/client.go:198.2,199.16 2 1 +github.com/thebtf/engram/internal/embedding/client.go:199.16,201.3 1 0 +github.com/thebtf/engram/internal/embedding/client.go:203.2,205.16 3 1 +github.com/thebtf/engram/internal/embedding/client.go:205.16,207.3 1 0 +github.com/thebtf/engram/internal/embedding/client.go:208.2,209.20 2 1 +github.com/thebtf/engram/internal/embedding/client.go:209.20,211.3 1 1 +github.com/thebtf/engram/internal/embedding/client.go:214.2,215.43 2 1 +github.com/thebtf/engram/internal/embedding/client.go:215.43,216.18 1 1 +github.com/thebtf/engram/internal/embedding/client.go:216.18,217.11 1 0 +github.com/thebtf/engram/internal/embedding/client.go:218.22,219.26 1 0 +github.com/thebtf/engram/internal/embedding/client.go:220.63,220.63 0 0 +github.com/thebtf/engram/internal/embedding/client.go:222.4,222.50 1 0 +github.com/thebtf/engram/internal/embedding/client.go:225.3,226.19 2 1 +github.com/thebtf/engram/internal/embedding/client.go:226.19,228.12 2 0 +github.com/thebtf/engram/internal/embedding/client.go:231.3,233.21 3 1 +github.com/thebtf/engram/internal/embedding/client.go:233.21,235.12 2 0 +github.com/thebtf/engram/internal/embedding/client.go:238.3,238.39 1 1 +github.com/thebtf/engram/internal/embedding/client.go:238.39,240.12 2 0 +github.com/thebtf/engram/internal/embedding/client.go:243.3,244.59 2 1 +github.com/thebtf/engram/internal/embedding/client.go:244.59,246.4 1 0 +github.com/thebtf/engram/internal/embedding/client.go:248.3,249.33 2 1 +github.com/thebtf/engram/internal/embedding/client.go:249.33,250.46 1 1 +github.com/thebtf/engram/internal/embedding/client.go:250.46,252.5 1 1 +github.com/thebtf/engram/internal/embedding/client.go:254.3,254.22 1 1 +github.com/thebtf/engram/internal/embedding/client.go:256.2,256.68 1 0 +github.com/thebtf/engram/internal/embedding/code_backfill.go:64.131,65.18 1 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:65.18,67.3 1 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:68.2,68.19 1 0 +github.com/thebtf/engram/internal/embedding/code_backfill.go:68.19,70.3 1 0 +github.com/thebtf/engram/internal/embedding/code_backfill.go:71.2,71.60 1 0 +github.com/thebtf/engram/internal/embedding/code_backfill.go:77.127,78.20 1 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:78.20,80.3 1 0 +github.com/thebtf/engram/internal/embedding/code_backfill.go:82.2,83.6 2 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:83.6,87.10 1 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:88.21,90.20 2 0 +github.com/thebtf/engram/internal/embedding/code_backfill.go:91.11,91.11 0 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:95.3,96.17 2 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:96.17,98.18 2 0 +github.com/thebtf/engram/internal/embedding/code_backfill.go:98.18,100.5 1 0 +github.com/thebtf/engram/internal/embedding/code_backfill.go:101.4,101.11 1 0 +github.com/thebtf/engram/internal/embedding/code_backfill.go:102.22,103.21 1 0 +github.com/thebtf/engram/internal/embedding/code_backfill.go:104.39,104.39 0 0 +github.com/thebtf/engram/internal/embedding/code_backfill.go:106.4,106.12 1 0 +github.com/thebtf/engram/internal/embedding/code_backfill.go:108.3,108.23 1 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:108.23,111.4 2 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:114.3,115.28 2 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:115.28,117.4 1 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:119.3,120.17 2 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:120.17,122.18 2 0 +github.com/thebtf/engram/internal/embedding/code_backfill.go:122.18,124.5 1 0 +github.com/thebtf/engram/internal/embedding/code_backfill.go:125.4,125.11 1 0 +github.com/thebtf/engram/internal/embedding/code_backfill.go:126.22,127.21 1 0 +github.com/thebtf/engram/internal/embedding/code_backfill.go:128.39,128.39 0 0 +github.com/thebtf/engram/internal/embedding/code_backfill.go:130.4,130.12 1 0 +github.com/thebtf/engram/internal/embedding/code_backfill.go:132.3,132.24 1 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:132.24,139.18 2 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:139.18,141.5 1 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:142.4,142.11 1 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:143.22,144.21 1 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:145.39,145.39 0 0 +github.com/thebtf/engram/internal/embedding/code_backfill.go:147.4,147.12 1 0 +github.com/thebtf/engram/internal/embedding/code_backfill.go:156.3,158.32 3 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:158.32,159.25 1 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:159.25,167.10 2 0 +github.com/thebtf/engram/internal/embedding/code_backfill.go:169.4,170.21 2 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:170.21,172.19 2 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:172.19,174.6 1 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:175.5,175.13 1 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:177.4,177.31 1 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:177.31,185.19 2 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:185.19,187.6 1 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:188.5,189.13 2 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:191.4,191.88 1 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:191.88,193.19 2 0 +github.com/thebtf/engram/internal/embedding/code_backfill.go:193.19,195.6 1 0 +github.com/thebtf/engram/internal/embedding/code_backfill.go:196.5,196.13 1 0 +github.com/thebtf/engram/internal/embedding/code_backfill.go:198.4,198.18 1 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:201.3,201.37 1 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:201.37,203.4 1 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:204.3,216.54 2 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:216.54,222.18 2 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:222.18,224.5 1 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:225.4,225.14 1 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:234.3,234.24 1 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:234.24,237.11 2 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:238.22,239.21 1 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:240.39,240.39 0 0 +github.com/thebtf/engram/internal/embedding/code_backfill.go:242.4,242.12 1 0 +github.com/thebtf/engram/internal/embedding/code_backfill.go:245.3,245.52 1 1 +github.com/thebtf/engram/internal/embedding/code_backfill.go:245.52,247.4 1 1 +github.com/thebtf/engram/internal/embedding/dim_assert.go:48.72,49.15 1 0 +github.com/thebtf/engram/internal/embedding/dim_assert.go:49.15,51.3 1 0 +github.com/thebtf/engram/internal/embedding/dim_assert.go:52.2,52.35 1 0 +github.com/thebtf/engram/internal/embedding/dim_assert.go:52.35,69.17 3 0 +github.com/thebtf/engram/internal/embedding/dim_assert.go:69.17,71.4 1 0 +github.com/thebtf/engram/internal/embedding/dim_assert.go:72.3,72.22 1 0 +github.com/thebtf/engram/internal/embedding/dim_assert.go:72.22,74.12 1 0 +github.com/thebtf/engram/internal/embedding/dim_assert.go:76.3,77.15 2 0 +github.com/thebtf/engram/internal/embedding/dim_assert.go:77.15,82.4 1 0 +github.com/thebtf/engram/internal/embedding/dim_assert.go:83.3,84.21 2 0 +github.com/thebtf/engram/internal/embedding/dim_assert.go:84.21,86.4 1 0 +github.com/thebtf/engram/internal/embedding/dim_assert.go:87.3,87.26 1 0 +github.com/thebtf/engram/internal/embedding/dim_assert.go:87.26,93.4 1 0 +github.com/thebtf/engram/internal/embedding/dim_assert.go:95.2,95.12 1 0 +github.com/thebtf/engram/internal/embedding/recorder.go:28.49,32.2 3 1 +github.com/thebtf/engram/internal/embedding/recorder.go:38.70,40.42 2 1 +github.com/thebtf/engram/internal/embedding/recorder.go:40.42,42.3 1 1 +github.com/thebtf/engram/internal/embedding/recorder.go:43.2,50.15 4 1 +github.com/thebtf/engram/internal/embedding/recorder.go:54.94,61.2 6 1 +github.com/thebtf/engram/internal/embedding/store.go:27.68,33.88 2 1 +github.com/thebtf/engram/internal/embedding/store.go:33.88,35.3 1 0 +github.com/thebtf/engram/internal/embedding/store.go:38.2,40.96 1 1 +github.com/thebtf/engram/internal/embedding/store.go:40.96,42.3 1 0 +github.com/thebtf/engram/internal/embedding/store.go:45.2,48.78 2 1 +github.com/thebtf/engram/internal/embedding/store.go:48.78,50.3 1 0 +github.com/thebtf/engram/internal/embedding/store.go:51.2,51.18 1 1 +github.com/thebtf/engram/internal/embedding/store.go:51.18,53.3 1 1 +github.com/thebtf/engram/internal/embedding/store.go:56.2,59.77 2 1 +github.com/thebtf/engram/internal/embedding/store.go:59.77,61.3 1 0 +github.com/thebtf/engram/internal/embedding/store.go:62.2,62.18 1 1 +github.com/thebtf/engram/internal/embedding/store.go:62.18,64.3 1 1 +github.com/thebtf/engram/internal/embedding/store.go:67.2,70.75 2 1 +github.com/thebtf/engram/internal/embedding/store.go:70.75,72.3 1 0 +github.com/thebtf/engram/internal/embedding/store.go:73.2,73.16 1 1 +github.com/thebtf/engram/internal/embedding/store.go:73.16,75.3 1 1 +github.com/thebtf/engram/internal/embedding/store.go:77.2,77.19 1 1 +github.com/thebtf/engram/internal/embedding/store.go:94.79,96.16 2 1 +github.com/thebtf/engram/internal/embedding/store.go:96.16,98.3 1 0 +github.com/thebtf/engram/internal/embedding/store.go:100.2,103.83 2 1 +github.com/thebtf/engram/internal/embedding/store.go:103.83,105.3 1 0 +github.com/thebtf/engram/internal/embedding/store.go:107.2,108.21 2 1 +github.com/thebtf/engram/internal/embedding/store.go:108.21,110.21 2 1 +github.com/thebtf/engram/internal/embedding/store.go:110.21,112.4 1 0 +github.com/thebtf/engram/internal/embedding/store.go:115.2,119.8 1 1 +github.com/thebtf/engram/internal/embedding/store.go:138.33,138.60 1 0 +github.com/thebtf/engram/internal/embedding/store.go:146.35,148.2 1 1 +github.com/thebtf/engram/internal/embedding/store.go:160.72,161.22 1 0 +github.com/thebtf/engram/internal/embedding/store.go:161.22,163.3 1 0 +github.com/thebtf/engram/internal/embedding/store.go:164.2,165.27 2 0 +github.com/thebtf/engram/internal/embedding/store.go:165.27,166.59 1 0 +github.com/thebtf/engram/internal/embedding/store.go:166.59,172.12 2 0 +github.com/thebtf/engram/internal/embedding/store.go:174.3,174.27 1 0 +github.com/thebtf/engram/internal/embedding/store.go:176.2,176.21 1 0 +github.com/thebtf/engram/internal/embedding/store.go:176.21,178.3 1 0 +github.com/thebtf/engram/internal/embedding/store.go:179.2,179.51 1 0 +github.com/thebtf/engram/internal/embedding/store.go:193.125,194.24 1 0 +github.com/thebtf/engram/internal/embedding/store.go:194.24,196.3 1 0 +github.com/thebtf/engram/internal/embedding/store.go:197.2,197.16 1 0 +github.com/thebtf/engram/internal/embedding/store.go:197.16,199.3 1 0 +github.com/thebtf/engram/internal/embedding/store.go:200.2,200.20 1 0 +github.com/thebtf/engram/internal/embedding/store.go:200.20,202.3 1 0 +github.com/thebtf/engram/internal/embedding/store.go:204.2,220.16 4 0 +github.com/thebtf/engram/internal/embedding/store.go:220.16,222.3 1 0 +github.com/thebtf/engram/internal/embedding/store.go:223.2,223.21 1 0 +github.com/thebtf/engram/internal/embedding/store.go:229.151,230.19 1 0 +github.com/thebtf/engram/internal/embedding/store.go:230.19,232.3 1 0 +github.com/thebtf/engram/internal/embedding/store.go:233.2,233.24 1 0 +github.com/thebtf/engram/internal/embedding/store.go:233.24,235.3 1 0 +github.com/thebtf/engram/internal/embedding/store.go:236.2,236.16 1 0 +github.com/thebtf/engram/internal/embedding/store.go:236.16,238.3 1 0 +github.com/thebtf/engram/internal/embedding/store.go:239.2,239.20 1 0 +github.com/thebtf/engram/internal/embedding/store.go:239.20,241.3 1 0 +github.com/thebtf/engram/internal/embedding/store.go:243.2,267.16 4 0 +github.com/thebtf/engram/internal/embedding/store.go:267.16,269.3 1 0 +github.com/thebtf/engram/internal/embedding/store.go:270.2,270.21 1 0 +github.com/thebtf/engram/internal/embedding/store.go:274.78,280.2 3 0 +github.com/thebtf/engram/internal/embedding/store.go:283.75,287.2 1 0 diff --git a/.agent/specs/image-remediation-r2/evidence/IMAGE-AUTHORITY-GUARD.prove-it.log b/.agent/specs/image-remediation-r2/evidence/IMAGE-AUTHORITY-GUARD.prove-it.log new file mode 100644 index 00000000..eef1d823 --- /dev/null +++ b/.agent/specs/image-remediation-r2/evidence/IMAGE-AUTHORITY-GUARD.prove-it.log @@ -0,0 +1,12 @@ +--- FAIL: TestDockerReleaseRefFreshnessGuard (0.80s) + --- FAIL: TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix (0.80s) + --- FAIL: TestDockerReleaseRefFreshnessGuard/workflow_run_provenance_and_protected-main_authority_matrix/exact_protected_release_provenance (0.80s) + image_runtime_contract_test.go:733: image gate unexpectedly failed: exit status 1 + Exception: D:\Dev\engram\.agent\worktrees\image-remediation-r2-immutable-publish\scripts\production-gates\build-and-scan-images.ps1:282 + Line | +  282 |  throw "Expected exactly one active strict protected-main rule … +  |  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +  | Expected exactly one active strict protected-main ruleset requiring authority-guard; found 0. +FAIL +FAIL github.com/thebtf/engram/tests/critical/runtime 1.346s +FAIL diff --git a/.agent/specs/image-remediation-r2/evidence/IMAGE-DIFF-HYGIENE.red.json b/.agent/specs/image-remediation-r2/evidence/IMAGE-DIFF-HYGIENE.red.json new file mode 100644 index 00000000..c30de62c --- /dev/null +++ b/.agent/specs/image-remediation-r2/evidence/IMAGE-DIFF-HYGIENE.red.json @@ -0,0 +1,10 @@ +{ + "task_id": "IMAGE-DIFF-HYGIENE", + "stack": "GO", + "observed_at": "2026-07-11T07:18:21.9073036Z", + "test_file": "git diff --check 0c6269908aa810a2248f2bfaf3fca4f9f5791359..b7f8ff7b9efe826cefdc665894761783a6876676", + "test_name": "R1 immutable changed-diff whitespace regression", + "invariant": "Generated image evidence is normalized so the exact accepted-base-to-candidate diff passes git diff --check.", + "failure_reason": "R1 contains 34 trailing-whitespace diagnostics in operator-console/build.log and server/build.log.", + "runner_stdout_excerpt": "operator-console/build.log and server/build.log: 34 trailing whitespace diagnostics; exit 2" +} diff --git a/.agent/specs/image-remediation-r2/evidence/IMAGE-HEALTHCHECK-RUNNER.red.json b/.agent/specs/image-remediation-r2/evidence/IMAGE-HEALTHCHECK-RUNNER.red.json new file mode 100644 index 00000000..15e676fa --- /dev/null +++ b/.agent/specs/image-remediation-r2/evidence/IMAGE-HEALTHCHECK-RUNNER.red.json @@ -0,0 +1,10 @@ +{ + "task_id": "IMAGE-HEALTHCHECK-RUNNER", + "stack": "GO", + "observed_at": "2026-07-11T07:42:00Z", + "test_file": "cmd/engram-healthcheck/main_test.go", + "test_name": "TestRun_UsageAndReadinessExitCodes", + "invariant": "The shell-free probe exposes deterministic usage, ready, and not-ready exit codes through a testable runner.", + "failure_reason": "The R1 baseline called os.Exit directly and had no testable run function.", + "runner_stdout_excerpt": "main_test.go: undefined: run (three call sites)" +} diff --git a/.agent/specs/image-remediation-r2/evidence/IMAGE-IMMUTABLE-COMPOSE-RUNTIME.red.json b/.agent/specs/image-remediation-r2/evidence/IMAGE-IMMUTABLE-COMPOSE-RUNTIME.red.json new file mode 100644 index 00000000..9429eb81 --- /dev/null +++ b/.agent/specs/image-remediation-r2/evidence/IMAGE-IMMUTABLE-COMPOSE-RUNTIME.red.json @@ -0,0 +1,10 @@ +{ + "schema_version": 1, + "recorded_at": "2026-07-11", + "gate": "full no-cache three-image runtime acceptance", + "source_commit": "76cfb56cac0e410256b719417d4307d45c10f69b", + "observed_failure": "The operator-console runtime target contract required a literal GHCR repository string even though deploy/docker-compose.runtime.yml intentionally requires an exact immutable image reference through ENGRAM_OPERATOR_IMAGE.", + "remediation": "Require the fail-closed ENGRAM_OPERATOR_IMAGE interpolation and preserve the API target assertion; rerun all three exact runtime contracts against the already-scanned images.", + "runtime_recheck": "PASS in 225.565s for operator-console, server, and PostgreSQL contracts", + "result": "RED_REPRODUCED_AND_FIXED_BEFORE_FINAL_GATE" +} diff --git a/.agent/specs/image-remediation-r2/evidence/IMAGE-MANUAL-DISPATCH.red.json b/.agent/specs/image-remediation-r2/evidence/IMAGE-MANUAL-DISPATCH.red.json new file mode 100644 index 00000000..5708b190 --- /dev/null +++ b/.agent/specs/image-remediation-r2/evidence/IMAGE-MANUAL-DISPATCH.red.json @@ -0,0 +1,10 @@ +{ + "task_id": "IMAGE-MANUAL-DISPATCH", + "stack": "GO", + "observed_at": "2026-07-11T07:18:21.9073036Z", + "test_file": "tests/critical/runtime/image_runtime_contract_test.go", + "test_name": "TestDockerReleaseRefFreshnessGuard/manual and main verification-only authority", + "invariant": "Push-to-main and workflow_dispatch are verification-only and can never obtain registry write authority or canonical publication aliases.", + "failure_reason": "R1 combines workflow_dispatch, top-level packages:write, and branch/latest/SemVer alias generators.", + "runner_stdout_excerpt": "workflow_dispatch=True top_level_packages_write=True alias_generators=True; RED IMG-S3-HIGH-003 reproduced" +} diff --git a/.agent/specs/image-remediation-r2/evidence/IMAGE-PAYLOAD-COMMIT-IDENTITY.red.json b/.agent/specs/image-remediation-r2/evidence/IMAGE-PAYLOAD-COMMIT-IDENTITY.red.json new file mode 100644 index 00000000..5d8c59c6 --- /dev/null +++ b/.agent/specs/image-remediation-r2/evidence/IMAGE-PAYLOAD-COMMIT-IDENTITY.red.json @@ -0,0 +1,10 @@ +{ + "schema_version": 1, + "recorded_at": "2026-07-11", + "gate": "ValidatePayload immutable commit identity", + "test": "TestDockerReleaseRefFreshnessGuard/same-run_immutable_artifact_bridge_matrix/payload_immutable_commit_identity", + "observed_failure": "Read-AndValidatePayload rejected the canonical sha-<40 lowercase hex> identity that BuildAndScan emits for audited commit builds.", + "failure": "Release payload validation requires canonical SemVer.", + "remediation": "ValidatePayload and LoadPayload accept either canonical identity already admitted by Assert-CanonicalVersion; PlanPublication and Publish remain SemVer-only.", + "result": "RED_REPRODUCED_BEFORE_FIX" +} diff --git a/.agent/specs/image-remediation-r2/evidence/IMAGE-PUBLICATION-INVARIANTS.tdd.json b/.agent/specs/image-remediation-r2/evidence/IMAGE-PUBLICATION-INVARIANTS.tdd.json new file mode 100644 index 00000000..69816c0b --- /dev/null +++ b/.agent/specs/image-remediation-r2/evidence/IMAGE-PUBLICATION-INVARIANTS.tdd.json @@ -0,0 +1,31 @@ +{ + "schema_version": 1, + "recorded_at": "2026-07-11", + "result": "PASS", + "invariants": { + "canonical_release_tags_only": true, + "manual_dispatch_is_unprivileged": true, + "inline_shell_has_no_raw_context_or_ref_source": true, + "immutable_tag_ruleset_exactly_one_no_bypass": true, + "protected_main_authority_guard_integration_id": 15368, + "protected_main_recovery_user_id": 7106373, + "all_six_destinations_compared_before_first_write": true, + "all_six_destinations_read_back": true, + "moving_aliases": [], + "registry_atomic_cas_claimed": false, + "external_package_admin_trust_boundary": true, + "tracked_file_only_build_context": true + }, + "verification": [ + "actionlint .github/workflows/docker.yaml .github/workflows/docker-publish.yml", + "PowerShell AST parse of scripts/production-gates/build-and-scan-images.ps1", + "go test -tags=critical ./tests/critical/runtime -run ^TestDockerReleaseRefFreshnessGuard$ -count=1", + "git diff --check" + ], + "prove_it": { + "mutation": "changed required authority-guard integration_id from 15368 to 15369", + "expected_failure_observed": true, + "production_code_restored": true, + "focused_test_after_restore": "PASS" + } +} diff --git a/.agent/specs/image-remediation-r2/evidence/IMAGE-PUBLICATION-RACE.red.json b/.agent/specs/image-remediation-r2/evidence/IMAGE-PUBLICATION-RACE.red.json new file mode 100644 index 00000000..7b0bd800 --- /dev/null +++ b/.agent/specs/image-remediation-r2/evidence/IMAGE-PUBLICATION-RACE.red.json @@ -0,0 +1,10 @@ +{ + "task_id": "IMAGE-PUBLICATION-RACE", + "stack": "GO", + "observed_at": "2026-07-11T07:18:21.9073036Z", + "test_file": "tests/critical/runtime/image_runtime_contract_test.go", + "test_name": "TestDockerReleaseRefFreshnessGuard/movement before and after old guard", + "invariant": "Only externally immutable canonical release tags may publish; no stale branch or moved-tag run may write a registry alias.", + "failure_reason": "R1 validates the ref before registry login but publishes later, leaving a post-guard mutation window.", + "runner_stdout_excerpt": "guard_line_index=211 login_line_index=252 publish_line_index=259; RED IMG-S3-HIGH-001 reproduced" +} diff --git a/.agent/specs/image-remediation-r2/evidence/IMAGE-SHARED-BUILDER-VERSION.red.json b/.agent/specs/image-remediation-r2/evidence/IMAGE-SHARED-BUILDER-VERSION.red.json new file mode 100644 index 00000000..37e5e4a3 --- /dev/null +++ b/.agent/specs/image-remediation-r2/evidence/IMAGE-SHARED-BUILDER-VERSION.red.json @@ -0,0 +1,14 @@ +{ + "schema_version": 1, + "recorded_at": "2026-07-11", + "gate": "full no-cache three-image acceptance", + "source_commit": "1f22adce5a86a14e556a715e799fa8562f83ba1f", + "observed_failure": "operator-console target traversed the shared Go builder without VERSION and failed closed at Dockerfile validation", + "secondary_discrepancy": "failure cleanup parsed Compose before mandatory image variables had values", + "remediation": [ + "pass the already validated VERSION build argument to both server and operator-console targets", + "install bounded cleanup-only Compose placeholders before compose down when a build fails early", + "add permanent static regression assertions for both seams" + ], + "result": "RED_REPRODUCED_AND_FIXED_BEFORE_FINAL_GATE" +} diff --git a/.agent/specs/image-remediation-r2/evidence/IMAGE-SHELL-BOUNDARY.red.json b/.agent/specs/image-remediation-r2/evidence/IMAGE-SHELL-BOUNDARY.red.json new file mode 100644 index 00000000..dd10b94c --- /dev/null +++ b/.agent/specs/image-remediation-r2/evidence/IMAGE-SHELL-BOUNDARY.red.json @@ -0,0 +1,10 @@ +{ + "task_id": "IMAGE-SHELL-BOUNDARY", + "stack": "GO", + "observed_at": "2026-07-11T07:18:21.9073036Z", + "test_file": "tests/critical/runtime/image_runtime_contract_test.go", + "test_name": "TestDockerReleaseRefFreshnessGuard/canonical release version and hostile Git refs", + "invariant": "Raw Git refs and Git-derived values never become inline shell source; only a strictly validated canonical release version reaches build metadata.", + "failure_reason": "R1 directly interpolates a raw git-describe output into generated Bash.", + "runner_stdout_excerpt": "valid_git_tag=v1$(printf${IFS}INJECTED); interpolated_value=v1INJECTED; environment_style_value=v1$(printf${IFS}INJECTED)" +} diff --git a/.agent/specs/image-remediation-r2/evidence/IMAGE-TWO-RUNNER-BRIDGE.green.json b/.agent/specs/image-remediation-r2/evidence/IMAGE-TWO-RUNNER-BRIDGE.green.json new file mode 100644 index 00000000..2c7cd9f1 --- /dev/null +++ b/.agent/specs/image-remediation-r2/evidence/IMAGE-TWO-RUNNER-BRIDGE.green.json @@ -0,0 +1,29 @@ +{ + "schema_version": 1, + "recorded_at": "2026-07-11", + "contract": "candidate execution and packages:write publication occur on distinct fresh runners", + "proof": { + "prepare_permissions": ["contents:read"], + "publisher_permissions": ["contents:read", "actions:read", "packages:write"], + "candidate_checkout_in_publisher": false, + "candidate_execution_in_publisher": false, + "artifact_count_before_download": 1, + "artifact_download_selector": "artifact-id", + "payload_regular_files": 5, + "credential_erasure_before_evidence_upload": true + }, + "negative_matrix": [ + "extra-or-duplicate-artifact", + "wrong-artifact-id-name-digest-run", + "expired-artifact", + "extra-payload-file", + "filesystem-symlink-or-reparse", + "bundle-path-traversal", + "archive-path-traversal", + "archive-link-entry", + "archive-hash-or-size-drift", + "manifest-commit-drift" + ], + "command": "go test -tags=critical ./tests/critical/runtime -run ^TestDockerReleaseRefFreshnessGuard$ -count=1", + "result": "PASS" +} diff --git a/.agent/specs/image-remediation-r2/evidence/IMAGE-TWO-RUNNER-BRIDGE.red.log b/.agent/specs/image-remediation-r2/evidence/IMAGE-TWO-RUNNER-BRIDGE.red.log new file mode 100644 index 00000000..2c717984 --- /dev/null +++ b/.agent/specs/image-remediation-r2/evidence/IMAGE-TWO-RUNNER-BRIDGE.red.log @@ -0,0 +1,5 @@ +--- FAIL: TestDockerReleaseRefFreshnessGuard (0.00s) + image_runtime_contract_test.go:71: trusted workflow_run publisher lacks contract "prepare-release:" +FAIL +FAIL github.com/thebtf/engram/tests/critical/runtime 0.544s +FAIL diff --git a/.agent/specs/image-remediation-r2/evidence/LIVE-RULESET-BLOCKER.json b/.agent/specs/image-remediation-r2/evidence/LIVE-RULESET-BLOCKER.json new file mode 100644 index 00000000..7668eb58 --- /dev/null +++ b/.agent/specs/image-remediation-r2/evidence/LIVE-RULESET-BLOCKER.json @@ -0,0 +1,23 @@ +{ + "schema_version": 1, + "observed_at": "2026-07-11", + "repository": "thebtf/engram", + "rulesets": [ + { + "id": 13610955, + "name": "main", + "target": "branch", + "enforcement": "active", + "include": [], + "exclude": [], + "rules": ["deletion", "non_fast_forward"], + "bypass_actors": [] + } + ], + "required_but_missing": [ + "exact refs/tags/v* deletion plus non_fast_forward no-bypass ruleset", + "exact refs/heads/main strict required authority-guard status from integration_id 15368", + "exact User 7106373 pull_request recovery bypass" + ], + "effect": "release publication remains fail-closed before package login" +} diff --git a/.agent/specs/image-remediation-r2/evidence/compose-missing-image.reject.txt b/.agent/specs/image-remediation-r2/evidence/compose-missing-image.reject.txt new file mode 100644 index 00000000..1465c832 --- /dev/null +++ b/.agent/specs/image-remediation-r2/evidence/compose-missing-image.reject.txt @@ -0,0 +1 @@ +error while interpolating services.server.image: required variable ENGRAM_SERVER_IMAGE is missing a value: set ENGRAM_SERVER_IMAGE from the immutable release manifest diff --git a/.agent/specs/image-remediation-r2/evidence/compose-root.config.txt b/.agent/specs/image-remediation-r2/evidence/compose-root.config.txt new file mode 100644 index 00000000..6a114f13 --- /dev/null +++ b/.agent/specs/image-remediation-r2/evidence/compose-root.config.txt @@ -0,0 +1,120 @@ +name: image-remediation-r2-immutable-publish +services: + operator-console: + build: + context: D:\Dev\engram\.agent\worktrees\image-remediation-r2-immutable-publish + dockerfile: Dockerfile + target: operator-console + cap_drop: + - ALL + depends_on: + server: + condition: service_healthy + required: true + environment: + NUXT_OPERATOR_API_TARGET: http://server:37777 + NUXT_PUBLIC_API_BASE: /api + NUXT_PUBLIC_API_DISPLAY_HOST: "" + image: ghcr.io/thebtf/engram-operator-console@sha256:2222222222222222222222222222222222222222222222222222222222222222 + networks: + default: null + ports: + - mode: ingress + host_ip: 0.0.0.0 + target: 3000 + published: "3000" + protocol: tcp + read_only: true + restart: unless-stopped + security_opt: + - no-new-privileges:true + tmpfs: + - /tmp:rw,noexec,nosuid,nodev,uid=65532,gid=65532,mode=0700,size=64m + user: 65532:65532 + postgres: + build: + context: D:\Dev\engram\.agent\worktrees\image-remediation-r2-immutable-publish + dockerfile: deploy/postgres/Dockerfile + cap_drop: + - ALL + environment: + LANG: C.UTF-8 + LC_ALL: C.UTF-8 + POSTGRES_DB: engram + POSTGRES_PASSWORD: test-only + POSTGRES_USER: engram + image: ghcr.io/thebtf/engram-postgres@sha256:3333333333333333333333333333333333333333333333333333333333333333 + networks: + default: null + read_only: true + restart: unless-stopped + security_opt: + - no-new-privileges:true + tmpfs: + - /tmp:rw,noexec,nosuid,nodev,uid=70,gid=70,mode=0700,size=64m + - /var/run/postgresql:rw,noexec,nosuid,nodev,uid=70,gid=70,mode=0775,size=16m + user: 70:70 + volumes: + - type: volume + source: pgdata + target: /var/lib/postgresql/data + volume: {} + server: + build: + context: D:\Dev\engram\.agent\worktrees\image-remediation-r2-immutable-publish + dockerfile: Dockerfile + args: + VERSION: sha-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + target: server + cap_drop: + - ALL + depends_on: + postgres: + condition: service_healthy + required: true + environment: + DATABASE_DSN: postgres://engram:test-only@postgres:5432/engram?sslmode=disable + ENGRAM_AUTH_ADMIN_TOKEN: "" + ENGRAM_AUTH_DISABLED: "false" + ENGRAM_CRYSTALLIZATION_ENABLED: "false" + ENGRAM_EMBEDDING_API_KEY: "" + ENGRAM_EMBEDDING_MODEL: text-embedding + ENGRAM_EMBEDDING_URL: "" + ENGRAM_GRAPH_ENABLED: "false" + ENGRAM_LIFECYCLE_ENABLED: "false" + ENGRAM_TEMPORAL_TRUTH_ENABLED: "false" + ENGRAM_VAULT_KEY: "" + ENGRAM_VNEXT_ENABLED: "false" + ENGRAM_VNEXT_F_ENABLED: "false" + ENGRAM_WORKER_HOST: 0.0.0.0 + ENGRAM_WORKER_PORT: "37777" + HOME: /var/lib/engram + image: ghcr.io/thebtf/engram@sha256:1111111111111111111111111111111111111111111111111111111111111111 + networks: + default: null + ports: + - mode: ingress + host_ip: 0.0.0.0 + target: 37777 + published: "37777" + protocol: tcp + read_only: true + restart: unless-stopped + security_opt: + - no-new-privileges:true + tmpfs: + - /tmp:rw,noexec,nosuid,nodev,uid=65532,gid=65532,mode=0700,size=64m + user: 65532:65532 + volumes: + - type: volume + source: engramdata + target: /var/lib/engram + volume: {} +networks: + default: + name: image-remediation-r2-immutable-publish_default +volumes: + engramdata: + name: image-remediation-r2-immutable-publish_engramdata + pgdata: + name: image-remediation-r2-immutable-publish_pgdata diff --git a/.agent/specs/image-remediation-r2/evidence/compose-runtime.config.txt b/.agent/specs/image-remediation-r2/evidence/compose-runtime.config.txt new file mode 100644 index 00000000..b4cf4c22 --- /dev/null +++ b/.agent/specs/image-remediation-r2/evidence/compose-runtime.config.txt @@ -0,0 +1,107 @@ +name: deploy +services: + operator-console: + cap_drop: + - ALL + depends_on: + server: + condition: service_healthy + required: true + environment: + NUXT_OPERATOR_API_TARGET: http://server:37777 + NUXT_PUBLIC_API_BASE: /api + NUXT_PUBLIC_API_DISPLAY_HOST: "" + image: ghcr.io/thebtf/engram-operator-console@sha256:2222222222222222222222222222222222222222222222222222222222222222 + networks: + default: null + ports: + - mode: ingress + host_ip: 0.0.0.0 + target: 3000 + published: "3000" + protocol: tcp + read_only: true + restart: unless-stopped + security_opt: + - no-new-privileges:true + tmpfs: + - /tmp:rw,noexec,nosuid,nodev,uid=65532,gid=65532,mode=0700,size=64m + user: 65532:65532 + postgres: + cap_drop: + - ALL + environment: + LANG: C.UTF-8 + LC_ALL: C.UTF-8 + POSTGRES_DB: engram + POSTGRES_PASSWORD: test-only + POSTGRES_USER: engram + image: ghcr.io/thebtf/engram-postgres@sha256:3333333333333333333333333333333333333333333333333333333333333333 + networks: + default: null + read_only: true + restart: unless-stopped + security_opt: + - no-new-privileges:true + tmpfs: + - /tmp:rw,noexec,nosuid,nodev,uid=70,gid=70,mode=0700,size=64m + - /var/run/postgresql:rw,noexec,nosuid,nodev,uid=70,gid=70,mode=0775,size=16m + user: 70:70 + volumes: + - type: volume + source: pgdata + target: /var/lib/postgresql/data + volume: {} + server: + cap_drop: + - ALL + depends_on: + postgres: + condition: service_healthy + required: true + environment: + DATABASE_DSN: postgres://engram:test-only@postgres:5432/engram?sslmode=disable + ENGRAM_AUTH_ADMIN_TOKEN: "" + ENGRAM_AUTH_DISABLED: "false" + ENGRAM_CRYSTALLIZATION_ENABLED: "false" + ENGRAM_EMBEDDING_API_KEY: "" + ENGRAM_EMBEDDING_MODEL: text-embedding + ENGRAM_EMBEDDING_URL: "" + ENGRAM_GRAPH_ENABLED: "false" + ENGRAM_LIFECYCLE_ENABLED: "false" + ENGRAM_TEMPORAL_TRUTH_ENABLED: "false" + ENGRAM_VAULT_KEY: "" + ENGRAM_VNEXT_ENABLED: "false" + ENGRAM_VNEXT_F_ENABLED: "false" + ENGRAM_WORKER_HOST: 0.0.0.0 + ENGRAM_WORKER_PORT: "37777" + HOME: /var/lib/engram + image: ghcr.io/thebtf/engram@sha256:1111111111111111111111111111111111111111111111111111111111111111 + networks: + default: null + ports: + - mode: ingress + host_ip: 0.0.0.0 + target: 37777 + published: "37777" + protocol: tcp + read_only: true + restart: unless-stopped + security_opt: + - no-new-privileges:true + tmpfs: + - /tmp:rw,noexec,nosuid,nodev,uid=65532,gid=65532,mode=0700,size=64m + user: 65532:65532 + volumes: + - type: volume + source: engramdata + target: /var/lib/engram + volume: {} +networks: + default: + name: deploy_default +volumes: + engramdata: + name: deploy_engramdata + pgdata: + name: deploy_pgdata diff --git a/.agent/specs/image-remediation-r2/evidence/healthcheck.coverage.out b/.agent/specs/image-remediation-r2/evidence/healthcheck.coverage.out new file mode 100644 index 00000000..26ed1d37 --- /dev/null +++ b/.agent/specs/image-remediation-r2/evidence/healthcheck.coverage.out @@ -0,0 +1,40 @@ +mode: atomic +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:23.13,25.2 1 0 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:27.71,28.20 1 3 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:28.20,31.3 2 1 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:32.2,34.49 3 2 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:34.49,37.3 2 1 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:38.2,38.10 1 1 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:41.61,43.94 2 18 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:43.94,45.3 1 1 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:46.2,46.105 1 17 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:46.105,48.3 1 3 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:50.2,51.16 2 14 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:51.16,53.3 1 0 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:54.2,58.65 2 14 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:58.65,60.4 1 1 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:62.2,63.16 2 14 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:63.16,65.3 1 2 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:66.2,67.42 2 12 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:67.42,69.3 1 1 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:71.2,73.16 3 11 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:73.16,75.3 1 0 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:76.2,76.33 1 11 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:76.33,78.3 1 1 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:80.2,82.46 3 10 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:82.46,84.3 1 0 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:85.2,85.21 1 10 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:85.21,87.3 1 1 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:88.2,89.35 2 9 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:89.35,91.3 1 0 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:92.2,93.48 2 9 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:93.48,95.3 1 1 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:96.2,96.20 1 8 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:96.20,98.3 1 2 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:99.2,100.46 2 6 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:100.46,102.3 1 0 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:103.2,103.56 1 6 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:103.56,105.3 1 1 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:106.2,106.23 1 5 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:106.23,108.3 1 3 +github.com/thebtf/engram/cmd/engram-healthcheck/main.go:109.2,109.12 1 2 diff --git a/.agent/specs/mb1-data-integrity-and-mutation-safety/evidence/MB1-001.red.json b/.agent/specs/mb1-data-integrity-and-mutation-safety/evidence/MB1-001.red.json new file mode 100644 index 00000000..f7716cc7 --- /dev/null +++ b/.agent/specs/mb1-data-integrity-and-mutation-safety/evidence/MB1-001.red.json @@ -0,0 +1,8 @@ +{ + "task_id": "MB1-001", + "observed_at": "2026-07-11T22:32:52Z", + "test_file": "internal/db/gorm/rule_arbiter_store_test.go; internal/db/gorm/rule_governance_store_test.go", + "test_name": "TestRuleGovernanceStore_AnnotatedCandidateWaitsUntilReviewAfter; TestMigration144_RuleGovernanceRollbackAndReapply; TestMigration144_RuleGovernanceEscapeConstraints; TestMigration144_RuleGovernanceSnapshotStatusesAcceptExtendedStates", + "failure_reason": "An annotated candidate retained its arbiter claim and three migration-144 tests attempted to drop tables while migrations 145-147 still depended on them.", + "runner_stdout_excerpt": "dueLater candidate IDs was empty; ERROR: cannot drop table rule_versions because other objects depend on it (SQLSTATE 2BP01)" +} diff --git a/.agent/specs/mb1-data-integrity-and-mutation-safety/evidence/MB1-002.red.json b/.agent/specs/mb1-data-integrity-and-mutation-safety/evidence/MB1-002.red.json new file mode 100644 index 00000000..4217fcf2 --- /dev/null +++ b/.agent/specs/mb1-data-integrity-and-mutation-safety/evidence/MB1-002.red.json @@ -0,0 +1,8 @@ +{ + "task_id": "MB1-002", + "observed_at": "2026-07-11T22:34:18Z", + "test_file": "internal/db/gorm/issue_store_isolation_test.go; internal/db/gorm/versioned_document_store_test.go", + "test_name": "TestIssueStore_ListIssuesExTreatsProjectSelectorsAsLiteralIdentities; TestVersionedDocumentStore_ListTreatsPathPrefixAsLiteralText", + "failure_reason": "Dynamic SQL LIKE selectors treated underscore, percent, and backslash input as pattern syntax and returned sibling projects or paths.", + "runner_stdout_excerpt": "Issue total expected 1 actual 2; path prefixes notes_1 and notes%literal returned two rows; notes\\root returned zero rows." +} diff --git a/.agent/specs/mb1-data-integrity-and-mutation-safety/evidence/MB1-003.red.json b/.agent/specs/mb1-data-integrity-and-mutation-safety/evidence/MB1-003.red.json new file mode 100644 index 00000000..d005bd41 --- /dev/null +++ b/.agent/specs/mb1-data-integrity-and-mutation-safety/evidence/MB1-003.red.json @@ -0,0 +1,8 @@ +{ + "task_id": "MB1-003", + "observed_at": "2026-07-11T22:43:02Z", + "test_file": "internal/worker/handlers_rules_test.go; internal/db/gorm/rule_governance_store_test.go", + "test_name": "TestHandleListBehavioralRules_ProjectScope; TestHandleCreateBehavioralRule_Success; TestHandleSetBehavioralRuleEnabled_Success", + "failure_reason": "Rule handler tests assumed an otherwise empty global rule set while a governance fixture leaked a global row into the shared test database.", + "runner_stdout_excerpt": "Project list expected 2 actual 3; create and enabled list expected 1 actual 2; leaked row content was rg2 legacy global fallback." +} diff --git a/.agent/specs/mb1-data-integrity-and-mutation-safety/evidence/MB1-004.red.json b/.agent/specs/mb1-data-integrity-and-mutation-safety/evidence/MB1-004.red.json new file mode 100644 index 00000000..7ef5b32c --- /dev/null +++ b/.agent/specs/mb1-data-integrity-and-mutation-safety/evidence/MB1-004.red.json @@ -0,0 +1,8 @@ +{ + "task_id": "MB1-004", + "observed_at": "2026-07-11T22:45:54Z", + "test_file": "pkg/models/snapshot_test.go; internal/bulkops/facade_test.go; internal/mcp/ingest_snapshot_contract_test.go", + "test_name": "TestSnapshotOpIngestDoc_PersistedButNotExecutable; TestFacade_Execute_IngestDocHistoricalOnly_NoSnapshot; TestIngestDocument_StoresChunksWithoutBulkOpSnapshot", + "failure_reason": "The snapshot discriminator had no executable classification and Facade.Execute still accepted historical ingest_doc in both dry-run and committed form.", + "runner_stdout_excerpt": "SnapshotOpType.IsExecutable undefined; Facade ingest_doc expected an error but got nil; the independent live ingest path already stored chunks without snapshots." +} diff --git a/.agent/specs/mb1-data-integrity-and-mutation-safety/evidence/MB1-005.red.json b/.agent/specs/mb1-data-integrity-and-mutation-safety/evidence/MB1-005.red.json new file mode 100644 index 00000000..af7d867d --- /dev/null +++ b/.agent/specs/mb1-data-integrity-and-mutation-safety/evidence/MB1-005.red.json @@ -0,0 +1,8 @@ +{ + "task_id": "MB1-005", + "observed_at": "2026-07-11T22:48:01Z", + "test_file": "internal/mcp/coerce_test.go", + "test_name": "TestParseArgsPreservesExactJSONNumbers; TestStrictMutationArgumentsRejectLossyOrPartialValues", + "failure_reason": "Public mutation decoding had no exact integer, strict boolean, or atomic array parsers and parseArgs decoded durable IDs through float64.", + "runner_stdout_excerpt": "requireInt64Arg, optionalBoolArg, optionalStringSliceArg, and optionalInt64SliceArg undefined." +} diff --git a/.agent/specs/mb1-data-integrity-and-mutation-safety/evidence/MB1-006.red.json b/.agent/specs/mb1-data-integrity-and-mutation-safety/evidence/MB1-006.red.json new file mode 100644 index 00000000..419f5b6d --- /dev/null +++ b/.agent/specs/mb1-data-integrity-and-mutation-safety/evidence/MB1-006.red.json @@ -0,0 +1,8 @@ +{ + "task_id": "MB1-006", + "observed_at": "2026-07-11T22:58:44Z", + "test_file": "internal/worker/dream_cycle_test.go", + "test_name": "TestDreamCycle_FlagOffNoCandidates; TestDreamCycle_CandidatePersistenceUnavailableDoesNotExtractOrMark; TestDreamCycle_RouteFailurePreservesUnprocessedBatch; TestDreamCycle_GroupsExactProjectAndSessionProvenance", + "failure_reason": "Dream-cycle extracted and marked work without a live candidate path, marked failed routes processed, advanced the watermark, and combined different project/session provenance into one digest.", + "runner_stdout_excerpt": "F-off and nil-writer cases extracted, marked, and advanced; route failure marked transcript 92; two provenance groups produced one candidate." +} diff --git a/.agent/specs/mb1-data-integrity-and-mutation-safety/evidence/MB1-CANDIDATE-ROLLBACK.green.json b/.agent/specs/mb1-data-integrity-and-mutation-safety/evidence/MB1-CANDIDATE-ROLLBACK.green.json new file mode 100644 index 00000000..678888ee --- /dev/null +++ b/.agent/specs/mb1-data-integrity-and-mutation-safety/evidence/MB1-CANDIDATE-ROLLBACK.green.json @@ -0,0 +1,28 @@ +{ + "slice": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "disposition": "accepted implementation already present in source candidate fef455bcf640f849c2d40c9bc26a459b5593e10a; macro batch adds fresh independent execution proof instead of duplicating code", + "contracts": [ + "all public candidate-review actions persist authoritative before and after candidate state in the committed snapshot", + "immediate rollback restores the pending candidate state", + "promote rollback deletes the operation-owned promoted memory", + "a later edit to the promoted memory produces rollback_conflict and retains both the committed snapshot and the later state" + ], + "command": "$env:DATABASE_DSN='postgres://engram:engram@127.0.0.1:55432/engram_test?sslmode=disable'; go test -p=1 ./internal/bulkops -run 'TestRollback_(PublicCandidateReview|CandidateReviewPromoteEditedMemoryConflicts)' -count=1", + "result": "PASS", + "database_port": 55432, + "database_port_5432_used": false, + "test_count": 5, + "covered_actions": [ + "promote", + "preserve", + "reject", + "supersede", + "suppress" + ], + "source_tests": [ + "internal/bulkops/rollback_test.go:TestRollback_PublicCandidateReviewPromotePersistsAfterAndRestoresPending", + "internal/bulkops/rollback_test.go:TestRollback_PublicCandidateReviewPreservePersistsAfterAndRestoresPending", + "internal/bulkops/rollback_test.go:TestRollback_PublicCandidateReviewNonMemoryActionsPersistAfterAndRestorePending", + "internal/bulkops/rollback_test.go:TestRollback_CandidateReviewPromoteEditedMemoryConflicts" + ] +} diff --git a/.agent/specs/ops-observability-call-sites/evidence/OBS-CALLSITES-R1.tdd.json b/.agent/specs/ops-observability-call-sites/evidence/OBS-CALLSITES-R1.tdd.json new file mode 100644 index 00000000..c7777eb8 --- /dev/null +++ b/.agent/specs/ops-observability-call-sites/evidence/OBS-CALLSITES-R1.tdd.json @@ -0,0 +1,87 @@ +{ + "task_id": "OBS-CALLSITES-R1", + "recorded_at": "2026-07-13T02:20:02.4095657Z", + "method": "RED-GREEN-REFACTOR plus production-mutation Prove-It", + "invalidated_attempts": [ + { + "reason": "The first server transport assertion used the removed legacy metric name rpc.server.duration. All production edits from that attempt were reverted before the valid cycle began.", + "disposition": "excluded from evidence" + } + ], + "cycles": [ + { + "surface": "gRPC server transport, auth rejection, and version negotiation", + "test": "TestGRPCObservability_EmitsTransportAuthAndVersionMetrics", + "red_at": "2026-07-13T01:58:26.0261994Z", + "red": "production grpc.Server emitted no rpc.server.call.duration metric", + "green": "ready-made otelgrpc server StatsHandler plus bounded auth/client_version outcomes" + }, + { + "surface": "daemon engramcore gRPC client pool", + "test": "TestDialGRPC_EmitsClientTransportMetric", + "red_at": "2026-07-13T02:01:04.1061959Z", + "red": "production dialGRPC emitted no rpc.client.call.duration metric", + "green": "ready-made otelgrpc client StatsHandler" + }, + { + "surface": "daemon persistent server-events gRPC client", + "test": "TestBridgeDialGRPC_EmitsClientTransportMetric", + "red_at": "2026-07-13T02:04:45.8301567Z", + "red": "production Bridge.dialGRPC emitted no rpc.client.call.duration metric", + "green": "ready-made otelgrpc client StatsHandler" + }, + { + "surface": "PostgreSQL startup", + "test": "TestOpenObservedStore_RecordsInitializationFailure", + "red_at": "2026-07-13T02:06:05.3805569Z", + "red": "production database initialization had no bounded diagnostic event", + "green": "database initialized/initialization_error outcomes without DSN or driver error labels" + }, + { + "surface": "background code-index run", + "test": "TestCodebaseIndex_RecordsBackgroundRunFailure", + "red_at": "2026-07-13T02:07:49.6142498Z", + "red": "production background failure updated only in-memory state and logs", + "green": "index run_error and panic outcomes without project, root, run ID, or error text labels" + }, + { + "surface": "multi-process OTel resource identity", + "test": "TestInitForService_ExportsDaemonResourceIdentity", + "red_at": "2026-07-13T02:09:01.0272375Z", + "red": "InitForService API did not exist, so daemon and server could not be separated by service.name", + "green": "engram-server compatibility wrapper and explicit engram-daemon resource identity" + }, + { + "surface": "local daemon exporter lifecycle", + "test": "TestInitDaemonObservability_ExportsDaemonResourceIdentity", + "red_at": "2026-07-13T02:10:40.6639840Z", + "red": "local daemon had no exporter lifecycle call site", + "green": "daemon-mode init before module lifecycle and bounded shutdown on normal, error, and graceful-restart paths" + }, + { + "surface": "short-lived client/shim isolation", + "test": "TestInitDaemonObservability_ShimModeDoesNotStartExporter", + "red": "client/shim mode incorrectly started and identified an OTLP exporter as engram-daemon", + "green": "only --muxcore-daemon mode owns the daemon exporter" + } + ], + "prove_it": { + "production_mutations": [ + "removed each otelgrpc server/client StatsHandler", + "changed database and index outcomes", + "forced daemon resource identity back to engram-server", + "changed exercised missing-auth and incompatible-version outcomes" + ], + "result": "Every corresponding contract test failed for its intended reason; all mutations were reverted and the focused suite returned green. An unexercised missing-metadata branch mutation did not fail and is not counted as proof." + }, + "verification": { + "focused_count": "PASS, count=5", + "race": "PASS, count=3 across all seven changed packages", + "coverage_note": "Focused package coverage is informational and ranges from 0.2% to 64.7% because several target packages are large; every changed integration seam is executed and has mutation proof.", + "external_sources": [ + "Context7 official OpenTelemetry Go and contrib documentation", + "Parallel official OpenTelemetry RPC metrics specification and pkg.go.dev module metadata", + "Tavily attempted but unavailable because OAuth authorization is required" + ] + } +} diff --git a/.agent/specs/production-ready-db-bulkops/evidence/DB-BULKOPS-CAPTURE-LOCK-REWORK.red.json b/.agent/specs/production-ready-db-bulkops/evidence/DB-BULKOPS-CAPTURE-LOCK-REWORK.red.json new file mode 100644 index 00000000..0ba9c591 --- /dev/null +++ b/.agent/specs/production-ready-db-bulkops/evidence/DB-BULKOPS-CAPTURE-LOCK-REWORK.red.json @@ -0,0 +1,11 @@ +{ + "task_id": "DB-BULKOPS-CAPTURE-LOCK-REWORK", + "observed_at": "2026-07-10T05:03:25.7586634Z", + "stack": "GO", + "test_file": "internal/bulkops/facade_test.go", + "test_name": "TestFacade_BulkPromote_ConcurrentCommittedUpdateIsCapturedPromotedAndRollbackable", + "database": "engram_prc_bulkops_capture_red_20260710_080234", + "failure_reason": "bulk_promote captured and promoted stale candidate A while concurrent candidate B committed before row-lock acquisition; rollback restored stale A.", + "runner_exit_code": 1, + "runner_stdout_excerpt": "promoted memory expected committed-B, actual stale A; snapshot expected committed-B, actual stale A; rollback expected committed-B, actual stale A" +} diff --git a/.agent/specs/production-ready-db-bulkops/evidence/DB-BULKOPS-CAPTURE-LOCK-REWORK.tdd.json b/.agent/specs/production-ready-db-bulkops/evidence/DB-BULKOPS-CAPTURE-LOCK-REWORK.tdd.json new file mode 100644 index 00000000..c060f7ee --- /dev/null +++ b/.agent/specs/production-ready-db-bulkops/evidence/DB-BULKOPS-CAPTURE-LOCK-REWORK.tdd.json @@ -0,0 +1,94 @@ +{ + "schema_version": 1, + "completed_at_utc": "2026-07-10T05:45:01Z", + "implementation_parent": "2b085de663d5ba9dfa97adf9ee58de062ee0997c", + "scope": "bulk_promote capture locking, exact candidate rollback conflict detection, legacy fail-closed behavior, and normalized dry-run semantics", + "infrastructure_probe": { + "command": "go test ./internal/bulkops -list '^TestFacade_BulkPromote'", + "exit_code": 0 + }, + "red": [ + { + "database": "engram_prc_bulkops_capture_red_20260710_080234", + "test": "TestFacade_BulkPromote_ConcurrentCommittedUpdateIsCapturedPromotedAndRollbackable", + "exit_code": 1, + "observed": "Execute captured stale candidate A before waiting for the row lock, promoted memory A after candidate B committed, and rollback erased B.", + "artifact": "DB-BULKOPS-CAPTURE-LOCK-REWORK.red.json" + }, + { + "database": "engram_prc_bulkops_edges_red_20260710_081930", + "test": "TestFacade_BulkPromote_CandidateChangedAfterExecuteConflictsAndPreservesCurrent", + "exit_code": 1, + "observed": "Rollback returned success, overwrote post-Execute candidate C with B, reset status to pending, and deleted the promoted memory.", + "artifact": "DB-BULKOPS-ROLLBACK-CANDIDATE-CONFLICT.red.json" + }, + { + "database": "engram_prc_bulkops_edges_red_20260710_081930", + "test": "TestFacade_BulkPromote_DryRunNormalizesDuplicateAndZeroIDs", + "exit_code": 1, + "observed": "Dry-run counted six raw IDs while execution consumed two sorted unique non-zero IDs.", + "artifact": "DB-BULKOPS-DRY-RUN-NORMALIZATION.red.json" + }, + { + "database": "engram_prc_bulkops_edges_green_20260710_082347", + "test": "TestFacade_BulkPromote_LegacySnapshotWithoutAfterFailsClosedAndPreservesCandidate", + "exit_code": 1, + "observed": "A candidate restore entry without After was accepted and rollback silently overwrote a later candidate edit.", + "artifact": "DB-BULKOPS-LEGACY-CANDIDATE-NO-AFTER.red.json" + } + ], + "green": { + "focused_repeat_database": "engram_prc_bulkops_final_focus_20260710_082852", + "command": "go test ./internal/bulkops -run '' -count=20", + "exit_code": 0, + "observed": "PASS: 180/180 executions in 41.437s" + }, + "refactor": { + "changes": [ + "removed tautological nil checks after enforcing a non-nil promoted candidate result", + "normalized time locations and nil versus empty candidate slices before exact after-state comparison", + "updated rollback contract comments to cover both memory and candidate conflicts" + ], + "verification": "targeted restored GREEN, full package, race, vet, diagnostics, and diff checks passed" + }, + "prove_it": { + "database": "engram_prc_bulkops_proveit_20260710_083420", + "sentinels": [ + "temporarily restored raw len(op.CandidateIDs) dry-run counting", + "temporarily accepted every exact candidate after-state comparison", + "temporarily accepted legacy candidate entries missing After" + ], + "exit_codes": [1, 1, 1], + "observed": "Each corresponding permanent regression failed and exposed the destructive behavior; all three passed after sentinel removal." + }, + "final_verification": { + "full_database": "engram_prc_bulkops_final_postprove_20260710_083859", + "full_package": "PASS: go test ./internal/bulkops -count=1 -coverprofile DB-BULKOPS-FINAL.cover.out, exit 0, package 3.901s", + "race_database": "engram_prc_bulkops_final_postprove_race_20260710_084223", + "race": "PASS: go test -race ./internal/bulkops -count=1, exit 0, package 9.538s", + "models": "PASS: go test ./pkg/models -count=1, exit 0", + "vet": "PASS: go vet ./internal/bulkops ./internal/db/gorm ./pkg/models, exit 0", + "diagnostics": "PASS: no warnings or errors in facade.go, rollback.go, facade_test.go, rollback_test.go, snapshot.go", + "diff_check": "PASS: git diff --check, exit 0" + }, + "coverage": { + "artifact": "DB-BULKOPS-FINAL.cover.out", + "package_statements_percent": 76.8, + "executeBulkPromote_percent": 80.0, + "lockPromoteCandidatesTx_percent": 81.8, + "Rollback_percent": 79.6, + "lockCandidateRowsForRollbackTx_percent": 84.2, + "detectCandidateConflicts_percent": 81.2, + "matchesExpectedCandidateState_percent": 87.5, + "threshold_percent": 80, + "status": "WARN", + "note": "Package coverage is informationally below 80%; every load-bearing new branch has deterministic PostgreSQL regression, repeat-20, race, and mutation/prove-it evidence." + }, + "database_cleanup": { + "maker_owned_databases": "all dropped after pg_stat_activity returned zero sessions", + "orphan_database": "engram_prc_bulkops_check safely classified and dropped after zero-session verification", + "final_bulk_database_count": 0, + "final_bulk_session_count": 0 + }, + "status": "PASS_WITH_COVERAGE_WARNING" +} diff --git a/.agent/specs/production-ready-db-bulkops/evidence/DB-BULKOPS-DRY-RUN-NORMALIZATION.red.json b/.agent/specs/production-ready-db-bulkops/evidence/DB-BULKOPS-DRY-RUN-NORMALIZATION.red.json new file mode 100644 index 00000000..aeea3f37 --- /dev/null +++ b/.agent/specs/production-ready-db-bulkops/evidence/DB-BULKOPS-DRY-RUN-NORMALIZATION.red.json @@ -0,0 +1,11 @@ +{ + "task_id": "DB-BULKOPS-DRY-RUN-NORMALIZATION", + "observed_at": "2026-07-10T05:20:12Z", + "stack": "GO", + "test_file": "internal/bulkops/facade_test.go", + "test_name": "TestFacade_BulkPromote_DryRunNormalizesDuplicateAndZeroIDs", + "database": "engram_prc_bulkops_edges_red_20260710_081930", + "failure_reason": "bulk_promote dry-run counted the raw six-element input while execution consumed two sorted unique non-zero candidate IDs.", + "runner_exit_code": 1, + "runner_stdout_excerpt": "preview WouldAffect expected 2, actual 6; execution AffectedCount actual 2" +} diff --git a/.agent/specs/production-ready-db-bulkops/evidence/DB-BULKOPS-FINAL.cover.out b/.agent/specs/production-ready-db-bulkops/evidence/DB-BULKOPS-FINAL.cover.out new file mode 100644 index 00000000..477e7f0d --- /dev/null +++ b/.agent/specs/production-ready-db-bulkops/evidence/DB-BULKOPS-FINAL.cover.out @@ -0,0 +1,342 @@ +mode: set +github.com/thebtf/engram/internal/bulkops/facade.go:84.11,91.2 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:105.106,107.37 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:107.37,109.3 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:111.2,111.24 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:111.24,113.3 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:115.2,115.17 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:116.36,117.49 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:118.35,119.48 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:120.38,121.51 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:122.34,123.47 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:124.10,125.72 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:131.117,134.15 2 1 +github.com/thebtf/engram/internal/bulkops/facade.go:134.15,140.3 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:142.2,142.29 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:142.29,144.3 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:146.2,146.19 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:146.19,148.3 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:149.2,149.26 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:149.26,151.3 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:152.2,152.28 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:152.28,154.3 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:156.2,158.22 3 1 +github.com/thebtf/engram/internal/bulkops/facade.go:158.22,160.3 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:162.2,164.89 3 1 +github.com/thebtf/engram/internal/bulkops/facade.go:164.89,174.24 4 1 +github.com/thebtf/engram/internal/bulkops/facade.go:174.24,176.4 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:178.3,183.32 3 1 +github.com/thebtf/engram/internal/bulkops/facade.go:183.32,185.4 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:186.3,186.26 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:186.26,187.35 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:187.35,189.5 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:192.3,194.32 3 1 +github.com/thebtf/engram/internal/bulkops/facade.go:194.32,198.43 4 1 +github.com/thebtf/engram/internal/bulkops/facade.go:198.43,200.5 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:201.4,210.22 3 1 +github.com/thebtf/engram/internal/bulkops/facade.go:210.22,213.13 3 0 +github.com/thebtf/engram/internal/bulkops/facade.go:215.4,215.23 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:215.23,217.5 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:218.4,219.25 2 1 +github.com/thebtf/engram/internal/bulkops/facade.go:219.25,221.5 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:222.4,224.40 3 1 +github.com/thebtf/engram/internal/bulkops/facade.go:224.40,226.5 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:226.10,226.35 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:226.35,228.5 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:229.4,229.29 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:229.29,231.5 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:232.4,239.28 4 1 +github.com/thebtf/engram/internal/bulkops/facade.go:239.28,246.5 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:249.3,249.34 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:249.34,252.4 2 0 +github.com/thebtf/engram/internal/bulkops/facade.go:254.3,255.24 2 1 +github.com/thebtf/engram/internal/bulkops/facade.go:255.24,257.4 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:258.3,264.25 2 1 +github.com/thebtf/engram/internal/bulkops/facade.go:264.25,266.4 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:267.3,273.23 6 1 +github.com/thebtf/engram/internal/bulkops/facade.go:273.23,275.4 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:276.3,277.123 2 1 +github.com/thebtf/engram/internal/bulkops/facade.go:277.123,279.4 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:281.3,282.13 2 1 +github.com/thebtf/engram/internal/bulkops/facade.go:284.2,284.18 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:284.18,286.3 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:289.2,289.25 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:289.25,290.41 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:290.41,292.4 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:293.3,297.5 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:300.2,300.20 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:305.116,308.15 2 1 +github.com/thebtf/engram/internal/bulkops/facade.go:308.15,310.3 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:312.2,312.26 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:312.26,314.3 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:316.2,316.19 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:316.19,318.3 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:320.2,322.16 3 1 +github.com/thebtf/engram/internal/bulkops/facade.go:322.16,324.3 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:326.2,327.22 2 1 +github.com/thebtf/engram/internal/bulkops/facade.go:327.22,329.3 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:330.2,331.16 2 1 +github.com/thebtf/engram/internal/bulkops/facade.go:331.16,333.3 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:334.2,340.16 6 1 +github.com/thebtf/engram/internal/bulkops/facade.go:340.16,342.3 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:344.2,345.25 2 1 +github.com/thebtf/engram/internal/bulkops/facade.go:345.25,346.55 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:346.55,348.12 2 0 +github.com/thebtf/engram/internal/bulkops/facade.go:350.3,350.25 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:353.2,353.25 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:353.25,359.3 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:361.2,361.20 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:366.119,369.15 2 1 +github.com/thebtf/engram/internal/bulkops/facade.go:369.15,371.3 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:373.2,373.26 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:373.26,375.3 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:377.2,377.19 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:377.19,379.3 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:381.2,383.16 3 1 +github.com/thebtf/engram/internal/bulkops/facade.go:383.16,385.3 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:387.2,388.22 2 1 +github.com/thebtf/engram/internal/bulkops/facade.go:388.22,390.3 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:391.2,392.16 2 1 +github.com/thebtf/engram/internal/bulkops/facade.go:392.16,394.3 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:395.2,401.16 6 1 +github.com/thebtf/engram/internal/bulkops/facade.go:401.16,403.3 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:405.2,406.25 2 1 +github.com/thebtf/engram/internal/bulkops/facade.go:406.25,407.61 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:407.61,409.12 2 0 +github.com/thebtf/engram/internal/bulkops/facade.go:411.3,411.25 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:414.2,414.25 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:414.25,420.3 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:422.2,422.20 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:427.115,430.15 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:430.15,432.3 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:433.2,436.16 4 0 +github.com/thebtf/engram/internal/bulkops/facade.go:436.16,438.3 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:439.2,442.16 4 0 +github.com/thebtf/engram/internal/bulkops/facade.go:442.16,444.3 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:445.2,445.78 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:450.50,451.30 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:451.30,453.3 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:454.2,454.42 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:454.42,456.3 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:457.2,457.32 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:463.113,466.25 3 0 +github.com/thebtf/engram/internal/bulkops/facade.go:466.25,468.17 2 0 +github.com/thebtf/engram/internal/bulkops/facade.go:468.17,471.12 2 0 +github.com/thebtf/engram/internal/bulkops/facade.go:473.3,473.35 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:475.2,476.16 2 0 +github.com/thebtf/engram/internal/bulkops/facade.go:476.16,478.3 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:479.2,479.45 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:497.66,503.18 4 1 +github.com/thebtf/engram/internal/bulkops/facade.go:503.18,510.34 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:510.34,512.4 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:515.2,518.39 2 1 +github.com/thebtf/engram/internal/bulkops/facade.go:518.39,520.3 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:521.2,525.27 4 1 +github.com/thebtf/engram/internal/bulkops/facade.go:525.27,527.17 2 1 +github.com/thebtf/engram/internal/bulkops/facade.go:527.17,529.4 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:530.3,531.17 2 1 +github.com/thebtf/engram/internal/bulkops/facade.go:531.17,533.4 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:534.3,538.40 2 1 +github.com/thebtf/engram/internal/bulkops/facade.go:540.2,540.45 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:544.121,547.16 3 1 +github.com/thebtf/engram/internal/bulkops/facade.go:547.16,549.3 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:550.2,551.26 2 1 +github.com/thebtf/engram/internal/bulkops/facade.go:551.26,552.26 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:552.26,557.18 3 1 +github.com/thebtf/engram/internal/bulkops/facade.go:557.18,558.50 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:558.50,560.14 2 0 +github.com/thebtf/engram/internal/bulkops/facade.go:562.5,562.88 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:564.4,565.25 2 1 +github.com/thebtf/engram/internal/bulkops/facade.go:565.25,567.5 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:568.4,568.41 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:571.2,572.16 2 1 +github.com/thebtf/engram/internal/bulkops/facade.go:572.16,574.3 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:575.2,575.57 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:582.83,583.26 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:583.26,585.3 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:586.2,589.39 2 1 +github.com/thebtf/engram/internal/bulkops/facade.go:589.39,591.3 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:592.2,592.30 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:599.76,600.16 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:600.16,602.3 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:604.2,615.16 11 1 +github.com/thebtf/engram/internal/bulkops/facade.go:615.16,617.3 1 0 +github.com/thebtf/engram/internal/bulkops/facade.go:618.2,618.38 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:621.46,622.18 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:622.18,624.3 1 1 +github.com/thebtf/engram/internal/bulkops/facade.go:625.2,626.20 2 1 +github.com/thebtf/engram/internal/bulkops/facade.go:629.47,629.61 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:65.28,66.37 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:66.37,68.3 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:69.2,69.26 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:69.26,71.3 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:72.2,72.24 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:72.24,74.3 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:75.2,80.70 5 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:80.70,86.17 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:86.17,87.49 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:87.49,89.5 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:90.4,90.67 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:92.3,92.52 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:92.52,95.4 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:99.3,100.17 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:100.17,102.4 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:108.3,112.40 5 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:112.40,114.23 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:114.23,116.5 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:117.4,117.44 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:117.44,119.13 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:121.4,122.126 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:122.126,129.13 3 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:131.4,131.39 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:133.3,136.59 4 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:136.59,138.4 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:139.3,140.17 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:140.17,142.4 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:143.3,144.17 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:144.17,146.4 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:147.3,151.17 5 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:151.17,153.4 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:155.3,157.17 3 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:157.17,159.4 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:160.3,163.27 4 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:163.27,165.4 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:167.3,169.40 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:169.40,171.23 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:171.23,173.5 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:175.4,175.22 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:176.32,179.71 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:179.71,181.6 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:183.37,184.65 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:184.65,186.14 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:188.5,188.171 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:188.171,192.31 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:192.31,194.7 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:195.6,196.79 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:196.79,198.7 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:199.6,200.80 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:200.80,202.7 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:203.11,205.81 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:205.81,207.7 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:208.6,209.82 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:209.82,211.7 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:213.5,213.15 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:215.12,216.83 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:220.3,220.95 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:220.95,222.4 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:224.3,225.13 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:228.2,228.18 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:228.18,229.44 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:229.44,230.25 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:230.25,236.5 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:237.4,240.26 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:242.3,242.20 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:246.2,246.23 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:246.23,252.3 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:254.2,254.20 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:262.63,265.86 3 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:265.86,268.3 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:269.2,269.77 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:269.77,272.3 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:273.2,274.20 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:277.111,278.60 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:278.60,280.3 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:281.2,282.18 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:285.43,288.25 3 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:288.25,289.14 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:289.14,290.12 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:292.3,292.36 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:292.36,293.12 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:295.3,296.30 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:298.2,298.41 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:298.41,298.73 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:299.2,299.15 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:306.55,309.19 3 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:309.19,311.3 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:313.2,322.33 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:322.33,324.3 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:326.2,327.27 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:327.27,329.3 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:330.2,331.25 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:331.25,332.30 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:332.30,333.12 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:335.3,336.17 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:336.17,338.4 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:339.3,339.25 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:341.2,341.20 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:347.20,349.26 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:349.26,351.3 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:352.2,355.25 3 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:355.25,357.14 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:357.14,359.12 2 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:361.3,362.17 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:362.17,364.4 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:365.3,365.15 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:365.15,367.4 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:369.2,369.23 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:372.120,373.78 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:373.78,375.3 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:377.2,378.63 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:378.63,380.3 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:381.2,383.60 3 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:386.106,389.34 3 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:389.34,392.3 2 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:393.2,393.41 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:393.41,395.3 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:396.2,396.42 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:396.42,398.3 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:399.2,399.18 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:410.20,411.19 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:411.19,413.3 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:414.2,415.25 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:415.25,417.14 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:417.14,419.12 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:421.3,421.61 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:421.61,423.23 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:423.23,425.5 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:426.4,426.16 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:426.16,427.13 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:430.3,430.40 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:430.40,432.4 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:434.2,434.23 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:441.138,442.83 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:442.83,444.3 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:446.2,447.62 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:447.62,449.3 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:450.2,451.16 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:451.16,453.3 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:454.2,455.62 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:455.62,457.3 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:459.2,460.16 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:461.35,462.79 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:462.79,464.4 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:465.3,466.41 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:468.38,469.65 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:469.65,471.4 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:472.3,472.76 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:472.76,474.4 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:475.3,477.41 3 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:479.10,480.20 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:483.2,483.50 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:491.88,493.25 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:493.25,495.14 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:495.14,497.12 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:499.3,499.41 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:499.41,501.4 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:503.2,503.18 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:514.91,515.42 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:515.42,517.3 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:519.2,520.53 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:520.53,522.3 1 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:524.2,525.27 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:525.27,526.38 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:526.38,529.12 2 0 +github.com/thebtf/engram/internal/bulkops/rollback.go:533.3,535.84 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:535.84,537.12 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:541.3,541.74 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:543.2,543.17 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:548.81,549.42 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:549.42,551.3 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:552.2,553.48 2 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:553.48,555.3 1 1 +github.com/thebtf/engram/internal/bulkops/rollback.go:556.2,556.15 1 1 diff --git a/.agent/specs/production-ready-db-bulkops/evidence/DB-BULKOPS-LEGACY-CANDIDATE-NO-AFTER.red.json b/.agent/specs/production-ready-db-bulkops/evidence/DB-BULKOPS-LEGACY-CANDIDATE-NO-AFTER.red.json new file mode 100644 index 00000000..6c48baf1 --- /dev/null +++ b/.agent/specs/production-ready-db-bulkops/evidence/DB-BULKOPS-LEGACY-CANDIDATE-NO-AFTER.red.json @@ -0,0 +1,11 @@ +{ + "task_id": "DB-BULKOPS-LEGACY-CANDIDATE-NO-AFTER", + "observed_at": "2026-07-10T05:26:00Z", + "stack": "GO", + "test_file": "internal/bulkops/facade_test.go", + "test_name": "TestFacade_BulkPromote_LegacySnapshotWithoutAfterFailsClosedAndPreservesCandidate", + "database": "engram_prc_bulkops_edges_green_20260710_082347", + "failure_reason": "A legacy candidate restore entry without an exact after-state was treated as safe; rollback overwrote concurrent candidate content, reset status to pending, and deleted the promoted memory.", + "runner_exit_code": 1, + "runner_stdout_excerpt": "expected rollback_conflict, got nil; concurrent-C overwritten; promoted changed to pending" +} diff --git a/.agent/specs/production-ready-db-bulkops/evidence/DB-BULKOPS-ROLLBACK-CANDIDATE-CONFLICT.red.json b/.agent/specs/production-ready-db-bulkops/evidence/DB-BULKOPS-ROLLBACK-CANDIDATE-CONFLICT.red.json new file mode 100644 index 00000000..ff64221f --- /dev/null +++ b/.agent/specs/production-ready-db-bulkops/evidence/DB-BULKOPS-ROLLBACK-CANDIDATE-CONFLICT.red.json @@ -0,0 +1,11 @@ +{ + "task_id": "DB-BULKOPS-ROLLBACK-CANDIDATE-CONFLICT", + "observed_at": "2026-07-10T05:20:12Z", + "stack": "GO", + "test_file": "internal/bulkops/facade_test.go", + "test_name": "TestFacade_BulkPromote_CandidateChangedAfterExecuteConflictsAndPreservesCurrent", + "database": "engram_prc_bulkops_edges_red_20260710_081930", + "failure_reason": "Rollback did not detect that the promoted candidate changed after Execute committed; it returned success, overwrote concurrent content C with captured content B, reset status to pending, and deleted the promoted memory.", + "runner_exit_code": 1, + "runner_stdout_excerpt": "expected rollback_conflict, got nil; expected concurrent-C, got pre-update content; expected promoted, got pending" +} diff --git a/.agent/specs/production-ready-release-integration-r1/evidence/DEV-STAND-POSTGRES-TOPOLOGY.tdd.json b/.agent/specs/production-ready-release-integration-r1/evidence/DEV-STAND-POSTGRES-TOPOLOGY.tdd.json new file mode 100644 index 00000000..2787752f --- /dev/null +++ b/.agent/specs/production-ready-release-integration-r1/evidence/DEV-STAND-POSTGRES-TOPOLOGY.tdd.json @@ -0,0 +1,66 @@ +{ + "schema_version": 1, + "recorded_at": "2026-07-13T07:05:00Z", + "scope": "clean exact-source production dev-stand PostgreSQL image topology and failure diagnostics", + "red": { + "source_commit": "08987ddb8e533d4c9365a5bed78e7b84a8601673", + "result": "FAIL_WITH_CLEANUP_PASS", + "duration_seconds": 43.917, + "failure": "the stand forced project UID 70 onto upstream pgvector/pgvector:pg17; PostgreSQL could not chmod or initialize its data directory", + "direct_reproduction": "docker run --rm --user 70:70 -e POSTGRES_HOST_AUTH_METHOD=trust pgvector/pgvector:pg17", + "direct_error": "initdb could not change permissions on /var/lib/postgresql/data: Operation not permitted", + "down_residual_resources_zero": true, + "secret_files_cleaned": true, + "diagnostic_gap": "failure logs were not captured before automatic cleanup" + }, + "root_cause": "the dev stand mixed the upstream DB-test fixture image with the project-owned hardened production topology; the upstream image owns a different runtime UID and is not compatible with the Compose user contract", + "source_pack": { + "decision_anchor": "build the project-owned PostgreSQL service in the exact dev stand instead of pulling the upstream DB-test fixture", + "context7": { + "status": "PASS", + "library": "/docker/compose", + "claim": "docker compose build accepts multiple named services, and a service with both build and image is tagged with the configured image name", + "source": "https://github.com/docker/compose/blob/main/docs/reference/compose_build.md" + }, + "parallel": { + "status": "PASS", + "claims": [ + "pgvector's current Dockerfile inherits postgres:17-bookworm", + "docker compose build [SERVICE...] is the supported multi-service build path" + ], + "sources": [ + "https://github.com/pgvector/pgvector/blob/master/Dockerfile", + "https://docs.docker.com/reference/cli/docker/compose/build", + "https://github.com/docker-library/postgres/blob/master/docker-entrypoint.sh" + ] + }, + "tavily": "BLOCKED: OAuth authorization required", + "freshness": "2026-07-13", + "library_first_note": "reuse Docker Compose's native multi-service build and the existing deploy/postgres/Dockerfile; no new dependency or bespoke image orchestrator" + }, + "tdd": { + "red": [ + "run-db-suite self-test rejected the missing project PostgreSQL target", + "critical runtime guard rejected the missing project target, build provenance field, and failure-log capture" + ], + "green": [ + "PowerShell AST parse passed for all three affected runners", + "run-db-suite, run-dev-stand, and run-critical-suite self-tests passed", + "targeted critical runtime guard passed", + "full critical suite passed 203/203 with zero skip, zero malformed lines, and zero nonzero child commands on a disposable database", + "disposable critical database residue was zero" + ] + }, + "implementation": { + "production_postgres_image": "ghcr.io/thebtf/engram-postgres:main", + "compose_build_services": [ + "server", + "operator-console", + "postgres" + ], + "database_test_fixture_unchanged": "pgvector/pgvector:pg17", + "provenance": "postgres_build_completed replaces the obsolete upstream pull proof", + "failure_diagnostics": "redacted docker compose logs are captured before automatic cleanup" + }, + "status": "FIX_IMPLEMENTED_CRITICAL_PASS_EXACT_CLEAN_DEV_STAND_PENDING" +} diff --git a/.agent/specs/production-ready-release-integration-r1/evidence/DEV-STAND-VERSION-ARG.tdd.json b/.agent/specs/production-ready-release-integration-r1/evidence/DEV-STAND-VERSION-ARG.tdd.json new file mode 100644 index 00000000..40e675dd --- /dev/null +++ b/.agent/specs/production-ready-release-integration-r1/evidence/DEV-STAND-VERSION-ARG.tdd.json @@ -0,0 +1,21 @@ +{ + "schema_version": 1, + "scope": "clean exact-source dev-stand operator-console build version propagation", + "source_commit": "af77359dd58fd0d87f33f2fae74384351ca760af", + "red": { + "command": "run-dev-stand.ps1 Up -> Ready -> Scan -> Down", + "result": "FAIL_WITH_CLEANUP_PASS", + "duration_seconds": 95.093, + "failure": "operator-console target did not receive VERSION; Dockerfile canonical version guard exited 64", + "up_source_clean": true, + "down_residual_resources_zero": true, + "secret_files_cleaned": true + }, + "root_cause": "docker-compose.yml passed ENGRAM_BUILD_VERSION only to the server build, while the independent operator-console target also depends on the Go builder healthcheck stage that requires VERSION.", + "tdd": { + "red": "critical subtest rejected the missing operator-console VERSION build arg", + "green": "targeted critical subtest PASS and docker compose config resolves all three exact image targets" + }, + "implementation": "operator-console build args now pass the same canonical ENGRAM_BUILD_VERSION contract as server", + "status": "FIX_IMPLEMENTED_FULL_DEV_STAND_GREEN_PENDING" +} diff --git a/.agent/specs/production-ready-release-integration-r1/evidence/IMAGE-GATE-af77359d.json b/.agent/specs/production-ready-release-integration-r1/evidence/IMAGE-GATE-af77359d.json new file mode 100644 index 00000000..67f9fac3 --- /dev/null +++ b/.agent/specs/production-ready-release-integration-r1/evidence/IMAGE-GATE-af77359d.json @@ -0,0 +1,46 @@ +{ + "schema_version": 1, + "gate": "clean-exact-commit-image-build-scan-runtime", + "source_commit": "af77359dd58fd0d87f33f2fae74384351ca760af", + "source_tree": "4abf9ca6e45f3c96fab38ea507b961e9ad5837a4", + "started_at": "2026-07-13T06:10:09.2572032Z", + "completed_at": "2026-07-13T06:24:52.7191504Z", + "duration_seconds": 883.462, + "source_tracked_clean": true, + "build_context": "git-archive-tracked-files-only", + "native_optional_proof": { + "server_build": "840 packages; linux/x64/glibc; checked 12", + "operator_build": "840 packages; linux/x64/glibc; checked 12" + }, + "image_ids": { + "server": "sha256:44f0cb6f49732a04fed4e40f16c725f3b510f8700dd69e2208e8902d43cfb30f", + "operator_console": "sha256:d94f423954295ac5f4be4f25f349136d602d6f36c9fde56c8d10d4a452a1e6e8", + "postgres": "sha256:f64b5e6c89b0e87b72a6798a06eb1fba14b341f10b9390642e40553dd92b78ed" + }, + "high_critical_findings": { + "server": 0, + "operator_console": 0, + "postgres": 0 + }, + "runtime": { + "critical_tests": true, + "compose_all_healthy": true, + "server_liveness": true, + "server_readiness": true, + "operator_readiness": true, + "restart_recovery": true, + "postgres_recreation_retained_marker": true, + "migration_table_count": 48, + "core_schema_table_count": 6 + }, + "cleanup": { + "build_context_cleaned": true, + "secret_files_cleaned": true, + "containers": 0, + "volumes": 0, + "networks": 0 + }, + "local_scanner_version": "1.18.3", + "workflow_scanner_contract": "v1.23.1 with strict official SHA-256 verification", + "verdict": "PASS" +} diff --git a/.agent/specs/production-ready-release-integration-r1/evidence/NATIVE-OPTIONAL-DEPS.tdd.json b/.agent/specs/production-ready-release-integration-r1/evidence/NATIVE-OPTIONAL-DEPS.tdd.json new file mode 100644 index 00000000..91f25825 --- /dev/null +++ b/.agent/specs/production-ready-release-integration-r1/evidence/NATIVE-OPTIONAL-DEPS.tdd.json @@ -0,0 +1,64 @@ +{ + "schema_version": 1, + "recorded_at": "2026-07-13T05:30:18.6380046Z", + "scope": "operator-console Linux container optional-native dependency completeness", + "original_failure": { + "source_commit": "9282f324", + "npm_exit": 0, + "installed_packages": 839, + "error": "Cannot find module '../lightningcss.linux-x64-gnu.node'" + }, + "root_cause": "The Docker build treated npm success as proof of a complete platform-native tree even though npm may silently omit a failed optional native package.", + "hypotheses": { + "missing_committed_lock_entry": "REFUTED", + "wrong_platform_or_omit_optional": "REFUTED", + "advisory_guard_changed_dependency_inputs": "REFUTED", + "optional_fetch_failure_can_false-succeed": "CONFIRMED_BY_INJECTION" + }, + "rejected_repairs": [ + "an exact second npm install failed with ERR_INVALID_ARG_TYPE against the inconsistent hidden lock", + "restoring the root lock and removing the hidden lock before a second install exceeded 300 seconds", + "a Lightning-CSS-only dependency was rejected because nine native-parent families share the class" + ], + "implementation": { + "installer": "npm ci --include=optional with five bounded idempotent-fetch retries", + "verifier": "lock-driven OS/CPU/libc applicability, installed package presence, and exact version", + "policy": "fail before Nuxt; no second install; no lock mutation" + }, + "red_green": [ + { + "case": "target-only unreachable locked tarball", + "result": "EXPECTED_FAIL", + "detail": "npm exit 0 and 839 packages followed by verifier error: lightningcss-linux-x64-gnu missing, expected 1.32.0" + }, + { + "case": "clean pinned Node 22/npm 10.9.8 Linux/glibc install", + "result": "PASS", + "detail": "840 packages; checked 12 applicable optional-native packages" + }, + { + "case": "hostile verifier self-test", + "result": "PASS", + "detail": "missing, version, OS-only/CPU-only constraints, CPU exclusion, x64/ARM libc, and cleanup cases" + }, + { + "case": "full critical runner with disposable PostgreSQL 17", + "result": "PASS", + "detail": "201/201, zero skips, zero non-zero child commands, portable evidence, zero DB-container residue" + } + ], + "external_sources": [ + "https://github.com/npm/cli/issues/4828", + "https://github.com/npm/cli/issues/8320", + "https://github.com/npm/cli/pull/8184", + "https://github.com/parcel-bundler/lightningcss/issues/567", + "https://docs.npmjs.com/cli/v10/using-npm/config", + "https://nodejs.org/docs/latest-v22.x/api/report.html" + ], + "source_routes": { + "context7": "PASS", + "parallel": "PASS", + "tavily": "BLOCKED: OAuth authorization required" + }, + "verdict": "SOURCE_AND_CRITICAL_ACCEPTED_EXACT_COMMIT_IMAGE_GATE_PENDING" +} diff --git a/.agent/specs/production-ready-release-integration-r1/evidence/NUXT-UI-GHSA-gj2h-2fpw-fhv9.json b/.agent/specs/production-ready-release-integration-r1/evidence/NUXT-UI-GHSA-gj2h-2fpw-fhv9.json new file mode 100644 index 00000000..ea1d511d --- /dev/null +++ b/.agent/specs/production-ready-release-integration-r1/evidence/NUXT-UI-GHSA-gj2h-2fpw-fhv9.json @@ -0,0 +1,39 @@ +{ + "schema_version": 1, + "recorded_at": "2026-07-13T04:20:00Z", + "advisory": { + "id": "GHSA-gj2h-2fpw-fhv9", + "source": "https://github.com/advisories/GHSA-gj2h-2fpw-fhv9", + "source_route": "Parallel fetch of the official GitHub Advisory Database entry", + "severity": "moderate", + "affected_versions": "<=4.7.1", + "patched_versions": "none declared by the official advisory", + "affected_components": ["UForm", "UAuthForm"], + "exploit_precondition": "an SSR-rendered credential form is submitted before Vue hydration, causing native GET submission" + }, + "local_dependency": { + "package": "@nuxt/ui", + "locked_version": "3.3.7", + "npm_audit_severity": "moderate", + "direct_dependency": true + }, + "reachability": { + "operator_console_ssr": false, + "UForm_source_usages": 0, + "UAuthForm_source_usages": 0, + "credential_inputs": "native input elements, not Nuxt UI credential-form components", + "verdict": "NOT_REACHABLE" + }, + "regression_control": { + "test": "TestDockerReleaseRefFreshnessGuard/Nuxt_UI_credential-form_advisory_remains_unreachable", + "requires": [ + "nuxt.config.ts retains explicit ssr: false", + "package-lock retains the reviewed @nuxt/ui version until reclassification", + "operator source contains no UForm or UAuthForm usage" + ], + "hostile_fixture": "a synthetic UAuthForm Vue component is detected and rejected", + "result": "PASS" + }, + "decision": "ACCEPTED_UNREACHABLE_WITH_FAIL_CLOSED_REGRESSION_GUARD", + "upgrade_note": "The official advisory declares no patched version. A major dependency migration is not substituted for reachability proof and requires separate UI replay." +} diff --git a/.agent/specs/production-ready-release-integration-r1/evidence/RELEASE-INTEGRATION-R1.security.md b/.agent/specs/production-ready-release-integration-r1/evidence/RELEASE-INTEGRATION-R1.security.md new file mode 100644 index 00000000..16ecbe1b --- /dev/null +++ b/.agent/specs/production-ready-release-integration-r1/evidence/RELEASE-INTEGRATION-R1.security.md @@ -0,0 +1,48 @@ +# Release Integration R1 Security Review + +## Scope and classification + +This is an S4 change because it modifies production image workflows, CI-downloaded tooling, runtime credential transport, cleanup behavior, and release evidence. This review accepts only the implementation batch; it does not assert production readiness or authorize a release. The separate A17/B17 authority batch remains mandatory. + +## Assets and trust boundaries + +- Runtime PostgreSQL password, admin token, vault key, and bootstrap capability. +- Trusted GitHub Actions execution and the Docker Scout binary downloaded during a run. +- Docker bind mounts that cross from the runner host into containers. +- Critical-suite and OTLP evidence consumed by later release decisions. +- Cleanup boundaries for runner temporary directories, processes, containers, and compose resources. + +## Threat review + +| Threat | Control | Evidence | Result | +|---|---|---|---| +| Scout archive substitution | Exact v1.23.1 URL and published SHA-256; `sha256sum --check --strict` before extraction; installed binary executes `docker scout version` | Official GitHub release API reports asset size 62,062,436 and SHA-256 `0f778f9d833f28bc6cccff95e33039849c0afcecafa38d9f46fe74bfd0915714` | PASS, CI execution pending | +| Credential disclosure in compose environment | Parent environment carries only secret-file paths; files are bind-mounted at `/run/secrets/*`; plaintext credential variables are explicitly rejected by self-test and runtime inspection | `run-db-suite.ps1 -SelfTest` and critical static contract | PASS | +| Weak or reused credentials | Four independent 256-bit values are generated with `RandomNumberGenerator`; default, blank, missing, and reused values are rejected | dev-stand config contract and self-test hostile cases | PASS | +| Host disclosure versus non-root container readability | Compose file secrets are bind mounts and ignore uid/gid/mode remapping. Unix roots are 0700 while files are 0644, so other host users cannot traverse the private root but UID 70/65532 can read the read-only in-container mount. Windows roots/files use protected owner + LocalSystem ACLs. | Official Docker Compose services reference; shared `compose-secret-access.ps1`; direct Windows owner/System ACL assertion and UID 65532 container read probe PASS | PASS | +| Unsafe recursive cleanup | Cleanup resolves an absolute path, requires the OS temp-root boundary and exact Engram-owned prefix before recursive removal | image and dev-stand cleanup functions | PASS | +| Partial secret initialization bypasses cleanup | The temporary root is registered immediately after creation; the outer `finally` selects the completed or pending root and verifies deletion | `PendingImageSecretRoot` and `PendingDevStandSecretRoot` are required by the critical static contract | PASS | +| False residue evidence | OTLP verification snapshots processes and Docker containers before and after the test and fails on newly created residue | live OTLP run: all 13 required tests pass, zero new process/container residue | PASS | +| Host topology disclosure or non-portable proof | Critical command records store executable leaf names, repository-relative paths, and `working_directory: "."` | critical runner self-test | PASS | +| Secrets accidentally committed in changed lines | gitleaks 8.30.0 scans added diff lines plus untracked/ignored batch artifacts with full redaction | 149,061 UTF-8 bytes scanned from batch base; no leaks found | PASS | +| Critical isolation test silently skipped or pointed at production | The test rejects missing, production, or staging DSNs; acceptance uses a disposable localhost-only PostgreSQL 17 database explicitly named `engram_critical_test` | 199/199 passed, zero skips; the disposable DB container was removed in `finally` and residue is zero | PASS | +| GHSA-gj2h-2fpw-fhv9 credential leak through pre-hydration GET | Official advisory requires SSR markup from `UForm`/`UAuthForm`; the console is explicitly `ssr: false` and has no affected component usage. A critical guard pins the reviewed lock state, scans source, and rejects a hostile UAuthForm fixture. | Official GitHub advisory via Parallel; `NUXT-UI-GHSA-gj2h-2fpw-fhv9.json`; targeted critical test PASS | NOT REACHABLE, FAIL-CLOSED | +| Silent omission of runtime-required native optional package | Immutable install explicitly includes optionals and has bounded idempotent-fetch retries; a lock-driven OS/CPU/libc verifier requires every applicable package and exact locked version before Nuxt | injected 839-package tree fails with the exact missing identity; clean Linux/glibc tree installs 840 and checks 12; hostile verifier self-test PASS | PASS, FAIL-CLOSED | +| Legacy plaintext or conflicting duplicate credentials coexist with `_FILE` variables | Runtime `docker inspect` proof requires exactly one expected `_FILE`/redacted entry and rejects duplicate values plus `POSTGRES_PASSWORD`, `DATABASE_DSN`, `ENGRAM_AUTH_ADMIN_TOKEN`, `ENGRAM_ENCRYPTION_KEY`, or `ENGRAM_VAULT_KEY` | `run-db-suite.ps1 -SelfTest` hostile mixed and duplicate environment cases | PASS, FAIL-CLOSED | +| False OTLP residue caused by a fixed cleanup delay or PID reuse | A bounded 5-second polling loop repeatedly measures process/container residue, keys processes by PID + start time, and records attempts/timeout status; absence of Docker still fails closed because evidence claims `container_residue_checked=true` | live OTLP smoke: 13/13, one poll, no timeout, zero process/container residue | PASS | + +## External-source basis + +- Docker Scout release asset metadata: +- Docker Scout installation documentation: +- GitHub Actions security guidance: +- Nuxt UI advisory: +- Context7 and Parallel were used to consult current official documentation. Tavily remains unavailable because its MCP route requires OAuth authorization; no claim was filled from model memory in its place. +- Native dependency basis: , , , and . +- Compose secret bind semantics: . + +## Residual risk and verdict + +The local network did not complete the 62 MB Scout asset download within two command timeouts, so a local byte-for-byte hash is not claimed. The official release API metadata is recorded, and both workflows fail closed on the exact digest before installation. The full critical suite passed against a disposable dedicated test database with 203/203 tests, zero skips, portable evidence, and zero database-container residue. The clean af77359d image gate built and scanned three exact IDs with zero high/critical findings and passed runtime/restart/recreate/persistence plus cleanup. The image gate reports one direct moderate npm advisory; it is accepted only as demonstrably unreachable under the explicit SPA/no-UForm guard above, not silently waived. Dev-stand found a missing operator-console VERSION build arg, cleaned up fully, and the fix still requires an exact-commit lifecycle rerun; the successor CI workflow also remains required. + +Verdict: **IMPLEMENTATION REVIEW PASS; RUNTIME/CI RELEASE VERDICT PENDING.** diff --git a/.agent/specs/production-ready-release-integration-r1/evidence/RELEASE-INTEGRATION-R1.tdd.json b/.agent/specs/production-ready-release-integration-r1/evidence/RELEASE-INTEGRATION-R1.tdd.json new file mode 100644 index 00000000..55fe17af --- /dev/null +++ b/.agent/specs/production-ready-release-integration-r1/evidence/RELEASE-INTEGRATION-R1.tdd.json @@ -0,0 +1,188 @@ +{ + "schema_version": 1, + "recorded_at": "2026-07-13T05:59:32.0685193Z", + "base_commit": "888708b3f20d0b520021cfcc4ae095ea5ddd2b81", + "scope": "release integration: Docker Scout provisioning, file-backed dev-stand/image credentials, portable critical evidence, measured OTLP residue, and fail-closed optional-native build completeness", + "red": [ + { + "command": "go test -tags=critical ./tests/critical/runtime -run TestDockerReleaseRefFreshnessGuard -count=1", + "result": "FAIL", + "observation": "both Docker workflows lacked a pinned Docker Scout installation contract" + }, + { + "command": "./scripts/production-gates/run-critical-suite.ps1 -SelfTest", + "result": "FAIL", + "observation": "command evidence lacked an explicit repository-relative working_directory" + }, + { + "command": "go test -tags=critical ./tests/critical/runtime -run TestDockerReleaseRefFreshnessGuard -count=1", + "result": "FAIL", + "observation": "the new secret-file lifecycle contract detected missing Unix permission hardening" + }, + { + "command": "./scripts/production-gates/run-critical-suite.ps1 -RunId sol-synthesis-20260713-observability-r2", + "result": "FAIL", + "observation": "196/197 passed; the isolation test failed closed because DATABASE_DSN did not identify a dedicated test database" + }, + { + "command": "./scripts/production-gates/assert-go-test-json.ps1 -SelfTest", + "result": "FAIL", + "observation": "the hostile portability assertion detected that the nested parser summary exposed an absolute host input_path" + }, + { + "command": "clean exact-head build-and-scan-images.ps1 on 9282f324", + "result": "FAIL", + "observation": "npm ci exited zero after 839 packages, then Nuxt failed because lightningcss-linux-x64-gnu was absent" + }, + { + "command": "target-only unavailable tarball injection with the committed lock", + "result": "FAIL_AS_EXPECTED", + "observation": "npm reproduced its false-success 839-package tree and the new verifier named the exact missing locked package before Nuxt" + }, + { + "command": "go test -tags=critical ./tests/critical/runtime -run TestDockerReleaseRefFreshnessGuard -count=1 after independent-review tests", + "result": "FAIL", + "observation": "the new contract rejected the missing cross-platform Compose secret access control" + }, + { + "command": "run-db-suite.ps1 -SelfTest with a mixed _FILE plus legacy plaintext environment fixture", + "result": "FAIL", + "observation": "the runtime proof accepted DATABASE_DSN alongside DATABASE_DSN_FILE" + }, + { + "command": "run-db-suite.ps1 -SelfTest with conflicting duplicate DATABASE_DSN_FILE entries", + "result": "FAIL", + "observation": "the alleged exact runtime proof accepted both the expected and hostile duplicate value" + }, + { + "command": "run-dev-stand.ps1 on clean af77359d", + "result": "FAIL_WITH_CLEANUP_PASS", + "observation": "operator-console independent Compose build omitted VERSION and failed the Dockerfile canonical version guard with exit 64" + } + ], + "green": [ + { + "command": "go test -tags=critical ./tests/critical/runtime -run TestDockerReleaseRefFreshnessGuard -count=1", + "result": "PASS", + "detail": "39.581s" + }, + { + "command": "./scripts/production-gates/run-critical-suite.ps1 -SelfTest", + "result": "PASS" + }, + { + "command": "./scripts/production-gates/run-db-suite.ps1 -SelfTest", + "result": "PASS" + }, + { + "command": "./scripts/production-gates/run-dev-stand.ps1 -SelfTest", + "result": "PASS" + }, + { + "command": "./scripts/production-smoke/verify-otlp.ps1 -ArtifactRoot .agent/tmp/otlp-verify-r1", + "result": "PASS", + "detail": "13 required tests, zero newly created process residue, zero newly created container residue" + }, + { + "command": "go test ./...", + "result": "PASS" + }, + { + "command": "run-critical-suite.ps1 with a disposable localhost-only PostgreSQL 17 database named engram_critical_test", + "result": "PASS", + "detail": "199 tests, 199 passed, 0 failed, 0 skipped, 0 unexpected skips; two child command records use only repository-relative paths; disposable database container residue is zero" + }, + { + "command": "./scripts/production-gates/assert-go-test-json.ps1 -SelfTest", + "result": "PASS", + "detail": "nested summary paths are repository-relative or external leaf-only; regenerated 199-test evidence contains no absolute Windows paths" + }, + { + "command": "PowerShell AST parse of five changed scripts", + "result": "PASS" + }, + { + "command": "git diff --check", + "result": "PASS" + }, + { + "command": "git diff --unified=0 added lines | gitleaks stdin --redact=100", + "result": "PASS", + "detail": "final cumulative rerun scanned 149,061 UTF-8 bytes since the batch base, including untracked and ignored evidence; no leaks found" + }, + { + "command": "go test -tags=critical ./tests/critical/runtime -run TestDockerReleaseRefFreshnessGuard/Nuxt_UI_credential-form_advisory_remains_unreachable -count=1 -v", + "result": "PASS", + "detail": "reviewed @nuxt/ui 3.3.7 remains SPA-only, UForm/UAuthForm usage is absent, and a hostile UAuthForm fixture is rejected" + }, + { + "command": "node apps/operator-console/scripts/verify-native-optional-deps.mjs --self-test", + "result": "PASS", + "detail": "hostile missing/version/platform/arch/OS-only/CPU-only/x64-libc/ARM-libc cases pass" + }, + { + "command": "clean pinned Node 22/npm 10.9.8 Linux install plus verify-native-optional-deps.mjs", + "result": "PASS", + "detail": "840 packages installed; platform=linux arch=x64 libc=glibc checked=12" + }, + { + "command": "run-critical-suite.ps1 with a disposable localhost-only PostgreSQL 17 database after native guard and parser fix", + "result": "PASS", + "detail": "201 tests, 201 passed, 0 failed, 0 skipped, 0 unexpected skips; no absolute evidence paths; disposable database residue is zero" + }, + { + "command": "independent-review follow-up: targeted critical, run-db-suite self-test, run-dev-stand self-test, and verify-otlp", + "result": "PASS", + "detail": "final critical 55.841s; both self-tests pass; OTLP 13/13 with one poll, no timeout, and zero process/container residue" + }, + { + "command": "compose-secret-access direct Windows and container probe", + "result": "PASS", + "detail": "protected owner plus LocalSystem ACLs verified and UID 65532 reads the secret through a read-only bind mount" + }, + { + "command": "build-and-scan-images.ps1 on clean exact af77359d", + "result": "PASS", + "detail": "three image IDs, 0 high/critical, native verifier checked 12 in both operator builds, all runtime/restart/recreate/persistence assertions true, 48 migrations, 6 core tables, cleanup and secret cleanup pass" + }, + { + "command": "operator-console Compose VERSION targeted regression and docker compose config", + "result": "PASS", + "detail": "the exact source SHA now reaches both server and operator-console build targets" + }, + { + "command": "full critical runner after operator-console Compose VERSION fix", + "result": "PASS", + "detail": "203 tests, 203 passed, 0 failed/skipped/unexpected skips/nonzero children; portable evidence and zero disposable database residue" + } + ], + "external_source_evidence": { + "docker_scout_release_api": { + "url": "https://api.github.com/repos/docker/scout-cli/releases/tags/v1.23.1", + "asset": "docker-scout_1.23.1_linux_amd64.tar.gz", + "size_bytes": 62062436, + "sha256": "0f778f9d833f28bc6cccff95e33039849c0afcecafa38d9f46fe74bfd0915714" + }, + "context7": "official GitHub Actions, Docker, and OpenTelemetry documentation consulted", + "parallel": "official GitHub and Docker documentation consulted", + "parallel_nuxt_ui_advisory": "official GitHub advisory GHSA-gj2h-2fpw-fhv9 consulted; affected <=4.7.1, patched versions none, exploit requires SSR UForm/UAuthForm credential markup", + "context7_native_build": "official npm Arborist and Node 22 diagnostic-report documentation consulted for optional failure behavior and libc detection", + "parallel_native_build": "official npm/cli issues 4828 and 8320, merged PR 8184, npm config documentation, and lightningcss issue 567 consulted", + "docker_compose_secret_bind": "official Docker Compose services reference confirms file-backed secrets use bind mounts and silently ignore uid/gid/mode remapping", + "tavily": "BLOCKED: OAuth authorization required" + }, + "incomplete_checks": [ + { + "check": "local full download and byte-for-byte hash of the 62 MB Scout release archive", + "status": "INCOMPLETE", + "reason": "two network transfers exceeded command timeouts and produced partial files", + "fail_closed_runtime_control": "both workflows validate the complete archive with sha256sum --check --strict before extraction" + }, + { + "check": "clean-source dev-stand runtime gate after operator-console VERSION fix", + "status": "PENDING_FIX_COMMIT", + "reason": "the clean af77359d image gate passed; dev-stand found and cleaned up a missing operator-console build arg, now fixed and awaiting exact-commit rerun" + } + ], + "verdict": "EXACT_IMAGE_GATE_GREEN_DEV_STAND_FIX_RERUN_PENDING" +} diff --git a/.agent/specs/release-gates-r10/evidence/plan-governance/authority-snapshot.json b/.agent/specs/release-gates-r10/evidence/plan-governance/authority-snapshot.json new file mode 100644 index 00000000..e789094b --- /dev/null +++ b/.agent/specs/release-gates-r10/evidence/plan-governance/authority-snapshot.json @@ -0,0 +1,52 @@ +{ + "schema_version": 1, + "captured_at": "2026-07-11T02:50:24.9271186+03:00", + "base": "f11a77cce88f013839e22662458a3318670445e9", + "base_parent": "8cb810095b2bea77ab9812832d9ab8a99c928d18", + "base_tree": "f710b36b0155162d47ccc0956c29227daa74306f", + "r9": { + "plan_governance_a": "8cb810095b2bea77ab9812832d9ab8a99c928d18", + "release_gates_b": "f11a77cce88f013839e22662458a3318670445e9", + "checker": "0354362c427d99eb2993e5acddeb9d5bcd561df7", + "checker_parent": "f11a77cce88f013839e22662458a3318670445e9", + "checker_tree": "4e1c048577975c47e27e97cc5cc4dfe85a91dd81", + "verdict": "REVISE", + "high_findings": 2, + "medium_findings": 1, + "disposition": "preserve A and B as rejected history" + }, + "security_project_identity_r4": { + "maker": "320f1d806729085f56e91b505b738444408639e1", + "checker": "3aa11399b2c7fa8f2188f35f68c110b1c33a1ef4", + "checker_verdict": "ACCEPT", + "path_count": 5, + "paths_sha256_lf": "ff2385aa04e726c653db0c70a525f3e3957bc91e6bda1e6526fdd63afe5b5b7d", + "integration": "PENDING" + }, + "db_test_pool_hygiene": { + "r2": "68242c48aaad62ec087166eeb9ea32f14d189450", + "r2_checker": "a7b2d36b3f0a4514b51dddf341877f5b4b9721d9", + "r2_checker_verdict": "REVISE_4_HIGH", + "r3": "331b5b195a967e7f27dca94038a3480c9afcc84f", + "r3_parent": "68242c48aaad62ec087166eeb9ea32f14d189450", + "r3_tree": "12674bf76404a0e021a22d3dc7aa4d5ed3763ee0", + "r3_state": "IMMUTABLE_PENDING_CHECKER_AND_ROOT_ACCEPTANCE", + "r3_maker_verification": "PASS_GIT_REVISION_ADVERSARIAL_12_OF_12_DIFF_CHECK_GITLEAKS", + "r3_non_report_paths_from_product_base": 0 + }, + "db_embedding_evidence_transport_r6": { + "candidate": "a1a3bfeb6546d1f3f24192b1c9f057402b6249a2", + "parent": "a538f6224ef31f612152470a4ecd45e78ff9d0f2", + "tree": "f723f22cd8c740b6efb52e169b0875ccc8274a9c", + "checker": "PENDING" + }, + "release_blockers": { + "db_repeat3": "FAIL_0_OF_3", + "image_high_or_critical": { + "server": 5, + "postgres": 20, + "operator": 13 + } + }, + "demolition_exclusions_preserved": true +} diff --git a/.agent/specs/release-gates-r10/evidence/plan-governance/external-enforcement-snapshot.json b/.agent/specs/release-gates-r10/evidence/plan-governance/external-enforcement-snapshot.json new file mode 100644 index 00000000..45cbe04c --- /dev/null +++ b/.agent/specs/release-gates-r10/evidence/plan-governance/external-enforcement-snapshot.json @@ -0,0 +1,31 @@ +{ + "schema_version": 1, + "captured_at": "2026-07-11T02:50:24.9271186+03:00", + "source": "GitHub REST API and gh repo view", + "repository": "thebtf/engram", + "owner_login": "thebtf", + "owner_type": "User", + "visibility": "PUBLIC", + "default_branch": "main", + "ruleset": { + "id": 13610955, + "name": "main", + "target": "branch", + "enforcement": "active", + "rules": [ + "deletion", + "non_fast_forward" + ], + "required_status_checks_present": false + }, + "authority_guard_status_enforced": false, + "classification": "PENDING_POST_BOOTSTRAP_TRANSITION", + "bootstrap_proof_plan": [ + "independently accept and integrate the exact R10 A/B chain onto main", + "observe one successful authority-guard status on an ordinary authorized pull request", + "amend ruleset 13610955 to require that exact status without weakening existing rules", + "capture before and after ruleset JSON", + "prove an ordinary authorized pull request remains eligible", + "prove a protected-path pull request is blocked by the required status" + ] +} diff --git a/.agent/specs/release-gates-r10/evidence/plan-governance/path-envelope.json b/.agent/specs/release-gates-r10/evidence/plan-governance/path-envelope.json new file mode 100644 index 00000000..d24c43f2 --- /dev/null +++ b/.agent/specs/release-gates-r10/evidence/plan-governance/path-envelope.json @@ -0,0 +1,38 @@ +{ + "schema_version": 1, + "branch": "work/prc-release-gates-revision10-maker", + "required_base": "f11a77cce88f013839e22662458a3318670445e9", + "forbidden_base": "0354362c427d99eb2993e5acddeb9d5bcd561df7", + "commit_a10": { + "role": "governance", + "required_parent": "f11a77cce88f013839e22662458a3318670445e9", + "paths": [ + ".agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json", + ".agent/plans/2026-07-10-engram-production-ready-master-plan.md", + ".agent/plans/2026-07-10-engram-production-ready-ownership-state.json", + ".agent/plans/2026-07-10-engram-production-ready-scope-map.json", + ".agent/reports/2026-07-11-release-gates-r10-plan-governance.md", + ".agent/specs/release-gates-r10/evidence/plan-governance/authority-snapshot.json", + ".agent/specs/release-gates-r10/evidence/plan-governance/external-enforcement-snapshot.json", + ".agent/specs/release-gates-r10/evidence/plan-governance/path-envelope.json" + ] + }, + "commit_b10": { + "role": "implementation", + "required_parent": "COMMIT_A10", + "paths": [ + ".agent/reports/2026-07-11-release-gates-r10-maker.md", + ".agent/specs/release-gates-r10/evidence/release-gates/R10-AUTHORITY-GUARD.red.json", + ".agent/specs/release-gates-r10/evidence/release-gates/authority-guard-simulation.json", + ".agent/specs/release-gates-r10/evidence/release-gates/security-review.md", + ".agent/specs/release-gates-r10/evidence/release-gates/strict-schema-regressions.json", + ".agent/specs/release-gates-r10/evidence/release-gates/test-r10-authority-guard.ps1", + ".agent/specs/release-gates-r10/evidence/release-gates/verification-summary.json", + ".agent/specs/release-gates-r10/evidence/release-gates/workflow-conformance.json", + ".github/workflows/authority-guard.yml", + ".github/workflows/test.yml", + "scripts/production-gates/assert-active-candidate-path-authority.ps1", + "scripts/production-gates/assert-pr-authority-guard.ps1" + ] + } +} diff --git a/.agent/specs/release-gates-r12/evidence/plan-governance/R12-PLAN-GOVERNANCE.red.json b/.agent/specs/release-gates-r12/evidence/plan-governance/R12-PLAN-GOVERNANCE.red.json new file mode 100644 index 00000000..63d4af80 --- /dev/null +++ b/.agent/specs/release-gates-r12/evidence/plan-governance/R12-PLAN-GOVERNANCE.red.json @@ -0,0 +1,24 @@ +{ + "schema_version": 1, + "suite": "R12 plan-governance TDD RED", + "observed_at": "2026-07-11T10:48:00.1215092Z", + "base_head": "887b7c6144a09829a1a3f43ff5a19d3fb27fb7c1", + "branch": "work/prc-release-gates-r12-authority-db-isolation", + "command": "pwsh -NoProfile -File .agent/specs/release-gates-r12/evidence/plan-governance/test-r12-plan-governance.ps1", + "exit_code": 64, + "expected": "non-zero before the R12 governance validator exists", + "observed": "The R12 governance validator script does not exist", + "first_missing_fixture": ".agent/specs/release-gates-r12/evidence/plan-governance/test-r12-plan-governance.ps1", + "verdict": "RED_CONFIRMED", + "r15_closed_world_regression": { + "observed_at": "2026-07-12T23:06:25.4740727+00:00", + "candidate": "cf85a59894150bdb122067c7bb2c421b3929f1e6", + "command": "pwsh -NoProfile -File .agent/reviews/release-gates-r14-fresh-checker/hostile-probes.ps1 -Output $env:TEMP/engram-a15-red-hostile-probes.json", + "total_cases": 65, + "expectations_met": 54, + "false_green_count": 11, + "invariant": "every release-authority field, nested object, array cardinality/order, and source binding must be validated as one closed-world contract", + "failure_reason": "partial authority validation accepted 11 invalid sibling contracts", + "verdict": "RED_CONFIRMED" + } +} diff --git a/.agent/specs/release-gates-r12/evidence/plan-governance/authority-snapshot.json b/.agent/specs/release-gates-r12/evidence/plan-governance/authority-snapshot.json new file mode 100644 index 00000000..a806b5dc --- /dev/null +++ b/.agent/specs/release-gates-r12/evidence/plan-governance/authority-snapshot.json @@ -0,0 +1,48 @@ +{ + "schema_version": 1, + "captured_at": "2026-07-11T10:48:00.1215092Z", + "a11": { + "head": "887b7c6144a09829a1a3f43ff5a19d3fb27fb7c1", + "parent": "af1ed63536829916e0477be719a30a57a8d9227a", + "tree": "ebb997b9e208bc2d59c519845b99eb622928c2d6", + "verdict": "REJECT_HOLD_FIXED_POINT", + "plan_sha256": "19239d00613b08ade0881c9564d69c001e83b5b054164a913aff0e480c796622", + "state_sha256": "d32137b41c43319653a670edd94d27b0363efd8c6af34ec983b937acf9283db7", + "scope_sha256": "eeb3fd436f87dc6b3f74c2fc7bfd623096f3d0881b20eca6f055563d47f15398", + "active_sha256": "97ab676b8e0ed1845b693c4eef62c37fde21ef8b5a80971e2b93c0eba63cedde" + }, + "b11": { + "commit": null, + "state": "PARKED_UNCOMMITTED_DRAFT", + "acceptance_eligible": false + }, + "external_db_base": { + "head": "fef455bcf640f849c2d40c9bc26a459b5593e10a", + "object_type": "commit", + "role": "implementation base only; not imported into A12 ancestry" + }, + "macro_diagnostic": { + "path": ".agent/specs/release-gates-r12/evidence/plan-governance/challenge-report.json", + "sha256": "645bfc6817fe0f723df11398ee048bb1cfac004264cfa045d444289c51681e06", + "artifact_candidate": "69b4b871911a84f82ba5050d4d567bdac39a8767", + "verdict": "DIAGNOSTIC_FREEZE_MACRO_BATCHING_FEASIBLE", + "source_candidate": "fef455bcf640f849c2d40c9bc26a459b5593e10a" + }, + "document_r3_successor": { + "rejected_r2_head": "efe1ab5041c514f1a7d9ee8b36e07e5150cfc8e0", + "rejected_r2_tree": "ffcf9a32762c23257fdceebc647d181496a0b7a2", + "checker": "f3bba8815c97cf2000e46fdb2fbe1414d61a6264", + "checker_verdict": "REVISE_1_HIGH_NON_ATOMIC_REMOVE", + "checker_report_sha256": "94843cabaf3a25b207ba6dd83bd975eff64e9861f4d4cf6d4dc0de002ace938b", + "root_post_review_sha256": "3566074d1d94acb62781d1623a1786c5641412547d647876022f9ca8848ec4fc", + "branch": "work/prc-public-contracts-r3-atomic-remove", + "immutable_head": "9ea95b6adc3a838a459bf78e3ba7a0292153960f", + "immutable_tree": "c15a731de8ca8acac09bce8b209e2a27dd6303cb", + "checker_state": "PENDING_FRESH", + "exact_path_count": 6, + "scope_slot_replaced_without_cardinality_change": true, + "contract": "atomic active=true update, RowsAffected outcome, one concurrent success, one stable not-found, retained body, zero probe residue" + }, + "github_live_mutation": false, + "foreign_write": false +} diff --git a/.agent/specs/release-gates-r12/evidence/plan-governance/boundary.json b/.agent/specs/release-gates-r12/evidence/plan-governance/boundary.json new file mode 100644 index 00000000..2ff9c21e --- /dev/null +++ b/.agent/specs/release-gates-r12/evidence/plan-governance/boundary.json @@ -0,0 +1,21 @@ +{ + "schema_version": 1, + "repo_root": "D:/Dev/engram", + "worktree_path": "D:/Dev/engram/.agent/worktrees/release-gates-r15-closed-world-authority", + "branch": "work/prc-release-gates-r15-closed-world-authority", + "required_parent": "887b7c6144a09829a1a3f43ff5a19d3fb27fb7c1", + "work_mode": "worktree-required", + "foreign_repo_policy": "no foreign repository writes", + "github_mutation_authorized": false, + "r11_draft_policy": "preserve parked dirty draft; do not commit, merge, clean, or use as acceptance evidence", + "successor_base": "cf85a59894150bdb122067c7bb2c421b3929f1e6", + "successor_purpose": "R15 replaces recurring partial authority checks with one immutable-source-bound closed-world schema validator without expanding the 15-path parent envelope", + "allowed_paths_source": ".agent/specs/release-gates-r12/evidence/plan-governance/path-envelope.json", + "forbidden": [ + "primary checkout edits", + "R11 B11 draft commit", + "live ruleset mutation", + "tag or release mutation", + "DB product implementation in the governance worktree" + ] +} diff --git a/.agent/specs/release-gates-r12/evidence/plan-governance/challenge-report.json b/.agent/specs/release-gates-r12/evidence/plan-governance/challenge-report.json new file mode 100644 index 00000000..8c9ec39e --- /dev/null +++ b/.agent/specs/release-gates-r12/evidence/plan-governance/challenge-report.json @@ -0,0 +1,108 @@ +{ + "schema_version": 1, + "skill": "nvmd-platform:challenging-plans", + "skill_source": "installed nvmd-platform 2.86.1; injected 2.85.3 path was absent", + "verdict": "GO", + "scope_mode": "HOLD_SCOPE", + "premise": "Replace the operationally unsatisfiable R11 authority-maintenance contract and atomically refresh the same four governance files for the already-authorized shared DB batch.", + "approaches": [ + { + "id": "A", + "name": "self-reference-free committed transition", + "class": "minimal viable", + "risk": "medium", + "summary": "Keep base-declared one-use epochs and committed successor data, exclude only the manifest container from committed blob inventory, and bind the actual head/container in the trusted execution artifact.", + "decision": "RECOMMENDED" + }, + { + "id": "B", + "name": "external signed review manifest", + "class": "ideal external architecture", + "risk": "high", + "summary": "Move exact-head approval to an external review or signed payload.", + "decision": "REJECTED_FOR_R12", + "reason": "Adds mutable external-state dependency and would violate the boundary that no external mutable payload is sole authority." + }, + { + "id": "C", + "name": "split R12 and DB governance commits", + "class": "serialization alternative", + "risk": "medium", + "summary": "Amend the four global files twice in sequential governance commits.", + "decision": "REJECTED_FOR_R12", + "reason": "Creates avoidable overlapping ownership and delays the shared DB batch without improving the trust model." + } + ], + "findings": [ + { + "classification": "actionable", + "severity": "fatal", + "finding": "A11 requires a committed manifest to bind its own blob and commit SHA.", + "disposition": "Reject A11, park B11 uncommitted, define R12 self-reference-free binding." + }, + { + "classification": "actionable", + "severity": "high", + "finding": "Current DB-GOVERNANCE and DB-RULES-ISOLATION plan rows are stale relative to external base fef455bc and the discovered claim/migration/literal-LIKE isolation defects.", + "disposition": "Replace their exact scopes and route both disjoint slices through one shared long-batch branch/base." + }, + { + "classification": "actionable", + "severity": "high", + "finding": "DOCUMENT R2 performs GetDocument and DeactivateDocument as a split decision; the update ignores active state and RowsAffected, so concurrent callers can both report success.", + "disposition": "Replace the existing DOCUMENT slot with R3 from exact rejected R2 maker efe1ab50. Authorize only the minimal atomic store transition, handler outcome mapping, and existing contract/critical regression paths; keep cardinality 69." + }, + { + "classification": "trade-off", + "severity": "medium", + "finding": "The shared DB branch carries two logical owners.", + "disposition": "Keep exact non-overlapping path sets, assign rule_governance_store_test.go only to DB-GOVERNANCE, and require maker-distinct checker judgment." + }, + { + "classification": "noise", + "severity": "none", + "finding": "The external DB base is a merge commit rather than an ancestor of A11.", + "disposition": "It is a declared implementation base only; R12 governance remains a direct child of A11 and does not import external product bytes." + } + ], + "verified_live_facts": { + "a11_head": "887b7c6144a09829a1a3f43ff5a19d3fb27fb7c1", + "external_db_base": "fef455bcf640f849c2d40c9bc26a459b5593e10a", + "external_db_base_type": "commit", + "scope_slice_count_before": 69, + "scope_register_row_count_before": 69, + "sql_like_helper_exists_at_external_base": false, + "issue_store_has_unescaped_target_and_source_like": true, + "versioned_document_store_has_unescaped_path_prefix_like": true, + "memory_store_contains_existing_escape_helper_to_move": true, + "migration_144_through_147_exist": true, + "macro_diagnostic_sha256": "34bcdf4d7a708b22a1e33a6e174206cc32e83aeb09c7b6f191ee7b5b6f90f061", + "document_r2_rejected_head": "efe1ab5041c514f1a7d9ee8b36e07e5150cfc8e0", + "document_r2_checker": "f3bba8815c97cf2000e46fdb2fbe1414d61a6264", + "document_r2_checker_verdict": "REVISE_1_HIGH_NON_ATOMIC_REMOVE", + "document_r3_replaces_existing_scope_slot": true, + "document_r3_immutable_head": "9ea95b6adc3a838a459bf78e3ba7a0292153960f", + "document_r3_immutable_tree": "c15a731de8ca8acac09bce8b209e2a27dd6303cb", + "document_r3_exact_path_count": 6, + "document_r3_checker_state": "PENDING_FRESH", + "scope_slice_count_after_document_r3_amendment": 69 + }, + "macro_rechallenge": { + "verdict": "GO", + "recommended_approach": "metadata overlay preserving all 69 per-slice identities, owners, scopes and acceptance while adding macro branch, dependency, role and collision ledgers", + "rejected_alternatives": [ + "collapse 43 slices into four replacement slices because it changes cardinality and loses acceptance ownership", + "prose-only grouping because it cannot prove branch consistency or collision serialization" + ], + "load_bearing_clarification": "DB-AUTH in MB2 and IMAGE-REMEDIATION-R2 in MB3 are accepted/frozen predecessor imports, not duplicate product writers. Their existing accepted path authority remains intact." + }, + "a13_checker_rework": { + "source_checker_head": "8304ebd815652d2095b8894d8c33312995a0d0be", + "source_candidate": "3c7286ea155ed94fb42aa5225580edb320886fbc", + "source_verdict": "REVISE", + "disposition": "Close all four HIGH findings as one authority-validation batch; preserve the fixed-point architecture, exact 15-path parent envelope, v5 demolition boundary, and expected 12-error legacy transition class.", + "finding_ids": ["A12-001", "A12-002", "A12-003", "A12-004"], + "scope_expansion": false, + "external_mutation": false + } +} diff --git a/.agent/specs/release-gates-r12/evidence/plan-governance/fixed-point-proof.json b/.agent/specs/release-gates-r12/evidence/plan-governance/fixed-point-proof.json new file mode 100644 index 00000000..7c2581d7 --- /dev/null +++ b/.agent/specs/release-gates-r12/evidence/plan-governance/fixed-point-proof.json @@ -0,0 +1,70 @@ +{ + "schema_version": 1, + "finding_id": "R11-COMMITTED-MANIFEST-SELF-REFERENCE", + "verdict": "REJECT_A11_HOLD_B11", + "classification": "cryptographic fixed-point contract gap", + "rejected_governance_head": "887b7c6144a09829a1a3f43ff5a19d3fb27fb7c1", + "rejected_active_contract_sha256": "97ab676b8e0ed1845b693c4eef62c37fde21ef8b5a80971e2b93c0eba63cedde", + "container_path": ".agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json", + "evidence": [ + { + "source": ".agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json", + "fact": "control_plane_maintenance.transition_manifest is committed inside the protected manifest container and requires head_sha plus protected_head_blobs" + }, + { + "source": ".agent/specs/release-gates-r11/evidence/plan-governance/maintenance-contract.json", + "fact": "manifest_bindings requires head_sha and every protected head blob" + }, + { + "source": ".agent/plans/2026-07-10-engram-production-ready-master-plan.md", + "fact": "criterion 16 requires every protected head blob to be bound by the committed R11 amendment manifest" + } + ], + "fixed_point": { + "blob_cycle": "The manifest container content would contain its own exact Git blob id. Replacing the placeholder changes the content and therefore changes that blob id again.", + "commit_cycle": "The manifest container content would contain exact head_sha. The container blob changes the tree, and the tree changes the commit SHA that the content attempts to embed.", + "required_operation": "Construct a simultaneous SHA-1 fixed point/preimage for Git blob and commit object encodings.", + "git_support": "Git has no placeholder, detached-field, or post-commit amendment mechanism that preserves either object id.", + "conclusion": "No auditable ordinary Git workflow can construct the required head. Treating a guessed or stale id as exact would be a false green." + }, + "r12_resolution": { + "committed_manifest_binds": [ + "event_base_sha", + "owner approval epoch", + "successor epoch", + "exact literal status/path set", + "current validator blobs", + "successor validator blobs", + "every protected head blob except the manifest container" + ], + "trusted_execution_artifact_binds": [ + "actual event head SHA", + "actual manifest-container Git blob", + "canonical manifest SHA-256", + "trusted-base validator Git blob", + "required-status producer tuple" + ], + "external_mutable_payload_is_sole_authority": false + }, + "b11_draft": { + "worktree": "D:/Dev/engram/.agent/worktrees/release-gates-r11-control-plane", + "head": "887b7c6144a09829a1a3f43ff5a19d3fb27fb7c1", + "branch": null, + "state": "PARKED_UNCOMMITTED_IMPLEMENTATION_DRAFT", + "tracked_diff_sha256": "58cd1d3e4c001f225b3a2594abe61fcb2fad30ff54bf383ec58ad4d94d8fa734", + "tracked_diff_lines": 1105, + "visible_changed_paths": [ + ".github/workflows/authority-guard.yml", + ".github/workflows/test.yml", + "scripts/production-gates/assert-active-candidate-path-authority.ps1", + "scripts/production-gates/assert-pr-authority-guard.ps1", + "scripts/production-gates/assert-pr-authority-maintenance.ps1" + ], + "ignored_draft_evidence": [ + ".agent/specs/release-gates-r11/evidence/release-gates/R11-AUTHORITY-MAINTENANCE.red.json", + ".agent/specs/release-gates-r11/evidence/release-gates/prove-it.json", + ".agent/specs/release-gates-r11/evidence/release-gates/test-r11-authority-maintenance.ps1" + ], + "commit_authorized": false + } +} diff --git a/.agent/specs/release-gates-r12/evidence/plan-governance/gates-summary.json b/.agent/specs/release-gates-r12/evidence/plan-governance/gates-summary.json new file mode 100644 index 00000000..be3f06f1 --- /dev/null +++ b/.agent/specs/release-gates-r12/evidence/plan-governance/gates-summary.json @@ -0,0 +1,57 @@ +{ + "schema_version": 1, + "verdict": "PASS_R15_CLOSED_WORLD_AUTHORITY_READY_FOR_FRESH_CHECKER", + "successor_base": "cf85a59894150bdb122067c7bb2c421b3929f1e6", + "required_parent": "887b7c6144a09829a1a3f43ff5a19d3fb27fb7c1", + "gates": { + "r12_plan_governance_with_r15_closed_world_selftest": "PASS", + "independent_checker_hostile_matrix_65_cases": "PASS_65_OF_65_ZERO_FALSE_GREEN", + "generative_missing_unknown_scalar_array_permutation_selftest": "PASS", + "raw_duplicate_and_case_alias_json_rejection": "PASS", + "prove_it_strict_authority_schema_return_true": "PASS_FAILED_AS_REQUIRED_UNKNOWN_MANIFEST_ALIAS", + "fixed_point_lf_crlf_canonical_equivalence": "PASS", + "fresh_windows_autocrlf_checkout": "PASS", + "nested_json_type_rejection": "PASS", + "epoch_approval_time_lifecycle_rejection": "PASS", + "all_macro_and_collision_source_bindings": "PASS_IMMUTABLE_PARENT_BLOB", + "active_candidate_authority_selftest": "PASS", + "plan_path_ownership_selftest": "PASS", + "json_parse": "PASS", + "diff_check": "PASS", + "go_build_all": "PASS", + "go_vet_all": "PASS" + }, + "external_source_refresh": { + "convert_from_json_duplicate_behavior": "https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/convertfrom-json?view=powershell-7.5", + "finding": "ConvertFrom-Json keeps only the last duplicate key, so duplicate rejection must occur before object conversion" + }, + "canonical_sha256": { + "master_plan": "5103adaced04e624f2e1fc9d5d69e7efdccb23830aecfac9010b2b66b484427e", + "scope_map": "832ffd41e4b70280a335ae4a3f82cc5486e0ded6b1156f186ec3d2c4bd62886d", + "ownership_state": "6233b92dbf3472c44b42af105e2b503b398e40f91008e90f97caa816f8a98c12", + "active_contracts": "6665a80d30c2b45319b8c8adce05430c6f6e3913ded92313c4ebbb381f11c9f6" + }, + "fixed_point_proof_sha256": "bb5826b71a6d4fc5b30894825423b001a399c88b1a0b263e36552a7ee828ee4b", + "legacy_ledger_red": { + "verdict": "FAIL_EXPECTED", + "error_count": 12, + "only_failure_class": "current validator does not support explicit replacement transition_kind", + "closure_owner": "B12 scripts/production-gates/assert-plan-path-ownership.ps1", + "artifact_sha256": "8f93bf32b048aabd37eb2eff7294d1cb8ee7d73bb6f6e16b8100524c9144e632" + }, + "document_r3": { + "head": "9ea95b6adc3a838a459bf78e3ba7a0292153960f", + "tree": "c15a731de8ca8acac09bce8b209e2a27dd6303cb", + "exact_path_count": 6, + "checker_state": "PENDING_FRESH", + "release_accepted": false + }, + "scope": { + "rows": 69, + "unique_slices": 69, + "macro_grouped_rows": 43, + "macro_batches": 4 + }, + "github_mutation": false, + "product_implementation_in_a12": false +} diff --git a/.agent/specs/release-gates-r12/evidence/plan-governance/ledger.json b/.agent/specs/release-gates-r12/evidence/plan-governance/ledger.json new file mode 100644 index 00000000..79ea18af --- /dev/null +++ b/.agent/specs/release-gates-r12/evidence/plan-governance/ledger.json @@ -0,0 +1,5437 @@ +{ + "schema_version": 2, + "gate": "plan-path-ownership", + "mode": "Ledger", + "verdict": "FAIL", + "started_at": "2026-07-11T23:52:30.5519025+00:00", + "finished_at": "2026-07-11T23:52:35.5684832+00:00", + "duration_seconds": 5.017, + "plan": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\release-gates-r12-authority-db-isolation\\.agent\\plans\\2026-07-10-engram-production-ready-master-plan.md", + "expected_sha256": "5103adaced04e624f2e1fc9d5d69e7efdccb23830aecfac9010b2b66b484427e", + "observed_sha256": "5103adaced04e624f2e1fc9d5d69e7efdccb23830aecfac9010b2b66b484427e", + "hash_match": true + }, + "state": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\release-gates-r12-authority-db-isolation\\.agent\\plans\\2026-07-10-engram-production-ready-ownership-state.json", + "sha256": "6233b92dbf3472c44b42af105e2b503b398e40f91008e90f97caa816f8a98c12", + "verdict": "FAIL", + "plan_sha256": "5103adaced04e624f2e1fc9d5d69e7efdccb23830aecfac9010b2b66b484427e" + }, + "scope_map": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\release-gates-r12-authority-db-isolation\\.agent\\plans\\2026-07-10-engram-production-ready-scope-map.json", + "expected_sha256": "832ffd41e4b70280a335ae4a3f82cc5486e0ded6b1156f186ec3d2c4bd62886d", + "observed_sha256": "832ffd41e4b70280a335ae4a3f82cc5486e0ded6b1156f186ec3d2c4bd62886d", + "verdict": "PASS", + "entries": 69, + "unique_slices": 69 + }, + "live_register": { + "supplied": false, + "path": "", + "sha256": null, + "checked": false, + "rows": 0 + }, + "counts": { + "maker_slices": 60, + "declarations": 396, + "exact_paths": 369, + "prefixes": 27, + "repeated_exact_paths": 45, + "prefix_intersections": 0, + "undeclared_prefix_intersections": 0, + "declared_epochs": 67, + "state_epochs": 67, + "errors": 12 + }, + "slices": [ + { + "slice": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision10-maker", + "paths": [ + ".agent/plans/2026-07-10-engram-production-ready-master-plan.md", + ".agent/plans/2026-07-10-engram-production-ready-ownership-state.json", + ".agent/plans/2026-07-10-engram-production-ready-scope-map.json", + ".agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json", + ".agent/specs/release-gates-r10/evidence/plan-governance/authority-snapshot.json", + ".agent/specs/release-gates-r10/evidence/plan-governance/external-enforcement-snapshot.json", + ".agent/specs/release-gates-r10/evidence/plan-governance/path-envelope.json", + ".agent/reports/2026-07-11-release-gates-r10-plan-governance.md" + ], + "line": 6 + }, + { + "slice": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "paths": [ + "internal/bulkops/facade.go", + "internal/bulkops/facade_test.go", + "internal/bulkops/rollback.go", + "internal/bulkops/rollback_test.go", + "internal/db/gorm/candidate_store.go", + "internal/db/gorm/candidate_store_test.go", + "internal/mcp/tools_bulkops.go", + "internal/mcp/tools_dryrun_test.go", + "pkg/models/snapshot.go", + ".agent/reports/2026-07-10-db-bulkops-capture-lock-rework-maker.md", + ".agent/reports/2026-07-10-db-bulkops-sibling-rework-maker.md", + ".agent/specs/production-ready-db-bulkops/evidence/**", + ".agent/reports/evidence/production-ready/db-bulkops-sibling-rework/**" + ], + "line": 7 + }, + { + "slice": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "paths": [ + "internal/db/gorm/candidate_store.go", + "internal/db/gorm/candidate_store_test.go", + "internal/mcp/tools_bulkops.go", + "internal/mcp/tools_dryrun_test.go", + ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker.md", + ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker-3.md", + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ], + "line": 8 + }, + { + "slice": "DB-TEST-POOL-HYGIENE", + "branch": "work/prc-db-test-pool-hygiene-evidence-r3", + "paths": [ + "internal/db/gorm/candidate_store_test.go", + ".agent/reports/2026-07-10-db-test-pool-hygiene-maker.md", + ".agent/reports/2026-07-10-db-test-pool-hygiene-evidence-revision-maker.md", + ".agent/reports/2026-07-11-db-test-pool-hygiene-evidence-revision3-maker.md", + ".agent/reports/evidence/production-ready/db-test-pool-hygiene/**" + ], + "line": 9 + }, + { + "slice": "DB-GOVERNANCE", + "branch": "work/prc-data-integrity-macro-batch", + "paths": [ + "internal/db/gorm/rule_governance_store.go", + "internal/db/gorm/rule_arbiter_store_test.go", + "internal/db/gorm/rule_governance_store_test.go", + "internal/db/gorm/rule_governance_rg3_store_test.go" + ], + "line": 10 + }, + { + "slice": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "paths": [ + "internal/reviewpacket/candidate.go", + "internal/reviewpacket/candidate_test.go", + "internal/db/gorm/candidate_store.go", + "internal/db/gorm/candidate_store_test.go", + "internal/db/gorm/snapshot_store.go", + "internal/db/gorm/snapshot_store_test.go", + "internal/bulkops/rollback_test.go", + "tests/critical/candidate_review/candidate_review_snapshot_rollback_test.go" + ], + "line": 11 + }, + { + "slice": "INGEST-DOC-SNAPSHOT-DEMOLITION", + "branch": "work/prc-ingest-doc-snapshot-demolition", + "paths": [ + "internal/bulkops/facade.go", + "internal/bulkops/facade_test.go", + "pkg/models/snapshot.go", + "pkg/models/snapshot_test.go", + "internal/mcp/ingest_snapshot_contract_test.go" + ], + "line": 13 + }, + { + "slice": "DB-AUTH", + "branch": "work/prc-db-auth", + "paths": [ + "internal/db/gorm/user_store.go", + "internal/db/gorm/user_store_test.go", + "internal/worker/auth_handlers.go", + "internal/worker/auth_handlers_lifecycle_test.go", + ".agent/reports/db-auth-rework-maker-2026-07-10.md" + ], + "line": 14 + }, + { + "slice": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "paths": [ + "internal/config/config.go", + "internal/config/config_test.go", + "internal/config/envnames.go", + "internal/db/gorm/user_store.go", + "internal/worker/middleware.go", + "internal/worker/middleware_test.go", + "internal/worker/auth_handlers.go", + "internal/worker/auth_bootstrap_limiter.go", + "internal/worker/auth_bootstrap_limiter_test.go", + "internal/worker/auth_bootstrap_security_test.go", + "internal/worker/service.go", + "tests/critical/auth_bootstrap/first_admin_bootstrap_test.go", + "scripts/production-smoke/customer/run-auth-bootstrap-adversary.ps1" + ], + "line": 15 + }, + { + "slice": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "paths": [ + "internal/db/gorm/domain_owner_store.go", + "internal/db/gorm/domain_owner_store_test.go", + "internal/db/gorm/user_store.go", + "internal/worker/auth_handlers.go", + "internal/worker/auth_audit_durability_test.go", + "internal/bulkops/facade.go", + "internal/bulkops/audit_durability_test.go", + "scripts/production-smoke/customer/run-durable-audit-faults.ps1" + ], + "line": 16 + }, + { + "slice": "DB-CRYSTALLIZATION", + "branch": "work/prc-db-crystallization", + "paths": [ + "internal/worker/handlers_hooks_crystallization_integration_test.go" + ], + "line": 17 + }, + { + "slice": "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS", + "branch": "work/prc-crystallization-dream-cycle-correctness", + "paths": [ + "internal/worker/dream_cycle.go", + "internal/worker/dream_cycle_test.go", + ".agent/reports/2026-07-10-crystallization-dream-cycle-correctness-maker.md", + ".agent/e/cdc/**" + ], + "line": 18 + }, + { + "slice": "DB-EMBEDDING-STATS", + "branch": "work/prc-db-embedding-stats", + "paths": [ + "internal/embedding/store.go", + "internal/embedding/store_stats_test.go", + ".agent/reports/2026-07-10-db-embedding-stats-maker.md", + ".agent/reports/evidence/production-ready/db-embedding-stats/**", + ".agent/specs/db-embedding-stats/evidence/**" + ], + "line": 19 + }, + { + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/**", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/**", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/**", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/**", + ".agent/specs/db-embedding-stats-evidence-transport/evidence/**" + ], + "line": 20 + }, + { + "slice": "DB-REAPER", + "branch": "work/prc-db-reaper-shutdown-r4", + "paths": [ + "internal/worker/reaper/reaper.go", + "internal/worker/reaper/reaper_test.go" + ], + "line": 21 + }, + { + "slice": "SECURITY-TOOLCHAIN", + "branch": "work/prc-security-toolchain", + "paths": [ + "go.mod", + "go.sum", + "Dockerfile" + ], + "line": 22 + }, + { + "slice": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision10-maker", + "paths": [ + ".github/workflows/authority-guard.yml", + ".github/workflows/test.yml", + "scripts/production-gates/assert-active-candidate-path-authority.ps1", + "scripts/production-gates/assert-pr-authority-guard.ps1", + ".agent/specs/release-gates-r10/evidence/release-gates/test-r10-authority-guard.ps1", + ".agent/specs/release-gates-r10/evidence/release-gates/R10-AUTHORITY-GUARD.red.json", + ".agent/specs/release-gates-r10/evidence/release-gates/authority-guard-simulation.json", + ".agent/specs/release-gates-r10/evidence/release-gates/strict-schema-regressions.json", + ".agent/specs/release-gates-r10/evidence/release-gates/workflow-conformance.json", + ".agent/specs/release-gates-r10/evidence/release-gates/verification-summary.json", + ".agent/specs/release-gates-r10/evidence/release-gates/security-review.md", + ".agent/reports/2026-07-11-release-gates-r10-maker.md" + ], + "line": 23 + }, + { + "slice": "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12", + "branch": "work/prc-release-gates-r12-authority-db-isolation", + "paths": [ + ".agent/plans/2026-07-10-engram-production-ready-master-plan.md", + ".agent/plans/2026-07-10-engram-production-ready-ownership-state.json", + ".agent/plans/2026-07-10-engram-production-ready-scope-map.json", + ".agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json", + ".agent/specs/release-gates-r12/evidence/plan-governance/**", + ".agent/reports/2026-07-11-release-gates-r12-plan-governance.md", + ".github/workflows/authority-guard.yml", + ".github/workflows/test.yml", + "scripts/production-gates/assert-active-candidate-path-authority.ps1", + "scripts/production-gates/assert-pr-authority-guard.ps1", + "scripts/production-gates/assert-pr-authority-maintenance.ps1", + ".agent/specs/release-gates-r12/evidence/release-gates/**", + ".agent/reports/2026-07-11-release-gates-r12-maker.md" + ], + "line": 24 + }, + { + "slice": "IMAGE-REMEDIATION-R2", + "branch": "work/prc-image-remediation-r2-immutable-publish", + "paths": [ + ".dockerignore", + "Dockerfile", + "cmd/engram-healthcheck/main.go", + "cmd/engram-healthcheck/main_test.go", + "deploy/postgres/Dockerfile", + "docker-compose.yml", + "deploy/docker-compose.runtime.yml", + "docs/DEPLOYMENT.md", + "docs/PRODUCTION-TESTING-PLAYBOOK.md", + ".github/workflows/docker.yaml", + ".github/workflows/docker-publish.yml", + "scripts/production-gates/build-and-scan-images.ps1", + "tests/critical/runtime/image_runtime_contract_test.go", + "tests/critical/runtime/postgres_image_contract_test.go", + ".agent/reports/evidence/production-ready/image-remediation-r2/**", + ".agent/reports/2026-07-11-image-remediation-r2-maker.md", + ".agent/reports/2026-07-11-image-remediation-r2-security.md" + ], + "line": 26 + }, + { + "slice": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "paths": [ + "internal/db/gorm/project_store.go", + "internal/db/gorm/project_identity_v2_test.go", + "internal/grpcserver/project_identity_v2_test.go", + "internal/proxy/identity.go", + "internal/proxy/identity_test.go", + "internal/proxy/identity_process_test.go", + "plugin/engram/hooks/lib.js", + "plugin/engram/hooks/project-identity-v2.test.js", + "plugin/openclaw-engram/src/identity.ts", + "plugin/openclaw-engram/test/project-identity-v2.test.mjs", + ".agent/specs/security-project-identity/evidence/**", + ".agent/reports/evidence/production-ready/security-project-identity/**" + ], + "line": 27 + }, + { + "slice": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "paths": [ + "plugin/openclaw-engram/.gitignore", + "plugin/openclaw-engram/package.json", + "plugin/openclaw-engram/package-lock.json", + "plugin/openclaw-engram/openclaw.plugin.json", + "plugin/openclaw-engram/README.md", + ".github/workflows/plugin-publish.yml", + "docs/RELEASE-PROTOCOL.md" + ], + "line": 28 + }, + { + "slice": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "paths": [ + "internal/update/update.go", + "internal/update/update_test.go", + "internal/worker/handlers_update.go", + "internal/worker/handlers_update_test.go", + "scripts/install.sh", + "scripts/install.ps1", + ".goreleaser.yaml", + ".github/workflows/release.yaml", + "plugin/engram/hooks/hook-cli.test.js" + ], + "line": 29 + }, + { + "slice": "DOCUMENT-INGEST-PUBLIC-TRUTH", + "branch": "work/prc-public-contracts-long-batch", + "paths": [ + "internal/mcp/server.go", + "internal/mcp/public_tool_descriptions_test.go", + ".agent/reports/evidence/production-ready/document-ingest-public-truth/**", + ".agent/reports/2026-07-11-document-ingest-public-truth-maker.md" + ], + "line": 31 + }, + { + "slice": "DOCUMENT-INGEST-PUBLIC-TRUTH-R2", + "branch": "work/prc-public-contracts-r2-long-batch", + "paths": [ + ".agent/reports/2026-07-11-document-ingest-public-truth-r2-maker.md", + ".agent/reports/evidence/production-ready/document-ingest-public-truth-r2/**", + "internal/db/gorm/document_store.go", + "internal/db/gorm/models.go", + "internal/mcp/document_public_truth_contract_test.go", + "internal/mcp/public_tool_descriptions_test.go", + "internal/mcp/server.go", + "internal/mcp/tools_documents.go", + "tests/critical/document_public_truth_test.go" + ], + "line": 32 + }, + { + "slice": "DOCUMENT-INGEST-PUBLIC-TRUTH-R3", + "branch": "work/prc-public-contracts-r3-atomic-remove", + "paths": [ + ".agent/reports/evidence/production-ready/document-r3-atomic-remove-20260712-0142/summary.json", + ".agent/specs/production-ready-document-r3-atomic-remove/evidence/DOCUMENT-R3-ATOMIC-REMOVE.red.json", + ".agent/specs/production-ready-document-r3-atomic-remove/evidence/DOCUMENT-R3-ATOMIC-REMOVE.tdd.json", + "internal/db/gorm/document_store.go", + "internal/mcp/document_public_truth_contract_test.go", + "internal/mcp/tools_documents.go" + ], + "line": 33 + }, + { + "slice": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "paths": [ + "internal/mcp/coerce.go", + "internal/mcp/coerce_test.go", + "internal/mcp/tools_candidates.go", + "internal/mcp/tools_candidates_test.go", + "internal/mcp/tools_memory.go", + "internal/mcp/tools_memory_edit_test.go", + "internal/mcp/tools_memory_significance.go", + "internal/mcp/tools_memory_significance_test.go", + "internal/mcp/tools_store_consolidated.go", + "internal/mcp/tools_settings.go", + "internal/mcp/tools_settings_test.go", + "internal/mcp/tools_documents_v2.go", + "internal/mcp/tools_rule_governance.go", + "internal/mcp/tools_rule_governance_test.go", + "internal/mcp/structured_input_validation_test.go" + ], + "line": 35 + }, + { + "slice": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "paths": [ + "internal/redaction/layer.go", + "internal/redaction/layer_test.go", + "internal/redaction/rejection_test.go", + "internal/mcp/redaction_guard.go", + "internal/mcp/redaction_guard_test.go", + "internal/mcp/tools_memory.go", + "internal/mcp/tools_rules.go", + "internal/mcp/tools_memory_redaction_audit_test.go", + "internal/mcp/tools_rules_redaction_audit_test.go", + "internal/worker/service.go", + "internal/worker/service_redaction_test.go", + "docs/operating-engram.md", + ".agent/reports/evidence/production-ready/redaction-live-contract/**" + ], + "line": 36 + }, + { + "slice": "RETRIEVAL-VECTOR-CONTRACT", + "branch": "work/prc-retrieval-vector-contract", + "paths": [ + "internal/retrieval/hybrid_integration_test.go" + ], + "line": 38 + }, + { + "slice": "STATIC-EMBED-CONTRACT", + "branch": "work/prc-static-embed-contract", + "paths": [ + "internal/worker/static_embed_test.go" + ], + "line": 39 + }, + { + "slice": "PRE-V5-UPGRADE-CONTRACT", + "branch": "work/prc-pre-v5-upgrade-contract", + "paths": [ + "internal/db/gorm/migrations_integration_test.go", + "internal/grpcserver/credential_migration_test.go", + "tests/fixtures/pre-v5/**", + "tests/critical/recovery/pre_v5_upgrade_test.go", + "scripts/production-smoke/customer/run-pre-v5-upgrade.ps1" + ], + "line": 40 + }, + { + "slice": "T007-COMPAT-DEMOLITION-CLASSIFICATION", + "branch": "work/prc-t007-compat-classification", + "paths": [ + "internal/mcp/store_memory_compat_t007_test.go" + ], + "line": 41 + }, + { + "slice": "DB-RULES-ISOLATION", + "branch": "work/prc-data-integrity-macro-batch", + "paths": [ + "internal/db/gorm/sql_like.go", + "internal/db/gorm/sql_like_test.go", + "internal/db/gorm/memory_store.go", + "internal/db/gorm/issue_store.go", + "internal/db/gorm/issue_store_project_match_test.go", + "internal/db/gorm/versioned_document_store.go", + "internal/db/gorm/versioned_document_store_test.go", + "internal/grpcserver/session_start_test.go", + "tests/critical/project_and_document_isolation_test.go", + ".agent/reports/2026-07-11-sql-like-literal-selector-cause-closure.md", + ".agent/reports/2026-07-11-db-governance-project-isolation-r2-long-batch-maker.md", + ".agent/reports/evidence/production-ready/db-governance-project-isolation-r2/**" + ], + "line": 42 + }, + { + "slice": "COVERAGE-CMD-ENGRAM", + "branch": "work/prc-coverage-cmd-engram", + "paths": [ + "cmd/engram/production_readiness_coverage_test.go" + ], + "line": 43 + }, + { + "slice": "COVERAGE-CMD-SERVER", + "branch": "work/prc-coverage-cmd-server", + "paths": [ + "cmd/engram-server/production_readiness_coverage_test.go" + ], + "line": 44 + }, + { + "slice": "COVERAGE-UPDATE", + "branch": "work/prc-coverage-update", + "paths": [ + "internal/update/production_readiness_coverage_test.go" + ], + "line": 45 + }, + { + "slice": "COVERAGE-WORKER", + "branch": "work/prc-coverage-worker", + "paths": [ + "internal/worker/production_readiness_coverage_test.go" + ], + "line": 47 + }, + { + "slice": "COVERAGE-MCP", + "branch": "work/prc-coverage-mcp", + "paths": [ + "internal/mcp/production_readiness_coverage_test.go" + ], + "line": 48 + }, + { + "slice": "COVERAGE-GORM", + "branch": "work/prc-coverage-gorm", + "paths": [ + "internal/db/gorm/production_readiness_coverage_test.go" + ], + "line": 49 + }, + { + "slice": "COVERAGE-LOOM", + "branch": "work/prc-coverage-loom", + "paths": [ + "internal/handlers/loom/production_readiness_coverage_test.go" + ], + "line": 50 + }, + { + "slice": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "paths": [ + "docker-compose.yml", + "deploy/docker-compose.runtime.yml", + "deploy/docker-compose.operator-web-standalone.yml", + "deploy/entrypoint-server.sh", + "deploy/healthcheck-server.sh", + "deploy/verify-rollback.ps1", + "deploy/verify-runtime-policy.ps1" + ], + "line": 51 + }, + { + "slice": "RECOVERY-DATA", + "branch": "work/prc-recovery-data", + "paths": [ + "scripts/recovery/start-disposable-postgres.ps1", + "scripts/recovery/verify-postgres-roundtrip.ps1", + "scripts/recovery/seed-recovery-fixture.ps1", + "scripts/recovery/assert-recovery-fixture.ps1", + "tests/critical/recovery/postgres_roundtrip_test.go" + ], + "line": 52 + }, + { + "slice": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "paths": [ + "internal/module/obs/logging.go", + "internal/module/obs/logging_test.go", + "internal/module/obs/meter.go", + "internal/module/obs/meter_test.go", + "internal/module/obs/metrics.go", + "internal/module/obs/metrics_test.go", + "cmd/engram-server/main.go", + "cmd/engram-server/main_test.go", + "scripts/production-smoke/verify-otlp.ps1" + ], + "line": 53 + }, + { + "slice": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "paths": [ + "internal/scope/domain_policy.go", + "internal/scope/domain_policy_test.go", + "internal/scope/filter.go", + "internal/scope/filter_test.go", + "internal/scope/filter_principal_test.go", + "internal/scope/filter_w4_test.go", + "internal/principalmemory/access_policy.go", + "internal/principalmemory/access_policy_test.go", + "internal/principalmemory/domain_registry.go", + "internal/principalmemory/domain_registry_test.go", + "internal/principalmemory/query_service.go", + "internal/principalmemory/query_service_test.go", + "internal/mcp/tools_principal_memory.go", + "internal/mcp/tools_principal_memory_test.go", + "internal/mcp/tools_recall_principal_test.go", + "internal/mcp/recall_visibility_backfill_test.go", + "internal/mcp/store_memory_principal_test.go", + "internal/worker/handlers_principal_memory.go", + "internal/worker/handlers_principal_memory_test.go", + "internal/worker/scope_bypass_w4_test.go", + "internal/worker/retention.go", + "internal/worker/retention_test.go", + "internal/db/gorm/memory_store.go", + "internal/db/gorm/memory_store_principal_test.go", + "internal/db/gorm/memory_store_principal_query_test.go", + "internal/db/gorm/purge_store_test.go", + "tests/critical/data_boundaries/principal_project_retention_test.go" + ], + "line": 54 + }, + { + "slice": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "paths": [ + "tests/critical/customer_mode/customer_mode_test.go", + "tests/critical/customer_mode/compatibility_test.go", + "tests/critical/customer_mode/cross_agent_test.go", + "scripts/production-smoke/customer/run-customer-mode.ps1", + "scripts/production-smoke/customer/run-client-compatibility.ps1", + "scripts/production-smoke/customer/run-cross-agent.ps1", + "scripts/production-smoke/customer/run-diagnostic-matrix.ps1", + "scripts/production-smoke/customer/assert-product-works.ps1" + ], + "line": 55 + }, + { + "slice": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "paths": [ + "README.md", + "README.ru.md", + "README.zh.md", + "CONTRIBUTING.md", + "CHANGELOG.md", + "Makefile", + ".env.example", + "docs/DEPLOYMENT.md", + "docs/MIGRATION.md", + "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "docs/arch/CONFIGURATION.md", + "docs/arch/QUICKSTART.md", + "docs/release-notes/v6.43.0.md", + "docs/public/engram.jpg", + "plugin/engram/commands/setup.md", + "plugin/engram/commands/doctor.md" + ], + "line": 56 + }, + { + "slice": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "paths": [ + "README.md", + "README.ru.md", + "README.zh.md", + "CONTRIBUTING.md", + "CHANGELOG.md", + "Makefile", + ".env.example", + "docs/DEPLOYMENT.md", + "docs/MIGRATION.md", + "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "docs/operating-engram.md", + "docs/arch/CONFIGURATION.md", + "docs/arch/QUICKSTART.md", + "docs/public/engram.jpg", + "plugin/engram/commands/setup.md", + "plugin/engram/commands/doctor.md" + ], + "line": 57 + }, + { + "slice": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "paths": [ + "cmd/engram/main.go", + "cmd/engram/main_test.go", + "cmd/engram/wiring.go", + "cmd/engram/exec_windows.go", + "cmd/engram/exec_unix.go", + "plugin/engram/.engram-project", + "plugin/engram/scripts/run-engram.js", + "plugin/engram/scripts/run-engram.test.js", + "plugin/engram/scripts/ensure-binary.js", + "plugin/engram/scripts/ensure-binary.test.js" + ], + "line": 58 + }, + { + "slice": "OC-INTEGRATION", + "branch": "work/prc-operator-console-integration", + "paths": [ + "apps/operator-console/**" + ], + "line": 59 + }, + { + "slice": "S4B-CONTRACT", + "branch": "work/prc-s4b-contract", + "paths": [ + ".agent/specs/engram-v7-directives-surfacing/**" + ], + "line": 60 + }, + { + "slice": "V7-S4B-BACKEND", + "branch": "work/prc-v7-s4b-backend", + "paths": [ + "internal/cognitive/s4bsurfacing/**" + ], + "line": 61 + }, + { + "slice": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "paths": [ + "internal/cognitive/core/event_bus.go", + "internal/cognitive/core/event_bus_test.go", + "internal/cognitive/core/hint_queue.go", + "internal/cognitive/core/hint_queue_test.go", + "internal/cognitive/s3ambient/queue.go", + "internal/cognitive/s3ambient/subsystem.go" + ], + "line": 62 + }, + { + "slice": "V7-RUNTIME-WIRING", + "branch": "work/prc-v7-runtime-wiring", + "paths": [ + "internal/worker/service.go", + "internal/worker/service_v7_integration_test.go", + "internal/worker/handlers_stats_v7.go", + "internal/worker/handlers_stats_v7_test.go" + ], + "line": 63 + }, + { + "slice": "V7-TELEMETRY-WIRING", + "branch": "work/prc-v7-telemetry-wiring", + "paths": [ + "internal/cognitive/s5/metrics.go", + "internal/cognitive/s5/provider.go", + "internal/cognitive/s5/provider_test.go", + "internal/cognitive/s5/source_adapter.go", + "internal/cognitive/s5/source_adapter_test.go" + ], + "line": 64 + }, + { + "slice": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "paths": [ + ".agent/specs/roadmap.md", + ".agent/specs/ui-surface-ledger.md", + ".agent/specs/operator-console-production-integration/**", + ".agent/specs/engram-v7-ambient/spec.md", + ".agent/specs/engram-v7-ambient/plan.md", + ".agent/specs/engram-v7-ambient/checklists/general.md", + ".agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/change.md", + ".agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/tasks.md" + ], + "line": 65 + }, + { + "slice": "NORTHSTAR-CI-A-CONTRACTS", + "branch": "work/prc-northstar-ci-a-contracts", + "paths": [ + ".agent/specs/engram-absorption/ci-a-dense-vector/spec.md", + ".agent/specs/engram-absorption/ci-a-dense-vector/plan.md", + ".agent/specs/engram-absorption/ci-a-dense-vector/checklists/general.md", + ".agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/change.md", + ".agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/tasks.md" + ], + "line": 66 + }, + { + "slice": "NORTHSTAR-CI-B-CONTRACTS", + "branch": "work/prc-northstar-ci-b-contracts", + "paths": [ + ".agent/specs/engram-absorption/ci-b-graph-watcher-context/spec.md", + ".agent/specs/engram-absorption/ci-b-graph-watcher-context/plan.md", + ".agent/specs/engram-absorption/ci-b-graph-watcher-context/checklists/general.md", + ".agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/change.md", + ".agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/tasks.md" + ], + "line": 67 + }, + { + "slice": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "paths": [ + ".agent/specs/engram-absorption/book/prd.md", + ".agent/specs/engram-absorption/book/spec.md", + ".agent/specs/engram-absorption/book/plan.md", + ".agent/specs/engram-absorption/book/checklists/general.md", + ".agent/specs/engram-absorption/book/changes/CR-001-initial-scope/change.md", + ".agent/specs/engram-absorption/book/changes/CR-001-initial-scope/tasks.md" + ], + "line": 68 + }, + { + "slice": "NORTHSTAR-MEM-CONTRACTS", + "branch": "work/prc-northstar-mem-contracts", + "paths": [ + ".agent/specs/engram-absorption/mem-residual/spec.md", + ".agent/specs/engram-absorption/mem-residual/plan.md", + ".agent/specs/engram-absorption/mem-residual/checklists/general.md", + ".agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/change.md", + ".agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/tasks.md" + ], + "line": 69 + }, + { + "slice": "NORTHSTAR-EFFECTIVENESS-CONTRACTS", + "branch": "work/prc-northstar-effectiveness-contracts", + "paths": [ + ".agent/specs/engram-effectiveness/production-ready-residual/spec.md", + ".agent/specs/engram-effectiveness/production-ready-residual/plan.md", + ".agent/specs/engram-effectiveness/production-ready-residual/checklists/general.md", + ".agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/change.md", + ".agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/tasks.md" + ], + "line": 70 + }, + { + "slice": "NORTHSTAR-SETTINGS-CONTRACTS", + "branch": "work/prc-northstar-settings-contracts", + "paths": [ + ".agent/specs/settings-store/production-ready-residual/spec.md", + ".agent/specs/settings-store/production-ready-residual/plan.md", + ".agent/specs/settings-store/production-ready-residual/checklists/general.md", + ".agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/change.md", + ".agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/tasks.md" + ], + "line": 71 + } + ], + "declarations": [ + { + "owner": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision10-maker", + "path": ".agent/plans/2026-07-10-engram-production-ready-master-plan.md", + "display": ".agent/plans/2026-07-10-engram-production-ready-master-plan.md", + "kind": "exact", + "line": 6 + }, + { + "owner": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision10-maker", + "path": ".agent/plans/2026-07-10-engram-production-ready-ownership-state.json", + "display": ".agent/plans/2026-07-10-engram-production-ready-ownership-state.json", + "kind": "exact", + "line": 6 + }, + { + "owner": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision10-maker", + "path": ".agent/plans/2026-07-10-engram-production-ready-scope-map.json", + "display": ".agent/plans/2026-07-10-engram-production-ready-scope-map.json", + "kind": "exact", + "line": 6 + }, + { + "owner": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision10-maker", + "path": ".agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json", + "display": ".agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json", + "kind": "exact", + "line": 6 + }, + { + "owner": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision10-maker", + "path": ".agent/specs/release-gates-r10/evidence/plan-governance/authority-snapshot.json", + "display": ".agent/specs/release-gates-r10/evidence/plan-governance/authority-snapshot.json", + "kind": "exact", + "line": 6 + }, + { + "owner": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision10-maker", + "path": ".agent/specs/release-gates-r10/evidence/plan-governance/external-enforcement-snapshot.json", + "display": ".agent/specs/release-gates-r10/evidence/plan-governance/external-enforcement-snapshot.json", + "kind": "exact", + "line": 6 + }, + { + "owner": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision10-maker", + "path": ".agent/specs/release-gates-r10/evidence/plan-governance/path-envelope.json", + "display": ".agent/specs/release-gates-r10/evidence/plan-governance/path-envelope.json", + "kind": "exact", + "line": 6 + }, + { + "owner": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision10-maker", + "path": ".agent/reports/2026-07-11-release-gates-r10-plan-governance.md", + "display": ".agent/reports/2026-07-11-release-gates-r10-plan-governance.md", + "kind": "exact", + "line": 6 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/bulkops/facade.go", + "display": "internal/bulkops/facade.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/bulkops/facade_test.go", + "display": "internal/bulkops/facade_test.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/bulkops/rollback.go", + "display": "internal/bulkops/rollback.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/bulkops/rollback_test.go", + "display": "internal/bulkops/rollback_test.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/db/gorm/candidate_store.go", + "display": "internal/db/gorm/candidate_store.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/db/gorm/candidate_store_test.go", + "display": "internal/db/gorm/candidate_store_test.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/mcp/tools_bulkops.go", + "display": "internal/mcp/tools_bulkops.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/mcp/tools_dryrun_test.go", + "display": "internal/mcp/tools_dryrun_test.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "pkg/models/snapshot.go", + "display": "pkg/models/snapshot.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": ".agent/reports/2026-07-10-db-bulkops-capture-lock-rework-maker.md", + "display": ".agent/reports/2026-07-10-db-bulkops-capture-lock-rework-maker.md", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": ".agent/reports/2026-07-10-db-bulkops-sibling-rework-maker.md", + "display": ".agent/reports/2026-07-10-db-bulkops-sibling-rework-maker.md", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": ".agent/specs/production-ready-db-bulkops/evidence", + "display": ".agent/specs/production-ready-db-bulkops/evidence/**", + "kind": "prefix", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": ".agent/reports/evidence/production-ready/db-bulkops-sibling-rework", + "display": ".agent/reports/evidence/production-ready/db-bulkops-sibling-rework/**", + "kind": "prefix", + "line": 7 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": "internal/db/gorm/candidate_store.go", + "display": "internal/db/gorm/candidate_store.go", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": "internal/db/gorm/candidate_store_test.go", + "display": "internal/db/gorm/candidate_store_test.go", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": "internal/mcp/tools_bulkops.go", + "display": "internal/mcp/tools_bulkops.go", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": "internal/mcp/tools_dryrun_test.go", + "display": "internal/mcp/tools_dryrun_test.go", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker.md", + "display": ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker.md", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker-3.md", + "display": ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker-3.md", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework", + "display": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**", + "kind": "prefix", + "line": 8 + }, + { + "owner": "DB-TEST-POOL-HYGIENE", + "branch": "work/prc-db-test-pool-hygiene-evidence-r3", + "path": "internal/db/gorm/candidate_store_test.go", + "display": "internal/db/gorm/candidate_store_test.go", + "kind": "exact", + "line": 9 + }, + { + "owner": "DB-TEST-POOL-HYGIENE", + "branch": "work/prc-db-test-pool-hygiene-evidence-r3", + "path": ".agent/reports/2026-07-10-db-test-pool-hygiene-maker.md", + "display": ".agent/reports/2026-07-10-db-test-pool-hygiene-maker.md", + "kind": "exact", + "line": 9 + }, + { + "owner": "DB-TEST-POOL-HYGIENE", + "branch": "work/prc-db-test-pool-hygiene-evidence-r3", + "path": ".agent/reports/2026-07-10-db-test-pool-hygiene-evidence-revision-maker.md", + "display": ".agent/reports/2026-07-10-db-test-pool-hygiene-evidence-revision-maker.md", + "kind": "exact", + "line": 9 + }, + { + "owner": "DB-TEST-POOL-HYGIENE", + "branch": "work/prc-db-test-pool-hygiene-evidence-r3", + "path": ".agent/reports/2026-07-11-db-test-pool-hygiene-evidence-revision3-maker.md", + "display": ".agent/reports/2026-07-11-db-test-pool-hygiene-evidence-revision3-maker.md", + "kind": "exact", + "line": 9 + }, + { + "owner": "DB-TEST-POOL-HYGIENE", + "branch": "work/prc-db-test-pool-hygiene-evidence-r3", + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene", + "display": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/**", + "kind": "prefix", + "line": 9 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-data-integrity-macro-batch", + "path": "internal/db/gorm/rule_governance_store.go", + "display": "internal/db/gorm/rule_governance_store.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-data-integrity-macro-batch", + "path": "internal/db/gorm/rule_arbiter_store_test.go", + "display": "internal/db/gorm/rule_arbiter_store_test.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-data-integrity-macro-batch", + "path": "internal/db/gorm/rule_governance_store_test.go", + "display": "internal/db/gorm/rule_governance_store_test.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-data-integrity-macro-batch", + "path": "internal/db/gorm/rule_governance_rg3_store_test.go", + "display": "internal/db/gorm/rule_governance_rg3_store_test.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/reviewpacket/candidate.go", + "display": "internal/reviewpacket/candidate.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/reviewpacket/candidate_test.go", + "display": "internal/reviewpacket/candidate_test.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/db/gorm/candidate_store.go", + "display": "internal/db/gorm/candidate_store.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/db/gorm/candidate_store_test.go", + "display": "internal/db/gorm/candidate_store_test.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/db/gorm/snapshot_store.go", + "display": "internal/db/gorm/snapshot_store.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/db/gorm/snapshot_store_test.go", + "display": "internal/db/gorm/snapshot_store_test.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/bulkops/rollback_test.go", + "display": "internal/bulkops/rollback_test.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "tests/critical/candidate_review/candidate_review_snapshot_rollback_test.go", + "display": "tests/critical/candidate_review/candidate_review_snapshot_rollback_test.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "INGEST-DOC-SNAPSHOT-DEMOLITION", + "branch": "work/prc-ingest-doc-snapshot-demolition", + "path": "internal/bulkops/facade.go", + "display": "internal/bulkops/facade.go", + "kind": "exact", + "line": 13 + }, + { + "owner": "INGEST-DOC-SNAPSHOT-DEMOLITION", + "branch": "work/prc-ingest-doc-snapshot-demolition", + "path": "internal/bulkops/facade_test.go", + "display": "internal/bulkops/facade_test.go", + "kind": "exact", + "line": 13 + }, + { + "owner": "INGEST-DOC-SNAPSHOT-DEMOLITION", + "branch": "work/prc-ingest-doc-snapshot-demolition", + "path": "pkg/models/snapshot.go", + "display": "pkg/models/snapshot.go", + "kind": "exact", + "line": 13 + }, + { + "owner": "INGEST-DOC-SNAPSHOT-DEMOLITION", + "branch": "work/prc-ingest-doc-snapshot-demolition", + "path": "pkg/models/snapshot_test.go", + "display": "pkg/models/snapshot_test.go", + "kind": "exact", + "line": 13 + }, + { + "owner": "INGEST-DOC-SNAPSHOT-DEMOLITION", + "branch": "work/prc-ingest-doc-snapshot-demolition", + "path": "internal/mcp/ingest_snapshot_contract_test.go", + "display": "internal/mcp/ingest_snapshot_contract_test.go", + "kind": "exact", + "line": 13 + }, + { + "owner": "DB-AUTH", + "branch": "work/prc-db-auth", + "path": "internal/db/gorm/user_store.go", + "display": "internal/db/gorm/user_store.go", + "kind": "exact", + "line": 14 + }, + { + "owner": "DB-AUTH", + "branch": "work/prc-db-auth", + "path": "internal/db/gorm/user_store_test.go", + "display": "internal/db/gorm/user_store_test.go", + "kind": "exact", + "line": 14 + }, + { + "owner": "DB-AUTH", + "branch": "work/prc-db-auth", + "path": "internal/worker/auth_handlers.go", + "display": "internal/worker/auth_handlers.go", + "kind": "exact", + "line": 14 + }, + { + "owner": "DB-AUTH", + "branch": "work/prc-db-auth", + "path": "internal/worker/auth_handlers_lifecycle_test.go", + "display": "internal/worker/auth_handlers_lifecycle_test.go", + "kind": "exact", + "line": 14 + }, + { + "owner": "DB-AUTH", + "branch": "work/prc-db-auth", + "path": ".agent/reports/db-auth-rework-maker-2026-07-10.md", + "display": ".agent/reports/db-auth-rework-maker-2026-07-10.md", + "kind": "exact", + "line": 14 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/config/config.go", + "display": "internal/config/config.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/config/config_test.go", + "display": "internal/config/config_test.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/config/envnames.go", + "display": "internal/config/envnames.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/db/gorm/user_store.go", + "display": "internal/db/gorm/user_store.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/middleware.go", + "display": "internal/worker/middleware.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/middleware_test.go", + "display": "internal/worker/middleware_test.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/auth_handlers.go", + "display": "internal/worker/auth_handlers.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/auth_bootstrap_limiter.go", + "display": "internal/worker/auth_bootstrap_limiter.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/auth_bootstrap_limiter_test.go", + "display": "internal/worker/auth_bootstrap_limiter_test.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/auth_bootstrap_security_test.go", + "display": "internal/worker/auth_bootstrap_security_test.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/service.go", + "display": "internal/worker/service.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "tests/critical/auth_bootstrap/first_admin_bootstrap_test.go", + "display": "tests/critical/auth_bootstrap/first_admin_bootstrap_test.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "scripts/production-smoke/customer/run-auth-bootstrap-adversary.ps1", + "display": "scripts/production-smoke/customer/run-auth-bootstrap-adversary.ps1", + "kind": "exact", + "line": 15 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/db/gorm/domain_owner_store.go", + "display": "internal/db/gorm/domain_owner_store.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/db/gorm/domain_owner_store_test.go", + "display": "internal/db/gorm/domain_owner_store_test.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/db/gorm/user_store.go", + "display": "internal/db/gorm/user_store.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/worker/auth_handlers.go", + "display": "internal/worker/auth_handlers.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/worker/auth_audit_durability_test.go", + "display": "internal/worker/auth_audit_durability_test.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/bulkops/facade.go", + "display": "internal/bulkops/facade.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/bulkops/audit_durability_test.go", + "display": "internal/bulkops/audit_durability_test.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "scripts/production-smoke/customer/run-durable-audit-faults.ps1", + "display": "scripts/production-smoke/customer/run-durable-audit-faults.ps1", + "kind": "exact", + "line": 16 + }, + { + "owner": "DB-CRYSTALLIZATION", + "branch": "work/prc-db-crystallization", + "path": "internal/worker/handlers_hooks_crystallization_integration_test.go", + "display": "internal/worker/handlers_hooks_crystallization_integration_test.go", + "kind": "exact", + "line": 17 + }, + { + "owner": "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS", + "branch": "work/prc-crystallization-dream-cycle-correctness", + "path": "internal/worker/dream_cycle.go", + "display": "internal/worker/dream_cycle.go", + "kind": "exact", + "line": 18 + }, + { + "owner": "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS", + "branch": "work/prc-crystallization-dream-cycle-correctness", + "path": "internal/worker/dream_cycle_test.go", + "display": "internal/worker/dream_cycle_test.go", + "kind": "exact", + "line": 18 + }, + { + "owner": "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS", + "branch": "work/prc-crystallization-dream-cycle-correctness", + "path": ".agent/reports/2026-07-10-crystallization-dream-cycle-correctness-maker.md", + "display": ".agent/reports/2026-07-10-crystallization-dream-cycle-correctness-maker.md", + "kind": "exact", + "line": 18 + }, + { + "owner": "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS", + "branch": "work/prc-crystallization-dream-cycle-correctness", + "path": ".agent/e/cdc", + "display": ".agent/e/cdc/**", + "kind": "prefix", + "line": 18 + }, + { + "owner": "DB-EMBEDDING-STATS", + "branch": "work/prc-db-embedding-stats", + "path": "internal/embedding/store.go", + "display": "internal/embedding/store.go", + "kind": "exact", + "line": 19 + }, + { + "owner": "DB-EMBEDDING-STATS", + "branch": "work/prc-db-embedding-stats", + "path": "internal/embedding/store_stats_test.go", + "display": "internal/embedding/store_stats_test.go", + "kind": "exact", + "line": 19 + }, + { + "owner": "DB-EMBEDDING-STATS", + "branch": "work/prc-db-embedding-stats", + "path": ".agent/reports/2026-07-10-db-embedding-stats-maker.md", + "display": ".agent/reports/2026-07-10-db-embedding-stats-maker.md", + "kind": "exact", + "line": 19 + }, + { + "owner": "DB-EMBEDDING-STATS", + "branch": "work/prc-db-embedding-stats", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats/**", + "kind": "prefix", + "line": 19 + }, + { + "owner": "DB-EMBEDDING-STATS", + "branch": "work/prc-db-embedding-stats", + "path": ".agent/specs/db-embedding-stats/evidence", + "display": ".agent/specs/db-embedding-stats/evidence/**", + "kind": "prefix", + "line": 19 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "path": ".agent/specs/db-embedding-stats-evidence-transport/evidence", + "display": ".agent/specs/db-embedding-stats-evidence-transport/evidence/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-REAPER", + "branch": "work/prc-db-reaper-shutdown-r4", + "path": "internal/worker/reaper/reaper.go", + "display": "internal/worker/reaper/reaper.go", + "kind": "exact", + "line": 21 + }, + { + "owner": "DB-REAPER", + "branch": "work/prc-db-reaper-shutdown-r4", + "path": "internal/worker/reaper/reaper_test.go", + "display": "internal/worker/reaper/reaper_test.go", + "kind": "exact", + "line": 21 + }, + { + "owner": "SECURITY-TOOLCHAIN", + "branch": "work/prc-security-toolchain", + "path": "go.mod", + "display": "go.mod", + "kind": "exact", + "line": 22 + }, + { + "owner": "SECURITY-TOOLCHAIN", + "branch": "work/prc-security-toolchain", + "path": "go.sum", + "display": "go.sum", + "kind": "exact", + "line": 22 + }, + { + "owner": "SECURITY-TOOLCHAIN", + "branch": "work/prc-security-toolchain", + "path": "Dockerfile", + "display": "Dockerfile", + "kind": "exact", + "line": 22 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision10-maker", + "path": ".github/workflows/authority-guard.yml", + "display": ".github/workflows/authority-guard.yml", + "kind": "exact", + "line": 23 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision10-maker", + "path": ".github/workflows/test.yml", + "display": ".github/workflows/test.yml", + "kind": "exact", + "line": 23 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision10-maker", + "path": "scripts/production-gates/assert-active-candidate-path-authority.ps1", + "display": "scripts/production-gates/assert-active-candidate-path-authority.ps1", + "kind": "exact", + "line": 23 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision10-maker", + "path": "scripts/production-gates/assert-pr-authority-guard.ps1", + "display": "scripts/production-gates/assert-pr-authority-guard.ps1", + "kind": "exact", + "line": 23 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision10-maker", + "path": ".agent/specs/release-gates-r10/evidence/release-gates/test-r10-authority-guard.ps1", + "display": ".agent/specs/release-gates-r10/evidence/release-gates/test-r10-authority-guard.ps1", + "kind": "exact", + "line": 23 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision10-maker", + "path": ".agent/specs/release-gates-r10/evidence/release-gates/R10-AUTHORITY-GUARD.red.json", + "display": ".agent/specs/release-gates-r10/evidence/release-gates/R10-AUTHORITY-GUARD.red.json", + "kind": "exact", + "line": 23 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision10-maker", + "path": ".agent/specs/release-gates-r10/evidence/release-gates/authority-guard-simulation.json", + "display": ".agent/specs/release-gates-r10/evidence/release-gates/authority-guard-simulation.json", + "kind": "exact", + "line": 23 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision10-maker", + "path": ".agent/specs/release-gates-r10/evidence/release-gates/strict-schema-regressions.json", + "display": ".agent/specs/release-gates-r10/evidence/release-gates/strict-schema-regressions.json", + "kind": "exact", + "line": 23 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision10-maker", + "path": ".agent/specs/release-gates-r10/evidence/release-gates/workflow-conformance.json", + "display": ".agent/specs/release-gates-r10/evidence/release-gates/workflow-conformance.json", + "kind": "exact", + "line": 23 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision10-maker", + "path": ".agent/specs/release-gates-r10/evidence/release-gates/verification-summary.json", + "display": ".agent/specs/release-gates-r10/evidence/release-gates/verification-summary.json", + "kind": "exact", + "line": 23 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision10-maker", + "path": ".agent/specs/release-gates-r10/evidence/release-gates/security-review.md", + "display": ".agent/specs/release-gates-r10/evidence/release-gates/security-review.md", + "kind": "exact", + "line": 23 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision10-maker", + "path": ".agent/reports/2026-07-11-release-gates-r10-maker.md", + "display": ".agent/reports/2026-07-11-release-gates-r10-maker.md", + "kind": "exact", + "line": 23 + }, + { + "owner": "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12", + "branch": "work/prc-release-gates-r12-authority-db-isolation", + "path": ".agent/plans/2026-07-10-engram-production-ready-master-plan.md", + "display": ".agent/plans/2026-07-10-engram-production-ready-master-plan.md", + "kind": "exact", + "line": 24 + }, + { + "owner": "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12", + "branch": "work/prc-release-gates-r12-authority-db-isolation", + "path": ".agent/plans/2026-07-10-engram-production-ready-ownership-state.json", + "display": ".agent/plans/2026-07-10-engram-production-ready-ownership-state.json", + "kind": "exact", + "line": 24 + }, + { + "owner": "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12", + "branch": "work/prc-release-gates-r12-authority-db-isolation", + "path": ".agent/plans/2026-07-10-engram-production-ready-scope-map.json", + "display": ".agent/plans/2026-07-10-engram-production-ready-scope-map.json", + "kind": "exact", + "line": 24 + }, + { + "owner": "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12", + "branch": "work/prc-release-gates-r12-authority-db-isolation", + "path": ".agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json", + "display": ".agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json", + "kind": "exact", + "line": 24 + }, + { + "owner": "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12", + "branch": "work/prc-release-gates-r12-authority-db-isolation", + "path": ".agent/specs/release-gates-r12/evidence/plan-governance", + "display": ".agent/specs/release-gates-r12/evidence/plan-governance/**", + "kind": "prefix", + "line": 24 + }, + { + "owner": "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12", + "branch": "work/prc-release-gates-r12-authority-db-isolation", + "path": ".agent/reports/2026-07-11-release-gates-r12-plan-governance.md", + "display": ".agent/reports/2026-07-11-release-gates-r12-plan-governance.md", + "kind": "exact", + "line": 24 + }, + { + "owner": "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12", + "branch": "work/prc-release-gates-r12-authority-db-isolation", + "path": ".github/workflows/authority-guard.yml", + "display": ".github/workflows/authority-guard.yml", + "kind": "exact", + "line": 24 + }, + { + "owner": "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12", + "branch": "work/prc-release-gates-r12-authority-db-isolation", + "path": ".github/workflows/test.yml", + "display": ".github/workflows/test.yml", + "kind": "exact", + "line": 24 + }, + { + "owner": "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12", + "branch": "work/prc-release-gates-r12-authority-db-isolation", + "path": "scripts/production-gates/assert-active-candidate-path-authority.ps1", + "display": "scripts/production-gates/assert-active-candidate-path-authority.ps1", + "kind": "exact", + "line": 24 + }, + { + "owner": "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12", + "branch": "work/prc-release-gates-r12-authority-db-isolation", + "path": "scripts/production-gates/assert-pr-authority-guard.ps1", + "display": "scripts/production-gates/assert-pr-authority-guard.ps1", + "kind": "exact", + "line": 24 + }, + { + "owner": "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12", + "branch": "work/prc-release-gates-r12-authority-db-isolation", + "path": "scripts/production-gates/assert-pr-authority-maintenance.ps1", + "display": "scripts/production-gates/assert-pr-authority-maintenance.ps1", + "kind": "exact", + "line": 24 + }, + { + "owner": "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12", + "branch": "work/prc-release-gates-r12-authority-db-isolation", + "path": ".agent/specs/release-gates-r12/evidence/release-gates", + "display": ".agent/specs/release-gates-r12/evidence/release-gates/**", + "kind": "prefix", + "line": 24 + }, + { + "owner": "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12", + "branch": "work/prc-release-gates-r12-authority-db-isolation", + "path": ".agent/reports/2026-07-11-release-gates-r12-maker.md", + "display": ".agent/reports/2026-07-11-release-gates-r12-maker.md", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION-R2", + "branch": "work/prc-image-remediation-r2-immutable-publish", + "path": ".dockerignore", + "display": ".dockerignore", + "kind": "exact", + "line": 26 + }, + { + "owner": "IMAGE-REMEDIATION-R2", + "branch": "work/prc-image-remediation-r2-immutable-publish", + "path": "Dockerfile", + "display": "Dockerfile", + "kind": "exact", + "line": 26 + }, + { + "owner": "IMAGE-REMEDIATION-R2", + "branch": "work/prc-image-remediation-r2-immutable-publish", + "path": "cmd/engram-healthcheck/main.go", + "display": "cmd/engram-healthcheck/main.go", + "kind": "exact", + "line": 26 + }, + { + "owner": "IMAGE-REMEDIATION-R2", + "branch": "work/prc-image-remediation-r2-immutable-publish", + "path": "cmd/engram-healthcheck/main_test.go", + "display": "cmd/engram-healthcheck/main_test.go", + "kind": "exact", + "line": 26 + }, + { + "owner": "IMAGE-REMEDIATION-R2", + "branch": "work/prc-image-remediation-r2-immutable-publish", + "path": "deploy/postgres/Dockerfile", + "display": "deploy/postgres/Dockerfile", + "kind": "exact", + "line": 26 + }, + { + "owner": "IMAGE-REMEDIATION-R2", + "branch": "work/prc-image-remediation-r2-immutable-publish", + "path": "docker-compose.yml", + "display": "docker-compose.yml", + "kind": "exact", + "line": 26 + }, + { + "owner": "IMAGE-REMEDIATION-R2", + "branch": "work/prc-image-remediation-r2-immutable-publish", + "path": "deploy/docker-compose.runtime.yml", + "display": "deploy/docker-compose.runtime.yml", + "kind": "exact", + "line": 26 + }, + { + "owner": "IMAGE-REMEDIATION-R2", + "branch": "work/prc-image-remediation-r2-immutable-publish", + "path": "docs/DEPLOYMENT.md", + "display": "docs/DEPLOYMENT.md", + "kind": "exact", + "line": 26 + }, + { + "owner": "IMAGE-REMEDIATION-R2", + "branch": "work/prc-image-remediation-r2-immutable-publish", + "path": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "display": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "kind": "exact", + "line": 26 + }, + { + "owner": "IMAGE-REMEDIATION-R2", + "branch": "work/prc-image-remediation-r2-immutable-publish", + "path": ".github/workflows/docker.yaml", + "display": ".github/workflows/docker.yaml", + "kind": "exact", + "line": 26 + }, + { + "owner": "IMAGE-REMEDIATION-R2", + "branch": "work/prc-image-remediation-r2-immutable-publish", + "path": ".github/workflows/docker-publish.yml", + "display": ".github/workflows/docker-publish.yml", + "kind": "exact", + "line": 26 + }, + { + "owner": "IMAGE-REMEDIATION-R2", + "branch": "work/prc-image-remediation-r2-immutable-publish", + "path": "scripts/production-gates/build-and-scan-images.ps1", + "display": "scripts/production-gates/build-and-scan-images.ps1", + "kind": "exact", + "line": 26 + }, + { + "owner": "IMAGE-REMEDIATION-R2", + "branch": "work/prc-image-remediation-r2-immutable-publish", + "path": "tests/critical/runtime/image_runtime_contract_test.go", + "display": "tests/critical/runtime/image_runtime_contract_test.go", + "kind": "exact", + "line": 26 + }, + { + "owner": "IMAGE-REMEDIATION-R2", + "branch": "work/prc-image-remediation-r2-immutable-publish", + "path": "tests/critical/runtime/postgres_image_contract_test.go", + "display": "tests/critical/runtime/postgres_image_contract_test.go", + "kind": "exact", + "line": 26 + }, + { + "owner": "IMAGE-REMEDIATION-R2", + "branch": "work/prc-image-remediation-r2-immutable-publish", + "path": ".agent/reports/evidence/production-ready/image-remediation-r2", + "display": ".agent/reports/evidence/production-ready/image-remediation-r2/**", + "kind": "prefix", + "line": 26 + }, + { + "owner": "IMAGE-REMEDIATION-R2", + "branch": "work/prc-image-remediation-r2-immutable-publish", + "path": ".agent/reports/2026-07-11-image-remediation-r2-maker.md", + "display": ".agent/reports/2026-07-11-image-remediation-r2-maker.md", + "kind": "exact", + "line": 26 + }, + { + "owner": "IMAGE-REMEDIATION-R2", + "branch": "work/prc-image-remediation-r2-immutable-publish", + "path": ".agent/reports/2026-07-11-image-remediation-r2-security.md", + "display": ".agent/reports/2026-07-11-image-remediation-r2-security.md", + "kind": "exact", + "line": 26 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "internal/db/gorm/project_store.go", + "display": "internal/db/gorm/project_store.go", + "kind": "exact", + "line": 27 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "internal/db/gorm/project_identity_v2_test.go", + "display": "internal/db/gorm/project_identity_v2_test.go", + "kind": "exact", + "line": 27 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "internal/grpcserver/project_identity_v2_test.go", + "display": "internal/grpcserver/project_identity_v2_test.go", + "kind": "exact", + "line": 27 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "internal/proxy/identity.go", + "display": "internal/proxy/identity.go", + "kind": "exact", + "line": 27 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "internal/proxy/identity_test.go", + "display": "internal/proxy/identity_test.go", + "kind": "exact", + "line": 27 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "internal/proxy/identity_process_test.go", + "display": "internal/proxy/identity_process_test.go", + "kind": "exact", + "line": 27 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "plugin/engram/hooks/lib.js", + "display": "plugin/engram/hooks/lib.js", + "kind": "exact", + "line": 27 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "plugin/engram/hooks/project-identity-v2.test.js", + "display": "plugin/engram/hooks/project-identity-v2.test.js", + "kind": "exact", + "line": 27 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "plugin/openclaw-engram/src/identity.ts", + "display": "plugin/openclaw-engram/src/identity.ts", + "kind": "exact", + "line": 27 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "plugin/openclaw-engram/test/project-identity-v2.test.mjs", + "display": "plugin/openclaw-engram/test/project-identity-v2.test.mjs", + "kind": "exact", + "line": 27 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": ".agent/specs/security-project-identity/evidence", + "display": ".agent/specs/security-project-identity/evidence/**", + "kind": "prefix", + "line": 27 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": ".agent/reports/evidence/production-ready/security-project-identity", + "display": ".agent/reports/evidence/production-ready/security-project-identity/**", + "kind": "prefix", + "line": 27 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": "plugin/openclaw-engram/.gitignore", + "display": "plugin/openclaw-engram/.gitignore", + "kind": "exact", + "line": 28 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": "plugin/openclaw-engram/package.json", + "display": "plugin/openclaw-engram/package.json", + "kind": "exact", + "line": 28 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": "plugin/openclaw-engram/package-lock.json", + "display": "plugin/openclaw-engram/package-lock.json", + "kind": "exact", + "line": 28 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": "plugin/openclaw-engram/openclaw.plugin.json", + "display": "plugin/openclaw-engram/openclaw.plugin.json", + "kind": "exact", + "line": 28 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": "plugin/openclaw-engram/README.md", + "display": "plugin/openclaw-engram/README.md", + "kind": "exact", + "line": 28 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": ".github/workflows/plugin-publish.yml", + "display": ".github/workflows/plugin-publish.yml", + "kind": "exact", + "line": 28 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": "docs/RELEASE-PROTOCOL.md", + "display": "docs/RELEASE-PROTOCOL.md", + "kind": "exact", + "line": 28 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "internal/update/update.go", + "display": "internal/update/update.go", + "kind": "exact", + "line": 29 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "internal/update/update_test.go", + "display": "internal/update/update_test.go", + "kind": "exact", + "line": 29 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "internal/worker/handlers_update.go", + "display": "internal/worker/handlers_update.go", + "kind": "exact", + "line": 29 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "internal/worker/handlers_update_test.go", + "display": "internal/worker/handlers_update_test.go", + "kind": "exact", + "line": 29 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "scripts/install.sh", + "display": "scripts/install.sh", + "kind": "exact", + "line": 29 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "scripts/install.ps1", + "display": "scripts/install.ps1", + "kind": "exact", + "line": 29 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": ".goreleaser.yaml", + "display": ".goreleaser.yaml", + "kind": "exact", + "line": 29 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": ".github/workflows/release.yaml", + "display": ".github/workflows/release.yaml", + "kind": "exact", + "line": 29 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "plugin/engram/hooks/hook-cli.test.js", + "display": "plugin/engram/hooks/hook-cli.test.js", + "kind": "exact", + "line": 29 + }, + { + "owner": "DOCUMENT-INGEST-PUBLIC-TRUTH", + "branch": "work/prc-public-contracts-long-batch", + "path": "internal/mcp/server.go", + "display": "internal/mcp/server.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "DOCUMENT-INGEST-PUBLIC-TRUTH", + "branch": "work/prc-public-contracts-long-batch", + "path": "internal/mcp/public_tool_descriptions_test.go", + "display": "internal/mcp/public_tool_descriptions_test.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "DOCUMENT-INGEST-PUBLIC-TRUTH", + "branch": "work/prc-public-contracts-long-batch", + "path": ".agent/reports/evidence/production-ready/document-ingest-public-truth", + "display": ".agent/reports/evidence/production-ready/document-ingest-public-truth/**", + "kind": "prefix", + "line": 31 + }, + { + "owner": "DOCUMENT-INGEST-PUBLIC-TRUTH", + "branch": "work/prc-public-contracts-long-batch", + "path": ".agent/reports/2026-07-11-document-ingest-public-truth-maker.md", + "display": ".agent/reports/2026-07-11-document-ingest-public-truth-maker.md", + "kind": "exact", + "line": 31 + }, + { + "owner": "DOCUMENT-INGEST-PUBLIC-TRUTH-R2", + "branch": "work/prc-public-contracts-r2-long-batch", + "path": ".agent/reports/2026-07-11-document-ingest-public-truth-r2-maker.md", + "display": ".agent/reports/2026-07-11-document-ingest-public-truth-r2-maker.md", + "kind": "exact", + "line": 32 + }, + { + "owner": "DOCUMENT-INGEST-PUBLIC-TRUTH-R2", + "branch": "work/prc-public-contracts-r2-long-batch", + "path": ".agent/reports/evidence/production-ready/document-ingest-public-truth-r2", + "display": ".agent/reports/evidence/production-ready/document-ingest-public-truth-r2/**", + "kind": "prefix", + "line": 32 + }, + { + "owner": "DOCUMENT-INGEST-PUBLIC-TRUTH-R2", + "branch": "work/prc-public-contracts-r2-long-batch", + "path": "internal/db/gorm/document_store.go", + "display": "internal/db/gorm/document_store.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "DOCUMENT-INGEST-PUBLIC-TRUTH-R2", + "branch": "work/prc-public-contracts-r2-long-batch", + "path": "internal/db/gorm/models.go", + "display": "internal/db/gorm/models.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "DOCUMENT-INGEST-PUBLIC-TRUTH-R2", + "branch": "work/prc-public-contracts-r2-long-batch", + "path": "internal/mcp/document_public_truth_contract_test.go", + "display": "internal/mcp/document_public_truth_contract_test.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "DOCUMENT-INGEST-PUBLIC-TRUTH-R2", + "branch": "work/prc-public-contracts-r2-long-batch", + "path": "internal/mcp/public_tool_descriptions_test.go", + "display": "internal/mcp/public_tool_descriptions_test.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "DOCUMENT-INGEST-PUBLIC-TRUTH-R2", + "branch": "work/prc-public-contracts-r2-long-batch", + "path": "internal/mcp/server.go", + "display": "internal/mcp/server.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "DOCUMENT-INGEST-PUBLIC-TRUTH-R2", + "branch": "work/prc-public-contracts-r2-long-batch", + "path": "internal/mcp/tools_documents.go", + "display": "internal/mcp/tools_documents.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "DOCUMENT-INGEST-PUBLIC-TRUTH-R2", + "branch": "work/prc-public-contracts-r2-long-batch", + "path": "tests/critical/document_public_truth_test.go", + "display": "tests/critical/document_public_truth_test.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "DOCUMENT-INGEST-PUBLIC-TRUTH-R3", + "branch": "work/prc-public-contracts-r3-atomic-remove", + "path": ".agent/reports/evidence/production-ready/document-r3-atomic-remove-20260712-0142/summary.json", + "display": ".agent/reports/evidence/production-ready/document-r3-atomic-remove-20260712-0142/summary.json", + "kind": "exact", + "line": 33 + }, + { + "owner": "DOCUMENT-INGEST-PUBLIC-TRUTH-R3", + "branch": "work/prc-public-contracts-r3-atomic-remove", + "path": ".agent/specs/production-ready-document-r3-atomic-remove/evidence/DOCUMENT-R3-ATOMIC-REMOVE.red.json", + "display": ".agent/specs/production-ready-document-r3-atomic-remove/evidence/DOCUMENT-R3-ATOMIC-REMOVE.red.json", + "kind": "exact", + "line": 33 + }, + { + "owner": "DOCUMENT-INGEST-PUBLIC-TRUTH-R3", + "branch": "work/prc-public-contracts-r3-atomic-remove", + "path": ".agent/specs/production-ready-document-r3-atomic-remove/evidence/DOCUMENT-R3-ATOMIC-REMOVE.tdd.json", + "display": ".agent/specs/production-ready-document-r3-atomic-remove/evidence/DOCUMENT-R3-ATOMIC-REMOVE.tdd.json", + "kind": "exact", + "line": 33 + }, + { + "owner": "DOCUMENT-INGEST-PUBLIC-TRUTH-R3", + "branch": "work/prc-public-contracts-r3-atomic-remove", + "path": "internal/db/gorm/document_store.go", + "display": "internal/db/gorm/document_store.go", + "kind": "exact", + "line": 33 + }, + { + "owner": "DOCUMENT-INGEST-PUBLIC-TRUTH-R3", + "branch": "work/prc-public-contracts-r3-atomic-remove", + "path": "internal/mcp/document_public_truth_contract_test.go", + "display": "internal/mcp/document_public_truth_contract_test.go", + "kind": "exact", + "line": 33 + }, + { + "owner": "DOCUMENT-INGEST-PUBLIC-TRUTH-R3", + "branch": "work/prc-public-contracts-r3-atomic-remove", + "path": "internal/mcp/tools_documents.go", + "display": "internal/mcp/tools_documents.go", + "kind": "exact", + "line": 33 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/coerce.go", + "display": "internal/mcp/coerce.go", + "kind": "exact", + "line": 35 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/coerce_test.go", + "display": "internal/mcp/coerce_test.go", + "kind": "exact", + "line": 35 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_candidates.go", + "display": "internal/mcp/tools_candidates.go", + "kind": "exact", + "line": 35 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_candidates_test.go", + "display": "internal/mcp/tools_candidates_test.go", + "kind": "exact", + "line": 35 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_memory.go", + "display": "internal/mcp/tools_memory.go", + "kind": "exact", + "line": 35 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_memory_edit_test.go", + "display": "internal/mcp/tools_memory_edit_test.go", + "kind": "exact", + "line": 35 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_memory_significance.go", + "display": "internal/mcp/tools_memory_significance.go", + "kind": "exact", + "line": 35 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_memory_significance_test.go", + "display": "internal/mcp/tools_memory_significance_test.go", + "kind": "exact", + "line": 35 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_store_consolidated.go", + "display": "internal/mcp/tools_store_consolidated.go", + "kind": "exact", + "line": 35 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_settings.go", + "display": "internal/mcp/tools_settings.go", + "kind": "exact", + "line": 35 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_settings_test.go", + "display": "internal/mcp/tools_settings_test.go", + "kind": "exact", + "line": 35 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_documents_v2.go", + "display": "internal/mcp/tools_documents_v2.go", + "kind": "exact", + "line": 35 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_rule_governance.go", + "display": "internal/mcp/tools_rule_governance.go", + "kind": "exact", + "line": 35 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_rule_governance_test.go", + "display": "internal/mcp/tools_rule_governance_test.go", + "kind": "exact", + "line": 35 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/structured_input_validation_test.go", + "display": "internal/mcp/structured_input_validation_test.go", + "kind": "exact", + "line": 35 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/redaction/layer.go", + "display": "internal/redaction/layer.go", + "kind": "exact", + "line": 36 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/redaction/layer_test.go", + "display": "internal/redaction/layer_test.go", + "kind": "exact", + "line": 36 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/redaction/rejection_test.go", + "display": "internal/redaction/rejection_test.go", + "kind": "exact", + "line": 36 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/mcp/redaction_guard.go", + "display": "internal/mcp/redaction_guard.go", + "kind": "exact", + "line": 36 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/mcp/redaction_guard_test.go", + "display": "internal/mcp/redaction_guard_test.go", + "kind": "exact", + "line": 36 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/mcp/tools_memory.go", + "display": "internal/mcp/tools_memory.go", + "kind": "exact", + "line": 36 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/mcp/tools_rules.go", + "display": "internal/mcp/tools_rules.go", + "kind": "exact", + "line": 36 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/mcp/tools_memory_redaction_audit_test.go", + "display": "internal/mcp/tools_memory_redaction_audit_test.go", + "kind": "exact", + "line": 36 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/mcp/tools_rules_redaction_audit_test.go", + "display": "internal/mcp/tools_rules_redaction_audit_test.go", + "kind": "exact", + "line": 36 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/worker/service.go", + "display": "internal/worker/service.go", + "kind": "exact", + "line": 36 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/worker/service_redaction_test.go", + "display": "internal/worker/service_redaction_test.go", + "kind": "exact", + "line": 36 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "docs/operating-engram.md", + "display": "docs/operating-engram.md", + "kind": "exact", + "line": 36 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": ".agent/reports/evidence/production-ready/redaction-live-contract", + "display": ".agent/reports/evidence/production-ready/redaction-live-contract/**", + "kind": "prefix", + "line": 36 + }, + { + "owner": "RETRIEVAL-VECTOR-CONTRACT", + "branch": "work/prc-retrieval-vector-contract", + "path": "internal/retrieval/hybrid_integration_test.go", + "display": "internal/retrieval/hybrid_integration_test.go", + "kind": "exact", + "line": 38 + }, + { + "owner": "STATIC-EMBED-CONTRACT", + "branch": "work/prc-static-embed-contract", + "path": "internal/worker/static_embed_test.go", + "display": "internal/worker/static_embed_test.go", + "kind": "exact", + "line": 39 + }, + { + "owner": "PRE-V5-UPGRADE-CONTRACT", + "branch": "work/prc-pre-v5-upgrade-contract", + "path": "internal/db/gorm/migrations_integration_test.go", + "display": "internal/db/gorm/migrations_integration_test.go", + "kind": "exact", + "line": 40 + }, + { + "owner": "PRE-V5-UPGRADE-CONTRACT", + "branch": "work/prc-pre-v5-upgrade-contract", + "path": "internal/grpcserver/credential_migration_test.go", + "display": "internal/grpcserver/credential_migration_test.go", + "kind": "exact", + "line": 40 + }, + { + "owner": "PRE-V5-UPGRADE-CONTRACT", + "branch": "work/prc-pre-v5-upgrade-contract", + "path": "tests/fixtures/pre-v5", + "display": "tests/fixtures/pre-v5/**", + "kind": "prefix", + "line": 40 + }, + { + "owner": "PRE-V5-UPGRADE-CONTRACT", + "branch": "work/prc-pre-v5-upgrade-contract", + "path": "tests/critical/recovery/pre_v5_upgrade_test.go", + "display": "tests/critical/recovery/pre_v5_upgrade_test.go", + "kind": "exact", + "line": 40 + }, + { + "owner": "PRE-V5-UPGRADE-CONTRACT", + "branch": "work/prc-pre-v5-upgrade-contract", + "path": "scripts/production-smoke/customer/run-pre-v5-upgrade.ps1", + "display": "scripts/production-smoke/customer/run-pre-v5-upgrade.ps1", + "kind": "exact", + "line": 40 + }, + { + "owner": "T007-COMPAT-DEMOLITION-CLASSIFICATION", + "branch": "work/prc-t007-compat-classification", + "path": "internal/mcp/store_memory_compat_t007_test.go", + "display": "internal/mcp/store_memory_compat_t007_test.go", + "kind": "exact", + "line": 41 + }, + { + "owner": "DB-RULES-ISOLATION", + "branch": "work/prc-data-integrity-macro-batch", + "path": "internal/db/gorm/sql_like.go", + "display": "internal/db/gorm/sql_like.go", + "kind": "exact", + "line": 42 + }, + { + "owner": "DB-RULES-ISOLATION", + "branch": "work/prc-data-integrity-macro-batch", + "path": "internal/db/gorm/sql_like_test.go", + "display": "internal/db/gorm/sql_like_test.go", + "kind": "exact", + "line": 42 + }, + { + "owner": "DB-RULES-ISOLATION", + "branch": "work/prc-data-integrity-macro-batch", + "path": "internal/db/gorm/memory_store.go", + "display": "internal/db/gorm/memory_store.go", + "kind": "exact", + "line": 42 + }, + { + "owner": "DB-RULES-ISOLATION", + "branch": "work/prc-data-integrity-macro-batch", + "path": "internal/db/gorm/issue_store.go", + "display": "internal/db/gorm/issue_store.go", + "kind": "exact", + "line": 42 + }, + { + "owner": "DB-RULES-ISOLATION", + "branch": "work/prc-data-integrity-macro-batch", + "path": "internal/db/gorm/issue_store_project_match_test.go", + "display": "internal/db/gorm/issue_store_project_match_test.go", + "kind": "exact", + "line": 42 + }, + { + "owner": "DB-RULES-ISOLATION", + "branch": "work/prc-data-integrity-macro-batch", + "path": "internal/db/gorm/versioned_document_store.go", + "display": "internal/db/gorm/versioned_document_store.go", + "kind": "exact", + "line": 42 + }, + { + "owner": "DB-RULES-ISOLATION", + "branch": "work/prc-data-integrity-macro-batch", + "path": "internal/db/gorm/versioned_document_store_test.go", + "display": "internal/db/gorm/versioned_document_store_test.go", + "kind": "exact", + "line": 42 + }, + { + "owner": "DB-RULES-ISOLATION", + "branch": "work/prc-data-integrity-macro-batch", + "path": "internal/grpcserver/session_start_test.go", + "display": "internal/grpcserver/session_start_test.go", + "kind": "exact", + "line": 42 + }, + { + "owner": "DB-RULES-ISOLATION", + "branch": "work/prc-data-integrity-macro-batch", + "path": "tests/critical/project_and_document_isolation_test.go", + "display": "tests/critical/project_and_document_isolation_test.go", + "kind": "exact", + "line": 42 + }, + { + "owner": "DB-RULES-ISOLATION", + "branch": "work/prc-data-integrity-macro-batch", + "path": ".agent/reports/2026-07-11-sql-like-literal-selector-cause-closure.md", + "display": ".agent/reports/2026-07-11-sql-like-literal-selector-cause-closure.md", + "kind": "exact", + "line": 42 + }, + { + "owner": "DB-RULES-ISOLATION", + "branch": "work/prc-data-integrity-macro-batch", + "path": ".agent/reports/2026-07-11-db-governance-project-isolation-r2-long-batch-maker.md", + "display": ".agent/reports/2026-07-11-db-governance-project-isolation-r2-long-batch-maker.md", + "kind": "exact", + "line": 42 + }, + { + "owner": "DB-RULES-ISOLATION", + "branch": "work/prc-data-integrity-macro-batch", + "path": ".agent/reports/evidence/production-ready/db-governance-project-isolation-r2", + "display": ".agent/reports/evidence/production-ready/db-governance-project-isolation-r2/**", + "kind": "prefix", + "line": 42 + }, + { + "owner": "COVERAGE-CMD-ENGRAM", + "branch": "work/prc-coverage-cmd-engram", + "path": "cmd/engram/production_readiness_coverage_test.go", + "display": "cmd/engram/production_readiness_coverage_test.go", + "kind": "exact", + "line": 43 + }, + { + "owner": "COVERAGE-CMD-SERVER", + "branch": "work/prc-coverage-cmd-server", + "path": "cmd/engram-server/production_readiness_coverage_test.go", + "display": "cmd/engram-server/production_readiness_coverage_test.go", + "kind": "exact", + "line": 44 + }, + { + "owner": "COVERAGE-UPDATE", + "branch": "work/prc-coverage-update", + "path": "internal/update/production_readiness_coverage_test.go", + "display": "internal/update/production_readiness_coverage_test.go", + "kind": "exact", + "line": 45 + }, + { + "owner": "COVERAGE-WORKER", + "branch": "work/prc-coverage-worker", + "path": "internal/worker/production_readiness_coverage_test.go", + "display": "internal/worker/production_readiness_coverage_test.go", + "kind": "exact", + "line": 47 + }, + { + "owner": "COVERAGE-MCP", + "branch": "work/prc-coverage-mcp", + "path": "internal/mcp/production_readiness_coverage_test.go", + "display": "internal/mcp/production_readiness_coverage_test.go", + "kind": "exact", + "line": 48 + }, + { + "owner": "COVERAGE-GORM", + "branch": "work/prc-coverage-gorm", + "path": "internal/db/gorm/production_readiness_coverage_test.go", + "display": "internal/db/gorm/production_readiness_coverage_test.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "COVERAGE-LOOM", + "branch": "work/prc-coverage-loom", + "path": "internal/handlers/loom/production_readiness_coverage_test.go", + "display": "internal/handlers/loom/production_readiness_coverage_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "docker-compose.yml", + "display": "docker-compose.yml", + "kind": "exact", + "line": 51 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "deploy/docker-compose.runtime.yml", + "display": "deploy/docker-compose.runtime.yml", + "kind": "exact", + "line": 51 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "deploy/docker-compose.operator-web-standalone.yml", + "display": "deploy/docker-compose.operator-web-standalone.yml", + "kind": "exact", + "line": 51 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "deploy/entrypoint-server.sh", + "display": "deploy/entrypoint-server.sh", + "kind": "exact", + "line": 51 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "deploy/healthcheck-server.sh", + "display": "deploy/healthcheck-server.sh", + "kind": "exact", + "line": 51 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "deploy/verify-rollback.ps1", + "display": "deploy/verify-rollback.ps1", + "kind": "exact", + "line": 51 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "deploy/verify-runtime-policy.ps1", + "display": "deploy/verify-runtime-policy.ps1", + "kind": "exact", + "line": 51 + }, + { + "owner": "RECOVERY-DATA", + "branch": "work/prc-recovery-data", + "path": "scripts/recovery/start-disposable-postgres.ps1", + "display": "scripts/recovery/start-disposable-postgres.ps1", + "kind": "exact", + "line": 52 + }, + { + "owner": "RECOVERY-DATA", + "branch": "work/prc-recovery-data", + "path": "scripts/recovery/verify-postgres-roundtrip.ps1", + "display": "scripts/recovery/verify-postgres-roundtrip.ps1", + "kind": "exact", + "line": 52 + }, + { + "owner": "RECOVERY-DATA", + "branch": "work/prc-recovery-data", + "path": "scripts/recovery/seed-recovery-fixture.ps1", + "display": "scripts/recovery/seed-recovery-fixture.ps1", + "kind": "exact", + "line": 52 + }, + { + "owner": "RECOVERY-DATA", + "branch": "work/prc-recovery-data", + "path": "scripts/recovery/assert-recovery-fixture.ps1", + "display": "scripts/recovery/assert-recovery-fixture.ps1", + "kind": "exact", + "line": 52 + }, + { + "owner": "RECOVERY-DATA", + "branch": "work/prc-recovery-data", + "path": "tests/critical/recovery/postgres_roundtrip_test.go", + "display": "tests/critical/recovery/postgres_roundtrip_test.go", + "kind": "exact", + "line": 52 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "internal/module/obs/logging.go", + "display": "internal/module/obs/logging.go", + "kind": "exact", + "line": 53 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "internal/module/obs/logging_test.go", + "display": "internal/module/obs/logging_test.go", + "kind": "exact", + "line": 53 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "internal/module/obs/meter.go", + "display": "internal/module/obs/meter.go", + "kind": "exact", + "line": 53 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "internal/module/obs/meter_test.go", + "display": "internal/module/obs/meter_test.go", + "kind": "exact", + "line": 53 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "internal/module/obs/metrics.go", + "display": "internal/module/obs/metrics.go", + "kind": "exact", + "line": 53 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "internal/module/obs/metrics_test.go", + "display": "internal/module/obs/metrics_test.go", + "kind": "exact", + "line": 53 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "cmd/engram-server/main.go", + "display": "cmd/engram-server/main.go", + "kind": "exact", + "line": 53 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "cmd/engram-server/main_test.go", + "display": "cmd/engram-server/main_test.go", + "kind": "exact", + "line": 53 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "scripts/production-smoke/verify-otlp.ps1", + "display": "scripts/production-smoke/verify-otlp.ps1", + "kind": "exact", + "line": 53 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/scope/domain_policy.go", + "display": "internal/scope/domain_policy.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/scope/domain_policy_test.go", + "display": "internal/scope/domain_policy_test.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/scope/filter.go", + "display": "internal/scope/filter.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/scope/filter_test.go", + "display": "internal/scope/filter_test.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/scope/filter_principal_test.go", + "display": "internal/scope/filter_principal_test.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/scope/filter_w4_test.go", + "display": "internal/scope/filter_w4_test.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/principalmemory/access_policy.go", + "display": "internal/principalmemory/access_policy.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/principalmemory/access_policy_test.go", + "display": "internal/principalmemory/access_policy_test.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/principalmemory/domain_registry.go", + "display": "internal/principalmemory/domain_registry.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/principalmemory/domain_registry_test.go", + "display": "internal/principalmemory/domain_registry_test.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/principalmemory/query_service.go", + "display": "internal/principalmemory/query_service.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/principalmemory/query_service_test.go", + "display": "internal/principalmemory/query_service_test.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/mcp/tools_principal_memory.go", + "display": "internal/mcp/tools_principal_memory.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/mcp/tools_principal_memory_test.go", + "display": "internal/mcp/tools_principal_memory_test.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/mcp/tools_recall_principal_test.go", + "display": "internal/mcp/tools_recall_principal_test.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/mcp/recall_visibility_backfill_test.go", + "display": "internal/mcp/recall_visibility_backfill_test.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/mcp/store_memory_principal_test.go", + "display": "internal/mcp/store_memory_principal_test.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/worker/handlers_principal_memory.go", + "display": "internal/worker/handlers_principal_memory.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/worker/handlers_principal_memory_test.go", + "display": "internal/worker/handlers_principal_memory_test.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/worker/scope_bypass_w4_test.go", + "display": "internal/worker/scope_bypass_w4_test.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/worker/retention.go", + "display": "internal/worker/retention.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/worker/retention_test.go", + "display": "internal/worker/retention_test.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/db/gorm/memory_store.go", + "display": "internal/db/gorm/memory_store.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/db/gorm/memory_store_principal_test.go", + "display": "internal/db/gorm/memory_store_principal_test.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/db/gorm/memory_store_principal_query_test.go", + "display": "internal/db/gorm/memory_store_principal_query_test.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/db/gorm/purge_store_test.go", + "display": "internal/db/gorm/purge_store_test.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "tests/critical/data_boundaries/principal_project_retention_test.go", + "display": "tests/critical/data_boundaries/principal_project_retention_test.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "tests/critical/customer_mode/customer_mode_test.go", + "display": "tests/critical/customer_mode/customer_mode_test.go", + "kind": "exact", + "line": 55 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "tests/critical/customer_mode/compatibility_test.go", + "display": "tests/critical/customer_mode/compatibility_test.go", + "kind": "exact", + "line": 55 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "tests/critical/customer_mode/cross_agent_test.go", + "display": "tests/critical/customer_mode/cross_agent_test.go", + "kind": "exact", + "line": 55 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "scripts/production-smoke/customer/run-customer-mode.ps1", + "display": "scripts/production-smoke/customer/run-customer-mode.ps1", + "kind": "exact", + "line": 55 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "scripts/production-smoke/customer/run-client-compatibility.ps1", + "display": "scripts/production-smoke/customer/run-client-compatibility.ps1", + "kind": "exact", + "line": 55 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "scripts/production-smoke/customer/run-cross-agent.ps1", + "display": "scripts/production-smoke/customer/run-cross-agent.ps1", + "kind": "exact", + "line": 55 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "scripts/production-smoke/customer/run-diagnostic-matrix.ps1", + "display": "scripts/production-smoke/customer/run-diagnostic-matrix.ps1", + "kind": "exact", + "line": 55 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "scripts/production-smoke/customer/assert-product-works.ps1", + "display": "scripts/production-smoke/customer/assert-product-works.ps1", + "kind": "exact", + "line": 55 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "README.md", + "display": "README.md", + "kind": "exact", + "line": 56 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "README.ru.md", + "display": "README.ru.md", + "kind": "exact", + "line": 56 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "README.zh.md", + "display": "README.zh.md", + "kind": "exact", + "line": 56 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "CONTRIBUTING.md", + "display": "CONTRIBUTING.md", + "kind": "exact", + "line": 56 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "CHANGELOG.md", + "display": "CHANGELOG.md", + "kind": "exact", + "line": 56 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "Makefile", + "display": "Makefile", + "kind": "exact", + "line": 56 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": ".env.example", + "display": ".env.example", + "kind": "exact", + "line": 56 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/DEPLOYMENT.md", + "display": "docs/DEPLOYMENT.md", + "kind": "exact", + "line": 56 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/MIGRATION.md", + "display": "docs/MIGRATION.md", + "kind": "exact", + "line": 56 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "display": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "kind": "exact", + "line": 56 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/arch/CONFIGURATION.md", + "display": "docs/arch/CONFIGURATION.md", + "kind": "exact", + "line": 56 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/arch/QUICKSTART.md", + "display": "docs/arch/QUICKSTART.md", + "kind": "exact", + "line": 56 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/release-notes/v6.43.0.md", + "display": "docs/release-notes/v6.43.0.md", + "kind": "exact", + "line": 56 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/public/engram.jpg", + "display": "docs/public/engram.jpg", + "kind": "exact", + "line": 56 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "plugin/engram/commands/setup.md", + "display": "plugin/engram/commands/setup.md", + "kind": "exact", + "line": 56 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "plugin/engram/commands/doctor.md", + "display": "plugin/engram/commands/doctor.md", + "kind": "exact", + "line": 56 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "README.md", + "display": "README.md", + "kind": "exact", + "line": 57 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "README.ru.md", + "display": "README.ru.md", + "kind": "exact", + "line": 57 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "README.zh.md", + "display": "README.zh.md", + "kind": "exact", + "line": 57 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "CONTRIBUTING.md", + "display": "CONTRIBUTING.md", + "kind": "exact", + "line": 57 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "CHANGELOG.md", + "display": "CHANGELOG.md", + "kind": "exact", + "line": 57 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "Makefile", + "display": "Makefile", + "kind": "exact", + "line": 57 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": ".env.example", + "display": ".env.example", + "kind": "exact", + "line": 57 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/DEPLOYMENT.md", + "display": "docs/DEPLOYMENT.md", + "kind": "exact", + "line": 57 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/MIGRATION.md", + "display": "docs/MIGRATION.md", + "kind": "exact", + "line": 57 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "display": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "kind": "exact", + "line": 57 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/operating-engram.md", + "display": "docs/operating-engram.md", + "kind": "exact", + "line": 57 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/arch/CONFIGURATION.md", + "display": "docs/arch/CONFIGURATION.md", + "kind": "exact", + "line": 57 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/arch/QUICKSTART.md", + "display": "docs/arch/QUICKSTART.md", + "kind": "exact", + "line": 57 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/public/engram.jpg", + "display": "docs/public/engram.jpg", + "kind": "exact", + "line": 57 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "plugin/engram/commands/setup.md", + "display": "plugin/engram/commands/setup.md", + "kind": "exact", + "line": 57 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "plugin/engram/commands/doctor.md", + "display": "plugin/engram/commands/doctor.md", + "kind": "exact", + "line": 57 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "cmd/engram/main.go", + "display": "cmd/engram/main.go", + "kind": "exact", + "line": 58 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "cmd/engram/main_test.go", + "display": "cmd/engram/main_test.go", + "kind": "exact", + "line": 58 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "cmd/engram/wiring.go", + "display": "cmd/engram/wiring.go", + "kind": "exact", + "line": 58 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "cmd/engram/exec_windows.go", + "display": "cmd/engram/exec_windows.go", + "kind": "exact", + "line": 58 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "cmd/engram/exec_unix.go", + "display": "cmd/engram/exec_unix.go", + "kind": "exact", + "line": 58 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "plugin/engram/.engram-project", + "display": "plugin/engram/.engram-project", + "kind": "exact", + "line": 58 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "plugin/engram/scripts/run-engram.js", + "display": "plugin/engram/scripts/run-engram.js", + "kind": "exact", + "line": 58 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "plugin/engram/scripts/run-engram.test.js", + "display": "plugin/engram/scripts/run-engram.test.js", + "kind": "exact", + "line": 58 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "plugin/engram/scripts/ensure-binary.js", + "display": "plugin/engram/scripts/ensure-binary.js", + "kind": "exact", + "line": 58 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "plugin/engram/scripts/ensure-binary.test.js", + "display": "plugin/engram/scripts/ensure-binary.test.js", + "kind": "exact", + "line": 58 + }, + { + "owner": "OC-INTEGRATION", + "branch": "work/prc-operator-console-integration", + "path": "apps/operator-console", + "display": "apps/operator-console/**", + "kind": "prefix", + "line": 59 + }, + { + "owner": "S4B-CONTRACT", + "branch": "work/prc-s4b-contract", + "path": ".agent/specs/engram-v7-directives-surfacing", + "display": ".agent/specs/engram-v7-directives-surfacing/**", + "kind": "prefix", + "line": 60 + }, + { + "owner": "V7-S4B-BACKEND", + "branch": "work/prc-v7-s4b-backend", + "path": "internal/cognitive/s4bsurfacing", + "display": "internal/cognitive/s4bsurfacing/**", + "kind": "prefix", + "line": 61 + }, + { + "owner": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "path": "internal/cognitive/core/event_bus.go", + "display": "internal/cognitive/core/event_bus.go", + "kind": "exact", + "line": 62 + }, + { + "owner": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "path": "internal/cognitive/core/event_bus_test.go", + "display": "internal/cognitive/core/event_bus_test.go", + "kind": "exact", + "line": 62 + }, + { + "owner": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "path": "internal/cognitive/core/hint_queue.go", + "display": "internal/cognitive/core/hint_queue.go", + "kind": "exact", + "line": 62 + }, + { + "owner": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "path": "internal/cognitive/core/hint_queue_test.go", + "display": "internal/cognitive/core/hint_queue_test.go", + "kind": "exact", + "line": 62 + }, + { + "owner": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "path": "internal/cognitive/s3ambient/queue.go", + "display": "internal/cognitive/s3ambient/queue.go", + "kind": "exact", + "line": 62 + }, + { + "owner": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "path": "internal/cognitive/s3ambient/subsystem.go", + "display": "internal/cognitive/s3ambient/subsystem.go", + "kind": "exact", + "line": 62 + }, + { + "owner": "V7-RUNTIME-WIRING", + "branch": "work/prc-v7-runtime-wiring", + "path": "internal/worker/service.go", + "display": "internal/worker/service.go", + "kind": "exact", + "line": 63 + }, + { + "owner": "V7-RUNTIME-WIRING", + "branch": "work/prc-v7-runtime-wiring", + "path": "internal/worker/service_v7_integration_test.go", + "display": "internal/worker/service_v7_integration_test.go", + "kind": "exact", + "line": 63 + }, + { + "owner": "V7-RUNTIME-WIRING", + "branch": "work/prc-v7-runtime-wiring", + "path": "internal/worker/handlers_stats_v7.go", + "display": "internal/worker/handlers_stats_v7.go", + "kind": "exact", + "line": 63 + }, + { + "owner": "V7-RUNTIME-WIRING", + "branch": "work/prc-v7-runtime-wiring", + "path": "internal/worker/handlers_stats_v7_test.go", + "display": "internal/worker/handlers_stats_v7_test.go", + "kind": "exact", + "line": 63 + }, + { + "owner": "V7-TELEMETRY-WIRING", + "branch": "work/prc-v7-telemetry-wiring", + "path": "internal/cognitive/s5/metrics.go", + "display": "internal/cognitive/s5/metrics.go", + "kind": "exact", + "line": 64 + }, + { + "owner": "V7-TELEMETRY-WIRING", + "branch": "work/prc-v7-telemetry-wiring", + "path": "internal/cognitive/s5/provider.go", + "display": "internal/cognitive/s5/provider.go", + "kind": "exact", + "line": 64 + }, + { + "owner": "V7-TELEMETRY-WIRING", + "branch": "work/prc-v7-telemetry-wiring", + "path": "internal/cognitive/s5/provider_test.go", + "display": "internal/cognitive/s5/provider_test.go", + "kind": "exact", + "line": 64 + }, + { + "owner": "V7-TELEMETRY-WIRING", + "branch": "work/prc-v7-telemetry-wiring", + "path": "internal/cognitive/s5/source_adapter.go", + "display": "internal/cognitive/s5/source_adapter.go", + "kind": "exact", + "line": 64 + }, + { + "owner": "V7-TELEMETRY-WIRING", + "branch": "work/prc-v7-telemetry-wiring", + "path": "internal/cognitive/s5/source_adapter_test.go", + "display": "internal/cognitive/s5/source_adapter_test.go", + "kind": "exact", + "line": 64 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/roadmap.md", + "display": ".agent/specs/roadmap.md", + "kind": "exact", + "line": 65 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/ui-surface-ledger.md", + "display": ".agent/specs/ui-surface-ledger.md", + "kind": "exact", + "line": 65 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/operator-console-production-integration", + "display": ".agent/specs/operator-console-production-integration/**", + "kind": "prefix", + "line": 65 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/engram-v7-ambient/spec.md", + "display": ".agent/specs/engram-v7-ambient/spec.md", + "kind": "exact", + "line": 65 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/engram-v7-ambient/plan.md", + "display": ".agent/specs/engram-v7-ambient/plan.md", + "kind": "exact", + "line": 65 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/engram-v7-ambient/checklists/general.md", + "display": ".agent/specs/engram-v7-ambient/checklists/general.md", + "kind": "exact", + "line": 65 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 65 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 65 + }, + { + "owner": "NORTHSTAR-CI-A-CONTRACTS", + "branch": "work/prc-northstar-ci-a-contracts", + "path": ".agent/specs/engram-absorption/ci-a-dense-vector/spec.md", + "display": ".agent/specs/engram-absorption/ci-a-dense-vector/spec.md", + "kind": "exact", + "line": 66 + }, + { + "owner": "NORTHSTAR-CI-A-CONTRACTS", + "branch": "work/prc-northstar-ci-a-contracts", + "path": ".agent/specs/engram-absorption/ci-a-dense-vector/plan.md", + "display": ".agent/specs/engram-absorption/ci-a-dense-vector/plan.md", + "kind": "exact", + "line": 66 + }, + { + "owner": "NORTHSTAR-CI-A-CONTRACTS", + "branch": "work/prc-northstar-ci-a-contracts", + "path": ".agent/specs/engram-absorption/ci-a-dense-vector/checklists/general.md", + "display": ".agent/specs/engram-absorption/ci-a-dense-vector/checklists/general.md", + "kind": "exact", + "line": 66 + }, + { + "owner": "NORTHSTAR-CI-A-CONTRACTS", + "branch": "work/prc-northstar-ci-a-contracts", + "path": ".agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 66 + }, + { + "owner": "NORTHSTAR-CI-A-CONTRACTS", + "branch": "work/prc-northstar-ci-a-contracts", + "path": ".agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 66 + }, + { + "owner": "NORTHSTAR-CI-B-CONTRACTS", + "branch": "work/prc-northstar-ci-b-contracts", + "path": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/spec.md", + "display": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/spec.md", + "kind": "exact", + "line": 67 + }, + { + "owner": "NORTHSTAR-CI-B-CONTRACTS", + "branch": "work/prc-northstar-ci-b-contracts", + "path": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/plan.md", + "display": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/plan.md", + "kind": "exact", + "line": 67 + }, + { + "owner": "NORTHSTAR-CI-B-CONTRACTS", + "branch": "work/prc-northstar-ci-b-contracts", + "path": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/checklists/general.md", + "display": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/checklists/general.md", + "kind": "exact", + "line": 67 + }, + { + "owner": "NORTHSTAR-CI-B-CONTRACTS", + "branch": "work/prc-northstar-ci-b-contracts", + "path": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 67 + }, + { + "owner": "NORTHSTAR-CI-B-CONTRACTS", + "branch": "work/prc-northstar-ci-b-contracts", + "path": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 67 + }, + { + "owner": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "path": ".agent/specs/engram-absorption/book/prd.md", + "display": ".agent/specs/engram-absorption/book/prd.md", + "kind": "exact", + "line": 68 + }, + { + "owner": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "path": ".agent/specs/engram-absorption/book/spec.md", + "display": ".agent/specs/engram-absorption/book/spec.md", + "kind": "exact", + "line": 68 + }, + { + "owner": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "path": ".agent/specs/engram-absorption/book/plan.md", + "display": ".agent/specs/engram-absorption/book/plan.md", + "kind": "exact", + "line": 68 + }, + { + "owner": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "path": ".agent/specs/engram-absorption/book/checklists/general.md", + "display": ".agent/specs/engram-absorption/book/checklists/general.md", + "kind": "exact", + "line": 68 + }, + { + "owner": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "path": ".agent/specs/engram-absorption/book/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/engram-absorption/book/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 68 + }, + { + "owner": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "path": ".agent/specs/engram-absorption/book/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/engram-absorption/book/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 68 + }, + { + "owner": "NORTHSTAR-MEM-CONTRACTS", + "branch": "work/prc-northstar-mem-contracts", + "path": ".agent/specs/engram-absorption/mem-residual/spec.md", + "display": ".agent/specs/engram-absorption/mem-residual/spec.md", + "kind": "exact", + "line": 69 + }, + { + "owner": "NORTHSTAR-MEM-CONTRACTS", + "branch": "work/prc-northstar-mem-contracts", + "path": ".agent/specs/engram-absorption/mem-residual/plan.md", + "display": ".agent/specs/engram-absorption/mem-residual/plan.md", + "kind": "exact", + "line": 69 + }, + { + "owner": "NORTHSTAR-MEM-CONTRACTS", + "branch": "work/prc-northstar-mem-contracts", + "path": ".agent/specs/engram-absorption/mem-residual/checklists/general.md", + "display": ".agent/specs/engram-absorption/mem-residual/checklists/general.md", + "kind": "exact", + "line": 69 + }, + { + "owner": "NORTHSTAR-MEM-CONTRACTS", + "branch": "work/prc-northstar-mem-contracts", + "path": ".agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 69 + }, + { + "owner": "NORTHSTAR-MEM-CONTRACTS", + "branch": "work/prc-northstar-mem-contracts", + "path": ".agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 69 + }, + { + "owner": "NORTHSTAR-EFFECTIVENESS-CONTRACTS", + "branch": "work/prc-northstar-effectiveness-contracts", + "path": ".agent/specs/engram-effectiveness/production-ready-residual/spec.md", + "display": ".agent/specs/engram-effectiveness/production-ready-residual/spec.md", + "kind": "exact", + "line": 70 + }, + { + "owner": "NORTHSTAR-EFFECTIVENESS-CONTRACTS", + "branch": "work/prc-northstar-effectiveness-contracts", + "path": ".agent/specs/engram-effectiveness/production-ready-residual/plan.md", + "display": ".agent/specs/engram-effectiveness/production-ready-residual/plan.md", + "kind": "exact", + "line": 70 + }, + { + "owner": "NORTHSTAR-EFFECTIVENESS-CONTRACTS", + "branch": "work/prc-northstar-effectiveness-contracts", + "path": ".agent/specs/engram-effectiveness/production-ready-residual/checklists/general.md", + "display": ".agent/specs/engram-effectiveness/production-ready-residual/checklists/general.md", + "kind": "exact", + "line": 70 + }, + { + "owner": "NORTHSTAR-EFFECTIVENESS-CONTRACTS", + "branch": "work/prc-northstar-effectiveness-contracts", + "path": ".agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 70 + }, + { + "owner": "NORTHSTAR-EFFECTIVENESS-CONTRACTS", + "branch": "work/prc-northstar-effectiveness-contracts", + "path": ".agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 70 + }, + { + "owner": "NORTHSTAR-SETTINGS-CONTRACTS", + "branch": "work/prc-northstar-settings-contracts", + "path": ".agent/specs/settings-store/production-ready-residual/spec.md", + "display": ".agent/specs/settings-store/production-ready-residual/spec.md", + "kind": "exact", + "line": 71 + }, + { + "owner": "NORTHSTAR-SETTINGS-CONTRACTS", + "branch": "work/prc-northstar-settings-contracts", + "path": ".agent/specs/settings-store/production-ready-residual/plan.md", + "display": ".agent/specs/settings-store/production-ready-residual/plan.md", + "kind": "exact", + "line": 71 + }, + { + "owner": "NORTHSTAR-SETTINGS-CONTRACTS", + "branch": "work/prc-northstar-settings-contracts", + "path": ".agent/specs/settings-store/production-ready-residual/checklists/general.md", + "display": ".agent/specs/settings-store/production-ready-residual/checklists/general.md", + "kind": "exact", + "line": 71 + }, + { + "owner": "NORTHSTAR-SETTINGS-CONTRACTS", + "branch": "work/prc-northstar-settings-contracts", + "path": ".agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 71 + }, + { + "owner": "NORTHSTAR-SETTINGS-CONTRACTS", + "branch": "work/prc-northstar-settings-contracts", + "path": ".agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 71 + } + ], + "repeated_exact_paths": [ + { + "path": ".agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json", + "exact_owners": [ + "PLAN-GOVERNANCE", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ], + "prefix_owners": [], + "effective_owners": [ + "PLAN-GOVERNANCE", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ], + "declared_epoch": true, + "epoch_owners": [ + "PLAN-GOVERNANCE", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ] + }, + { + "path": ".agent/plans/2026-07-10-engram-production-ready-master-plan.md", + "exact_owners": [ + "PLAN-GOVERNANCE", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ], + "prefix_owners": [], + "effective_owners": [ + "PLAN-GOVERNANCE", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ], + "declared_epoch": true, + "epoch_owners": [ + "PLAN-GOVERNANCE", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ] + }, + { + "path": ".agent/plans/2026-07-10-engram-production-ready-ownership-state.json", + "exact_owners": [ + "PLAN-GOVERNANCE", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ], + "prefix_owners": [], + "effective_owners": [ + "PLAN-GOVERNANCE", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ], + "declared_epoch": true, + "epoch_owners": [ + "PLAN-GOVERNANCE", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ] + }, + { + "path": ".agent/plans/2026-07-10-engram-production-ready-scope-map.json", + "exact_owners": [ + "PLAN-GOVERNANCE", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ], + "prefix_owners": [], + "effective_owners": [ + "PLAN-GOVERNANCE", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ], + "declared_epoch": true, + "epoch_owners": [ + "PLAN-GOVERNANCE", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ] + }, + { + "path": ".env.example", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": ".github/workflows/authority-guard.yml", + "exact_owners": [ + "RELEASE-GATES", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ], + "prefix_owners": [], + "effective_owners": [ + "RELEASE-GATES", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ], + "declared_epoch": true, + "epoch_owners": [ + "RELEASE-GATES", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ] + }, + { + "path": ".github/workflows/test.yml", + "exact_owners": [ + "RELEASE-GATES", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ], + "prefix_owners": [], + "effective_owners": [ + "RELEASE-GATES", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ], + "declared_epoch": true, + "epoch_owners": [ + "RELEASE-GATES", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ] + }, + { + "path": "CHANGELOG.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "CONTRIBUTING.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "deploy/docker-compose.runtime.yml", + "exact_owners": [ + "IMAGE-REMEDIATION-R2", + "DEPLOYMENT-ROLLBACK" + ], + "prefix_owners": [], + "effective_owners": [ + "IMAGE-REMEDIATION-R2", + "DEPLOYMENT-ROLLBACK" + ], + "declared_epoch": true, + "epoch_owners": [ + "IMAGE-REMEDIATION-R2", + "DEPLOYMENT-ROLLBACK" + ] + }, + { + "path": "docker-compose.yml", + "exact_owners": [ + "IMAGE-REMEDIATION-R2", + "DEPLOYMENT-ROLLBACK" + ], + "prefix_owners": [], + "effective_owners": [ + "IMAGE-REMEDIATION-R2", + "DEPLOYMENT-ROLLBACK" + ], + "declared_epoch": true, + "epoch_owners": [ + "IMAGE-REMEDIATION-R2", + "DEPLOYMENT-ROLLBACK" + ] + }, + { + "path": "Dockerfile", + "exact_owners": [ + "SECURITY-TOOLCHAIN", + "IMAGE-REMEDIATION-R2" + ], + "prefix_owners": [], + "effective_owners": [ + "SECURITY-TOOLCHAIN", + "IMAGE-REMEDIATION-R2" + ], + "declared_epoch": true, + "epoch_owners": [ + "SECURITY-TOOLCHAIN", + "IMAGE-REMEDIATION-R2" + ] + }, + { + "path": "docs/arch/CONFIGURATION.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "docs/arch/QUICKSTART.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "docs/DEPLOYMENT.md", + "exact_owners": [ + "IMAGE-REMEDIATION-R2", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "IMAGE-REMEDIATION-R2", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "IMAGE-REMEDIATION-R2", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "docs/MIGRATION.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "docs/operating-engram.md", + "exact_owners": [ + "REDACTION-LIVE-CONTRACT", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "REDACTION-LIVE-CONTRACT", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "REDACTION-LIVE-CONTRACT", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "exact_owners": [ + "IMAGE-REMEDIATION-R2", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "IMAGE-REMEDIATION-R2", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "IMAGE-REMEDIATION-R2", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "docs/public/engram.jpg", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "internal/bulkops/facade_test.go", + "exact_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ] + }, + { + "path": "internal/bulkops/facade.go", + "exact_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION", + "DURABLE-AUDIT-BOUNDARIES" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION", + "DURABLE-AUDIT-BOUNDARIES" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION", + "DURABLE-AUDIT-BOUNDARIES" + ] + }, + { + "path": "internal/bulkops/rollback_test.go", + "exact_owners": [ + "DB-BULKOPS", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ] + }, + { + "path": "internal/db/gorm/candidate_store_test.go", + "exact_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-TEST-POOL-HYGIENE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-TEST-POOL-HYGIENE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-TEST-POOL-HYGIENE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ] + }, + { + "path": "internal/db/gorm/candidate_store.go", + "exact_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ] + }, + { + "path": "internal/db/gorm/document_store.go", + "exact_owners": [ + "DOCUMENT-INGEST-PUBLIC-TRUTH-R2", + "DOCUMENT-INGEST-PUBLIC-TRUTH-R3" + ], + "prefix_owners": [], + "effective_owners": [ + "DOCUMENT-INGEST-PUBLIC-TRUTH-R2", + "DOCUMENT-INGEST-PUBLIC-TRUTH-R3" + ], + "declared_epoch": true, + "epoch_owners": [ + "DOCUMENT-INGEST-PUBLIC-TRUTH-R2", + "DOCUMENT-INGEST-PUBLIC-TRUTH-R3" + ] + }, + { + "path": "internal/db/gorm/memory_store.go", + "exact_owners": [ + "DB-RULES-ISOLATION", + "PRIVACY-BOUNDARIES" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-RULES-ISOLATION", + "PRIVACY-BOUNDARIES" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-RULES-ISOLATION", + "PRIVACY-BOUNDARIES" + ] + }, + { + "path": "internal/db/gorm/user_store.go", + "exact_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ] + }, + { + "path": "internal/mcp/document_public_truth_contract_test.go", + "exact_owners": [ + "DOCUMENT-INGEST-PUBLIC-TRUTH-R2", + "DOCUMENT-INGEST-PUBLIC-TRUTH-R3" + ], + "prefix_owners": [], + "effective_owners": [ + "DOCUMENT-INGEST-PUBLIC-TRUTH-R2", + "DOCUMENT-INGEST-PUBLIC-TRUTH-R3" + ], + "declared_epoch": true, + "epoch_owners": [ + "DOCUMENT-INGEST-PUBLIC-TRUTH-R2", + "DOCUMENT-INGEST-PUBLIC-TRUTH-R3" + ] + }, + { + "path": "internal/mcp/public_tool_descriptions_test.go", + "exact_owners": [ + "DOCUMENT-INGEST-PUBLIC-TRUTH", + "DOCUMENT-INGEST-PUBLIC-TRUTH-R2" + ], + "prefix_owners": [], + "effective_owners": [ + "DOCUMENT-INGEST-PUBLIC-TRUTH", + "DOCUMENT-INGEST-PUBLIC-TRUTH-R2" + ], + "declared_epoch": true, + "epoch_owners": [ + "DOCUMENT-INGEST-PUBLIC-TRUTH", + "DOCUMENT-INGEST-PUBLIC-TRUTH-R2" + ] + }, + { + "path": "internal/mcp/server.go", + "exact_owners": [ + "DOCUMENT-INGEST-PUBLIC-TRUTH", + "DOCUMENT-INGEST-PUBLIC-TRUTH-R2" + ], + "prefix_owners": [], + "effective_owners": [ + "DOCUMENT-INGEST-PUBLIC-TRUTH", + "DOCUMENT-INGEST-PUBLIC-TRUTH-R2" + ], + "declared_epoch": true, + "epoch_owners": [ + "DOCUMENT-INGEST-PUBLIC-TRUTH", + "DOCUMENT-INGEST-PUBLIC-TRUTH-R2" + ] + }, + { + "path": "internal/mcp/tools_bulkops.go", + "exact_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ] + }, + { + "path": "internal/mcp/tools_documents.go", + "exact_owners": [ + "DOCUMENT-INGEST-PUBLIC-TRUTH-R2", + "DOCUMENT-INGEST-PUBLIC-TRUTH-R3" + ], + "prefix_owners": [], + "effective_owners": [ + "DOCUMENT-INGEST-PUBLIC-TRUTH-R2", + "DOCUMENT-INGEST-PUBLIC-TRUTH-R3" + ], + "declared_epoch": true, + "epoch_owners": [ + "DOCUMENT-INGEST-PUBLIC-TRUTH-R2", + "DOCUMENT-INGEST-PUBLIC-TRUTH-R3" + ] + }, + { + "path": "internal/mcp/tools_dryrun_test.go", + "exact_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ] + }, + { + "path": "internal/mcp/tools_memory.go", + "exact_owners": [ + "MCP-STRUCTURED-INPUT-VALIDATION", + "REDACTION-LIVE-CONTRACT" + ], + "prefix_owners": [], + "effective_owners": [ + "MCP-STRUCTURED-INPUT-VALIDATION", + "REDACTION-LIVE-CONTRACT" + ], + "declared_epoch": true, + "epoch_owners": [ + "MCP-STRUCTURED-INPUT-VALIDATION", + "REDACTION-LIVE-CONTRACT" + ] + }, + { + "path": "internal/worker/auth_handlers.go", + "exact_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ] + }, + { + "path": "internal/worker/service.go", + "exact_owners": [ + "AUTH-BOOTSTRAP-SECURITY", + "REDACTION-LIVE-CONTRACT", + "V7-RUNTIME-WIRING" + ], + "prefix_owners": [], + "effective_owners": [ + "AUTH-BOOTSTRAP-SECURITY", + "REDACTION-LIVE-CONTRACT", + "V7-RUNTIME-WIRING" + ], + "declared_epoch": true, + "epoch_owners": [ + "AUTH-BOOTSTRAP-SECURITY", + "REDACTION-LIVE-CONTRACT", + "V7-RUNTIME-WIRING" + ] + }, + { + "path": "Makefile", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "pkg/models/snapshot.go", + "exact_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ] + }, + { + "path": "plugin/engram/commands/doctor.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "plugin/engram/commands/setup.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "README.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "README.ru.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "README.zh.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "scripts/production-gates/assert-active-candidate-path-authority.ps1", + "exact_owners": [ + "RELEASE-GATES", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ], + "prefix_owners": [], + "effective_owners": [ + "RELEASE-GATES", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ], + "declared_epoch": true, + "epoch_owners": [ + "RELEASE-GATES", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ] + }, + { + "path": "scripts/production-gates/assert-pr-authority-guard.ps1", + "exact_owners": [ + "RELEASE-GATES", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ], + "prefix_owners": [], + "effective_owners": [ + "RELEASE-GATES", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ], + "declared_epoch": true, + "epoch_owners": [ + "RELEASE-GATES", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ] + } + ], + "prefix_intersections": [], + "epochs": [ + { + "path": "internal/db/gorm/candidate_store.go", + "owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "transfer_gate": "rejected predecessor checker/hash recorded; MB1 starts from exact accepted synthesis `fef455bcf640f849c2d40c9bc26a459b5593e10a`; DB-GOVERNANCE is explicitly excluded, so candidate review is the sole new writer before one macro-head checker and root review", + "line": 8 + }, + { + "path": "internal/db/gorm/candidate_store_test.go", + "owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-TEST-POOL-HYGIENE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "transfer_gate": "accepted synthesis `fef455bcf640f849c2d40c9bc26a459b5593e10a` already contains the selected pool-hygiene state; DB-GOVERNANCE is explicitly excluded, and candidate review is the sole new MB1 writer before macro acceptance", + "line": 9 + }, + { + "path": "internal/db/gorm/memory_store.go", + "owners": [ + "DB-RULES-ISOLATION", + "PRIVACY-BOUNDARIES" + ], + "transfer_gate": "MB1 moves the existing literal-LIKE helper into the shared contract first; accepted MB1 integration is the exact MB2 base before privacy ownership transfers", + "line": 10 + }, + { + "path": "internal/mcp/tools_bulkops.go", + "owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "transfer_gate": "rejected predecessor checker/hash recorded; rework base is exact rejected head; checker and post-review PASS plus integration SHA close the transfer", + "line": 11 + }, + { + "path": "internal/mcp/tools_dryrun_test.go", + "owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "transfer_gate": "rejected predecessor checker/hash recorded; rework base is exact rejected head; checker and post-review PASS plus integration SHA close the transfer", + "line": 11 + }, + { + "path": "internal/bulkops/facade.go", + "owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION", + "DURABLE-AUDIT-BOUNDARIES" + ], + "transfer_gate": "behavioral-edge composite checker and post-review PASS; exact integration SHA recorded; demolition rebased before edit; historical ingest guard green before durable-audit fault work", + "line": 12 + }, + { + "path": "internal/bulkops/facade_test.go", + "owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "transfer_gate": "accepted behavioral-edge composite integrated; demolition worktree rebased; focused historical-only regressions PASS before integration", + "line": 13 + }, + { + "path": "internal/bulkops/rollback_test.go", + "owners": [ + "DB-BULKOPS", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "transfer_gate": "accepted behavioral-edge composite and DB-GOVERNANCE integrated; candidate-review successor rebased; combined checker and post-review PASS", + "line": 14 + }, + { + "path": "pkg/models/snapshot.go", + "owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "transfer_gate": "accepted behavioral-edge composite integrated; demolition successor rebased; persistence-compatibility and non-executable regressions PASS", + "line": 15 + }, + { + "path": "internal/db/gorm/user_store.go", + "owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "transfer_gate": "each predecessor checker and post-review PASS, integration SHA recorded, successor rebased; no simultaneous writer", + "line": 16 + }, + { + "path": "internal/worker/auth_handlers.go", + "owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "transfer_gate": "each predecessor checker and post-review PASS, integration SHA recorded, successor rebased; no simultaneous writer", + "line": 17 + }, + { + "path": "internal/worker/service.go", + "owners": [ + "AUTH-BOOTSTRAP-SECURITY", + "REDACTION-LIVE-CONTRACT", + "V7-RUNTIME-WIRING" + ], + "transfer_gate": "auth bootstrap checker and post-review PASS, commit integrated, redaction worktree rebased and boot-captured rules proved; V7 later rebases the redaction integration and reruns both auth and redaction route regressions", + "line": 18 + }, + { + "path": "internal/mcp/tools_memory.go", + "owners": [ + "MCP-STRUCTURED-INPUT-VALIDATION", + "REDACTION-LIVE-CONTRACT" + ], + "transfer_gate": "structured-input checker/post-review PASS and exact integration SHA; redaction successor rebased so malformed input remains zero-audit/zero-write before matched-mutation audit enforcement", + "line": 19 + }, + { + "path": "docs/operating-engram.md", + "owners": [ + "REDACTION-LIVE-CONTRACT", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "redaction live contract checker/post-review PASS and exact integration SHA; FINAL rebased and revalidates the operator claims against final published artifacts", + "line": 20 + }, + { + "path": "Dockerfile", + "owners": [ + "SECURITY-TOOLCHAIN", + "IMAGE-REMEDIATION-R2" + ], + "transfer_gate": "exact clean R2 base `0c626990` contains selected SECURITY-TOOLCHAIN integration `30de64d2576891abb0ec3730336c60054afd5617`; R2 reconstructs and re-proves the image from that base, with rejected R1/checker absent from ancestry", + "line": 21 + }, + { + "path": ".github/workflows/test.yml", + "owners": [ + "RELEASE-GATES", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ], + "transfer_gate": "R10 and A11 are rejected evidence; R12 starts from exact A11 and owns this path exclusively through B12 checker/post-review/integration; IMAGE R2 has no `test.yml` ownership or overlap", + "line": 22 + }, + { + "path": ".github/workflows/docker.yaml", + "owners": [ + "IMAGE-REMEDIATION-R2" + ], + "transfer_gate": "clean R2 starts at exact `0c626990`; rejected R1/checker are forbidden ancestry; prove sole-writer census, six immutable full-SemVer/`sha-` destination preflight/readback, same-release serialization, external-admin trust boundary, R12 future-change authority, checker PASS, and root post-review before integration", + "line": 23 + }, + { + "path": ".github/workflows/docker-publish.yml", + "owners": [ + "IMAGE-REMEDIATION-R2" + ], + "transfer_gate": "clean R2 starts at exact `0c626990`; rejected R1/checker are forbidden ancestry; prove sole-writer census, six immutable full-SemVer/`sha-` destination preflight/readback, same-release serialization, external-admin trust boundary, R12 future-change authority, checker PASS, and root post-review before integration", + "line": 23 + }, + { + "path": "scripts/production-gates/build-and-scan-images.ps1", + "owners": [ + "IMAGE-REMEDIATION-R2" + ], + "transfer_gate": "clean R2 starts at exact `0c626990`; rejected R1/checker are forbidden ancestry; prove sole-writer census, six immutable full-SemVer/`sha-` destination preflight/readback, same-release serialization, external-admin trust boundary, R12 future-change authority, checker PASS, and root post-review before integration", + "line": 23 + }, + { + "path": "tests/critical/runtime/image_runtime_contract_test.go", + "owners": [ + "IMAGE-REMEDIATION-R2" + ], + "transfer_gate": "clean R2 starts at exact `0c626990`; rejected R1/checker are forbidden ancestry; prove sole-writer census, six immutable full-SemVer/`sha-` destination preflight/readback, same-release serialization, external-admin trust boundary, R12 future-change authority, checker PASS, and root post-review before integration", + "line": 23 + }, + { + "path": ".dockerignore", + "owners": [ + "IMAGE-REMEDIATION-R2" + ], + "transfer_gate": "single-owner tracked epoch; exact clean base `0c626990` and rejected R1/checker absence are mandatory, then fresh runtime/image proof, checker PASS, and root post-review precede integration", + "line": 24 + }, + { + "path": "cmd/engram-healthcheck/main.go", + "owners": [ + "IMAGE-REMEDIATION-R2" + ], + "transfer_gate": "single-owner tracked epoch; exact clean base `0c626990` and rejected R1/checker absence are mandatory, then fresh runtime/image proof, checker PASS, and root post-review precede integration", + "line": 24 + }, + { + "path": "cmd/engram-healthcheck/main_test.go", + "owners": [ + "IMAGE-REMEDIATION-R2" + ], + "transfer_gate": "single-owner tracked epoch; exact clean base `0c626990` and rejected R1/checker absence are mandatory, then fresh runtime/image proof, checker PASS, and root post-review precede integration", + "line": 24 + }, + { + "path": "deploy/postgres/Dockerfile", + "owners": [ + "IMAGE-REMEDIATION-R2" + ], + "transfer_gate": "single-owner tracked epoch; exact clean base `0c626990` and rejected R1/checker absence are mandatory, then fresh runtime/image proof, checker PASS, and root post-review precede integration", + "line": 24 + }, + { + "path": "tests/critical/runtime/postgres_image_contract_test.go", + "owners": [ + "IMAGE-REMEDIATION-R2" + ], + "transfer_gate": "single-owner tracked epoch; exact clean base `0c626990` and rejected R1/checker absence are mandatory, then fresh runtime/image proof, checker PASS, and root post-review precede integration", + "line": 24 + }, + { + "path": "internal/mcp/server.go", + "owners": [ + "DOCUMENT-INGEST-PUBLIC-TRUTH", + "DOCUMENT-INGEST-PUBLIC-TRUTH-R2" + ], + "transfer_gate": "R3 inherits these sound R2 bytes without changing or newly owning the paths; R2 remains rejected until the complete R3 head receives checker/root acceptance", + "line": 25 + }, + { + "path": "internal/mcp/public_tool_descriptions_test.go", + "owners": [ + "DOCUMENT-INGEST-PUBLIC-TRUTH", + "DOCUMENT-INGEST-PUBLIC-TRUTH-R2" + ], + "transfer_gate": "R3 inherits these sound R2 bytes without changing or newly owning the paths; R2 remains rejected until the complete R3 head receives checker/root acceptance", + "line": 25 + }, + { + "path": "internal/db/gorm/models.go", + "owners": [ + "DOCUMENT-INGEST-PUBLIC-TRUTH-R2" + ], + "transfer_gate": "R3 exact diff leaves these R2 paths unchanged; the fresh checker may run or add its own isolated probe but cannot silently expand maker ownership", + "line": 26 + }, + { + "path": "tests/critical/document_public_truth_test.go", + "owners": [ + "DOCUMENT-INGEST-PUBLIC-TRUTH-R2" + ], + "transfer_gate": "R3 exact diff leaves these R2 paths unchanged; the fresh checker may run or add its own isolated probe but cannot silently expand maker ownership", + "line": 26 + }, + { + "path": "internal/mcp/tools_documents.go", + "owners": [ + "DOCUMENT-INGEST-PUBLIC-TRUTH-R2", + "DOCUMENT-INGEST-PUBLIC-TRUTH-R3" + ], + "transfer_gate": "exact rejected R2 base `efe1ab50`; R3 owns the frozen atomic active=true/RowsAffected implementation and contract-test diff; fresh checker and root review precede acceptance", + "line": 27 + }, + { + "path": "internal/db/gorm/document_store.go", + "owners": [ + "DOCUMENT-INGEST-PUBLIC-TRUTH-R2", + "DOCUMENT-INGEST-PUBLIC-TRUTH-R3" + ], + "transfer_gate": "exact rejected R2 base `efe1ab50`; R3 owns the frozen atomic active=true/RowsAffected implementation and contract-test diff; fresh checker and root review precede acceptance", + "line": 27 + }, + { + "path": "internal/mcp/document_public_truth_contract_test.go", + "owners": [ + "DOCUMENT-INGEST-PUBLIC-TRUTH-R2", + "DOCUMENT-INGEST-PUBLIC-TRUTH-R3" + ], + "transfer_gate": "exact rejected R2 base `efe1ab50`; R3 owns the frozen atomic active=true/RowsAffected implementation and contract-test diff; fresh checker and root review precede acceptance", + "line": 27 + }, + { + "path": ".github/workflows/authority-guard.yml", + "owners": [ + "RELEASE-GATES", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ], + "transfer_gate": "R10 replacement/checker and A11 are rejected evidence only; B12 is the direct child of independently accepted A12 and must pass self-reference-free maintenance/replay/successor/ruleset proof before integration or activation", + "line": 28 + }, + { + "path": "scripts/production-gates/assert-active-candidate-path-authority.ps1", + "owners": [ + "RELEASE-GATES", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ], + "transfer_gate": "R10 replacement/checker and A11 are rejected evidence only; B12 is the direct child of independently accepted A12 and must pass self-reference-free maintenance/replay/successor/ruleset proof before integration or activation", + "line": 28 + }, + { + "path": "scripts/production-gates/assert-pr-authority-guard.ps1", + "owners": [ + "RELEASE-GATES", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ], + "transfer_gate": "R10 replacement/checker and A11 are rejected evidence only; B12 is the direct child of independently accepted A12 and must pass self-reference-free maintenance/replay/successor/ruleset proof before integration or activation", + "line": 28 + }, + { + "path": "scripts/production-gates/assert-pr-authority-maintenance.ps1", + "owners": [ + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ], + "transfer_gate": "A12 predeclares the exact B12 path; B12 adds the maintenance validator; future change requires a new base-declared one-use epoch and trusted-base execution artifact rather than implicit ownership or an external mutable sole authority", + "line": 29 + }, + { + "path": ".agent/plans/2026-07-10-engram-production-ready-master-plan.md", + "owners": [ + "PLAN-GOVERNANCE", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ], + "transfer_gate": "exact rejected A11 is the A12 base; A12 records the fixed-point rejection, exact B12 envelope, 69/69 macro overlay and shared DB authority, and requires fresh checker/root review before B12 or any macro implementation starts", + "line": 30 + }, + { + "path": ".agent/plans/2026-07-10-engram-production-ready-ownership-state.json", + "owners": [ + "PLAN-GOVERNANCE", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ], + "transfer_gate": "exact rejected A11 is the A12 base; A12 records the fixed-point rejection, exact B12 envelope, 69/69 macro overlay and shared DB authority, and requires fresh checker/root review before B12 or any macro implementation starts", + "line": 30 + }, + { + "path": ".agent/plans/2026-07-10-engram-production-ready-scope-map.json", + "owners": [ + "PLAN-GOVERNANCE", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ], + "transfer_gate": "exact rejected A11 is the A12 base; A12 records the fixed-point rejection, exact B12 envelope, 69/69 macro overlay and shared DB authority, and requires fresh checker/root review before B12 or any macro implementation starts", + "line": 30 + }, + { + "path": ".agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json", + "owners": [ + "PLAN-GOVERNANCE", + "RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12" + ], + "transfer_gate": "exact rejected A11 is the A12 base; A12 records the fixed-point rejection, exact B12 envelope, 69/69 macro overlay and shared DB authority, and requires fresh checker/root review before B12 or any macro implementation starts", + "line": 30 + }, + { + "path": ".agent/specs/release-gates-r10/evidence/release-gates/test-r10-authority-guard.ps1", + "owners": [ + "RELEASE-GATES" + ], + "transfer_gate": "single-owner R10 test/evidence epoch; every path is immutable B10 evidence, maker-authored only, and never substitutes for independent checker or external enforcement evidence", + "line": 31 + }, + { + "path": ".agent/specs/release-gates-r10/evidence/release-gates/R10-AUTHORITY-GUARD.red.json", + "owners": [ + "RELEASE-GATES" + ], + "transfer_gate": "single-owner R10 test/evidence epoch; every path is immutable B10 evidence, maker-authored only, and never substitutes for independent checker or external enforcement evidence", + "line": 31 + }, + { + "path": ".agent/specs/release-gates-r10/evidence/release-gates/authority-guard-simulation.json", + "owners": [ + "RELEASE-GATES" + ], + "transfer_gate": "single-owner R10 test/evidence epoch; every path is immutable B10 evidence, maker-authored only, and never substitutes for independent checker or external enforcement evidence", + "line": 31 + }, + { + "path": ".agent/specs/release-gates-r10/evidence/release-gates/strict-schema-regressions.json", + "owners": [ + "RELEASE-GATES" + ], + "transfer_gate": "single-owner R10 test/evidence epoch; every path is immutable B10 evidence, maker-authored only, and never substitutes for independent checker or external enforcement evidence", + "line": 31 + }, + { + "path": ".agent/specs/release-gates-r10/evidence/release-gates/workflow-conformance.json", + "owners": [ + "RELEASE-GATES" + ], + "transfer_gate": "single-owner R10 test/evidence epoch; every path is immutable B10 evidence, maker-authored only, and never substitutes for independent checker or external enforcement evidence", + "line": 31 + }, + { + "path": ".agent/specs/release-gates-r10/evidence/release-gates/verification-summary.json", + "owners": [ + "RELEASE-GATES" + ], + "transfer_gate": "single-owner R10 test/evidence epoch; every path is immutable B10 evidence, maker-authored only, and never substitutes for independent checker or external enforcement evidence", + "line": 31 + }, + { + "path": ".agent/specs/release-gates-r10/evidence/release-gates/security-review.md", + "owners": [ + "RELEASE-GATES" + ], + "transfer_gate": "single-owner R10 test/evidence epoch; every path is immutable B10 evidence, maker-authored only, and never substitutes for independent checker or external enforcement evidence", + "line": 31 + }, + { + "path": ".agent/reports/2026-07-11-release-gates-r10-maker.md", + "owners": [ + "RELEASE-GATES" + ], + "transfer_gate": "single-owner R10 test/evidence epoch; every path is immutable B10 evidence, maker-authored only, and never substitutes for independent checker or external enforcement evidence", + "line": 31 + }, + { + "path": "docker-compose.yml", + "owners": [ + "IMAGE-REMEDIATION-R2", + "DEPLOYMENT-ROLLBACK" + ], + "transfer_gate": "R2 checker and post-review PASS, `final-image-set.json` recorded, deployment worktree rebased, fresh scan after edits", + "line": 32 + }, + { + "path": "deploy/docker-compose.runtime.yml", + "owners": [ + "IMAGE-REMEDIATION-R2", + "DEPLOYMENT-ROLLBACK" + ], + "transfer_gate": "R2 checker and post-review PASS, `final-image-set.json` recorded, deployment worktree rebased, fresh scan after edits", + "line": 32 + }, + { + "path": "docs/DEPLOYMENT.md", + "owners": [ + "IMAGE-REMEDIATION-R2", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "clean R2 image proof integrated; CORE rebased for M5; FINAL rebased to exact M6 integration and final-version artifact before edit", + "line": 33 + }, + { + "path": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "owners": [ + "IMAGE-REMEDIATION-R2", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "clean R2 image proof integrated; CORE rebased for M5; FINAL rebased to exact M6 integration and final-version artifact before edit", + "line": 33 + }, + { + "path": "README.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 34 + }, + { + "path": "README.ru.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 34 + }, + { + "path": "README.zh.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 34 + }, + { + "path": "CONTRIBUTING.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 34 + }, + { + "path": "CHANGELOG.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 34 + }, + { + "path": "Makefile", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 34 + }, + { + "path": ".env.example", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 34 + }, + { + "path": "docs/MIGRATION.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 34 + }, + { + "path": "docs/arch/CONFIGURATION.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 34 + }, + { + "path": "docs/arch/QUICKSTART.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 34 + }, + { + "path": "docs/public/engram.jpg", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 34 + }, + { + "path": "plugin/engram/commands/setup.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 34 + }, + { + "path": "plugin/engram/commands/doctor.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 34 + }, + { + "path": "internal/worker/dream_cycle.go", + "owners": [ + "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS" + ], + "transfer_gate": "single-owner tracked epoch with no predecessor; the maker starts only after the named dependencies, then requires checker PASS, post-review PASS, integration SHA, and a root plan/state amendment before any later writer", + "line": 35 + }, + { + "path": "internal/worker/dream_cycle_test.go", + "owners": [ + "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS" + ], + "transfer_gate": "single-owner tracked epoch with no predecessor; the maker starts only after the named dependencies, then requires checker PASS, post-review PASS, integration SHA, and a root plan/state amendment before any later writer", + "line": 35 + } + ], + "errors": [ + "state epoch 'Dockerfile' has unsupported transition_kind 'replacement'", + "state epoch '.github/workflows/test.yml' has unsupported transition_kind 'replacement'", + "state epoch '.github/workflows/authority-guard.yml' has unsupported transition_kind 'replacement'", + "state epoch 'scripts/production-gates/assert-active-candidate-path-authority.ps1' has unsupported transition_kind 'replacement'", + "state epoch 'scripts/production-gates/assert-pr-authority-guard.ps1' has unsupported transition_kind 'replacement'", + "state epoch '.agent/plans/2026-07-10-engram-production-ready-master-plan.md' has unsupported transition_kind 'replacement'", + "state epoch '.agent/plans/2026-07-10-engram-production-ready-ownership-state.json' has unsupported transition_kind 'replacement'", + "state epoch '.agent/plans/2026-07-10-engram-production-ready-scope-map.json' has unsupported transition_kind 'replacement'", + "state epoch '.agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json' has unsupported transition_kind 'replacement'", + "state epoch 'internal/mcp/tools_documents.go' has unsupported transition_kind 'replacement'", + "state epoch 'internal/db/gorm/document_store.go' has unsupported transition_kind 'replacement'", + "state epoch 'internal/mcp/document_public_truth_contract_test.go' has unsupported transition_kind 'replacement'" + ] +} diff --git a/.agent/specs/release-gates-r12/evidence/plan-governance/path-envelope.json b/.agent/specs/release-gates-r12/evidence/plan-governance/path-envelope.json new file mode 100644 index 00000000..4dbaf073 --- /dev/null +++ b/.agent/specs/release-gates-r12/evidence/plan-governance/path-envelope.json @@ -0,0 +1,135 @@ +{ + "schema_version": 1, + "branch": "work/prc-release-gates-r15-closed-world-authority", + "required_parent": "887b7c6144a09829a1a3f43ff5a19d3fb27fb7c1", + "rejected_predecessor": { + "head": "887b7c6144a09829a1a3f43ff5a19d3fb27fb7c1", + "verdict": "REJECT_HOLD_COMMITTED_MANIFEST_FIXED_POINT", + "b11_commit_exists": false + }, + "commit_a12": { + "role": "governance", + "required_parent": "887b7c6144a09829a1a3f43ff5a19d3fb27fb7c1", + "paths": [ + ".agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json", + ".agent/plans/2026-07-10-engram-production-ready-master-plan.md", + ".agent/plans/2026-07-10-engram-production-ready-ownership-state.json", + ".agent/plans/2026-07-10-engram-production-ready-scope-map.json", + ".agent/reports/2026-07-11-release-gates-r12-plan-governance.md", + ".agent/specs/release-gates-r12/evidence/plan-governance/R12-PLAN-GOVERNANCE.red.json", + ".agent/specs/release-gates-r12/evidence/plan-governance/authority-snapshot.json", + ".agent/specs/release-gates-r12/evidence/plan-governance/boundary.json", + ".agent/specs/release-gates-r12/evidence/plan-governance/challenge-report.json", + ".agent/specs/release-gates-r12/evidence/plan-governance/fixed-point-proof.json", + ".agent/specs/release-gates-r12/evidence/plan-governance/gates-summary.json", + ".agent/specs/release-gates-r12/evidence/plan-governance/ledger.json", + ".agent/specs/release-gates-r12/evidence/plan-governance/path-envelope.json", + ".agent/specs/release-gates-r12/evidence/plan-governance/test-r12-plan-governance.ps1", + ".agent/specs/release-gates-r12/evidence/plan-governance/verification-summary.json" + ] + }, + "successor_a13": { + "role": "authority-validation hardening", + "required_base": "3c7286ea155ed94fb42aa5225580edb320886fbc", + "changed_paths_must_remain_within_commit_a12_paths": true, + "exact_parent_envelope_path_count": 15, + "finding_classes": [ + "canonical LF/CRLF-stable fixed-point hashing", + "strict nested JSON types", + "epoch approval time lifecycle and stale-loser invariants", + "complete MB1 through MB4 branch member dependency predecessor and path-count bindings", + "complete collision order and nonzero diagnostic-source bindings", + "hostile inverse must fail closed for every checker finding" + ] + }, + "successor_a14": { + "role": "authority false-green closure", + "required_base": "69b4b871911a84f82ba5050d4d567bdac39a8767", + "changed_paths_must_remain_within_commit_a12_paths": true, + "exact_parent_envelope_path_count": 15, + "finding_classes": [ + "strict required-status integration identity type and value", + "exact active epoch time window approval actor and authorized changes", + "immutable tracked macro source path candidate and canonical bytes", + "nonempty unique exact macro maker identities", + "thirty-case hostile matrix with zero false-greens" + ] + }, + "successor_a15": { + "role": "closed-world authority validation", + "required_base": "cf85a59894150bdb122067c7bb2c421b3929f1e6", + "changed_paths_must_remain_within_commit_a12_paths": true, + "exact_parent_envelope_path_count": 15, + "finding_classes": [ + "one immutable-source-bound recursive validator for every authority property type value and nested object", + "missing unknown alias duplicate and direct-bypass shapes fail closed", + "authoritative arrays require exact cardinality order and uniqueness including collision paths", + "raw duplicate and case-alias JSON properties are rejected before ConvertFrom-Json", + "generative property and permutation selftests plus sixty-five-case hostile matrix with zero false-greens" + ] + }, + "commit_b12": { + "role": "implementation", + "required_parent": "COMMIT_A12", + "paths": [ + ".agent/reports/2026-07-11-release-gates-r12-maker.md", + ".agent/specs/release-gates-r12/evidence/release-gates/R12-AUTHORITY-MAINTENANCE.red.json", + ".agent/specs/release-gates-r12/evidence/release-gates/R12-AUTHORITY-MAINTENANCE.tdd.json", + ".agent/specs/release-gates-r12/evidence/release-gates/critical-suite-summary.json", + ".agent/specs/release-gates-r12/evidence/release-gates/fresh-clones.json", + ".agent/specs/release-gates-r12/evidence/release-gates/gates-summary.json", + ".agent/specs/release-gates-r12/evidence/release-gates/linux-harness.json", + ".agent/specs/release-gates-r12/evidence/release-gates/maintenance-simulation.json", + ".agent/specs/release-gates-r12/evidence/release-gates/path-budget.json", + ".agent/specs/release-gates-r12/evidence/release-gates/prove-it.json", + ".agent/specs/release-gates-r12/evidence/release-gates/ruleset-model.json", + ".agent/specs/release-gates-r12/evidence/release-gates/security-review.md", + ".agent/specs/release-gates-r12/evidence/release-gates/test-r12-authority-maintenance.ps1", + ".agent/specs/release-gates-r12/evidence/release-gates/verification-summary.json", + ".agent/specs/release-gates-r12/evidence/release-gates/windows-harness.json", + ".agent/specs/release-gates-r12/evidence/release-gates/workflow-conformance.json", + ".github/workflows/authority-guard.yml", + ".github/workflows/test.yml", + "scripts/production-gates/assert-active-candidate-path-authority.ps1", + "scripts/production-gates/assert-pr-authority-guard.ps1", + "scripts/production-gates/assert-pr-authority-maintenance.ps1" + ] + }, + "db_shared_batch": { + "branch": "work/prc-data-integrity-macro-batch", + "external_base": "fef455bcf640f849c2d40c9bc26a459b5593e10a", + "same_branch_two_exact_non_overlapping_owners": true, + "implementation_is_outside_a12": true, + "superseded_pre_macro_branch": "work/prc-db-governance-project-isolation-r2-long-batch" + }, + "document_r3_successor": { + "slice": "DOCUMENT-INGEST-PUBLIC-TRUTH-R3", + "branch": "work/prc-public-contracts-r3-atomic-remove", + "required_base": "efe1ab5041c514f1a7d9ee8b36e07e5150cfc8e0", + "immutable_head": "9ea95b6adc3a838a459bf78e3ba7a0292153960f", + "immutable_tree": "c15a731de8ca8acac09bce8b209e2a27dd6303cb", + "checker_state": "PENDING_FRESH", + "forbidden_ancestors": [ + "26938199ccdc682295211d16dd736430419cf4ab", + "f3bba8815c97cf2000e46fdb2fbe1414d61a6264" + ], + "exact_paths": [ + ".agent/reports/evidence/production-ready/document-r3-atomic-remove-20260712-0142/summary.json", + ".agent/specs/production-ready-document-r3-atomic-remove/evidence/DOCUMENT-R3-ATOMIC-REMOVE.red.json", + ".agent/specs/production-ready-document-r3-atomic-remove/evidence/DOCUMENT-R3-ATOMIC-REMOVE.tdd.json", + "internal/db/gorm/document_store.go", + "internal/mcp/document_public_truth_contract_test.go", + "internal/mcp/tools_documents.go" + ], + "scope_slot_replacement": true, + "scope_cardinality_after": 69 + }, + "macro_batch_source": { + "path": ".agent/specs/release-gates-r12/evidence/plan-governance/challenge-report.json", + "artifact_candidate": "69b4b871911a84f82ba5050d4d567bdac39a8767", + "source_candidate": "fef455bcf640f849c2d40c9bc26a459b5593e10a", + "canonical_sha256": "645bfc6817fe0f723df11398ee048bb1cfac004264cfa045d444289c51681e06", + "slice_cardinality_before": 69, + "slice_cardinality_after_required": 69 + } +} diff --git a/.agent/specs/release-gates-r12/evidence/plan-governance/test-r12-plan-governance.ps1 b/.agent/specs/release-gates-r12/evidence/plan-governance/test-r12-plan-governance.ps1 new file mode 100644 index 00000000..67434d66 --- /dev/null +++ b/.agent/specs/release-gates-r12/evidence/plan-governance/test-r12-plan-governance.ps1 @@ -0,0 +1,798 @@ +[CmdletBinding()] +param( + [string]$Plan = '.agent/plans/2026-07-10-engram-production-ready-master-plan.md', + [string]$OwnershipState = '.agent/plans/2026-07-10-engram-production-ready-ownership-state.json', + [string]$ScopeMap = '.agent/plans/2026-07-10-engram-production-ready-scope-map.json', + [string]$ActiveContracts = '.agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json', + [string]$PathEnvelope = '.agent/specs/release-gates-r12/evidence/plan-governance/path-envelope.json', + [string]$FixedPointProof = '.agent/specs/release-gates-r12/evidence/plan-governance/fixed-point-proof.json', + [string]$AuthoritySnapshot = '.agent/specs/release-gates-r12/evidence/plan-governance/authority-snapshot.json' +) + +Set-StrictMode -Version Latest +$ErrorActionPreference = 'Stop' + +function Assert-True { + param([bool]$Condition, [string]$Message) + if (-not $Condition) { throw $Message } +} + +function Test-NoDuplicateJsonElement { + param([System.Text.Json.JsonElement]$Element) + + if ($Element.ValueKind -eq [System.Text.Json.JsonValueKind]::Object) { + $names = [System.Collections.Generic.HashSet[string]]::new([System.StringComparer]::OrdinalIgnoreCase) + foreach ($property in $Element.EnumerateObject()) { + if (-not $names.Add($property.Name) -or -not (Test-NoDuplicateJsonElement $property.Value)) { return $false } + } + } elseif ($Element.ValueKind -eq [System.Text.Json.JsonValueKind]::Array) { + foreach ($item in $Element.EnumerateArray()) { + if (-not (Test-NoDuplicateJsonElement $item)) { return $false } + } + } + return $true +} + +function Test-NoDuplicateJsonProperties { + param([string]$Text) + + try { + $document = [System.Text.Json.JsonDocument]::Parse($Text) + } catch { + return $false + } + try { + return Test-NoDuplicateJsonElement $document.RootElement + } finally { + $document.Dispose() + } +} + +function Read-Json { + param([string]$Path) + Assert-True (Test-Path -LiteralPath $Path -PathType Leaf) "required JSON file is missing: $Path" + $text = Get-Content -LiteralPath $Path -Raw + Assert-True (Test-NoDuplicateJsonProperties $text) "JSON contains invalid or duplicate property names: $Path" + return $text | ConvertFrom-Json -Depth 100 +} + +function Copy-Json { + param($Value) + return $Value | ConvertTo-Json -Depth 100 | ConvertFrom-Json -Depth 100 +} + +function Test-HasProperties { + param($Value, [string[]]$Names) + if ($null -eq $Value) { return $false } + foreach ($name in $Names) { + if ($null -eq $Value.PSObject.Properties[$name]) { return $false } + } + return $true +} + +function Test-JsonString { + param($Value, [bool]$AllowEmpty = $false) + return ($Value -is [string] -and ($AllowEmpty -or $Value.Length -gt 0)) +} + +function Test-JsonBoolean { + param($Value) + return ($Value -is [bool]) +} + +function Test-JsonInteger { + param($Value) + return ($Value -is [int] -or $Value -is [long]) +} + +function Test-JsonArray { + param($Value) + return ($Value -is [System.Array]) +} + +function Test-ExactJsonValue { + param($Actual, $Expected) + + if ($null -eq $Actual -or $null -eq $Expected) { return ($null -eq $Actual -and $null -eq $Expected) } + + $actualIsArray = $Actual -is [System.Array] + $expectedIsArray = $Expected -is [System.Array] + if ($actualIsArray -or $expectedIsArray) { + if (-not ($actualIsArray -and $expectedIsArray)) { return $false } + $actualItems = @($Actual) + $expectedItems = @($Expected) + if ($actualItems.Count -ne $expectedItems.Count) { return $false } + for ($index = 0; $index -lt $expectedItems.Count; $index++) { + if (-not (Test-ExactJsonValue $actualItems[$index] $expectedItems[$index])) { return $false } + } + return $true + } + + $actualIsObject = $Actual -is [System.Management.Automation.PSCustomObject] + $expectedIsObject = $Expected -is [System.Management.Automation.PSCustomObject] + if ($actualIsObject -or $expectedIsObject) { + if (-not ($actualIsObject -and $expectedIsObject)) { return $false } + $actualProperties = @($Actual.PSObject.Properties) + $expectedProperties = @($Expected.PSObject.Properties) + if ($actualProperties.Count -ne $expectedProperties.Count) { return $false } + foreach ($expectedProperty in $expectedProperties) { + $matches = @($actualProperties | Where-Object { $_.Name -ceq $expectedProperty.Name }) + if ($matches.Count -ne 1 -or -not (Test-ExactJsonValue $matches[0].Value $expectedProperty.Value)) { return $false } + } + return $true + } + + if ($Expected -is [bool]) { return ($Actual -is [bool] -and $Actual -eq $Expected) } + if ($Expected -is [string]) { return ($Actual -is [string] -and $Actual -ceq $Expected) } + if ($Expected -is [int] -or $Expected -is [long]) { + return (($Actual -is [int] -or $Actual -is [long]) -and [int64]$Actual -eq [int64]$Expected) + } + return ($Actual.GetType() -eq $Expected.GetType() -and [object]::Equals($Actual, $Expected)) +} + +function Test-StrictAuthoritySchema { + param($Contracts, $ImmutableContracts) + + if (-not (Test-HasProperties $Contracts @('authority','external_enforcement','control_plane_maintenance','macro_batches')) -or + -not (Test-HasProperties $ImmutableContracts @('authority','external_enforcement','control_plane_maintenance','macro_batches'))) { return $false } + foreach ($surface in @('authority','external_enforcement','control_plane_maintenance','macro_batches')) { + if (-not (Test-ExactJsonValue $Contracts.$surface $ImmutableContracts.$surface)) { return $false } + } + return $true +} + +function Get-HostileScalar { + param($Value) + if ($null -eq $Value) { return '__unexpected_non_null__' } + if ($Value -is [bool]) { return -not $Value } + if ($Value -is [string]) { return "$Value#drift" } + if ($Value -is [int] -or $Value -is [long]) { return [int64]$Value + 1 } + if ($Value -is [datetime]) { return $Value.AddSeconds(1) } + throw "unsupported canonical scalar type in closed-world selftest: $($Value.GetType().FullName)" +} + +function Assert-ClosedWorldComparerSelfTest { + param($Expected, [string]$Path) + + Assert-True (Test-ExactJsonValue $Expected $Expected) "closed-world baseline rejected at $Path" + if ($Expected -is [System.Array]) { + $items = @($Expected) + if ($items.Count -gt 0) { + Assert-True (-not (Test-ExactJsonValue (@($items) + @($items[0])) $Expected)) "duplicate array item accepted at $Path" + Assert-True (-not (Test-ExactJsonValue @($items | Select-Object -Skip 1) $Expected)) "missing array item accepted at $Path" + if ($items.Count -gt 1 -and -not (Test-ExactJsonValue $items[0] $items[1])) { + $permuted = @($items) + $permuted[0], $permuted[1] = $permuted[1], $permuted[0] + Assert-True (-not (Test-ExactJsonValue $permuted $Expected)) "reordered array accepted at $Path" + } + } + for ($index = 0; $index -lt $items.Count; $index++) { + Assert-ClosedWorldComparerSelfTest $items[$index] "$Path[$index]" + } + return + } + if ($Expected -is [System.Management.Automation.PSCustomObject]) { + $unknown = Copy-Json $Expected + $unknown | Add-Member -NotePropertyName '__closed_world_unknown__' -NotePropertyValue $true + Assert-True (-not (Test-ExactJsonValue $unknown $Expected)) "unknown property accepted at $Path" + foreach ($property in @($Expected.PSObject.Properties)) { + $missing = Copy-Json $Expected + $missing.PSObject.Properties.Remove($property.Name) + Assert-True (-not (Test-ExactJsonValue $missing $Expected)) "missing property accepted at $Path.$($property.Name)" + Assert-ClosedWorldComparerSelfTest $property.Value "$Path.$($property.Name)" + } + return + } + Assert-True (-not (Test-ExactJsonValue (Get-HostileScalar $Expected) $Expected)) "scalar drift accepted at $Path" +} + +function Test-StringArray { + param($Value) + if (-not (Test-JsonArray $Value)) { return $false } + return (@($Value | Where-Object { -not (Test-JsonString $_) }).Count -eq 0) +} + +function Get-CanonicalTextSha256 { + param([string]$Path) + $resolved = (Resolve-Path -LiteralPath $Path).Path + $text = [System.IO.File]::ReadAllText($resolved) + $canonical = $text.Replace("`r`n", "`n").Replace("`r", "`n") + $bytes = [System.Text.UTF8Encoding]::new($false).GetBytes($canonical) + $hash = [System.Security.Cryptography.SHA256]::Create() + try { + return ([System.BitConverter]::ToString($hash.ComputeHash($bytes))).Replace('-', '').ToLowerInvariant() + } finally { + $hash.Dispose() + } +} + +function Set-EqualsOrdinal { + param([object[]]$Actual, [string[]]$Expected) + $left = @($Actual | ForEach-Object { [string]$_ } | Sort-Object -CaseSensitive -Unique) + $right = @($Expected | Sort-Object -CaseSensitive -Unique) + if ($left.Count -ne $right.Count) { return $false } + return (@(Compare-Object -ReferenceObject $right -DifferenceObject $left -CaseSensitive).Count -eq 0) +} + +function Test-ExactStringSequence { + param($Actual, [string[]]$Expected) + if (-not (Test-StringArray $Actual)) { return $false } + $values = @($Actual) + if ($values.Count -ne $Expected.Count) { return $false } + for ($index = 0; $index -lt $Expected.Count; $index++) { + if ($values[$index] -cne $Expected[$index]) { return $false } + } + return $true +} + +function Get-CanonicalJsonEvidence { + param([string]$Path) + if (-not (Test-JsonString $Path) -or + [System.IO.Path]::IsPathRooted($Path) -or + $Path -match '(^|/|\\)\.\.($|/|\\)') { return $null } + try { + $fullPath = (Resolve-Path -LiteralPath $Path -ErrorAction Stop).Path + $canonical = [System.IO.File]::ReadAllText($fullPath).Replace("`r`n", "`n").Replace("`r", "`n") + if (-not (Test-NoDuplicateJsonProperties $canonical)) { return $null } + $json = $canonical | ConvertFrom-Json -Depth 100 + } catch { + return $null + } + $bytes = [System.Text.UTF8Encoding]::new($false).GetBytes($canonical) + $hash = [System.Security.Cryptography.SHA256]::Create() + try { + $sha256 = ([System.BitConverter]::ToString($hash.ComputeHash($bytes))).Replace('-', '').ToLowerInvariant() + } finally { + $hash.Dispose() + } + return [pscustomobject]@{ sha256 = $sha256; json = $json } +} + +function Test-SelfReferencePolicy { + param($Contracts) + if (-not (Test-HasProperties $Contracts @('control_plane_maintenance'))) { return $false } + $maintenance = $Contracts.control_plane_maintenance + if (-not (Test-HasProperties $maintenance @( + 'schema_version','transition_manifest','manifest_binding_policy', + 'trusted_execution_artifact_policy','head_execution_policy' + ))) { return $false } + $binding = $maintenance.manifest_binding_policy + $trusted = $maintenance.trusted_execution_artifact_policy + $head = $maintenance.head_execution_policy + if (-not (Test-HasProperties $binding @( + 'committed_manifest_required_fields','committed_manifest_forbidden_self_references', + 'manifest_container_excluded_from_protected_head_blobs','all_other_protected_head_blobs_required', + 'canonical_manifest_sha256_required','external_mutable_payload_is_sole_authority' + ))) { return $false } + if (-not (Test-HasProperties $trusted @( + 'required_fields','binds_actual_event_head_after_checkout', + 'binds_actual_manifest_container_blob_after_checkout','candidate_artifact_is_data_only' + ))) { return $false } + if (-not (Test-HasProperties $head @( + 'pull_request_target_executes_trusted_base_only','pull_request_successor_selftest_is_unprivileged', + 'pull_request_successor_selftest_uses_secrets','trusted_execution_artifact_required', + 'candidate_supplied_execution_artifact_forbidden' + ))) { return $false } + $required = @($binding.committed_manifest_required_fields) + $forbidden = @($binding.committed_manifest_forbidden_self_references) + $trustedFields = @($trusted.required_fields) + return ( + (Test-JsonInteger $maintenance.schema_version) -and $maintenance.schema_version -eq 2 -and + $null -eq $maintenance.transition_manifest -and + (Test-StringArray $binding.committed_manifest_required_fields) -and + (Test-StringArray $binding.committed_manifest_forbidden_self_references) -and + (Test-StringArray $trusted.required_fields) -and + (Test-JsonBoolean $binding.manifest_container_excluded_from_protected_head_blobs) -and $binding.manifest_container_excluded_from_protected_head_blobs -eq $true -and + (Test-JsonBoolean $binding.all_other_protected_head_blobs_required) -and $binding.all_other_protected_head_blobs_required -eq $true -and + (Test-JsonBoolean $binding.canonical_manifest_sha256_required) -and $binding.canonical_manifest_sha256_required -eq $true -and + (Test-JsonBoolean $binding.external_mutable_payload_is_sole_authority) -and $binding.external_mutable_payload_is_sole_authority -eq $false -and + ('event_head_sha' -cnotin $required) -and + ('manifest_container_git_blob' -cnotin $required) -and + ('event_head_sha' -cin $forbidden) -and + ('manifest_container_git_blob' -cin $forbidden) -and + ('protected_head_blobs_except_manifest_container' -cin $required) -and + ('event_head_sha' -cin $trustedFields) -and + ('manifest_container_git_blob' -cin $trustedFields) -and + (Test-JsonBoolean $trusted.binds_actual_event_head_after_checkout) -and $trusted.binds_actual_event_head_after_checkout -eq $true -and + (Test-JsonBoolean $trusted.binds_actual_manifest_container_blob_after_checkout) -and $trusted.binds_actual_manifest_container_blob_after_checkout -eq $true -and + (Test-JsonBoolean $trusted.candidate_artifact_is_data_only) -and $trusted.candidate_artifact_is_data_only -eq $true -and + (Test-JsonBoolean $head.pull_request_target_executes_trusted_base_only) -and $head.pull_request_target_executes_trusted_base_only -eq $true -and + (Test-JsonBoolean $head.pull_request_successor_selftest_is_unprivileged) -and $head.pull_request_successor_selftest_is_unprivileged -eq $true -and + (Test-JsonBoolean $head.pull_request_successor_selftest_uses_secrets) -and $head.pull_request_successor_selftest_uses_secrets -eq $false -and + (Test-JsonBoolean $head.trusted_execution_artifact_required) -and $head.trusted_execution_artifact_required -eq $true -and + (Test-JsonBoolean $head.candidate_supplied_execution_artifact_forbidden) -and $head.candidate_supplied_execution_artifact_forbidden -eq $true + ) +} + +function Test-EpochPolicy { + param($Contracts) + if (-not (Test-HasProperties $Contracts @('control_plane_maintenance'))) { return $false } + $maintenance = $Contracts.control_plane_maintenance + if (-not (Test-HasProperties $maintenance @('active_epoch','consumed_epochs','lifecycle_policy','replay_policy'))) { return $false } + $active = $maintenance.active_epoch + $lifecycle = $maintenance.lifecycle_policy + $replay = $maintenance.replay_policy + if (-not (Test-HasProperties $active @('epoch','state','reason','not_before','expires_at','max_manifest_ttl_seconds','approval','exact_changes'))) { return $false } + if (-not (Test-HasProperties $active.approval @('actor_login','actor_id','actor_type','association','label','approval_epoch'))) { return $false } + if (-not (Test-HasProperties $lifecycle @( + 'states','initial_state','active_to_consumed_requires_accepted_exact_transition', + 'active_to_expired_occurs_at_epoch_expiry','consumed_or_expired_epoch_cannot_reopen', + 'successor_epoch_must_be_monotonic_and_new','max_epoch_lifetime_seconds', + 'rotate_before_expiry_seconds','automatic_extension','expired_epoch_reseed_requires_audited_pr_only_recovery_actor' + ))) { return $false } + if (-not (Test-HasProperties $replay @( + 'strict_latest_base','require_event_base_equals_current_default_branch','require_consumed_epoch_transition', + 'require_bounded_successor_epoch','two_pr_race_loser_must_be_stale','new_base_rejects_consumed_epoch' + ))) { return $false } + + $notBefore = [DateTimeOffset]::MinValue + $expiresAt = [DateTimeOffset]::MinValue + $timestampStyles = [Globalization.DateTimeStyles]::AssumeUniversal -bor [Globalization.DateTimeStyles]::AdjustToUniversal + if ($active.not_before -is [datetime]) { + $notBefore = [DateTimeOffset]::new($active.not_before.ToUniversalTime()) + } elseif (-not (Test-JsonString $active.not_before) -or + -not [DateTimeOffset]::TryParse($active.not_before, [Globalization.CultureInfo]::InvariantCulture, $timestampStyles, [ref]$notBefore)) { return $false } + if ($active.expires_at -is [datetime]) { + $expiresAt = [DateTimeOffset]::new($active.expires_at.ToUniversalTime()) + } elseif (-not (Test-JsonString $active.expires_at) -or + -not [DateTimeOffset]::TryParse($active.expires_at, [Globalization.CultureInfo]::InvariantCulture, $timestampStyles, [ref]$expiresAt)) { return $false } + $lifetime = [int64]($expiresAt - $notBefore).TotalSeconds + $expectedNotBefore = [DateTimeOffset]::Parse('2026-07-11T00:00:00Z', [Globalization.CultureInfo]::InvariantCulture, $timestampStyles) + $expectedExpiresAt = [DateTimeOffset]::Parse('2026-10-09T00:00:00Z', [Globalization.CultureInfo]::InvariantCulture, $timestampStyles) + + if (-not ( + (Test-JsonString $active.epoch) -and $active.epoch -ceq 'r12-0001' -and + (Test-JsonString $active.state) -and $active.state -ceq 'open' -and + (Test-JsonString $active.reason) -and $active.reason -ceq 'self-reference-free control-plane evolution after rejected A11' -and + (Test-JsonInteger $active.max_manifest_ttl_seconds) -and [int64]$active.max_manifest_ttl_seconds -eq 86400 -and + (Test-JsonString $active.approval.actor_login) -and $active.approval.actor_login -ceq 'thebtf' -and + (Test-JsonInteger $active.approval.actor_id) -and [int64]$active.approval.actor_id -eq 7106373 -and + (Test-JsonString $active.approval.actor_type) -and $active.approval.actor_type -ceq 'User' -and + (Test-JsonString $active.approval.association) -and $active.approval.association -ceq 'OWNER' -and + (Test-JsonString $active.approval.label) -and (Test-JsonString $active.approval.approval_epoch) -and + $active.approval.approval_epoch -ceq $active.epoch -and $active.approval.label -ceq "authority-maintenance:$($active.epoch)" -and + (Test-JsonArray $active.exact_changes) -and @($active.exact_changes).Count -gt 0 + )) { return $false } + $changeKeys = @() + foreach ($change in @($active.exact_changes)) { + if (-not (Test-HasProperties $change @('status','path')) -or + -not (Test-JsonString $change.status) -or $change.status -cnotmatch '^[AMDR]$' -or + -not (Test-JsonString $change.path)) { return $false } + $changeKeys += "$($change.status)`t$($change.path)" + } + $expectedChangeKeys = @( + "M`t.agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json", + "M`t.agent/plans/2026-07-10-engram-production-ready-master-plan.md", + "M`t.agent/plans/2026-07-10-engram-production-ready-ownership-state.json", + "M`t.agent/plans/2026-07-10-engram-production-ready-scope-map.json", + "M`t.github/workflows/authority-guard.yml", + "M`t.github/workflows/test.yml", + "M`tscripts/production-gates/assert-active-candidate-path-authority.ps1", + "M`tscripts/production-gates/assert-pr-authority-guard.ps1", + "M`tscripts/production-gates/assert-pr-authority-maintenance.ps1" + ) + if (@($changeKeys | Sort-Object -CaseSensitive -Unique).Count -ne $changeKeys.Count -or + -not (Test-ExactStringSequence $changeKeys $expectedChangeKeys)) { return $false } + + if (-not ( + $notBefore -eq $expectedNotBefore -and $expiresAt -eq $expectedExpiresAt -and + $notBefore -le [DateTimeOffset]::UtcNow -and $expiresAt -gt [DateTimeOffset]::UtcNow -and + (Test-JsonInteger $lifecycle.max_epoch_lifetime_seconds) -and [int64]$lifecycle.max_epoch_lifetime_seconds -gt 0 -and + $lifetime -le [int64]$lifecycle.max_epoch_lifetime_seconds -and + [int64]$active.max_manifest_ttl_seconds -le $lifetime -and + (Test-JsonInteger $lifecycle.rotate_before_expiry_seconds) -and [int64]$lifecycle.rotate_before_expiry_seconds -gt 0 -and + [int64]$lifecycle.rotate_before_expiry_seconds -lt $lifetime -and + (Test-StringArray $lifecycle.states) -and + (@(Compare-Object @($lifecycle.states) @('active','consumed','expired') -SyncWindow 0 -CaseSensitive).Count -eq 0) -and + (Test-JsonString $lifecycle.initial_state) -and $lifecycle.initial_state -ceq 'active' + )) { return $false } + + foreach ($field in @( + 'active_to_consumed_requires_accepted_exact_transition','active_to_expired_occurs_at_epoch_expiry', + 'consumed_or_expired_epoch_cannot_reopen','successor_epoch_must_be_monotonic_and_new', + 'expired_epoch_reseed_requires_audited_pr_only_recovery_actor' + )) { + if (-not (Test-JsonBoolean $lifecycle.$field) -or $lifecycle.$field -ne $true) { return $false } + } + if (-not (Test-JsonBoolean $lifecycle.automatic_extension) -or $lifecycle.automatic_extension -ne $false) { return $false } + foreach ($field in @( + 'strict_latest_base','require_event_base_equals_current_default_branch','require_consumed_epoch_transition', + 'require_bounded_successor_epoch','two_pr_race_loser_must_be_stale','new_base_rejects_consumed_epoch' + )) { + if (-not (Test-JsonBoolean $replay.$field) -or $replay.$field -ne $true) { return $false } + } + + if (-not (Test-JsonArray $maintenance.consumed_epochs)) { return $false } + $seenEpochs = @($active.epoch) + foreach ($epoch in @($maintenance.consumed_epochs)) { + if (-not (Test-HasProperties $epoch @('epoch','state')) -or + -not (Test-JsonString $epoch.epoch) -or + -not (Test-JsonString $epoch.state) -or + $epoch.state -cnotin @('consumed','expired') -or + $epoch.epoch -cin $seenEpochs) { return $false } + $seenEpochs += $epoch.epoch + } + return $true +} + +function Get-MacroErrors { + param($Scope, $Contracts, $Snapshot) + $errors = [System.Collections.Generic.List[string]]::new() + if (-not (Test-HasProperties $Scope @('entries')) -or -not (Test-JsonArray $Scope.entries)) { + return @('scope entries must be an array') + } + if (-not (Test-HasProperties $Contracts @('macro_batches')) -or + -not (Test-HasProperties $Contracts.macro_batches @( + 'schema_version','source','slice_cardinality_before','slice_cardinality_after', + 'grouped_existing_slice_count','acceptance_unit','internal_commits_are_separate_acceptance_units', + 'dependency_order','batches','collision_serialization','undeclared_overlap_allowed', + 'member_branch_override_allowed' + ))) { return @('macro contract shape is incomplete') } + if (-not (Test-HasProperties $Snapshot @('macro_diagnostic')) -or + -not (Test-HasProperties $Snapshot.macro_diagnostic @('path','sha256','artifact_candidate','verdict','source_candidate'))) { + return @('macro source snapshot shape is incomplete') + } + $expected = [ordered]@{ + MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY = @( + 'DB-GOVERNANCE','DB-RULES-ISOLATION','CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK', + 'INGEST-DOC-SNAPSHOT-DEMOLITION','MCP-STRUCTURED-INPUT-VALIDATION', + 'CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS','RETRIEVAL-VECTOR-CONTRACT', + 'STATIC-EMBED-CONTRACT','PRE-V5-UPGRADE-CONTRACT' + ) + MB2_RUNTIME_SECURITY_PRIVACY_AND_V7 = @( + 'DB-AUTH','AUTH-BOOTSTRAP-SECURITY','DURABLE-AUDIT-BOUNDARIES', + 'PRIVACY-BOUNDARIES','REDACTION-LIVE-CONTRACT','OBSERVABILITY-OTLP', + 'S4B-CONTRACT','V7-S4B-BACKEND','V7-CORE-CALLPATH', + 'V7-TELEMETRY-WIRING','V7-RUNTIME-WIRING' + ) + MB3_DELIVERY_OPERATIONS_UI_CUSTOMER_AND_COVERAGE = @( + 'IMAGE-REMEDIATION-R2','DEPLOYMENT-ROLLBACK','RECOVERY-DATA','UPDATE-LIFECYCLE', + 'OPENCLAW-RELEASE','LAUNCHER-FIRST-RUN','CRITICAL-HARNESS','OC-INTEGRATION', + 'ROADMAP-RECONCILIATION','CORE-PUBLIC-TRUTH','COVERAGE-CMD-ENGRAM', + 'COVERAGE-CMD-SERVER','COVERAGE-UPDATE','COVERAGE-WORKER','COVERAGE-MCP', + 'COVERAGE-GORM','COVERAGE-LOOM' + ) + MB4_NORTHSTAR_CONTRACT_FREEZE = @( + 'NORTHSTAR-CI-A-CONTRACTS','NORTHSTAR-CI-B-CONTRACTS','NORTHSTAR-BOOK-CONTRACTS', + 'NORTHSTAR-MEM-CONTRACTS','NORTHSTAR-EFFECTIVENESS-CONTRACTS','NORTHSTAR-SETTINGS-CONTRACTS' + ) + } + $branches = [ordered]@{ + MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY = 'work/prc-data-integrity-macro-batch' + MB2_RUNTIME_SECURITY_PRIVACY_AND_V7 = 'work/prc-runtime-security-v7-macro-batch' + MB3_DELIVERY_OPERATIONS_UI_CUSTOMER_AND_COVERAGE = 'work/prc-delivery-operations-experience-macro-batch' + MB4_NORTHSTAR_CONTRACT_FREEZE = 'work/prc-northstar-contracts-macro-batch' + } + $makers = [ordered]@{ + MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY = $expected.MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY + MB2_RUNTIME_SECURITY_PRIVACY_AND_V7 = @($expected.MB2_RUNTIME_SECURITY_PRIVACY_AND_V7 | Where-Object { $_ -cne 'DB-AUTH' }) + MB3_DELIVERY_OPERATIONS_UI_CUSTOMER_AND_COVERAGE = @($expected.MB3_DELIVERY_OPERATIONS_UI_CUSTOMER_AND_COVERAGE | Where-Object { $_ -cne 'IMAGE-REMEDIATION-R2' }) + MB4_NORTHSTAR_CONTRACT_FREEZE = $expected.MB4_NORTHSTAR_CONTRACT_FREEZE + } + $dependencies = [ordered]@{ + MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY = @('exact:fef455bcf640f849c2d40c9bc26a459b5593e10a') + MB2_RUNTIME_SECURITY_PRIVACY_AND_V7 = @('MB0_CONTROL_SUPPLY_PUBLIC','MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY','accepted:DB-AUTH') + MB3_DELIVERY_OPERATIONS_UI_CUSTOMER_AND_COVERAGE = @('MB0_CONTROL_SUPPLY_PUBLIC','MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY','MB2_RUNTIME_SECURITY_PRIVACY_AND_V7') + MB4_NORTHSTAR_CONTRACT_FREEZE = @('M5_PUBLISHED_POST_RELEASE_PROVED') + } + $predecessors = [ordered]@{ + MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY = @() + MB2_RUNTIME_SECURITY_PRIVACY_AND_V7 = @('DB-AUTH') + MB3_DELIVERY_OPERATIONS_UI_CUSTOMER_AND_COVERAGE = @('IMAGE-REMEDIATION-R2') + MB4_NORTHSTAR_CONTRACT_FREEZE = @() + } + $annotated = @($Scope.entries | Where-Object { $null -ne $_.PSObject.Properties['macro_batch'] }) + if ($annotated.Count -ne 43) { $errors.Add("macro annotated scope count is $($annotated.Count), expected 43") } + foreach ($macro in $expected.Keys) { + $rows = @($annotated | Where-Object { $_.macro_batch -ceq $macro }) + if (-not (Set-EqualsOrdinal $rows.slice $expected[$macro])) { $errors.Add("$macro scope members drifted") } + foreach ($row in $rows) { + if ([string]$row.macro_branch -cne $branches[$macro]) { $errors.Add("$($row.slice) uses wrong macro branch") } + } + if (@($Scope.entries | Where-Object { $_.slice -ceq $macro }).Count -ne 0) { $errors.Add("macro id $macro was added as a replacement slice") } + } + $macroContract = $Contracts.macro_batches + if (-not (Test-JsonInteger $macroContract.schema_version) -or $macroContract.schema_version -ne 1) { $errors.Add('macro schema version must be integer 1') } + $expectedSourcePath = '.agent/specs/release-gates-r12/evidence/plan-governance/challenge-report.json' + $expectedArtifactCandidate = '69b4b871911a84f82ba5050d4d567bdac39a8767' + $expectedSourceCandidate = 'fef455bcf640f849c2d40c9bc26a459b5593e10a' + $expectedSourceSha256 = '645bfc6817fe0f723df11398ee048bb1cfac004264cfa045d444289c51681e06' + $sourceEvidence = Get-CanonicalJsonEvidence $expectedSourcePath + if (-not (Test-HasProperties $macroContract.source @('path','sha256','artifact_candidate','source_candidate','verdict')) -or + -not (Test-JsonString $macroContract.source.path) -or + -not (Test-JsonString $macroContract.source.sha256) -or + -not (Test-JsonString $macroContract.source.artifact_candidate) -or + -not (Test-JsonString $macroContract.source.source_candidate) -or + -not (Test-JsonString $macroContract.source.verdict) -or + $macroContract.source.path -cne $expectedSourcePath -or + $macroContract.source.sha256 -cne $expectedSourceSha256 -or + $macroContract.source.artifact_candidate -cne $expectedArtifactCandidate -or + $macroContract.source.source_candidate -cne $expectedSourceCandidate -or + $macroContract.source.path -cne $Snapshot.macro_diagnostic.path -or + $macroContract.source.sha256 -cnotmatch '^(?!0{64}$)[0-9a-f]{64}$' -or + $macroContract.source.sha256 -cne $Snapshot.macro_diagnostic.sha256 -or + $macroContract.source.artifact_candidate -cne $Snapshot.macro_diagnostic.artifact_candidate -or + $macroContract.source.source_candidate -cne $Snapshot.macro_diagnostic.source_candidate -or + $macroContract.source.verdict -cne 'feasible' -or + $Snapshot.macro_diagnostic.verdict -cne 'DIAGNOSTIC_FREEZE_MACRO_BATCHING_FEASIBLE' -or + $null -eq $sourceEvidence -or + $sourceEvidence.sha256 -cne $expectedSourceSha256 -or + -not (Test-HasProperties $sourceEvidence.json @('verdict','verified_live_facts','macro_rechallenge')) -or + $sourceEvidence.json.verdict -cne 'GO' -or + $sourceEvidence.json.macro_rechallenge.verdict -cne 'GO' -or + $sourceEvidence.json.verified_live_facts.external_db_base -cne $expectedSourceCandidate -or + $sourceEvidence.json.verified_live_facts.macro_diagnostic_sha256 -cne '34bcdf4d7a708b22a1e33a6e174206cc32e83aeb09c7b6f191ee7b5b6f90f061') { + $errors.Add('macro diagnostic source binding drifted') + } + if (-not (Test-JsonInteger $macroContract.slice_cardinality_before) -or + -not (Test-JsonInteger $macroContract.slice_cardinality_after) -or + $macroContract.slice_cardinality_before -ne 69 -or $macroContract.slice_cardinality_after -ne 69) { $errors.Add('macro cardinality must remain integer 69/69') } + if (-not (Test-JsonInteger $macroContract.grouped_existing_slice_count) -or $macroContract.grouped_existing_slice_count -ne 43) { $errors.Add('macro grouped slice count must remain integer 43') } + if (-not (Test-JsonString $macroContract.acceptance_unit) -or + $macroContract.acceptance_unit -cne 'one immutable macro head plus one fresh maker-distinct checker and root post-review') { $errors.Add('macro acceptance unit drifted') } + if (-not (Test-JsonBoolean $macroContract.internal_commits_are_separate_acceptance_units) -or + $macroContract.internal_commits_are_separate_acceptance_units -ne $false) { $errors.Add('internal commits became acceptance units') } + $expectedOrder = @('MB0_CONTROL_SUPPLY_PUBLIC','MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY','MB2_RUNTIME_SECURITY_PRIVACY_AND_V7','MB3_DELIVERY_OPERATIONS_UI_CUSTOMER_AND_COVERAGE','M5_PUBLISHED_POST_RELEASE_PROVED','MB4_NORTHSTAR_CONTRACT_FREEZE') + if (-not (Test-StringArray $macroContract.dependency_order) -or + -not (Set-EqualsOrdinal $macroContract.dependency_order $expectedOrder) -or + (@(Compare-Object @($macroContract.dependency_order) $expectedOrder -SyncWindow 0 -CaseSensitive).Count -ne 0)) { $errors.Add('macro dependency order drifted') } + if (-not (Test-JsonBoolean $macroContract.undeclared_overlap_allowed) -or $macroContract.undeclared_overlap_allowed -ne $false -or + -not (Test-JsonBoolean $macroContract.member_branch_override_allowed) -or $macroContract.member_branch_override_allowed -ne $false) { $errors.Add('macro overlap or branch override must fail closed') } + if (-not (Test-JsonArray $macroContract.batches) -or @($macroContract.batches).Count -ne 4) { + $errors.Add('macro batch list must contain exactly four objects') + } else { + foreach ($id in $expected.Keys) { + $batchRows = @($macroContract.batches | Where-Object { $_.PSObject.Properties['id'] -and $_.id -ceq $id }) + if ($batchRows.Count -ne 1) { $errors.Add("$id must have exactly one batch contract"); continue } + $batch = $batchRows[0] + if (-not (Test-HasProperties $batch @('id','branch','dependencies','accepted_predecessors')) -or + -not (Test-JsonString $batch.id) -or + -not (Test-JsonString $batch.branch) -or $batch.branch -cne $branches[$id] -or + -not (Test-StringArray $batch.dependencies) -or + (@(Compare-Object @($batch.dependencies) @($dependencies[$id]) -SyncWindow 0 -CaseSensitive).Count -ne 0) -or + -not (Test-StringArray $batch.accepted_predecessors) -or + (@(Compare-Object @($batch.accepted_predecessors) @($predecessors[$id]) -SyncWindow 0 -CaseSensitive).Count -ne 0)) { + $errors.Add("$id identity, branch, dependency, or predecessor contract drifted") + continue + } + $makerProperty = if ($id -ceq 'MB4_NORTHSTAR_CONTRACT_FREEZE') { 'contract_makers' } else { 'makers' } + if ($null -eq $batch.PSObject.Properties[$makerProperty] -or + -not (Test-ExactStringSequence $batch.$makerProperty $makers[$id])) { + $errors.Add("$id maker contract drifted") + } + if ($id -ceq 'MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY' -and + ($null -eq $batch.PSObject.Properties['base_anchor'] -or + -not (Test-JsonString $batch.base_anchor) -or + $batch.base_anchor -cne 'fef455bcf640f849c2d40c9bc26a459b5593e10a')) { $errors.Add('MB1 base drifted') } + if ($id -ceq 'MB4_NORTHSTAR_CONTRACT_FREEZE' -and + ($null -eq $batch.PSObject.Properties['exact_disjoint_contract_path_count'] -or + -not (Test-JsonInteger $batch.exact_disjoint_contract_path_count) -or + $batch.exact_disjoint_contract_path_count -ne 31)) { $errors.Add('MB4 exact path count drifted') } + } + } + $dbGovernance = @($Contracts.pending_namespaces | Where-Object slice -eq 'MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY')[0].exact_r12_overrides | Where-Object slice -eq 'DB-GOVERNANCE' + if (@($dbGovernance.exact_paths).Count -ne 4 -or 'internal/db/gorm/candidate_store.go' -cnotin @($dbGovernance.forbidden_paths) -or 'internal/db/gorm/candidate_store_test.go' -cnotin @($dbGovernance.forbidden_paths)) { $errors.Add('DB-GOVERNANCE overlap closure drifted') } + $expectedCollisions = @( + [pscustomobject]@{ paths=@('internal/db/gorm/candidate_store.go','internal/db/gorm/candidate_store_test.go'); order=@('CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK'); source=@('DB-GOVERNANCE','CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK') }, + [pscustomobject]@{ paths=@('internal/db/gorm/user_store.go'); order=@('DB-AUTH','AUTH-BOOTSTRAP-SECURITY','DURABLE-AUDIT-BOUNDARIES'); source=$null }, + [pscustomobject]@{ paths=@('internal/worker/auth_handlers.go'); order=@('DB-AUTH','AUTH-BOOTSTRAP-SECURITY','DURABLE-AUDIT-BOUNDARIES'); source=$null }, + [pscustomobject]@{ paths=@('internal/worker/service.go'); order=@('AUTH-BOOTSTRAP-SECURITY','REDACTION-LIVE-CONTRACT','V7-RUNTIME-WIRING'); source=$null }, + [pscustomobject]@{ paths=@('internal/db/gorm/memory_store.go'); order=@('DB-RULES-ISOLATION','PRIVACY-BOUNDARIES'); source=$null }, + [pscustomobject]@{ paths=@('docker-compose.yml','deploy/docker-compose.runtime.yml'); order=@('IMAGE-REMEDIATION-R2','DEPLOYMENT-ROLLBACK'); source=$null }, + [pscustomobject]@{ paths=@('docs/DEPLOYMENT.md','docs/PRODUCTION-TESTING-PLAYBOOK.md'); order=@('IMAGE-REMEDIATION-R2','CORE-PUBLIC-TRUTH'); source=$null } + ) + if (-not (Test-JsonArray $macroContract.collision_serialization) -or @($macroContract.collision_serialization).Count -ne $expectedCollisions.Count) { + $errors.Add('collision serialization list drifted') + } else { + foreach ($expectedCollision in $expectedCollisions) { + $matches = @($macroContract.collision_serialization | Where-Object { + $_.PSObject.Properties['paths'] -and (Test-ExactStringSequence $_.paths $expectedCollision.paths) + }) + if ($matches.Count -ne 1) { $errors.Add("collision contract missing for $($expectedCollision.paths -join ',')"); continue } + $collision = $matches[0] + if (-not (Test-HasProperties $collision @('effective_order')) -or + -not (Test-StringArray $collision.effective_order) -or + (@(Compare-Object @($collision.effective_order) @($expectedCollision.order) -SyncWindow 0 -CaseSensitive).Count -ne 0)) { + $errors.Add("collision order drifted for $($expectedCollision.paths -join ',')") + } + if ($null -ne $expectedCollision.source -and + ($null -eq $collision.PSObject.Properties['source_order'] -or + -not (Test-StringArray $collision.source_order) -or + (@(Compare-Object @($collision.source_order) @($expectedCollision.source) -SyncWindow 0 -CaseSensitive).Count -ne 0))) { + $errors.Add('candidate-store source order drifted') + } + } + } + return @($errors) +} + +function Test-DocumentR3 { + param($Scope, $Contracts, $State) + $row = @($Scope.entries | Where-Object slice -eq 'DOCUMENT-INGEST-PUBLIC-TRUTH-R3') + $pending = @($Contracts.pending_namespaces | Where-Object slice -eq 'DOCUMENT-INGEST-PUBLIC-TRUTH-R3') + if ($row.Count -ne 1 -or $pending.Count -ne 1) { return $false } + $document = $pending[0] + $paths = @($document.exact_paths) + if ($document.base_anchor -cne 'efe1ab5041c514f1a7d9ee8b36e07e5150cfc8e0') { return $false } + if ($document.immutable_head -cne '9ea95b6adc3a838a459bf78e3ba7a0292153960f' -or $document.immutable_tree -cne 'c15a731de8ca8acac09bce8b209e2a27dd6303cb') { return $false } + if ('f3bba8815c97cf2000e46fdb2fbe1414d61a6264' -cnotin @($document.forbidden_bases)) { return $false } + $expectedPaths = @( + '.agent/reports/evidence/production-ready/document-r3-atomic-remove-20260712-0142/summary.json', + '.agent/specs/production-ready-document-r3-atomic-remove/evidence/DOCUMENT-R3-ATOMIC-REMOVE.red.json', + '.agent/specs/production-ready-document-r3-atomic-remove/evidence/DOCUMENT-R3-ATOMIC-REMOVE.tdd.json', + 'internal/db/gorm/document_store.go', + 'internal/mcp/document_public_truth_contract_test.go', + 'internal/mcp/tools_documents.go' + ) + if (-not (Set-EqualsOrdinal $paths $expectedPaths)) { return $false } + $contract = $document.acceptance_contract + if (-not $contract.remove_document_split_precheck_forbidden -or $contract.remove_document_transition -notmatch 'active=true' -or $contract.remove_document_transition -notmatch 'RowsAffected=1') { return $false } + if ($contract.store_logic_and_schema_byte_identical -or -not $contract.schema_and_unrelated_store_logic_byte_identical) { return $false } + $storeEpoch = @($State.path_epochs | Where-Object path -eq 'internal/db/gorm/document_store.go') + $toolEpoch = @($State.path_epochs | Where-Object path -eq 'internal/mcp/tools_documents.go') + return ($storeEpoch.Count -eq 1 -and $toolEpoch.Count -eq 1 -and $storeEpoch[0].current_owner -ceq 'DOCUMENT-INGEST-PUBLIC-TRUTH-R3' -and $toolEpoch[0].current_owner -ceq 'DOCUMENT-INGEST-PUBLIC-TRUTH-R3' -and $storeEpoch[0].change_constraint -match 'RowsAffected' -and $toolEpoch[0].mutation_edge_constraint -match 'remove the split GetDocument') +} + +$planText = Get-Content -LiteralPath $Plan -Raw +$state = Read-Json $OwnershipState +$scope = Read-Json $ScopeMap +$contracts = Read-Json $ActiveContracts +$envelope = Read-Json $PathEnvelope +$fixedPoint = Read-Json $FixedPointProof +$snapshot = Read-Json $AuthoritySnapshot +$trustedAuthorityContractsSha256 = '6665a80d30c2b45319b8c8adce05430c6f6e3913ded92313c4ebbb381f11c9f6' +$immutableContractsPath = '.agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json' +Assert-True ((Get-CanonicalTextSha256 $ActiveContracts) -ceq $trustedAuthorityContractsSha256) 'release authority manifest drifted from trusted closed-world digest' +Assert-True (Test-StrictAuthoritySchema $contracts $contracts) 'release authority schema is incomplete' +$canonicalContractsPath = [System.IO.Path]::GetFullPath((Join-Path (Get-Location) $immutableContractsPath)) +if ([System.IO.Path]::GetFullPath($ActiveContracts) -ceq $canonicalContractsPath) { + Assert-True (-not (Test-NoDuplicateJsonProperties '{"outer":{"field":1,"field":2}}')) 'duplicate JSON property was accepted' + Assert-True (-not (Test-NoDuplicateJsonProperties '{"outer":{"field":1,"Field":2}}')) 'case-alias JSON property was accepted' + foreach ($surface in @('authority','external_enforcement','control_plane_maintenance','macro_batches')) { + Assert-ClosedWorldComparerSelfTest $contracts.$surface $surface + } +} +Assert-True ($planText -match 'Revision:\s*12') 'master plan does not declare revision 12' +Assert-True ($planText.Contains('RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12')) 'master plan lacks R12 owner' +Assert-True ($planText.Contains('R12 Macro-Batch Execution Overlay')) 'master plan lacks macro overlay' +Assert-True ($planText.Contains('DOCUMENT-INGEST-PUBLIC-TRUTH-R3')) 'master plan lacks Document R3 successor' +Assert-True (@($scope.entries).Count -eq 69) 'scope map must remain 69 rows' +Assert-True (@($scope.entries.slice | Sort-Object -CaseSensitive -Unique).Count -eq 69) 'scope slice identities must remain 69 unique rows' +Assert-True ([int]$contracts.revision -eq 12) 'active contracts revision must be 12' +Assert-True ($contracts.authority.r12_required_base -ceq '887b7c6144a09829a1a3f43ff5a19d3fb27fb7c1') 'A12 exact parent drifted' +Assert-True ($fixedPoint.verdict -ceq 'REJECT_A11_HOLD_B11') 'fixed-point proof must reject A11 and hold B11' +$fixedPointHash = Get-CanonicalTextSha256 $FixedPointProof +Assert-True ($fixedPointHash -ceq [string]$contracts.authority.a11_fixed_point_evidence_sha256) 'fixed-point proof hash does not match active authority' +$proofText = [System.IO.File]::ReadAllText((Resolve-Path -LiteralPath $FixedPointProof).Path).Replace("`r`n", "`n").Replace("`r", "`n") +$crlfProof = [System.IO.Path]::GetTempFileName() +try { + [System.IO.File]::WriteAllText($crlfProof, $proofText.Replace("`n", "`r`n"), [System.Text.UTF8Encoding]::new($false)) + Assert-True ((Get-CanonicalTextSha256 $crlfProof) -ceq $fixedPointHash) 'fixed-point proof canonical hash changes under CRLF checkout' +} finally { + Remove-Item -LiteralPath $crlfProof -Force -ErrorAction SilentlyContinue +} +Assert-True (Test-SelfReferencePolicy $contracts) 'self-reference-free manifest/trusted-artifact policy is incomplete' +Assert-True (Test-EpochPolicy $contracts) 'epoch approval, time, lifecycle, or replay policy is inconsistent' +Assert-True ($contracts.control_plane_maintenance.replay_policy.strict_latest_base) 'strict latest-base must remain enabled' +Assert-True ($contracts.control_plane_maintenance.replay_policy.require_consumed_epoch_transition) 'consumed epoch transition must remain required' +Assert-True ($contracts.control_plane_maintenance.replay_policy.two_pr_race_loser_must_be_stale) 'two-PR loser must remain stale' +Assert-True ($contracts.external_enforcement.required_status_context -ceq 'authority-guard') 'status context drifted' +Assert-True ((Test-JsonInteger $contracts.external_enforcement.required_status_integration_id) -and + [int64]$contracts.external_enforcement.required_status_integration_id -eq 15368) 'status integration id type or value drifted' +Assert-True ($contracts.external_enforcement.reject_context_name_only_or_untrusted_integration) 'untrusted context-only status must be rejected' +Assert-True (@($envelope.commit_a12.paths).Count -eq 15) 'A12 exact path count must be 15' +Assert-True (@($envelope.commit_b12.paths).Count -eq 21) 'B12 exact path count must be 21' +Assert-True ($envelope.commit_a12.required_parent -ceq '887b7c6144a09829a1a3f43ff5a19d3fb27fb7c1') 'A12 envelope parent drifted' + +$r12Paths = @( + '.github/workflows/test.yml', + '.github/workflows/authority-guard.yml', + 'scripts/production-gates/assert-active-candidate-path-authority.ps1', + 'scripts/production-gates/assert-pr-authority-guard.ps1', + 'scripts/production-gates/assert-pr-authority-maintenance.ps1', + '.agent/plans/2026-07-10-engram-production-ready-master-plan.md', + '.agent/plans/2026-07-10-engram-production-ready-ownership-state.json', + '.agent/plans/2026-07-10-engram-production-ready-scope-map.json', + '.agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json' +) +foreach ($path in $r12Paths) { + $epoch = @($state.path_epochs | Where-Object path -eq $path) + Assert-True ($epoch.Count -eq 1) "missing R12 epoch for $path" + Assert-True ($epoch[0].current_owner -ceq 'RELEASE-GATES-CONTROL-PLANE-EVOLVABILITY-R12') "R12 is not current owner for $path" +} + +$macroErrors = @(Get-MacroErrors $scope $contracts $snapshot) +Assert-True ($macroErrors.Count -eq 0) ("macro governance failed: " + ($macroErrors -join '; ')) +Assert-True (Test-DocumentR3 $scope $contracts $state) 'Document R3 atomic successor contract is incomplete' + +# Hostile flip matrix: each load-bearing guard must reject its own inverse. +$selfRefFlip = Copy-Json $contracts +$selfRefFlip.control_plane_maintenance.manifest_binding_policy.committed_manifest_required_fields += 'event_head_sha' +Assert-True (-not (Test-SelfReferencePolicy $selfRefFlip)) 'self-referential event head was accepted' +$branchFlipScope = Copy-Json $scope +(@($branchFlipScope.entries | Where-Object slice -eq 'DB-GOVERNANCE'))[0].macro_branch = 'work/wrong-branch' +Assert-True (@(Get-MacroErrors $branchFlipScope $contracts $snapshot).Count -gt 0) 'macro branch override was accepted' +$collisionFlip = Copy-Json $contracts +(@($collisionFlip.macro_batches.collision_serialization | Where-Object { 'internal/db/gorm/candidate_store.go' -cin @($_.paths) }))[0].effective_order = @('DB-GOVERNANCE') +Assert-True (@(Get-MacroErrors $scope $collisionFlip $snapshot).Count -gt 0) 'candidate-store overlap flip was accepted' +$documentFlip = Copy-Json $contracts +(@($documentFlip.pending_namespaces | Where-Object slice -eq 'DOCUMENT-INGEST-PUBLIC-TRUTH-R3'))[0].acceptance_contract.remove_document_split_precheck_forbidden = $false +Assert-True (-not (Test-DocumentR3 $scope $documentFlip $state)) 'Document R3 split-precheck flip was accepted' + +$schemaTypeFlip = Copy-Json $contracts +$schemaTypeFlip.control_plane_maintenance.schema_version = '2' +Assert-True (-not (Test-SelfReferencePolicy $schemaTypeFlip)) 'string control-plane schema version was accepted' +$booleanTypeFlip = Copy-Json $contracts +$booleanTypeFlip.control_plane_maintenance.head_execution_policy.candidate_supplied_execution_artifact_forbidden = 'false' +Assert-True (-not (Test-SelfReferencePolicy $booleanTypeFlip)) 'string false security policy was accepted' +$approvalFlip = Copy-Json $contracts +$approvalFlip.control_plane_maintenance.active_epoch.approval.approval_epoch = 'r12-wrong' +Assert-True (-not (Test-EpochPolicy $approvalFlip)) 'approval epoch mismatch was accepted' +$expiryFlip = Copy-Json $contracts +$expiryFlip.control_plane_maintenance.active_epoch.expires_at = '2026-01-01T00:00:00Z' +Assert-True (-not (Test-EpochPolicy $expiryFlip)) 'epoch expiry before not-before was accepted' +$reopenedFlip = Copy-Json $contracts +$reopenedFlip.control_plane_maintenance.active_epoch.state = 'consumed' +Assert-True (-not (Test-EpochPolicy $reopenedFlip)) 'consumed active epoch was reopened' +$consumedDuplicateFlip = Copy-Json $contracts +$consumedDuplicateFlip.control_plane_maintenance.consumed_epochs = @([pscustomobject]@{ epoch = 'r12-0001'; state = 'consumed' }) +Assert-True (-not (Test-EpochPolicy $consumedDuplicateFlip)) 'active epoch was also accepted as consumed' +$staleLoserFlip = Copy-Json $contracts +$staleLoserFlip.control_plane_maintenance.replay_policy.two_pr_race_loser_must_be_stale = $false +Assert-True (-not (Test-EpochPolicy $staleLoserFlip)) 'two-PR stale-loser guard was disabled' +$mb2MakersFlip = Copy-Json $contracts +(@($mb2MakersFlip.macro_batches.batches | Where-Object id -eq 'MB2_RUNTIME_SECURITY_PRIVACY_AND_V7'))[0].makers = @() +Assert-True (@(Get-MacroErrors $scope $mb2MakersFlip $snapshot).Count -gt 0) 'empty MB2 maker set was accepted' +$mb3BranchFlip = Copy-Json $contracts +(@($mb3BranchFlip.macro_batches.batches | Where-Object id -eq 'MB3_DELIVERY_OPERATIONS_UI_CUSTOMER_AND_COVERAGE'))[0].branch = 'work/wrong' +Assert-True (@(Get-MacroErrors $scope $mb3BranchFlip $snapshot).Count -gt 0) 'wrong MB3 branch was accepted' +$mb4PathFlip = Copy-Json $contracts +(@($mb4PathFlip.macro_batches.batches | Where-Object id -eq 'MB4_NORTHSTAR_CONTRACT_FREEZE'))[0].exact_disjoint_contract_path_count = 0 +Assert-True (@(Get-MacroErrors $scope $mb4PathFlip $snapshot).Count -gt 0) 'zero MB4 path count was accepted' +$composeOrderFlip = Copy-Json $contracts +(@($composeOrderFlip.macro_batches.collision_serialization | Where-Object { 'docker-compose.yml' -cin @($_.paths) }))[0].effective_order = @('DEPLOYMENT-ROLLBACK','IMAGE-REMEDIATION-R2') +Assert-True (@(Get-MacroErrors $scope $composeOrderFlip $snapshot).Count -gt 0) 'reversed compose collision order was accepted' +$sourceHashFlip = Copy-Json $contracts +$sourceHashFlip.macro_batches.source.sha256 = '0' * 64 +Assert-True (@(Get-MacroErrors $scope $sourceHashFlip $snapshot).Count -gt 0) 'zero macro diagnostic source hash was accepted' +$integrationTypeFlip = Copy-Json $contracts +$integrationTypeFlip.external_enforcement.required_status_integration_id = '15368' +Assert-True (-not (Test-JsonInteger $integrationTypeFlip.external_enforcement.required_status_integration_id)) 'string status integration id was accepted' +$futureNotBeforeFlip = Copy-Json $contracts +$futureNotBeforeFlip.control_plane_maintenance.active_epoch.not_before = '2026-07-14T00:00:00Z' +Assert-True (-not (Test-EpochPolicy $futureNotBeforeFlip)) 'future or noncanonical epoch not-before was accepted' +$approvalActorFlip = Copy-Json $contracts +$approvalActorFlip.control_plane_maintenance.active_epoch.approval.actor_login = 'attacker' +$approvalActorFlip.control_plane_maintenance.active_epoch.approval.actor_id = 1 +$approvalActorFlip.control_plane_maintenance.active_epoch.approval.actor_type = 'Bot' +$approvalActorFlip.control_plane_maintenance.active_epoch.approval.association = 'NONE' +Assert-True (-not (Test-EpochPolicy $approvalActorFlip)) 'unauthorized approval actor was accepted' +$exactChangesFlip = Copy-Json $contracts +$exactChangesFlip.control_plane_maintenance.active_epoch.exact_changes = @([pscustomobject]@{ status = 'M'; path = 'README.md' }) +Assert-True (-not (Test-EpochPolicy $exactChangesFlip)) 'unauthorized exact-change set was accepted' +$coordinatedSourceHashFlip = Copy-Json $contracts +$coordinatedSourceSnapshot = Copy-Json $snapshot +$coordinatedSourceHashFlip.macro_batches.source.sha256 = '1' * 64 +$coordinatedSourceSnapshot.macro_diagnostic.sha256 = '1' * 64 +Assert-True (@(Get-MacroErrors $scope $coordinatedSourceHashFlip $coordinatedSourceSnapshot).Count -gt 0) 'coordinated bogus source hash was accepted' +$coordinatedSourcePathFlip = Copy-Json $contracts +$coordinatedPathSnapshot = Copy-Json $snapshot +$coordinatedSourcePathFlip.macro_batches.source.path = '.agent/definitely-missing-source.json' +$coordinatedPathSnapshot.macro_diagnostic.path = '.agent/definitely-missing-source.json' +Assert-True (@(Get-MacroErrors $scope $coordinatedSourcePathFlip $coordinatedPathSnapshot).Count -gt 0) 'coordinated missing source path was accepted' +$duplicateMakerFlip = Copy-Json $contracts +$duplicateMakerRow = (@($duplicateMakerFlip.macro_batches.batches | Where-Object id -eq 'MB2_RUNTIME_SECURITY_PRIVACY_AND_V7'))[0] +$duplicateMakerRow.makers = @($duplicateMakerRow.makers) + @($duplicateMakerRow.makers[0]) +Assert-True (@(Get-MacroErrors $scope $duplicateMakerFlip $snapshot).Count -gt 0) 'duplicate MB2 maker was accepted' + +$closedWorldUnknownFlip = Copy-Json $contracts +$closedWorldUnknownFlip.control_plane_maintenance.manifest_binding_policy | Add-Member -NotePropertyName manifest_container_blob_sha -NotePropertyValue 'alias' +Assert-True (-not (Test-StrictAuthoritySchema $closedWorldUnknownFlip $contracts)) 'unknown manifest alias was accepted' +$closedWorldMissingFlip = Copy-Json $contracts +$closedWorldMissingFlip.control_plane_maintenance.trusted_execution_artifact_policy.PSObject.Properties.Remove('producer') +Assert-True (-not (Test-StrictAuthoritySchema $closedWorldMissingFlip $contracts)) 'missing trusted producer was accepted' +$closedWorldCollisionFlip = Copy-Json $contracts +$closedWorldCollisionFlip.macro_batches.collision_serialization[0].paths = @($closedWorldCollisionFlip.macro_batches.collision_serialization[0].paths) + @($closedWorldCollisionFlip.macro_batches.collision_serialization[0].paths[0]) +Assert-True (-not (Test-StrictAuthoritySchema $closedWorldCollisionFlip $contracts)) 'duplicate collision path was accepted' + +Write-Output 'R12 PLAN-GOVERNANCE PASS' diff --git a/.agent/specs/release-gates-r12/evidence/plan-governance/verification-summary.json b/.agent/specs/release-gates-r12/evidence/plan-governance/verification-summary.json new file mode 100644 index 00000000..ca782434 --- /dev/null +++ b/.agent/specs/release-gates-r12/evidence/plan-governance/verification-summary.json @@ -0,0 +1,45 @@ +{ + "schema_version": 1, + "verdict": "R15_CLOSED_WORLD_AUTHORITY_READY_FOR_FRESH_MAKER_DISTINCT_CHECKER", + "successor_base": "cf85a59894150bdb122067c7bb2c421b3929f1e6", + "required_parent": "887b7c6144a09829a1a3f43ff5a19d3fb27fb7c1", + "plan_revision": 12, + "a12_exact_path_count": 15, + "b12_exact_path_count": 21, + "scope_rows": 69, + "scope_unique_slices": 69, + "macro_grouped_existing_slices": 43, + "macro_branch_count": 4, + "self_reference_resolution": "committed manifest excludes event head and manifest-container blob; trusted-base execution artifact binds both actual values", + "strict_latest_base": true, + "one_use_epoch": "r12-0001", + "epoch_invariants": "exact epoch identity, exact authorized actor and change set, canonical active window containing current UTC time, consumed/expired non-reopen, and stale-loser policy are strict and hostile-flipped", + "two_pr_stale_loser": true, + "required_status_identity": "authority-guard plus strict JSON integer GitHub Actions integration_id 15368", + "strict_authority_schema": "the complete canonical authority manifest is bound to trusted-validator SHA-256 6665a80d30c2b45319b8c8adce05430c6f6e3913ded92313c4ebbb381f11c9f6; recursive hostile tests prove exact object keys, scalar types/values, array cardinality/order, and duplicate/case-alias rejection without requiring an unreachable predecessor Git object", + "macro_source_authority": "canonical bytes of the shipped challenge-report.json are checked against SHA-256 embedded in the digest-bound authority manifest; its GO verdict and declared source candidate fef455bc are parsed without requiring the historical 69b4b871 Git object", + "document_r3_head": "9ea95b6adc3a838a459bf78e3ba7a0292153960f", + "document_r3_tree": "c15a731de8ca8acac09bce8b209e2a27dd6303cb", + "document_r3_exact_path_count": 6, + "document_r3_checker_state": "PENDING_FRESH", + "legacy_ledger_red_error_count": 12, + "legacy_ledger_red_only_failure_class": "unsupported replacement transition_kind", + "checker_findings_closed": [ + "A12-001 canonical checkout-portable fixed-point proof hash", + "A12-002 exact epoch approval time and lifecycle invariants", + "A12-003 complete macro batch collision and diagnostic-source bindings", + "A12-004 strict nested JSON authority types", + "A13-001 tracked immutable diagnostic-source authority", + "A13-002 exact epoch window actor and change authority", + "A13-003 strict required-status integration ID type", + "A13-004 exact unique macro maker arrays", + "A14-001 partial authority objects replaced by one closed-world immutable-truth comparison", + "A14-002 collision path identity now requires exact sequence and the closed-world comparator rejects duplicates" + ], + "fresh_windows_autocrlf_checkout": "PASS", + "hostile_inverse_matrix": "PASS_65_OF_65_EXPECTATIONS_ZERO_FALSE_GREEN", + "generative_property_permutation_selftest": "PASS", + "prove_it": "PASS_RETURN_TRUE_SENTINEL_EXIT_1_UNKNOWN_MANIFEST_ALIAS_ACCEPTED", + "transplant_requirement": "accepted delta must be transplanted onto fef455bcf640f849c2d40c9bc26a459b5593e10a with Go 1.25.12 before integrated govulncheck and release gates", + "live_external_mutation": false +} diff --git a/.agent/specs/release-gates-r8/evidence/plan-governance/authority.json b/.agent/specs/release-gates-r8/evidence/plan-governance/authority.json new file mode 100644 index 00000000..a4c93666 --- /dev/null +++ b/.agent/specs/release-gates-r8/evidence/plan-governance/authority.json @@ -0,0 +1,46 @@ +{ + "schema_version": 1, + "gate": "r8-plan-governance-authority", + "checked_at": "2026-07-10T23:07:40.2283397+03:00", + "verdict": "PASS", + "reconstruction_base": "d59d1605969b1f567506e96ded524dfd1e4be08a", + "rejected_r7_plan": "a99ce0dfe4d415f90c0f192cbf96bd88710a48f5", + "diagnostic_r7_release_gates": "144eeefa003c3e1c0009c4264f41236ee3453b65", + "r7_checker": "d8ba52d29f1c7f2169e3f76576248ab32d3b6646", + "plan": { + "path": ".agent/plans/2026-07-10-engram-production-ready-master-plan.md", + "canonical_utf8_lf_sha256": "fd2b223a9a62848efc39e1c33bf739bada191508bccb7ba9a73140185638e43d" + }, + "ownership_state": { + "path": ".agent/plans/2026-07-10-engram-production-ready-ownership-state.json", + "canonical_utf8_lf_sha256": "c14eaba5a9615af7196af913aedf8bb3c6e51e05880d47d391e8d07e4367a192", + "epochs": 36 + }, + "scope_map": { + "path": ".agent/plans/2026-07-10-engram-production-ready-scope-map.json", + "sha256": "81093184036672008d6b85dfa88a431998ef70b587ab11475aa2b315f03ddf79", + "register_freeze_sha256": "ab5f882fa110ca823a317061ecbca0c62516702735325893a56206f9e7a29415" + }, + "ledger": { + "path": ".agent/specs/release-gates-r8/evidence/plan-governance/ledger.json", + "verdict": "PASS", + "maker_slices": 57, + "declarations": 333, + "repeated_exact_paths": 34, + "declared_epochs": 36, + "state_epochs": 36, + "errors": 0 + }, + "restored_predecessor_rows": [ + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "INGEST-DOC-CLASSIFICATION", + "INGEST-DOC-SNAPSHOT-DEMOLITION", + "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS", + "OPENCLAW-RELEASE", + "DOCUMENT-INGEST-PUBLIC-TRUTH", + "MCP-STRUCTURED-INPUT-CLASSIFICATION", + "MCP-STRUCTURED-INPUT-VALIDATION" + ], + "plan_only_authority_rows": ["MCP-STRUCTURED-INPUT-CLASSIFICATION", "SECURITY-REVIEW"], + "errors": [] +} diff --git a/.agent/specs/release-gates-r8/evidence/plan-governance/ledger.json b/.agent/specs/release-gates-r8/evidence/plan-governance/ledger.json new file mode 100644 index 00000000..93be4d05 --- /dev/null +++ b/.agent/specs/release-gates-r8/evidence/plan-governance/ledger.json @@ -0,0 +1,4402 @@ +{ + "schema_version": 2, + "gate": "plan-path-ownership", + "mode": "Ledger", + "verdict": "PASS", + "started_at": "2026-07-10T20:06:44.9415811+00:00", + "finished_at": "2026-07-10T20:06:49.8561890+00:00", + "duration_seconds": 4.915, + "plan": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r8-maker\\.agent\\plans\\2026-07-10-engram-production-ready-master-plan.md", + "expected_sha256": "fd2b223a9a62848efc39e1c33bf739bada191508bccb7ba9a73140185638e43d", + "observed_sha256": "fd2b223a9a62848efc39e1c33bf739bada191508bccb7ba9a73140185638e43d", + "hash_match": true + }, + "state": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r8-maker\\.agent\\plans\\2026-07-10-engram-production-ready-ownership-state.json", + "sha256": "c14eaba5a9615af7196af913aedf8bb3c6e51e05880d47d391e8d07e4367a192", + "verdict": "PASS", + "plan_sha256": "fd2b223a9a62848efc39e1c33bf739bada191508bccb7ba9a73140185638e43d" + }, + "counts": { + "maker_slices": 57, + "declarations": 333, + "exact_paths": 316, + "prefixes": 17, + "repeated_exact_paths": 34, + "prefix_intersections": 2, + "undeclared_prefix_intersections": 0, + "declared_epochs": 36, + "state_epochs": 36, + "errors": 0 + }, + "slices": [ + { + "slice": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision8-maker", + "paths": [ + ".agent/plans/2026-07-10-engram-production-ready-master-plan.md", + ".agent/plans/2026-07-10-engram-production-ready-ownership-state.json", + ".agent/plans/2026-07-10-engram-production-ready-scope-map.json", + ".agent/specs/release-gates-r8/evidence/plan-governance/**", + ".agent/reports/2026-07-10-release-gates-r8-plan-governance.md" + ], + "line": 6 + }, + { + "slice": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "paths": [ + "internal/bulkops/facade.go", + "internal/bulkops/facade_test.go", + "internal/bulkops/rollback.go", + "internal/bulkops/rollback_test.go", + "internal/db/gorm/candidate_store.go", + "internal/db/gorm/candidate_store_test.go", + "internal/mcp/tools_bulkops.go", + "internal/mcp/tools_dryrun_test.go", + "pkg/models/snapshot.go", + ".agent/reports/2026-07-10-db-bulkops-capture-lock-rework-maker.md", + ".agent/reports/2026-07-10-db-bulkops-sibling-rework-maker.md", + ".agent/specs/production-ready-db-bulkops/evidence/**", + ".agent/reports/evidence/production-ready/db-bulkops-sibling-rework/**" + ], + "line": 7 + }, + { + "slice": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "paths": [ + "internal/db/gorm/candidate_store.go", + "internal/db/gorm/candidate_store_test.go", + "internal/mcp/tools_bulkops.go", + "internal/mcp/tools_dryrun_test.go", + ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker-3.md", + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ], + "line": 8 + }, + { + "slice": "DB-TEST-POOL-HYGIENE", + "branch": "work/prc-db-test-pool-hygiene-evidence-r2", + "paths": [ + "internal/db/gorm/candidate_store_test.go", + ".agent/reports/2026-07-10-db-test-pool-hygiene-maker.md", + ".agent/reports/2026-07-10-db-test-pool-hygiene-evidence-revision-maker.md", + ".agent/reports/evidence/production-ready/db-test-pool-hygiene/**" + ], + "line": 9 + }, + { + "slice": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "paths": [ + "internal/db/gorm/candidate_store.go", + "internal/db/gorm/candidate_store_test.go", + "internal/db/gorm/rule_arbiter_store_test.go", + "internal/db/gorm/rule_governance_store.go", + "internal/db/gorm/rule_governance_store_test.go", + "internal/db/gorm/rule_governance_rg3_store_test.go", + "internal/db/gorm/migration_rule_governance.go", + "internal/db/gorm/migration_rule_arbiter.go", + "internal/db/gorm/migration_rule_governance_snapshot_statuses.go" + ], + "line": 10 + }, + { + "slice": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "paths": [ + "internal/reviewpacket/candidate.go", + "internal/reviewpacket/candidate_test.go", + "internal/db/gorm/candidate_store.go", + "internal/db/gorm/candidate_store_test.go", + "internal/db/gorm/snapshot_store.go", + "internal/db/gorm/snapshot_store_test.go", + "internal/bulkops/rollback_test.go", + "tests/critical/candidate_review/candidate_review_snapshot_rollback_test.go" + ], + "line": 11 + }, + { + "slice": "INGEST-DOC-SNAPSHOT-DEMOLITION", + "branch": "work/prc-ingest-doc-snapshot-demolition", + "paths": [ + "internal/bulkops/facade.go", + "internal/bulkops/facade_test.go", + "pkg/models/snapshot.go", + "pkg/models/snapshot_test.go", + "internal/mcp/ingest_snapshot_contract_test.go" + ], + "line": 13 + }, + { + "slice": "DB-AUTH", + "branch": "work/prc-db-auth", + "paths": [ + "internal/db/gorm/user_store.go", + "internal/db/gorm/user_store_test.go", + "internal/worker/auth_handlers.go", + "internal/worker/auth_handlers_lifecycle_test.go" + ], + "line": 14 + }, + { + "slice": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "paths": [ + "internal/config/config.go", + "internal/config/config_test.go", + "internal/config/envnames.go", + "internal/db/gorm/user_store.go", + "internal/worker/middleware.go", + "internal/worker/middleware_test.go", + "internal/worker/auth_handlers.go", + "internal/worker/auth_bootstrap_limiter.go", + "internal/worker/auth_bootstrap_limiter_test.go", + "internal/worker/auth_bootstrap_security_test.go", + "internal/worker/service.go", + "tests/critical/auth_bootstrap/first_admin_bootstrap_test.go", + "scripts/production-smoke/customer/run-auth-bootstrap-adversary.ps1" + ], + "line": 15 + }, + { + "slice": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "paths": [ + "internal/db/gorm/domain_owner_store.go", + "internal/db/gorm/domain_owner_store_test.go", + "internal/db/gorm/user_store.go", + "internal/worker/auth_handlers.go", + "internal/worker/auth_audit_durability_test.go", + "internal/bulkops/facade.go", + "internal/bulkops/audit_durability_test.go", + "scripts/production-smoke/customer/run-durable-audit-faults.ps1" + ], + "line": 16 + }, + { + "slice": "DB-CRYSTALLIZATION", + "branch": "work/prc-db-crystallization", + "paths": [ + "internal/worker/handlers_hooks_crystallization_integration_test.go" + ], + "line": 17 + }, + { + "slice": "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS", + "branch": "work/prc-crystallization-dream-cycle-correctness", + "paths": [ + "internal/worker/dream_cycle.go", + "internal/worker/dream_cycle_test.go", + ".agent/reports/2026-07-10-crystallization-dream-cycle-correctness-maker.md", + ".agent/e/cdc/**" + ], + "line": 18 + }, + { + "slice": "DB-EMBEDDING-STATS", + "branch": "work/prc-db-embedding-stats", + "paths": [ + "internal/embedding/store.go", + "internal/embedding/store_stats_test.go" + ], + "line": 19 + }, + { + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r5", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/**", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/**", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/**", + ".agent/specs/db-embedding-stats-evidence-transport/evidence/**" + ], + "line": 20 + }, + { + "slice": "DB-REAPER", + "branch": "work/prc-db-reaper", + "paths": [ + "internal/worker/reaper/reaper.go", + "internal/worker/reaper/reaper_test.go" + ], + "line": 21 + }, + { + "slice": "SECURITY-TOOLCHAIN", + "branch": "work/prc-security-toolchain", + "paths": [ + "go.mod", + "go.sum", + "Dockerfile" + ], + "line": 22 + }, + { + "slice": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision8-maker", + "paths": [ + ".github/workflows/test.yml", + "scripts/production-gates/assert-plan-path-ownership.ps1", + "scripts/production-gates/run-db-suite.ps1", + ".agent/specs/release-gates-r8/evidence/release-gates/**", + ".agent/reports/2026-07-10-release-gates-r8-maker.md" + ], + "line": 23 + }, + { + "slice": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "paths": [ + "Dockerfile", + "cmd/engram-healthcheck/main.go", + "cmd/engram-healthcheck/main_test.go", + "apps/operator-console/package.json", + "apps/operator-console/package-lock.json", + "deploy/postgres/Dockerfile", + "docker-compose.yml", + "deploy/docker-compose.runtime.yml", + "docs/DEPLOYMENT.md", + "docs/PRODUCTION-TESTING-PLAYBOOK.md", + ".github/workflows/test.yml", + ".github/workflows/docker.yaml", + ".github/workflows/docker-publish.yml", + "scripts/production-gates/build-and-scan-images.ps1", + "tests/critical/runtime/image_runtime_contract_test.go", + "tests/critical/runtime/postgres_image_contract_test.go" + ], + "line": 24 + }, + { + "slice": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r3", + "paths": [ + "internal/db/gorm/project_store.go", + "internal/db/gorm/project_store_test.go", + "internal/grpcserver/project_identity_v2_test.go" + ], + "line": 25 + }, + { + "slice": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "paths": [ + "plugin/openclaw-engram/.gitignore", + "plugin/openclaw-engram/package.json", + "plugin/openclaw-engram/package-lock.json", + "plugin/openclaw-engram/openclaw.plugin.json", + "plugin/openclaw-engram/README.md", + ".github/workflows/plugin-publish.yml", + "docs/RELEASE-PROTOCOL.md" + ], + "line": 26 + }, + { + "slice": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "paths": [ + "internal/update/update.go", + "internal/update/update_test.go", + "internal/worker/handlers_update.go", + "internal/worker/handlers_update_test.go", + "scripts/install.sh", + "scripts/install.ps1", + ".goreleaser.yaml", + ".github/workflows/release.yaml", + "plugin/engram/hooks/hook-cli.test.js" + ], + "line": 27 + }, + { + "slice": "DOCUMENT-INGEST-PUBLIC-TRUTH", + "branch": "work/prc-document-ingest-public-truth", + "paths": [ + "internal/mcp/server.go", + "internal/mcp/ingest_document_description_test.go" + ], + "line": 29 + }, + { + "slice": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "paths": [ + "internal/mcp/coerce.go", + "internal/mcp/coerce_test.go", + "internal/mcp/tools_candidates.go", + "internal/mcp/tools_candidates_test.go", + "internal/mcp/tools_memory.go", + "internal/mcp/tools_memory_edit_test.go", + "internal/mcp/tools_memory_significance.go", + "internal/mcp/tools_memory_significance_test.go", + "internal/mcp/tools_store_consolidated.go", + "internal/mcp/tools_settings.go", + "internal/mcp/tools_settings_test.go", + "internal/mcp/tools_documents_v2.go", + "internal/mcp/tools_rule_governance.go", + "internal/mcp/tools_rule_governance_test.go", + "internal/mcp/structured_input_validation_test.go" + ], + "line": 31 + }, + { + "slice": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "paths": [ + "internal/redaction/layer.go", + "internal/redaction/layer_test.go", + "internal/redaction/rejection_test.go", + "internal/mcp/redaction_guard.go", + "internal/mcp/redaction_guard_test.go", + "internal/mcp/tools_memory.go", + "internal/mcp/tools_rules.go", + "internal/mcp/tools_memory_redaction_audit_test.go", + "internal/mcp/tools_rules_redaction_audit_test.go", + "internal/worker/service.go", + "internal/worker/service_redaction_test.go", + "docs/operating-engram.md", + ".agent/reports/evidence/production-ready/redaction-live-contract/**" + ], + "line": 32 + }, + { + "slice": "RETRIEVAL-VECTOR-CONTRACT", + "branch": "work/prc-retrieval-vector-contract", + "paths": [ + "internal/retrieval/hybrid_integration_test.go" + ], + "line": 34 + }, + { + "slice": "STATIC-EMBED-CONTRACT", + "branch": "work/prc-static-embed-contract", + "paths": [ + "internal/worker/static_embed_test.go" + ], + "line": 35 + }, + { + "slice": "PRE-V5-UPGRADE-CONTRACT", + "branch": "work/prc-pre-v5-upgrade-contract", + "paths": [ + "internal/db/gorm/migrations_integration_test.go", + "internal/grpcserver/credential_migration_test.go", + "tests/fixtures/pre-v5/**", + "tests/critical/recovery/pre_v5_upgrade_test.go", + "scripts/production-smoke/customer/run-pre-v5-upgrade.ps1" + ], + "line": 36 + }, + { + "slice": "T007-COMPAT-DEMOLITION-CLASSIFICATION", + "branch": "work/prc-t007-compat-classification", + "paths": [ + "internal/mcp/store_memory_compat_t007_test.go" + ], + "line": 37 + }, + { + "slice": "DB-RULES-ISOLATION", + "branch": "work/prc-db-rules-isolation", + "paths": [ + "internal/worker/handlers_rules_test.go", + "scripts/production-gates/run-db-rules-isolation.ps1" + ], + "line": 38 + }, + { + "slice": "COVERAGE-CMD-ENGRAM", + "branch": "work/prc-coverage-cmd-engram", + "paths": [ + "cmd/engram/production_readiness_coverage_test.go" + ], + "line": 39 + }, + { + "slice": "COVERAGE-CMD-SERVER", + "branch": "work/prc-coverage-cmd-server", + "paths": [ + "cmd/engram-server/production_readiness_coverage_test.go" + ], + "line": 40 + }, + { + "slice": "COVERAGE-UPDATE", + "branch": "work/prc-coverage-update", + "paths": [ + "internal/update/production_readiness_coverage_test.go" + ], + "line": 41 + }, + { + "slice": "COVERAGE-WORKER", + "branch": "work/prc-coverage-worker", + "paths": [ + "internal/worker/production_readiness_coverage_test.go" + ], + "line": 43 + }, + { + "slice": "COVERAGE-MCP", + "branch": "work/prc-coverage-mcp", + "paths": [ + "internal/mcp/production_readiness_coverage_test.go" + ], + "line": 44 + }, + { + "slice": "COVERAGE-GORM", + "branch": "work/prc-coverage-gorm", + "paths": [ + "internal/db/gorm/production_readiness_coverage_test.go" + ], + "line": 45 + }, + { + "slice": "COVERAGE-LOOM", + "branch": "work/prc-coverage-loom", + "paths": [ + "internal/handlers/loom/production_readiness_coverage_test.go" + ], + "line": 46 + }, + { + "slice": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "paths": [ + "docker-compose.yml", + "deploy/docker-compose.runtime.yml", + "deploy/docker-compose.operator-web-standalone.yml", + "deploy/entrypoint-server.sh", + "deploy/healthcheck-server.sh", + "deploy/verify-rollback.ps1", + "deploy/verify-runtime-policy.ps1" + ], + "line": 47 + }, + { + "slice": "RECOVERY-DATA", + "branch": "work/prc-recovery-data", + "paths": [ + "scripts/recovery/start-disposable-postgres.ps1", + "scripts/recovery/verify-postgres-roundtrip.ps1", + "scripts/recovery/seed-recovery-fixture.ps1", + "scripts/recovery/assert-recovery-fixture.ps1", + "tests/critical/recovery/postgres_roundtrip_test.go" + ], + "line": 48 + }, + { + "slice": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "paths": [ + "internal/module/obs/logging.go", + "internal/module/obs/logging_test.go", + "internal/module/obs/meter.go", + "internal/module/obs/meter_test.go", + "internal/module/obs/metrics.go", + "internal/module/obs/metrics_test.go", + "cmd/engram-server/main.go", + "cmd/engram-server/main_test.go", + "scripts/production-smoke/verify-otlp.ps1" + ], + "line": 49 + }, + { + "slice": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "paths": [ + "internal/scope/domain_policy.go", + "internal/scope/domain_policy_test.go", + "internal/scope/filter.go", + "internal/scope/filter_test.go", + "internal/scope/filter_principal_test.go", + "internal/scope/filter_w4_test.go", + "internal/principalmemory/access_policy.go", + "internal/principalmemory/access_policy_test.go", + "internal/principalmemory/domain_registry.go", + "internal/principalmemory/domain_registry_test.go", + "internal/principalmemory/query_service.go", + "internal/principalmemory/query_service_test.go", + "internal/mcp/tools_principal_memory.go", + "internal/mcp/tools_principal_memory_test.go", + "internal/mcp/tools_recall_principal_test.go", + "internal/mcp/recall_visibility_backfill_test.go", + "internal/mcp/store_memory_principal_test.go", + "internal/worker/handlers_principal_memory.go", + "internal/worker/handlers_principal_memory_test.go", + "internal/worker/scope_bypass_w4_test.go", + "internal/worker/retention.go", + "internal/worker/retention_test.go", + "internal/db/gorm/memory_store.go", + "internal/db/gorm/memory_store_principal_test.go", + "internal/db/gorm/memory_store_principal_query_test.go", + "internal/db/gorm/purge_store_test.go", + "tests/critical/data_boundaries/principal_project_retention_test.go" + ], + "line": 50 + }, + { + "slice": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "paths": [ + "tests/critical/customer_mode/customer_mode_test.go", + "tests/critical/customer_mode/compatibility_test.go", + "tests/critical/customer_mode/cross_agent_test.go", + "scripts/production-smoke/customer/run-customer-mode.ps1", + "scripts/production-smoke/customer/run-client-compatibility.ps1", + "scripts/production-smoke/customer/run-cross-agent.ps1", + "scripts/production-smoke/customer/run-diagnostic-matrix.ps1", + "scripts/production-smoke/customer/assert-product-works.ps1" + ], + "line": 51 + }, + { + "slice": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "paths": [ + "README.md", + "README.ru.md", + "README.zh.md", + "CONTRIBUTING.md", + "CHANGELOG.md", + "Makefile", + ".env.example", + "docs/DEPLOYMENT.md", + "docs/MIGRATION.md", + "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "docs/arch/CONFIGURATION.md", + "docs/arch/QUICKSTART.md", + "docs/release-notes/v6.43.0.md", + "docs/public/engram.jpg", + "plugin/engram/commands/setup.md", + "plugin/engram/commands/doctor.md" + ], + "line": 52 + }, + { + "slice": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "paths": [ + "README.md", + "README.ru.md", + "README.zh.md", + "CONTRIBUTING.md", + "CHANGELOG.md", + "Makefile", + ".env.example", + "docs/DEPLOYMENT.md", + "docs/MIGRATION.md", + "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "docs/operating-engram.md", + "docs/arch/CONFIGURATION.md", + "docs/arch/QUICKSTART.md", + "docs/public/engram.jpg", + "plugin/engram/commands/setup.md", + "plugin/engram/commands/doctor.md" + ], + "line": 53 + }, + { + "slice": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "paths": [ + "cmd/engram/main.go", + "cmd/engram/main_test.go", + "cmd/engram/wiring.go", + "cmd/engram/exec_windows.go", + "cmd/engram/exec_unix.go", + "plugin/engram/.engram-project", + "plugin/engram/scripts/run-engram.js", + "plugin/engram/scripts/run-engram.test.js", + "plugin/engram/scripts/ensure-binary.js", + "plugin/engram/scripts/ensure-binary.test.js" + ], + "line": 54 + }, + { + "slice": "OC-INTEGRATION", + "branch": "work/prc-operator-console-integration", + "paths": [ + "apps/operator-console/**" + ], + "line": 55 + }, + { + "slice": "S4B-CONTRACT", + "branch": "work/prc-s4b-contract", + "paths": [ + ".agent/specs/engram-v7-directives-surfacing/**" + ], + "line": 56 + }, + { + "slice": "V7-S4B-BACKEND", + "branch": "work/prc-v7-s4b-backend", + "paths": [ + "internal/cognitive/s4bsurfacing/**" + ], + "line": 57 + }, + { + "slice": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "paths": [ + "internal/cognitive/core/event_bus.go", + "internal/cognitive/core/event_bus_test.go", + "internal/cognitive/core/hint_queue.go", + "internal/cognitive/core/hint_queue_test.go", + "internal/cognitive/s3ambient/queue.go", + "internal/cognitive/s3ambient/subsystem.go" + ], + "line": 58 + }, + { + "slice": "V7-RUNTIME-WIRING", + "branch": "work/prc-v7-runtime-wiring", + "paths": [ + "internal/worker/service.go", + "internal/worker/service_v7_integration_test.go", + "internal/worker/handlers_stats_v7.go", + "internal/worker/handlers_stats_v7_test.go" + ], + "line": 59 + }, + { + "slice": "V7-TELEMETRY-WIRING", + "branch": "work/prc-v7-telemetry-wiring", + "paths": [ + "internal/cognitive/s5/metrics.go", + "internal/cognitive/s5/provider.go", + "internal/cognitive/s5/provider_test.go", + "internal/cognitive/s5/source_adapter.go", + "internal/cognitive/s5/source_adapter_test.go" + ], + "line": 60 + }, + { + "slice": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "paths": [ + ".agent/specs/roadmap.md", + ".agent/specs/ui-surface-ledger.md", + ".agent/specs/operator-console-production-integration/**", + ".agent/specs/engram-v7-ambient/spec.md", + ".agent/specs/engram-v7-ambient/plan.md", + ".agent/specs/engram-v7-ambient/checklists/general.md", + ".agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/change.md", + ".agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/tasks.md" + ], + "line": 61 + }, + { + "slice": "NORTHSTAR-CI-A-CONTRACTS", + "branch": "work/prc-northstar-ci-a-contracts", + "paths": [ + ".agent/specs/engram-absorption/ci-a-dense-vector/spec.md", + ".agent/specs/engram-absorption/ci-a-dense-vector/plan.md", + ".agent/specs/engram-absorption/ci-a-dense-vector/checklists/general.md", + ".agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/change.md", + ".agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/tasks.md" + ], + "line": 62 + }, + { + "slice": "NORTHSTAR-CI-B-CONTRACTS", + "branch": "work/prc-northstar-ci-b-contracts", + "paths": [ + ".agent/specs/engram-absorption/ci-b-graph-watcher-context/spec.md", + ".agent/specs/engram-absorption/ci-b-graph-watcher-context/plan.md", + ".agent/specs/engram-absorption/ci-b-graph-watcher-context/checklists/general.md", + ".agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/change.md", + ".agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/tasks.md" + ], + "line": 63 + }, + { + "slice": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "paths": [ + ".agent/specs/engram-absorption/book/prd.md", + ".agent/specs/engram-absorption/book/spec.md", + ".agent/specs/engram-absorption/book/plan.md", + ".agent/specs/engram-absorption/book/checklists/general.md", + ".agent/specs/engram-absorption/book/changes/CR-001-initial-scope/change.md", + ".agent/specs/engram-absorption/book/changes/CR-001-initial-scope/tasks.md" + ], + "line": 64 + }, + { + "slice": "NORTHSTAR-MEM-CONTRACTS", + "branch": "work/prc-northstar-mem-contracts", + "paths": [ + ".agent/specs/engram-absorption/mem-residual/spec.md", + ".agent/specs/engram-absorption/mem-residual/plan.md", + ".agent/specs/engram-absorption/mem-residual/checklists/general.md", + ".agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/change.md", + ".agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/tasks.md" + ], + "line": 65 + }, + { + "slice": "NORTHSTAR-EFFECTIVENESS-CONTRACTS", + "branch": "work/prc-northstar-effectiveness-contracts", + "paths": [ + ".agent/specs/engram-effectiveness/production-ready-residual/spec.md", + ".agent/specs/engram-effectiveness/production-ready-residual/plan.md", + ".agent/specs/engram-effectiveness/production-ready-residual/checklists/general.md", + ".agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/change.md", + ".agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/tasks.md" + ], + "line": 66 + }, + { + "slice": "NORTHSTAR-SETTINGS-CONTRACTS", + "branch": "work/prc-northstar-settings-contracts", + "paths": [ + ".agent/specs/settings-store/production-ready-residual/spec.md", + ".agent/specs/settings-store/production-ready-residual/plan.md", + ".agent/specs/settings-store/production-ready-residual/checklists/general.md", + ".agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/change.md", + ".agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/tasks.md" + ], + "line": 67 + } + ], + "declarations": [ + { + "owner": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision8-maker", + "path": ".agent/plans/2026-07-10-engram-production-ready-master-plan.md", + "display": ".agent/plans/2026-07-10-engram-production-ready-master-plan.md", + "kind": "exact", + "line": 6 + }, + { + "owner": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision8-maker", + "path": ".agent/plans/2026-07-10-engram-production-ready-ownership-state.json", + "display": ".agent/plans/2026-07-10-engram-production-ready-ownership-state.json", + "kind": "exact", + "line": 6 + }, + { + "owner": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision8-maker", + "path": ".agent/plans/2026-07-10-engram-production-ready-scope-map.json", + "display": ".agent/plans/2026-07-10-engram-production-ready-scope-map.json", + "kind": "exact", + "line": 6 + }, + { + "owner": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision8-maker", + "path": ".agent/specs/release-gates-r8/evidence/plan-governance", + "display": ".agent/specs/release-gates-r8/evidence/plan-governance/**", + "kind": "prefix", + "line": 6 + }, + { + "owner": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision8-maker", + "path": ".agent/reports/2026-07-10-release-gates-r8-plan-governance.md", + "display": ".agent/reports/2026-07-10-release-gates-r8-plan-governance.md", + "kind": "exact", + "line": 6 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/bulkops/facade.go", + "display": "internal/bulkops/facade.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/bulkops/facade_test.go", + "display": "internal/bulkops/facade_test.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/bulkops/rollback.go", + "display": "internal/bulkops/rollback.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/bulkops/rollback_test.go", + "display": "internal/bulkops/rollback_test.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/db/gorm/candidate_store.go", + "display": "internal/db/gorm/candidate_store.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/db/gorm/candidate_store_test.go", + "display": "internal/db/gorm/candidate_store_test.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/mcp/tools_bulkops.go", + "display": "internal/mcp/tools_bulkops.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/mcp/tools_dryrun_test.go", + "display": "internal/mcp/tools_dryrun_test.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "pkg/models/snapshot.go", + "display": "pkg/models/snapshot.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": ".agent/reports/2026-07-10-db-bulkops-capture-lock-rework-maker.md", + "display": ".agent/reports/2026-07-10-db-bulkops-capture-lock-rework-maker.md", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": ".agent/reports/2026-07-10-db-bulkops-sibling-rework-maker.md", + "display": ".agent/reports/2026-07-10-db-bulkops-sibling-rework-maker.md", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": ".agent/specs/production-ready-db-bulkops/evidence", + "display": ".agent/specs/production-ready-db-bulkops/evidence/**", + "kind": "prefix", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": ".agent/reports/evidence/production-ready/db-bulkops-sibling-rework", + "display": ".agent/reports/evidence/production-ready/db-bulkops-sibling-rework/**", + "kind": "prefix", + "line": 7 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": "internal/db/gorm/candidate_store.go", + "display": "internal/db/gorm/candidate_store.go", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": "internal/db/gorm/candidate_store_test.go", + "display": "internal/db/gorm/candidate_store_test.go", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": "internal/mcp/tools_bulkops.go", + "display": "internal/mcp/tools_bulkops.go", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": "internal/mcp/tools_dryrun_test.go", + "display": "internal/mcp/tools_dryrun_test.go", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker-3.md", + "display": ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker-3.md", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework", + "display": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**", + "kind": "prefix", + "line": 8 + }, + { + "owner": "DB-TEST-POOL-HYGIENE", + "branch": "work/prc-db-test-pool-hygiene-evidence-r2", + "path": "internal/db/gorm/candidate_store_test.go", + "display": "internal/db/gorm/candidate_store_test.go", + "kind": "exact", + "line": 9 + }, + { + "owner": "DB-TEST-POOL-HYGIENE", + "branch": "work/prc-db-test-pool-hygiene-evidence-r2", + "path": ".agent/reports/2026-07-10-db-test-pool-hygiene-maker.md", + "display": ".agent/reports/2026-07-10-db-test-pool-hygiene-maker.md", + "kind": "exact", + "line": 9 + }, + { + "owner": "DB-TEST-POOL-HYGIENE", + "branch": "work/prc-db-test-pool-hygiene-evidence-r2", + "path": ".agent/reports/2026-07-10-db-test-pool-hygiene-evidence-revision-maker.md", + "display": ".agent/reports/2026-07-10-db-test-pool-hygiene-evidence-revision-maker.md", + "kind": "exact", + "line": 9 + }, + { + "owner": "DB-TEST-POOL-HYGIENE", + "branch": "work/prc-db-test-pool-hygiene-evidence-r2", + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene", + "display": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/**", + "kind": "prefix", + "line": 9 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/candidate_store.go", + "display": "internal/db/gorm/candidate_store.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/candidate_store_test.go", + "display": "internal/db/gorm/candidate_store_test.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/rule_arbiter_store_test.go", + "display": "internal/db/gorm/rule_arbiter_store_test.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/rule_governance_store.go", + "display": "internal/db/gorm/rule_governance_store.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/rule_governance_store_test.go", + "display": "internal/db/gorm/rule_governance_store_test.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/rule_governance_rg3_store_test.go", + "display": "internal/db/gorm/rule_governance_rg3_store_test.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/migration_rule_governance.go", + "display": "internal/db/gorm/migration_rule_governance.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/migration_rule_arbiter.go", + "display": "internal/db/gorm/migration_rule_arbiter.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/migration_rule_governance_snapshot_statuses.go", + "display": "internal/db/gorm/migration_rule_governance_snapshot_statuses.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/reviewpacket/candidate.go", + "display": "internal/reviewpacket/candidate.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/reviewpacket/candidate_test.go", + "display": "internal/reviewpacket/candidate_test.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/db/gorm/candidate_store.go", + "display": "internal/db/gorm/candidate_store.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/db/gorm/candidate_store_test.go", + "display": "internal/db/gorm/candidate_store_test.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/db/gorm/snapshot_store.go", + "display": "internal/db/gorm/snapshot_store.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/db/gorm/snapshot_store_test.go", + "display": "internal/db/gorm/snapshot_store_test.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/bulkops/rollback_test.go", + "display": "internal/bulkops/rollback_test.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "tests/critical/candidate_review/candidate_review_snapshot_rollback_test.go", + "display": "tests/critical/candidate_review/candidate_review_snapshot_rollback_test.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "INGEST-DOC-SNAPSHOT-DEMOLITION", + "branch": "work/prc-ingest-doc-snapshot-demolition", + "path": "internal/bulkops/facade.go", + "display": "internal/bulkops/facade.go", + "kind": "exact", + "line": 13 + }, + { + "owner": "INGEST-DOC-SNAPSHOT-DEMOLITION", + "branch": "work/prc-ingest-doc-snapshot-demolition", + "path": "internal/bulkops/facade_test.go", + "display": "internal/bulkops/facade_test.go", + "kind": "exact", + "line": 13 + }, + { + "owner": "INGEST-DOC-SNAPSHOT-DEMOLITION", + "branch": "work/prc-ingest-doc-snapshot-demolition", + "path": "pkg/models/snapshot.go", + "display": "pkg/models/snapshot.go", + "kind": "exact", + "line": 13 + }, + { + "owner": "INGEST-DOC-SNAPSHOT-DEMOLITION", + "branch": "work/prc-ingest-doc-snapshot-demolition", + "path": "pkg/models/snapshot_test.go", + "display": "pkg/models/snapshot_test.go", + "kind": "exact", + "line": 13 + }, + { + "owner": "INGEST-DOC-SNAPSHOT-DEMOLITION", + "branch": "work/prc-ingest-doc-snapshot-demolition", + "path": "internal/mcp/ingest_snapshot_contract_test.go", + "display": "internal/mcp/ingest_snapshot_contract_test.go", + "kind": "exact", + "line": 13 + }, + { + "owner": "DB-AUTH", + "branch": "work/prc-db-auth", + "path": "internal/db/gorm/user_store.go", + "display": "internal/db/gorm/user_store.go", + "kind": "exact", + "line": 14 + }, + { + "owner": "DB-AUTH", + "branch": "work/prc-db-auth", + "path": "internal/db/gorm/user_store_test.go", + "display": "internal/db/gorm/user_store_test.go", + "kind": "exact", + "line": 14 + }, + { + "owner": "DB-AUTH", + "branch": "work/prc-db-auth", + "path": "internal/worker/auth_handlers.go", + "display": "internal/worker/auth_handlers.go", + "kind": "exact", + "line": 14 + }, + { + "owner": "DB-AUTH", + "branch": "work/prc-db-auth", + "path": "internal/worker/auth_handlers_lifecycle_test.go", + "display": "internal/worker/auth_handlers_lifecycle_test.go", + "kind": "exact", + "line": 14 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/config/config.go", + "display": "internal/config/config.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/config/config_test.go", + "display": "internal/config/config_test.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/config/envnames.go", + "display": "internal/config/envnames.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/db/gorm/user_store.go", + "display": "internal/db/gorm/user_store.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/middleware.go", + "display": "internal/worker/middleware.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/middleware_test.go", + "display": "internal/worker/middleware_test.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/auth_handlers.go", + "display": "internal/worker/auth_handlers.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/auth_bootstrap_limiter.go", + "display": "internal/worker/auth_bootstrap_limiter.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/auth_bootstrap_limiter_test.go", + "display": "internal/worker/auth_bootstrap_limiter_test.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/auth_bootstrap_security_test.go", + "display": "internal/worker/auth_bootstrap_security_test.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/service.go", + "display": "internal/worker/service.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "tests/critical/auth_bootstrap/first_admin_bootstrap_test.go", + "display": "tests/critical/auth_bootstrap/first_admin_bootstrap_test.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "scripts/production-smoke/customer/run-auth-bootstrap-adversary.ps1", + "display": "scripts/production-smoke/customer/run-auth-bootstrap-adversary.ps1", + "kind": "exact", + "line": 15 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/db/gorm/domain_owner_store.go", + "display": "internal/db/gorm/domain_owner_store.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/db/gorm/domain_owner_store_test.go", + "display": "internal/db/gorm/domain_owner_store_test.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/db/gorm/user_store.go", + "display": "internal/db/gorm/user_store.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/worker/auth_handlers.go", + "display": "internal/worker/auth_handlers.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/worker/auth_audit_durability_test.go", + "display": "internal/worker/auth_audit_durability_test.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/bulkops/facade.go", + "display": "internal/bulkops/facade.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/bulkops/audit_durability_test.go", + "display": "internal/bulkops/audit_durability_test.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "scripts/production-smoke/customer/run-durable-audit-faults.ps1", + "display": "scripts/production-smoke/customer/run-durable-audit-faults.ps1", + "kind": "exact", + "line": 16 + }, + { + "owner": "DB-CRYSTALLIZATION", + "branch": "work/prc-db-crystallization", + "path": "internal/worker/handlers_hooks_crystallization_integration_test.go", + "display": "internal/worker/handlers_hooks_crystallization_integration_test.go", + "kind": "exact", + "line": 17 + }, + { + "owner": "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS", + "branch": "work/prc-crystallization-dream-cycle-correctness", + "path": "internal/worker/dream_cycle.go", + "display": "internal/worker/dream_cycle.go", + "kind": "exact", + "line": 18 + }, + { + "owner": "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS", + "branch": "work/prc-crystallization-dream-cycle-correctness", + "path": "internal/worker/dream_cycle_test.go", + "display": "internal/worker/dream_cycle_test.go", + "kind": "exact", + "line": 18 + }, + { + "owner": "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS", + "branch": "work/prc-crystallization-dream-cycle-correctness", + "path": ".agent/reports/2026-07-10-crystallization-dream-cycle-correctness-maker.md", + "display": ".agent/reports/2026-07-10-crystallization-dream-cycle-correctness-maker.md", + "kind": "exact", + "line": 18 + }, + { + "owner": "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS", + "branch": "work/prc-crystallization-dream-cycle-correctness", + "path": ".agent/e/cdc", + "display": ".agent/e/cdc/**", + "kind": "prefix", + "line": 18 + }, + { + "owner": "DB-EMBEDDING-STATS", + "branch": "work/prc-db-embedding-stats", + "path": "internal/embedding/store.go", + "display": "internal/embedding/store.go", + "kind": "exact", + "line": 19 + }, + { + "owner": "DB-EMBEDDING-STATS", + "branch": "work/prc-db-embedding-stats", + "path": "internal/embedding/store_stats_test.go", + "display": "internal/embedding/store_stats_test.go", + "kind": "exact", + "line": 19 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r5", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r5", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r5", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r5", + "path": ".agent/specs/db-embedding-stats-evidence-transport/evidence", + "display": ".agent/specs/db-embedding-stats-evidence-transport/evidence/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-REAPER", + "branch": "work/prc-db-reaper", + "path": "internal/worker/reaper/reaper.go", + "display": "internal/worker/reaper/reaper.go", + "kind": "exact", + "line": 21 + }, + { + "owner": "DB-REAPER", + "branch": "work/prc-db-reaper", + "path": "internal/worker/reaper/reaper_test.go", + "display": "internal/worker/reaper/reaper_test.go", + "kind": "exact", + "line": 21 + }, + { + "owner": "SECURITY-TOOLCHAIN", + "branch": "work/prc-security-toolchain", + "path": "go.mod", + "display": "go.mod", + "kind": "exact", + "line": 22 + }, + { + "owner": "SECURITY-TOOLCHAIN", + "branch": "work/prc-security-toolchain", + "path": "go.sum", + "display": "go.sum", + "kind": "exact", + "line": 22 + }, + { + "owner": "SECURITY-TOOLCHAIN", + "branch": "work/prc-security-toolchain", + "path": "Dockerfile", + "display": "Dockerfile", + "kind": "exact", + "line": 22 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision8-maker", + "path": ".github/workflows/test.yml", + "display": ".github/workflows/test.yml", + "kind": "exact", + "line": 23 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision8-maker", + "path": "scripts/production-gates/assert-plan-path-ownership.ps1", + "display": "scripts/production-gates/assert-plan-path-ownership.ps1", + "kind": "exact", + "line": 23 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision8-maker", + "path": "scripts/production-gates/run-db-suite.ps1", + "display": "scripts/production-gates/run-db-suite.ps1", + "kind": "exact", + "line": 23 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision8-maker", + "path": ".agent/specs/release-gates-r8/evidence/release-gates", + "display": ".agent/specs/release-gates-r8/evidence/release-gates/**", + "kind": "prefix", + "line": 23 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision8-maker", + "path": ".agent/reports/2026-07-10-release-gates-r8-maker.md", + "display": ".agent/reports/2026-07-10-release-gates-r8-maker.md", + "kind": "exact", + "line": 23 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "Dockerfile", + "display": "Dockerfile", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "cmd/engram-healthcheck/main.go", + "display": "cmd/engram-healthcheck/main.go", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "cmd/engram-healthcheck/main_test.go", + "display": "cmd/engram-healthcheck/main_test.go", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "apps/operator-console/package.json", + "display": "apps/operator-console/package.json", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "apps/operator-console/package-lock.json", + "display": "apps/operator-console/package-lock.json", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "deploy/postgres/Dockerfile", + "display": "deploy/postgres/Dockerfile", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "docker-compose.yml", + "display": "docker-compose.yml", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "deploy/docker-compose.runtime.yml", + "display": "deploy/docker-compose.runtime.yml", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "docs/DEPLOYMENT.md", + "display": "docs/DEPLOYMENT.md", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "display": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": ".github/workflows/test.yml", + "display": ".github/workflows/test.yml", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": ".github/workflows/docker.yaml", + "display": ".github/workflows/docker.yaml", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": ".github/workflows/docker-publish.yml", + "display": ".github/workflows/docker-publish.yml", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "scripts/production-gates/build-and-scan-images.ps1", + "display": "scripts/production-gates/build-and-scan-images.ps1", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "tests/critical/runtime/image_runtime_contract_test.go", + "display": "tests/critical/runtime/image_runtime_contract_test.go", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "tests/critical/runtime/postgres_image_contract_test.go", + "display": "tests/critical/runtime/postgres_image_contract_test.go", + "kind": "exact", + "line": 24 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r3", + "path": "internal/db/gorm/project_store.go", + "display": "internal/db/gorm/project_store.go", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r3", + "path": "internal/db/gorm/project_store_test.go", + "display": "internal/db/gorm/project_store_test.go", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r3", + "path": "internal/grpcserver/project_identity_v2_test.go", + "display": "internal/grpcserver/project_identity_v2_test.go", + "kind": "exact", + "line": 25 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": "plugin/openclaw-engram/.gitignore", + "display": "plugin/openclaw-engram/.gitignore", + "kind": "exact", + "line": 26 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": "plugin/openclaw-engram/package.json", + "display": "plugin/openclaw-engram/package.json", + "kind": "exact", + "line": 26 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": "plugin/openclaw-engram/package-lock.json", + "display": "plugin/openclaw-engram/package-lock.json", + "kind": "exact", + "line": 26 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": "plugin/openclaw-engram/openclaw.plugin.json", + "display": "plugin/openclaw-engram/openclaw.plugin.json", + "kind": "exact", + "line": 26 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": "plugin/openclaw-engram/README.md", + "display": "plugin/openclaw-engram/README.md", + "kind": "exact", + "line": 26 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": ".github/workflows/plugin-publish.yml", + "display": ".github/workflows/plugin-publish.yml", + "kind": "exact", + "line": 26 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": "docs/RELEASE-PROTOCOL.md", + "display": "docs/RELEASE-PROTOCOL.md", + "kind": "exact", + "line": 26 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "internal/update/update.go", + "display": "internal/update/update.go", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "internal/update/update_test.go", + "display": "internal/update/update_test.go", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "internal/worker/handlers_update.go", + "display": "internal/worker/handlers_update.go", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "internal/worker/handlers_update_test.go", + "display": "internal/worker/handlers_update_test.go", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "scripts/install.sh", + "display": "scripts/install.sh", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "scripts/install.ps1", + "display": "scripts/install.ps1", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": ".goreleaser.yaml", + "display": ".goreleaser.yaml", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": ".github/workflows/release.yaml", + "display": ".github/workflows/release.yaml", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "plugin/engram/hooks/hook-cli.test.js", + "display": "plugin/engram/hooks/hook-cli.test.js", + "kind": "exact", + "line": 27 + }, + { + "owner": "DOCUMENT-INGEST-PUBLIC-TRUTH", + "branch": "work/prc-document-ingest-public-truth", + "path": "internal/mcp/server.go", + "display": "internal/mcp/server.go", + "kind": "exact", + "line": 29 + }, + { + "owner": "DOCUMENT-INGEST-PUBLIC-TRUTH", + "branch": "work/prc-document-ingest-public-truth", + "path": "internal/mcp/ingest_document_description_test.go", + "display": "internal/mcp/ingest_document_description_test.go", + "kind": "exact", + "line": 29 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/coerce.go", + "display": "internal/mcp/coerce.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/coerce_test.go", + "display": "internal/mcp/coerce_test.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_candidates.go", + "display": "internal/mcp/tools_candidates.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_candidates_test.go", + "display": "internal/mcp/tools_candidates_test.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_memory.go", + "display": "internal/mcp/tools_memory.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_memory_edit_test.go", + "display": "internal/mcp/tools_memory_edit_test.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_memory_significance.go", + "display": "internal/mcp/tools_memory_significance.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_memory_significance_test.go", + "display": "internal/mcp/tools_memory_significance_test.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_store_consolidated.go", + "display": "internal/mcp/tools_store_consolidated.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_settings.go", + "display": "internal/mcp/tools_settings.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_settings_test.go", + "display": "internal/mcp/tools_settings_test.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_documents_v2.go", + "display": "internal/mcp/tools_documents_v2.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_rule_governance.go", + "display": "internal/mcp/tools_rule_governance.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_rule_governance_test.go", + "display": "internal/mcp/tools_rule_governance_test.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/structured_input_validation_test.go", + "display": "internal/mcp/structured_input_validation_test.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/redaction/layer.go", + "display": "internal/redaction/layer.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/redaction/layer_test.go", + "display": "internal/redaction/layer_test.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/redaction/rejection_test.go", + "display": "internal/redaction/rejection_test.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/mcp/redaction_guard.go", + "display": "internal/mcp/redaction_guard.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/mcp/redaction_guard_test.go", + "display": "internal/mcp/redaction_guard_test.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/mcp/tools_memory.go", + "display": "internal/mcp/tools_memory.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/mcp/tools_rules.go", + "display": "internal/mcp/tools_rules.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/mcp/tools_memory_redaction_audit_test.go", + "display": "internal/mcp/tools_memory_redaction_audit_test.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/mcp/tools_rules_redaction_audit_test.go", + "display": "internal/mcp/tools_rules_redaction_audit_test.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/worker/service.go", + "display": "internal/worker/service.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/worker/service_redaction_test.go", + "display": "internal/worker/service_redaction_test.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "docs/operating-engram.md", + "display": "docs/operating-engram.md", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": ".agent/reports/evidence/production-ready/redaction-live-contract", + "display": ".agent/reports/evidence/production-ready/redaction-live-contract/**", + "kind": "prefix", + "line": 32 + }, + { + "owner": "RETRIEVAL-VECTOR-CONTRACT", + "branch": "work/prc-retrieval-vector-contract", + "path": "internal/retrieval/hybrid_integration_test.go", + "display": "internal/retrieval/hybrid_integration_test.go", + "kind": "exact", + "line": 34 + }, + { + "owner": "STATIC-EMBED-CONTRACT", + "branch": "work/prc-static-embed-contract", + "path": "internal/worker/static_embed_test.go", + "display": "internal/worker/static_embed_test.go", + "kind": "exact", + "line": 35 + }, + { + "owner": "PRE-V5-UPGRADE-CONTRACT", + "branch": "work/prc-pre-v5-upgrade-contract", + "path": "internal/db/gorm/migrations_integration_test.go", + "display": "internal/db/gorm/migrations_integration_test.go", + "kind": "exact", + "line": 36 + }, + { + "owner": "PRE-V5-UPGRADE-CONTRACT", + "branch": "work/prc-pre-v5-upgrade-contract", + "path": "internal/grpcserver/credential_migration_test.go", + "display": "internal/grpcserver/credential_migration_test.go", + "kind": "exact", + "line": 36 + }, + { + "owner": "PRE-V5-UPGRADE-CONTRACT", + "branch": "work/prc-pre-v5-upgrade-contract", + "path": "tests/fixtures/pre-v5", + "display": "tests/fixtures/pre-v5/**", + "kind": "prefix", + "line": 36 + }, + { + "owner": "PRE-V5-UPGRADE-CONTRACT", + "branch": "work/prc-pre-v5-upgrade-contract", + "path": "tests/critical/recovery/pre_v5_upgrade_test.go", + "display": "tests/critical/recovery/pre_v5_upgrade_test.go", + "kind": "exact", + "line": 36 + }, + { + "owner": "PRE-V5-UPGRADE-CONTRACT", + "branch": "work/prc-pre-v5-upgrade-contract", + "path": "scripts/production-smoke/customer/run-pre-v5-upgrade.ps1", + "display": "scripts/production-smoke/customer/run-pre-v5-upgrade.ps1", + "kind": "exact", + "line": 36 + }, + { + "owner": "T007-COMPAT-DEMOLITION-CLASSIFICATION", + "branch": "work/prc-t007-compat-classification", + "path": "internal/mcp/store_memory_compat_t007_test.go", + "display": "internal/mcp/store_memory_compat_t007_test.go", + "kind": "exact", + "line": 37 + }, + { + "owner": "DB-RULES-ISOLATION", + "branch": "work/prc-db-rules-isolation", + "path": "internal/worker/handlers_rules_test.go", + "display": "internal/worker/handlers_rules_test.go", + "kind": "exact", + "line": 38 + }, + { + "owner": "DB-RULES-ISOLATION", + "branch": "work/prc-db-rules-isolation", + "path": "scripts/production-gates/run-db-rules-isolation.ps1", + "display": "scripts/production-gates/run-db-rules-isolation.ps1", + "kind": "exact", + "line": 38 + }, + { + "owner": "COVERAGE-CMD-ENGRAM", + "branch": "work/prc-coverage-cmd-engram", + "path": "cmd/engram/production_readiness_coverage_test.go", + "display": "cmd/engram/production_readiness_coverage_test.go", + "kind": "exact", + "line": 39 + }, + { + "owner": "COVERAGE-CMD-SERVER", + "branch": "work/prc-coverage-cmd-server", + "path": "cmd/engram-server/production_readiness_coverage_test.go", + "display": "cmd/engram-server/production_readiness_coverage_test.go", + "kind": "exact", + "line": 40 + }, + { + "owner": "COVERAGE-UPDATE", + "branch": "work/prc-coverage-update", + "path": "internal/update/production_readiness_coverage_test.go", + "display": "internal/update/production_readiness_coverage_test.go", + "kind": "exact", + "line": 41 + }, + { + "owner": "COVERAGE-WORKER", + "branch": "work/prc-coverage-worker", + "path": "internal/worker/production_readiness_coverage_test.go", + "display": "internal/worker/production_readiness_coverage_test.go", + "kind": "exact", + "line": 43 + }, + { + "owner": "COVERAGE-MCP", + "branch": "work/prc-coverage-mcp", + "path": "internal/mcp/production_readiness_coverage_test.go", + "display": "internal/mcp/production_readiness_coverage_test.go", + "kind": "exact", + "line": 44 + }, + { + "owner": "COVERAGE-GORM", + "branch": "work/prc-coverage-gorm", + "path": "internal/db/gorm/production_readiness_coverage_test.go", + "display": "internal/db/gorm/production_readiness_coverage_test.go", + "kind": "exact", + "line": 45 + }, + { + "owner": "COVERAGE-LOOM", + "branch": "work/prc-coverage-loom", + "path": "internal/handlers/loom/production_readiness_coverage_test.go", + "display": "internal/handlers/loom/production_readiness_coverage_test.go", + "kind": "exact", + "line": 46 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "docker-compose.yml", + "display": "docker-compose.yml", + "kind": "exact", + "line": 47 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "deploy/docker-compose.runtime.yml", + "display": "deploy/docker-compose.runtime.yml", + "kind": "exact", + "line": 47 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "deploy/docker-compose.operator-web-standalone.yml", + "display": "deploy/docker-compose.operator-web-standalone.yml", + "kind": "exact", + "line": 47 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "deploy/entrypoint-server.sh", + "display": "deploy/entrypoint-server.sh", + "kind": "exact", + "line": 47 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "deploy/healthcheck-server.sh", + "display": "deploy/healthcheck-server.sh", + "kind": "exact", + "line": 47 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "deploy/verify-rollback.ps1", + "display": "deploy/verify-rollback.ps1", + "kind": "exact", + "line": 47 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "deploy/verify-runtime-policy.ps1", + "display": "deploy/verify-runtime-policy.ps1", + "kind": "exact", + "line": 47 + }, + { + "owner": "RECOVERY-DATA", + "branch": "work/prc-recovery-data", + "path": "scripts/recovery/start-disposable-postgres.ps1", + "display": "scripts/recovery/start-disposable-postgres.ps1", + "kind": "exact", + "line": 48 + }, + { + "owner": "RECOVERY-DATA", + "branch": "work/prc-recovery-data", + "path": "scripts/recovery/verify-postgres-roundtrip.ps1", + "display": "scripts/recovery/verify-postgres-roundtrip.ps1", + "kind": "exact", + "line": 48 + }, + { + "owner": "RECOVERY-DATA", + "branch": "work/prc-recovery-data", + "path": "scripts/recovery/seed-recovery-fixture.ps1", + "display": "scripts/recovery/seed-recovery-fixture.ps1", + "kind": "exact", + "line": 48 + }, + { + "owner": "RECOVERY-DATA", + "branch": "work/prc-recovery-data", + "path": "scripts/recovery/assert-recovery-fixture.ps1", + "display": "scripts/recovery/assert-recovery-fixture.ps1", + "kind": "exact", + "line": 48 + }, + { + "owner": "RECOVERY-DATA", + "branch": "work/prc-recovery-data", + "path": "tests/critical/recovery/postgres_roundtrip_test.go", + "display": "tests/critical/recovery/postgres_roundtrip_test.go", + "kind": "exact", + "line": 48 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "internal/module/obs/logging.go", + "display": "internal/module/obs/logging.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "internal/module/obs/logging_test.go", + "display": "internal/module/obs/logging_test.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "internal/module/obs/meter.go", + "display": "internal/module/obs/meter.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "internal/module/obs/meter_test.go", + "display": "internal/module/obs/meter_test.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "internal/module/obs/metrics.go", + "display": "internal/module/obs/metrics.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "internal/module/obs/metrics_test.go", + "display": "internal/module/obs/metrics_test.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "cmd/engram-server/main.go", + "display": "cmd/engram-server/main.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "cmd/engram-server/main_test.go", + "display": "cmd/engram-server/main_test.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "scripts/production-smoke/verify-otlp.ps1", + "display": "scripts/production-smoke/verify-otlp.ps1", + "kind": "exact", + "line": 49 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/scope/domain_policy.go", + "display": "internal/scope/domain_policy.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/scope/domain_policy_test.go", + "display": "internal/scope/domain_policy_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/scope/filter.go", + "display": "internal/scope/filter.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/scope/filter_test.go", + "display": "internal/scope/filter_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/scope/filter_principal_test.go", + "display": "internal/scope/filter_principal_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/scope/filter_w4_test.go", + "display": "internal/scope/filter_w4_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/principalmemory/access_policy.go", + "display": "internal/principalmemory/access_policy.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/principalmemory/access_policy_test.go", + "display": "internal/principalmemory/access_policy_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/principalmemory/domain_registry.go", + "display": "internal/principalmemory/domain_registry.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/principalmemory/domain_registry_test.go", + "display": "internal/principalmemory/domain_registry_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/principalmemory/query_service.go", + "display": "internal/principalmemory/query_service.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/principalmemory/query_service_test.go", + "display": "internal/principalmemory/query_service_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/mcp/tools_principal_memory.go", + "display": "internal/mcp/tools_principal_memory.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/mcp/tools_principal_memory_test.go", + "display": "internal/mcp/tools_principal_memory_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/mcp/tools_recall_principal_test.go", + "display": "internal/mcp/tools_recall_principal_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/mcp/recall_visibility_backfill_test.go", + "display": "internal/mcp/recall_visibility_backfill_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/mcp/store_memory_principal_test.go", + "display": "internal/mcp/store_memory_principal_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/worker/handlers_principal_memory.go", + "display": "internal/worker/handlers_principal_memory.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/worker/handlers_principal_memory_test.go", + "display": "internal/worker/handlers_principal_memory_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/worker/scope_bypass_w4_test.go", + "display": "internal/worker/scope_bypass_w4_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/worker/retention.go", + "display": "internal/worker/retention.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/worker/retention_test.go", + "display": "internal/worker/retention_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/db/gorm/memory_store.go", + "display": "internal/db/gorm/memory_store.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/db/gorm/memory_store_principal_test.go", + "display": "internal/db/gorm/memory_store_principal_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/db/gorm/memory_store_principal_query_test.go", + "display": "internal/db/gorm/memory_store_principal_query_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/db/gorm/purge_store_test.go", + "display": "internal/db/gorm/purge_store_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "tests/critical/data_boundaries/principal_project_retention_test.go", + "display": "tests/critical/data_boundaries/principal_project_retention_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "tests/critical/customer_mode/customer_mode_test.go", + "display": "tests/critical/customer_mode/customer_mode_test.go", + "kind": "exact", + "line": 51 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "tests/critical/customer_mode/compatibility_test.go", + "display": "tests/critical/customer_mode/compatibility_test.go", + "kind": "exact", + "line": 51 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "tests/critical/customer_mode/cross_agent_test.go", + "display": "tests/critical/customer_mode/cross_agent_test.go", + "kind": "exact", + "line": 51 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "scripts/production-smoke/customer/run-customer-mode.ps1", + "display": "scripts/production-smoke/customer/run-customer-mode.ps1", + "kind": "exact", + "line": 51 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "scripts/production-smoke/customer/run-client-compatibility.ps1", + "display": "scripts/production-smoke/customer/run-client-compatibility.ps1", + "kind": "exact", + "line": 51 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "scripts/production-smoke/customer/run-cross-agent.ps1", + "display": "scripts/production-smoke/customer/run-cross-agent.ps1", + "kind": "exact", + "line": 51 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "scripts/production-smoke/customer/run-diagnostic-matrix.ps1", + "display": "scripts/production-smoke/customer/run-diagnostic-matrix.ps1", + "kind": "exact", + "line": 51 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "scripts/production-smoke/customer/assert-product-works.ps1", + "display": "scripts/production-smoke/customer/assert-product-works.ps1", + "kind": "exact", + "line": 51 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "README.md", + "display": "README.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "README.ru.md", + "display": "README.ru.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "README.zh.md", + "display": "README.zh.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "CONTRIBUTING.md", + "display": "CONTRIBUTING.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "CHANGELOG.md", + "display": "CHANGELOG.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "Makefile", + "display": "Makefile", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": ".env.example", + "display": ".env.example", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/DEPLOYMENT.md", + "display": "docs/DEPLOYMENT.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/MIGRATION.md", + "display": "docs/MIGRATION.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "display": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/arch/CONFIGURATION.md", + "display": "docs/arch/CONFIGURATION.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/arch/QUICKSTART.md", + "display": "docs/arch/QUICKSTART.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/release-notes/v6.43.0.md", + "display": "docs/release-notes/v6.43.0.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/public/engram.jpg", + "display": "docs/public/engram.jpg", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "plugin/engram/commands/setup.md", + "display": "plugin/engram/commands/setup.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "plugin/engram/commands/doctor.md", + "display": "plugin/engram/commands/doctor.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "README.md", + "display": "README.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "README.ru.md", + "display": "README.ru.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "README.zh.md", + "display": "README.zh.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "CONTRIBUTING.md", + "display": "CONTRIBUTING.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "CHANGELOG.md", + "display": "CHANGELOG.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "Makefile", + "display": "Makefile", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": ".env.example", + "display": ".env.example", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/DEPLOYMENT.md", + "display": "docs/DEPLOYMENT.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/MIGRATION.md", + "display": "docs/MIGRATION.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "display": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/operating-engram.md", + "display": "docs/operating-engram.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/arch/CONFIGURATION.md", + "display": "docs/arch/CONFIGURATION.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/arch/QUICKSTART.md", + "display": "docs/arch/QUICKSTART.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/public/engram.jpg", + "display": "docs/public/engram.jpg", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "plugin/engram/commands/setup.md", + "display": "plugin/engram/commands/setup.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "plugin/engram/commands/doctor.md", + "display": "plugin/engram/commands/doctor.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "cmd/engram/main.go", + "display": "cmd/engram/main.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "cmd/engram/main_test.go", + "display": "cmd/engram/main_test.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "cmd/engram/wiring.go", + "display": "cmd/engram/wiring.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "cmd/engram/exec_windows.go", + "display": "cmd/engram/exec_windows.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "cmd/engram/exec_unix.go", + "display": "cmd/engram/exec_unix.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "plugin/engram/.engram-project", + "display": "plugin/engram/.engram-project", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "plugin/engram/scripts/run-engram.js", + "display": "plugin/engram/scripts/run-engram.js", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "plugin/engram/scripts/run-engram.test.js", + "display": "plugin/engram/scripts/run-engram.test.js", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "plugin/engram/scripts/ensure-binary.js", + "display": "plugin/engram/scripts/ensure-binary.js", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "plugin/engram/scripts/ensure-binary.test.js", + "display": "plugin/engram/scripts/ensure-binary.test.js", + "kind": "exact", + "line": 54 + }, + { + "owner": "OC-INTEGRATION", + "branch": "work/prc-operator-console-integration", + "path": "apps/operator-console", + "display": "apps/operator-console/**", + "kind": "prefix", + "line": 55 + }, + { + "owner": "S4B-CONTRACT", + "branch": "work/prc-s4b-contract", + "path": ".agent/specs/engram-v7-directives-surfacing", + "display": ".agent/specs/engram-v7-directives-surfacing/**", + "kind": "prefix", + "line": 56 + }, + { + "owner": "V7-S4B-BACKEND", + "branch": "work/prc-v7-s4b-backend", + "path": "internal/cognitive/s4bsurfacing", + "display": "internal/cognitive/s4bsurfacing/**", + "kind": "prefix", + "line": 57 + }, + { + "owner": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "path": "internal/cognitive/core/event_bus.go", + "display": "internal/cognitive/core/event_bus.go", + "kind": "exact", + "line": 58 + }, + { + "owner": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "path": "internal/cognitive/core/event_bus_test.go", + "display": "internal/cognitive/core/event_bus_test.go", + "kind": "exact", + "line": 58 + }, + { + "owner": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "path": "internal/cognitive/core/hint_queue.go", + "display": "internal/cognitive/core/hint_queue.go", + "kind": "exact", + "line": 58 + }, + { + "owner": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "path": "internal/cognitive/core/hint_queue_test.go", + "display": "internal/cognitive/core/hint_queue_test.go", + "kind": "exact", + "line": 58 + }, + { + "owner": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "path": "internal/cognitive/s3ambient/queue.go", + "display": "internal/cognitive/s3ambient/queue.go", + "kind": "exact", + "line": 58 + }, + { + "owner": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "path": "internal/cognitive/s3ambient/subsystem.go", + "display": "internal/cognitive/s3ambient/subsystem.go", + "kind": "exact", + "line": 58 + }, + { + "owner": "V7-RUNTIME-WIRING", + "branch": "work/prc-v7-runtime-wiring", + "path": "internal/worker/service.go", + "display": "internal/worker/service.go", + "kind": "exact", + "line": 59 + }, + { + "owner": "V7-RUNTIME-WIRING", + "branch": "work/prc-v7-runtime-wiring", + "path": "internal/worker/service_v7_integration_test.go", + "display": "internal/worker/service_v7_integration_test.go", + "kind": "exact", + "line": 59 + }, + { + "owner": "V7-RUNTIME-WIRING", + "branch": "work/prc-v7-runtime-wiring", + "path": "internal/worker/handlers_stats_v7.go", + "display": "internal/worker/handlers_stats_v7.go", + "kind": "exact", + "line": 59 + }, + { + "owner": "V7-RUNTIME-WIRING", + "branch": "work/prc-v7-runtime-wiring", + "path": "internal/worker/handlers_stats_v7_test.go", + "display": "internal/worker/handlers_stats_v7_test.go", + "kind": "exact", + "line": 59 + }, + { + "owner": "V7-TELEMETRY-WIRING", + "branch": "work/prc-v7-telemetry-wiring", + "path": "internal/cognitive/s5/metrics.go", + "display": "internal/cognitive/s5/metrics.go", + "kind": "exact", + "line": 60 + }, + { + "owner": "V7-TELEMETRY-WIRING", + "branch": "work/prc-v7-telemetry-wiring", + "path": "internal/cognitive/s5/provider.go", + "display": "internal/cognitive/s5/provider.go", + "kind": "exact", + "line": 60 + }, + { + "owner": "V7-TELEMETRY-WIRING", + "branch": "work/prc-v7-telemetry-wiring", + "path": "internal/cognitive/s5/provider_test.go", + "display": "internal/cognitive/s5/provider_test.go", + "kind": "exact", + "line": 60 + }, + { + "owner": "V7-TELEMETRY-WIRING", + "branch": "work/prc-v7-telemetry-wiring", + "path": "internal/cognitive/s5/source_adapter.go", + "display": "internal/cognitive/s5/source_adapter.go", + "kind": "exact", + "line": 60 + }, + { + "owner": "V7-TELEMETRY-WIRING", + "branch": "work/prc-v7-telemetry-wiring", + "path": "internal/cognitive/s5/source_adapter_test.go", + "display": "internal/cognitive/s5/source_adapter_test.go", + "kind": "exact", + "line": 60 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/roadmap.md", + "display": ".agent/specs/roadmap.md", + "kind": "exact", + "line": 61 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/ui-surface-ledger.md", + "display": ".agent/specs/ui-surface-ledger.md", + "kind": "exact", + "line": 61 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/operator-console-production-integration", + "display": ".agent/specs/operator-console-production-integration/**", + "kind": "prefix", + "line": 61 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/engram-v7-ambient/spec.md", + "display": ".agent/specs/engram-v7-ambient/spec.md", + "kind": "exact", + "line": 61 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/engram-v7-ambient/plan.md", + "display": ".agent/specs/engram-v7-ambient/plan.md", + "kind": "exact", + "line": 61 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/engram-v7-ambient/checklists/general.md", + "display": ".agent/specs/engram-v7-ambient/checklists/general.md", + "kind": "exact", + "line": 61 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 61 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 61 + }, + { + "owner": "NORTHSTAR-CI-A-CONTRACTS", + "branch": "work/prc-northstar-ci-a-contracts", + "path": ".agent/specs/engram-absorption/ci-a-dense-vector/spec.md", + "display": ".agent/specs/engram-absorption/ci-a-dense-vector/spec.md", + "kind": "exact", + "line": 62 + }, + { + "owner": "NORTHSTAR-CI-A-CONTRACTS", + "branch": "work/prc-northstar-ci-a-contracts", + "path": ".agent/specs/engram-absorption/ci-a-dense-vector/plan.md", + "display": ".agent/specs/engram-absorption/ci-a-dense-vector/plan.md", + "kind": "exact", + "line": 62 + }, + { + "owner": "NORTHSTAR-CI-A-CONTRACTS", + "branch": "work/prc-northstar-ci-a-contracts", + "path": ".agent/specs/engram-absorption/ci-a-dense-vector/checklists/general.md", + "display": ".agent/specs/engram-absorption/ci-a-dense-vector/checklists/general.md", + "kind": "exact", + "line": 62 + }, + { + "owner": "NORTHSTAR-CI-A-CONTRACTS", + "branch": "work/prc-northstar-ci-a-contracts", + "path": ".agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 62 + }, + { + "owner": "NORTHSTAR-CI-A-CONTRACTS", + "branch": "work/prc-northstar-ci-a-contracts", + "path": ".agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 62 + }, + { + "owner": "NORTHSTAR-CI-B-CONTRACTS", + "branch": "work/prc-northstar-ci-b-contracts", + "path": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/spec.md", + "display": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/spec.md", + "kind": "exact", + "line": 63 + }, + { + "owner": "NORTHSTAR-CI-B-CONTRACTS", + "branch": "work/prc-northstar-ci-b-contracts", + "path": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/plan.md", + "display": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/plan.md", + "kind": "exact", + "line": 63 + }, + { + "owner": "NORTHSTAR-CI-B-CONTRACTS", + "branch": "work/prc-northstar-ci-b-contracts", + "path": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/checklists/general.md", + "display": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/checklists/general.md", + "kind": "exact", + "line": 63 + }, + { + "owner": "NORTHSTAR-CI-B-CONTRACTS", + "branch": "work/prc-northstar-ci-b-contracts", + "path": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 63 + }, + { + "owner": "NORTHSTAR-CI-B-CONTRACTS", + "branch": "work/prc-northstar-ci-b-contracts", + "path": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 63 + }, + { + "owner": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "path": ".agent/specs/engram-absorption/book/prd.md", + "display": ".agent/specs/engram-absorption/book/prd.md", + "kind": "exact", + "line": 64 + }, + { + "owner": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "path": ".agent/specs/engram-absorption/book/spec.md", + "display": ".agent/specs/engram-absorption/book/spec.md", + "kind": "exact", + "line": 64 + }, + { + "owner": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "path": ".agent/specs/engram-absorption/book/plan.md", + "display": ".agent/specs/engram-absorption/book/plan.md", + "kind": "exact", + "line": 64 + }, + { + "owner": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "path": ".agent/specs/engram-absorption/book/checklists/general.md", + "display": ".agent/specs/engram-absorption/book/checklists/general.md", + "kind": "exact", + "line": 64 + }, + { + "owner": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "path": ".agent/specs/engram-absorption/book/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/engram-absorption/book/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 64 + }, + { + "owner": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "path": ".agent/specs/engram-absorption/book/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/engram-absorption/book/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 64 + }, + { + "owner": "NORTHSTAR-MEM-CONTRACTS", + "branch": "work/prc-northstar-mem-contracts", + "path": ".agent/specs/engram-absorption/mem-residual/spec.md", + "display": ".agent/specs/engram-absorption/mem-residual/spec.md", + "kind": "exact", + "line": 65 + }, + { + "owner": "NORTHSTAR-MEM-CONTRACTS", + "branch": "work/prc-northstar-mem-contracts", + "path": ".agent/specs/engram-absorption/mem-residual/plan.md", + "display": ".agent/specs/engram-absorption/mem-residual/plan.md", + "kind": "exact", + "line": 65 + }, + { + "owner": "NORTHSTAR-MEM-CONTRACTS", + "branch": "work/prc-northstar-mem-contracts", + "path": ".agent/specs/engram-absorption/mem-residual/checklists/general.md", + "display": ".agent/specs/engram-absorption/mem-residual/checklists/general.md", + "kind": "exact", + "line": 65 + }, + { + "owner": "NORTHSTAR-MEM-CONTRACTS", + "branch": "work/prc-northstar-mem-contracts", + "path": ".agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 65 + }, + { + "owner": "NORTHSTAR-MEM-CONTRACTS", + "branch": "work/prc-northstar-mem-contracts", + "path": ".agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 65 + }, + { + "owner": "NORTHSTAR-EFFECTIVENESS-CONTRACTS", + "branch": "work/prc-northstar-effectiveness-contracts", + "path": ".agent/specs/engram-effectiveness/production-ready-residual/spec.md", + "display": ".agent/specs/engram-effectiveness/production-ready-residual/spec.md", + "kind": "exact", + "line": 66 + }, + { + "owner": "NORTHSTAR-EFFECTIVENESS-CONTRACTS", + "branch": "work/prc-northstar-effectiveness-contracts", + "path": ".agent/specs/engram-effectiveness/production-ready-residual/plan.md", + "display": ".agent/specs/engram-effectiveness/production-ready-residual/plan.md", + "kind": "exact", + "line": 66 + }, + { + "owner": "NORTHSTAR-EFFECTIVENESS-CONTRACTS", + "branch": "work/prc-northstar-effectiveness-contracts", + "path": ".agent/specs/engram-effectiveness/production-ready-residual/checklists/general.md", + "display": ".agent/specs/engram-effectiveness/production-ready-residual/checklists/general.md", + "kind": "exact", + "line": 66 + }, + { + "owner": "NORTHSTAR-EFFECTIVENESS-CONTRACTS", + "branch": "work/prc-northstar-effectiveness-contracts", + "path": ".agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 66 + }, + { + "owner": "NORTHSTAR-EFFECTIVENESS-CONTRACTS", + "branch": "work/prc-northstar-effectiveness-contracts", + "path": ".agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 66 + }, + { + "owner": "NORTHSTAR-SETTINGS-CONTRACTS", + "branch": "work/prc-northstar-settings-contracts", + "path": ".agent/specs/settings-store/production-ready-residual/spec.md", + "display": ".agent/specs/settings-store/production-ready-residual/spec.md", + "kind": "exact", + "line": 67 + }, + { + "owner": "NORTHSTAR-SETTINGS-CONTRACTS", + "branch": "work/prc-northstar-settings-contracts", + "path": ".agent/specs/settings-store/production-ready-residual/plan.md", + "display": ".agent/specs/settings-store/production-ready-residual/plan.md", + "kind": "exact", + "line": 67 + }, + { + "owner": "NORTHSTAR-SETTINGS-CONTRACTS", + "branch": "work/prc-northstar-settings-contracts", + "path": ".agent/specs/settings-store/production-ready-residual/checklists/general.md", + "display": ".agent/specs/settings-store/production-ready-residual/checklists/general.md", + "kind": "exact", + "line": 67 + }, + { + "owner": "NORTHSTAR-SETTINGS-CONTRACTS", + "branch": "work/prc-northstar-settings-contracts", + "path": ".agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 67 + }, + { + "owner": "NORTHSTAR-SETTINGS-CONTRACTS", + "branch": "work/prc-northstar-settings-contracts", + "path": ".agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 67 + } + ], + "repeated_exact_paths": [ + { + "path": ".env.example", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": ".github/workflows/test.yml", + "exact_owners": [ + "RELEASE-GATES", + "IMAGE-REMEDIATION" + ], + "prefix_owners": [], + "effective_owners": [ + "RELEASE-GATES", + "IMAGE-REMEDIATION" + ], + "declared_epoch": true, + "epoch_owners": [ + "RELEASE-GATES", + "IMAGE-REMEDIATION" + ] + }, + { + "path": "apps/operator-console/package-lock.json", + "exact_owners": [ + "IMAGE-REMEDIATION" + ], + "prefix_owners": [ + "OC-INTEGRATION" + ], + "effective_owners": [ + "IMAGE-REMEDIATION", + "OC-INTEGRATION" + ], + "declared_epoch": true, + "epoch_owners": [ + "IMAGE-REMEDIATION", + "OC-INTEGRATION" + ] + }, + { + "path": "apps/operator-console/package.json", + "exact_owners": [ + "IMAGE-REMEDIATION" + ], + "prefix_owners": [ + "OC-INTEGRATION" + ], + "effective_owners": [ + "IMAGE-REMEDIATION", + "OC-INTEGRATION" + ], + "declared_epoch": true, + "epoch_owners": [ + "IMAGE-REMEDIATION", + "OC-INTEGRATION" + ] + }, + { + "path": "CHANGELOG.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "CONTRIBUTING.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "deploy/docker-compose.runtime.yml", + "exact_owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ], + "prefix_owners": [], + "effective_owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ], + "declared_epoch": true, + "epoch_owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ] + }, + { + "path": "docker-compose.yml", + "exact_owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ], + "prefix_owners": [], + "effective_owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ], + "declared_epoch": true, + "epoch_owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ] + }, + { + "path": "Dockerfile", + "exact_owners": [ + "SECURITY-TOOLCHAIN", + "IMAGE-REMEDIATION" + ], + "prefix_owners": [], + "effective_owners": [ + "SECURITY-TOOLCHAIN", + "IMAGE-REMEDIATION" + ], + "declared_epoch": true, + "epoch_owners": [ + "SECURITY-TOOLCHAIN", + "IMAGE-REMEDIATION" + ] + }, + { + "path": "docs/arch/CONFIGURATION.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "docs/arch/QUICKSTART.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "docs/DEPLOYMENT.md", + "exact_owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "docs/MIGRATION.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "docs/operating-engram.md", + "exact_owners": [ + "REDACTION-LIVE-CONTRACT", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "REDACTION-LIVE-CONTRACT", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "REDACTION-LIVE-CONTRACT", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "exact_owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "docs/public/engram.jpg", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "internal/bulkops/facade_test.go", + "exact_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ] + }, + { + "path": "internal/bulkops/facade.go", + "exact_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION", + "DURABLE-AUDIT-BOUNDARIES" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION", + "DURABLE-AUDIT-BOUNDARIES" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION", + "DURABLE-AUDIT-BOUNDARIES" + ] + }, + { + "path": "internal/bulkops/rollback_test.go", + "exact_owners": [ + "DB-BULKOPS", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ] + }, + { + "path": "internal/db/gorm/candidate_store_test.go", + "exact_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-TEST-POOL-HYGIENE", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-TEST-POOL-HYGIENE", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-TEST-POOL-HYGIENE", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ] + }, + { + "path": "internal/db/gorm/candidate_store.go", + "exact_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ] + }, + { + "path": "internal/db/gorm/user_store.go", + "exact_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ] + }, + { + "path": "internal/mcp/tools_bulkops.go", + "exact_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ] + }, + { + "path": "internal/mcp/tools_dryrun_test.go", + "exact_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ] + }, + { + "path": "internal/mcp/tools_memory.go", + "exact_owners": [ + "MCP-STRUCTURED-INPUT-VALIDATION", + "REDACTION-LIVE-CONTRACT" + ], + "prefix_owners": [], + "effective_owners": [ + "MCP-STRUCTURED-INPUT-VALIDATION", + "REDACTION-LIVE-CONTRACT" + ], + "declared_epoch": true, + "epoch_owners": [ + "MCP-STRUCTURED-INPUT-VALIDATION", + "REDACTION-LIVE-CONTRACT" + ] + }, + { + "path": "internal/worker/auth_handlers.go", + "exact_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ] + }, + { + "path": "internal/worker/service.go", + "exact_owners": [ + "AUTH-BOOTSTRAP-SECURITY", + "REDACTION-LIVE-CONTRACT", + "V7-RUNTIME-WIRING" + ], + "prefix_owners": [], + "effective_owners": [ + "AUTH-BOOTSTRAP-SECURITY", + "REDACTION-LIVE-CONTRACT", + "V7-RUNTIME-WIRING" + ], + "declared_epoch": true, + "epoch_owners": [ + "AUTH-BOOTSTRAP-SECURITY", + "REDACTION-LIVE-CONTRACT", + "V7-RUNTIME-WIRING" + ] + }, + { + "path": "Makefile", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "pkg/models/snapshot.go", + "exact_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ] + }, + { + "path": "plugin/engram/commands/doctor.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "plugin/engram/commands/setup.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "README.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "README.ru.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "README.zh.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + } + ], + "prefix_intersections": [ + { + "left_owner": "IMAGE-REMEDIATION", + "left": "apps/operator-console/package.json", + "right_owner": "OC-INTEGRATION", + "right": "apps/operator-console/**", + "exact_path": "apps/operator-console/package.json", + "declared_epoch": true + }, + { + "left_owner": "IMAGE-REMEDIATION", + "left": "apps/operator-console/package-lock.json", + "right_owner": "OC-INTEGRATION", + "right": "apps/operator-console/**", + "exact_path": "apps/operator-console/package-lock.json", + "declared_epoch": true + } + ], + "epochs": [ + { + "path": "internal/db/gorm/candidate_store.go", + "owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "transfer_gate": "rejected predecessor checker/hash recorded; rework uses exact base `68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef`; each accepted successor requires checker PASS, post-review PASS, integration SHA, and exact rebase before edit", + "line": 6 + }, + { + "path": "internal/db/gorm/candidate_store_test.go", + "owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-TEST-POOL-HYGIENE", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "transfer_gate": "behavioral-edge head `bd68c05baf4b7250096dd84f56bebea2aa555970` remains current authority until pool-hygiene product `276337b3e96aa5af6d2e7dd9a0002ff957e5ffc9` plus evidence `68242c48aaad62ec087166eeb9ea32f14d189450` receive fresh checker and post-review; later successors require exact integration and rebase", + "line": 7 + }, + { + "path": "internal/mcp/tools_bulkops.go", + "owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "transfer_gate": "rejected predecessor checker/hash recorded; rework base is exact rejected head; checker and post-review PASS plus integration SHA close the transfer", + "line": 8 + }, + { + "path": "internal/mcp/tools_dryrun_test.go", + "owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "transfer_gate": "rejected predecessor checker/hash recorded; rework base is exact rejected head; checker and post-review PASS plus integration SHA close the transfer", + "line": 8 + }, + { + "path": "internal/bulkops/facade.go", + "owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION", + "DURABLE-AUDIT-BOUNDARIES" + ], + "transfer_gate": "behavioral-edge composite checker and post-review PASS; exact integration SHA recorded; demolition rebased before edit; historical ingest guard green before durable-audit fault work", + "line": 9 + }, + { + "path": "internal/bulkops/facade_test.go", + "owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "transfer_gate": "accepted behavioral-edge composite integrated; demolition worktree rebased; focused historical-only regressions PASS before integration", + "line": 10 + }, + { + "path": "internal/bulkops/rollback_test.go", + "owners": [ + "DB-BULKOPS", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "transfer_gate": "accepted behavioral-edge composite and DB-GOVERNANCE integrated; candidate-review successor rebased; combined checker and post-review PASS", + "line": 11 + }, + { + "path": "pkg/models/snapshot.go", + "owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "transfer_gate": "accepted behavioral-edge composite integrated; demolition successor rebased; persistence-compatibility and non-executable regressions PASS", + "line": 12 + }, + { + "path": "internal/db/gorm/user_store.go", + "owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "transfer_gate": "each predecessor checker and post-review PASS, integration SHA recorded, successor rebased; no simultaneous writer", + "line": 13 + }, + { + "path": "internal/worker/auth_handlers.go", + "owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "transfer_gate": "each predecessor checker and post-review PASS, integration SHA recorded, successor rebased; no simultaneous writer", + "line": 14 + }, + { + "path": "internal/worker/service.go", + "owners": [ + "AUTH-BOOTSTRAP-SECURITY", + "REDACTION-LIVE-CONTRACT", + "V7-RUNTIME-WIRING" + ], + "transfer_gate": "auth bootstrap checker and post-review PASS, commit integrated, redaction worktree rebased and boot-captured rules proved; V7 later rebases the redaction integration and reruns both auth and redaction route regressions", + "line": 15 + }, + { + "path": "internal/mcp/tools_memory.go", + "owners": [ + "MCP-STRUCTURED-INPUT-VALIDATION", + "REDACTION-LIVE-CONTRACT" + ], + "transfer_gate": "structured-input checker/post-review PASS and exact integration SHA; redaction successor rebased so malformed input remains zero-audit/zero-write before matched-mutation audit enforcement", + "line": 16 + }, + { + "path": "docs/operating-engram.md", + "owners": [ + "REDACTION-LIVE-CONTRACT", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "redaction live contract checker/post-review PASS and exact integration SHA; FINAL rebased and revalidates the operator claims against final published artifacts", + "line": 17 + }, + { + "path": "Dockerfile", + "owners": [ + "SECURITY-TOOLCHAIN", + "IMAGE-REMEDIATION" + ], + "transfer_gate": "toolchain checker and post-review PASS, commit integrated, image worktree rebased, zero-finding rebuild and scan before successor integration", + "line": 18 + }, + { + "path": ".github/workflows/test.yml", + "owners": [ + "RELEASE-GATES", + "IMAGE-REMEDIATION" + ], + "transfer_gate": "release-gates checker and post-review PASS, commit integrated, image worktree rebased before workflow image-identity changes", + "line": 19 + }, + { + "path": "docker-compose.yml", + "owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ], + "transfer_gate": "image checker and post-review PASS, `final-image-set.json` recorded, deployment worktree rebased, fresh scan after edits", + "line": 20 + }, + { + "path": "deploy/docker-compose.runtime.yml", + "owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ], + "transfer_gate": "image checker and post-review PASS, `final-image-set.json` recorded, deployment worktree rebased, fresh scan after edits", + "line": 20 + }, + { + "path": "apps/operator-console/package.json", + "owners": [ + "IMAGE-REMEDIATION", + "OC-INTEGRATION" + ], + "transfer_gate": "image checker and post-review PASS, OC worktree rebased, any later dependency edit reruns audit/build/browser/image scan", + "line": 21 + }, + { + "path": "apps/operator-console/package-lock.json", + "owners": [ + "IMAGE-REMEDIATION", + "OC-INTEGRATION" + ], + "transfer_gate": "image checker and post-review PASS, OC worktree rebased, any later dependency edit reruns audit/build/browser/image scan", + "line": 21 + }, + { + "path": "docs/DEPLOYMENT.md", + "owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "image proof integrated; CORE rebased for M5; FINAL rebased to exact M6 integration and final-version artifact before edit", + "line": 22 + }, + { + "path": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "image proof integrated; CORE rebased for M5; FINAL rebased to exact M6 integration and final-version artifact before edit", + "line": 22 + }, + { + "path": "README.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "README.ru.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "README.zh.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "CONTRIBUTING.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "CHANGELOG.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "Makefile", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": ".env.example", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "docs/MIGRATION.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "docs/arch/CONFIGURATION.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "docs/arch/QUICKSTART.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "docs/public/engram.jpg", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "plugin/engram/commands/setup.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "plugin/engram/commands/doctor.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "internal/worker/dream_cycle.go", + "owners": [ + "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS" + ], + "transfer_gate": "single-owner tracked epoch with no predecessor; the maker starts only after the named dependencies, then requires checker PASS, post-review PASS, integration SHA, and a root plan/state amendment before any later writer", + "line": 24 + }, + { + "path": "internal/worker/dream_cycle_test.go", + "owners": [ + "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS" + ], + "transfer_gate": "single-owner tracked epoch with no predecessor; the maker starts only after the named dependencies, then requires checker PASS, post-review PASS, integration SHA, and a root plan/state amendment before any later writer", + "line": 24 + } + ], + "errors": [] +} diff --git a/.agent/specs/release-gates-r8/evidence/plan-governance/scope-map-parity.json b/.agent/specs/release-gates-r8/evidence/plan-governance/scope-map-parity.json new file mode 100644 index 00000000..37bd4ded --- /dev/null +++ b/.agent/specs/release-gates-r8/evidence/plan-governance/scope-map-parity.json @@ -0,0 +1,51 @@ +{ + "schema_version": 1, + "gate": "r8-scope-map-parity", + "checked_at": "2026-07-10T23:07:40.2283397+03:00", + "verdict": "PASS", + "register_freeze": { + "path": "D:\\Dev\\engram\\.agent\\reports\\production-readiness-evidence-register.json", + "sha256": "ab5f882fa110ca823a317061ecbca0c62516702735325893a56206f9e7a29415", + "updated_at": "2026-07-10T22:46:01.2938194+03:00", + "rows": 67, + "unique_slices": 67, + "goal_status": "USER_RESUMED_TOOL_STATUS_BLOCKED" + }, + "scope_map": { + "path": ".agent/plans/2026-07-10-engram-production-ready-scope-map.json", + "sha256": "81093184036672008d6b85dfa88a431998ef70b587ab11475aa2b315f03ddf79", + "rows": 67, + "unique_slices": 67, + "slice_set_matches_register": true, + "snapshot_status_head_matches_register": true, + "missing_plan_owners": [], + "classification_counts": { + "maker": 56, + "checker-evidence": 4, + "meta-fold": 4, + "historical": 1, + "root-integration": 2 + } + }, + "meta_folds": { + "CUSTOMER-MODE": ["CRITICAL-HARNESS", "INTEGRATION-RELEASE"], + "MASTER-PLAN": ["PLAN-GOVERNANCE"], + "OPERATIONS": ["DEPLOYMENT-ROLLBACK", "RECOVERY-DATA", "OBSERVABILITY-OTLP", "PRIVACY-BOUNDARIES", "CORE-PUBLIC-TRUTH", "FINAL-PUBLIC-TRUTH"], + "OPERATOR-CONSOLE": ["IMAGE-REMEDIATION", "OC-INTEGRATION"] + }, + "load_bearing_rejected_heads": { + "DB-BULKOPS": ["68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef"], + "DB-EMBEDDING-EVIDENCE-TRANSPORT": ["369951b61ee07cb0c405558e0f677cd1c9e90362"], + "RELEASE-GATES": ["144eeefa003c3e1c0009c4264f41236ee3453b65"], + "SECURITY-PROJECT-IDENTITY": ["9e2ce4e58a5cded69660ca9ac532d2167f315bb2"] + }, + "snapshot_only_fields": [ + "register_snapshot.sha256", + "register_snapshot.updated_at", + "register_status", + "register_head", + "register_notes" + ], + "ordinary_same_lane_progress_may_drift": true, + "errors": [] +} diff --git a/.agent/specs/release-gates-r8/evidence/release-gates/RG8-TDD.json b/.agent/specs/release-gates-r8/evidence/release-gates/RG8-TDD.json new file mode 100644 index 00000000..86c390f5 --- /dev/null +++ b/.agent/specs/release-gates-r8/evidence/release-gates/RG8-TDD.json @@ -0,0 +1,61 @@ +{ + "schema_version": 1, + "slice": "RELEASE-GATES", + "recorded_at": "2026-07-10T23:38:40.7151525+03:00", + "direct_parent": "37d185b33b8f9411564fda49cf8b0d58321b62fd", + "contract": [ + "reject exact required test names reported only by the wrong Go package", + "reject a required plan row and its ownership epoch disappearing together", + "reject a missing scope entry, missing owner or fold target, a new live register slice, and an explicitly rejected head presented as accepted", + "allow ordinary same-lane status and head progress plus timestamp, command, artifact, and notes drift" + ], + "red": [ + { + "surface": "scope contract", + "command": "pwsh -NoProfile -File scripts/production-gates/assert-plan-path-ownership.ps1 -SelfTest", + "expected_exit_code": 1, + "observed_exit_code": 1, + "observed_failure": "Invoke-ScopeContractAudit was not recognized before the implementation existed" + } + ], + "green": [ + { + "surface": "ownership and structural scope self-test", + "command": "pwsh -NoProfile -File scripts/production-gates/assert-plan-path-ownership.ps1 -SelfTest", + "exit_code": 0, + "result": "SELFTEST PASS: assert-plan-path-ownership.ps1" + }, + { + "surface": "database execution-proof self-test", + "command": "pwsh -NoProfile -File scripts/production-gates/run-db-suite.ps1 -SelfTest", + "exit_code": 0, + "result": "SELFTEST PASS including exact package-plus-test rejection and 12-test zero-skip proof" + }, + { + "surface": "extracted live CI conformance block", + "command": "pwsh -NoProfile -File .agent/specs/release-gates-r8/evidence/release-gates/verify-workflow-conformance.ps1 -Repository . -Label final-green", + "exit_code": 0, + "mutations_rejected": 51, + "artifact": ".agent/specs/release-gates-r8/evidence/release-gates/final-green.workflow-conformance.json" + } + ], + "prove_it": [ + { + "surface": "live package-plus-test predicate", + "mutation": "disable the CI conformance enforcement that rejects removal of the live package predicate", + "expected_exit_code": 1, + "observed_exit_code": 1, + "observed_failure": "conformance mutation 'remove live session-start package predicate' was accepted", + "artifact": ".agent/specs/release-gates-r8/evidence/release-gates/prove-it-package-final.workflow-conformance.json" + }, + { + "surface": "live register structural slice set", + "mutation": "disable live unique-slice-set enforcement in the ownership runner", + "expected_exit_code": 1, + "observed_exit_code": 1, + "observed_failure": "SELFTEST FAIL: live register slice missing from the scope map was accepted", + "artifact": ".agent/specs/release-gates-r8/evidence/release-gates/prove-it-scope-final.json" + } + ], + "verdict": "PASS_PENDING_INDEPENDENT_CHECKER" +} diff --git a/.agent/specs/release-gates-r8/evidence/release-gates/final-green.workflow-conformance.json b/.agent/specs/release-gates-r8/evidence/release-gates/final-green.workflow-conformance.json new file mode 100644 index 00000000..fc4df755 --- /dev/null +++ b/.agent/specs/release-gates-r8/evidence/release-gates/final-green.workflow-conformance.json @@ -0,0 +1,14 @@ +{ + "schema_version": 1, + "label": "final-green", + "live_package_binding_disabled": false, + "observed_at": "2026-07-10T20:32:55.6737846+00:00", + "exit_code": 0, + "workflow_sha256": "eacb67531d1b96862812273d41a605b5c10b5b26a99f9b8f4a0445f02ff51452", + "runner_sha256": "910e78011381e6bbfcf2fb15a97d61f54c2f399528b87ec02c6d30191701a8b4", + "extracted_script_sha256": "b1e06ccef81627ef19ca1ad64035e418291197e776f60cc49dbadcb576457b60", + "stdout_tail": [ + "CONFORMANCE PASS: canonical LF/CRLF plan and structural scope authority, exact wrappers, path budget, AST-validated reachable exactly-once source-built image provenance and Scout, immutable live package-plus-test 12-test zero-skip DB execution proof, ownership state, node matrix, readiness, cleanup, and full/race semantics match; 51 mutations rejected" + ], + "stderr_tail": [] +} diff --git a/.agent/specs/release-gates-r8/evidence/release-gates/ledger-live-register.final.json b/.agent/specs/release-gates-r8/evidence/release-gates/ledger-live-register.final.json new file mode 100644 index 00000000..5bf4c2d0 --- /dev/null +++ b/.agent/specs/release-gates-r8/evidence/release-gates/ledger-live-register.final.json @@ -0,0 +1,4417 @@ +{ + "schema_version": 2, + "gate": "plan-path-ownership", + "mode": "Ledger", + "verdict": "PASS", + "started_at": "2026-07-10T20:43:16.1253203+00:00", + "finished_at": "2026-07-10T20:43:21.0342791+00:00", + "duration_seconds": 4.909, + "plan": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r8-maker\\.agent\\plans\\2026-07-10-engram-production-ready-master-plan.md", + "expected_sha256": "fd2b223a9a62848efc39e1c33bf739bada191508bccb7ba9a73140185638e43d", + "observed_sha256": "fd2b223a9a62848efc39e1c33bf739bada191508bccb7ba9a73140185638e43d", + "hash_match": true + }, + "state": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r8-maker\\.agent\\plans\\2026-07-10-engram-production-ready-ownership-state.json", + "sha256": "c14eaba5a9615af7196af913aedf8bb3c6e51e05880d47d391e8d07e4367a192", + "verdict": "PASS", + "plan_sha256": "fd2b223a9a62848efc39e1c33bf739bada191508bccb7ba9a73140185638e43d" + }, + "scope_map": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r8-maker\\.agent\\plans\\2026-07-10-engram-production-ready-scope-map.json", + "expected_sha256": "81093184036672008d6b85dfa88a431998ef70b587ab11475aa2b315f03ddf79", + "observed_sha256": "81093184036672008d6b85dfa88a431998ef70b587ab11475aa2b315f03ddf79", + "verdict": "PASS", + "entries": 67, + "unique_slices": 67 + }, + "live_register": { + "supplied": true, + "path": "D:\\Dev\\engram\\.agent\\reports\\production-readiness-evidence-register.json", + "sha256": "22f2af0817f1a525ea4436e95326353617294e02ccf2cdaed1a9c94adc1997fc", + "checked": true, + "rows": 67 + }, + "counts": { + "maker_slices": 57, + "declarations": 333, + "exact_paths": 316, + "prefixes": 17, + "repeated_exact_paths": 34, + "prefix_intersections": 2, + "undeclared_prefix_intersections": 0, + "declared_epochs": 36, + "state_epochs": 36, + "errors": 0 + }, + "slices": [ + { + "slice": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision8-maker", + "paths": [ + ".agent/plans/2026-07-10-engram-production-ready-master-plan.md", + ".agent/plans/2026-07-10-engram-production-ready-ownership-state.json", + ".agent/plans/2026-07-10-engram-production-ready-scope-map.json", + ".agent/specs/release-gates-r8/evidence/plan-governance/**", + ".agent/reports/2026-07-10-release-gates-r8-plan-governance.md" + ], + "line": 6 + }, + { + "slice": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "paths": [ + "internal/bulkops/facade.go", + "internal/bulkops/facade_test.go", + "internal/bulkops/rollback.go", + "internal/bulkops/rollback_test.go", + "internal/db/gorm/candidate_store.go", + "internal/db/gorm/candidate_store_test.go", + "internal/mcp/tools_bulkops.go", + "internal/mcp/tools_dryrun_test.go", + "pkg/models/snapshot.go", + ".agent/reports/2026-07-10-db-bulkops-capture-lock-rework-maker.md", + ".agent/reports/2026-07-10-db-bulkops-sibling-rework-maker.md", + ".agent/specs/production-ready-db-bulkops/evidence/**", + ".agent/reports/evidence/production-ready/db-bulkops-sibling-rework/**" + ], + "line": 7 + }, + { + "slice": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "paths": [ + "internal/db/gorm/candidate_store.go", + "internal/db/gorm/candidate_store_test.go", + "internal/mcp/tools_bulkops.go", + "internal/mcp/tools_dryrun_test.go", + ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker-3.md", + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ], + "line": 8 + }, + { + "slice": "DB-TEST-POOL-HYGIENE", + "branch": "work/prc-db-test-pool-hygiene-evidence-r2", + "paths": [ + "internal/db/gorm/candidate_store_test.go", + ".agent/reports/2026-07-10-db-test-pool-hygiene-maker.md", + ".agent/reports/2026-07-10-db-test-pool-hygiene-evidence-revision-maker.md", + ".agent/reports/evidence/production-ready/db-test-pool-hygiene/**" + ], + "line": 9 + }, + { + "slice": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "paths": [ + "internal/db/gorm/candidate_store.go", + "internal/db/gorm/candidate_store_test.go", + "internal/db/gorm/rule_arbiter_store_test.go", + "internal/db/gorm/rule_governance_store.go", + "internal/db/gorm/rule_governance_store_test.go", + "internal/db/gorm/rule_governance_rg3_store_test.go", + "internal/db/gorm/migration_rule_governance.go", + "internal/db/gorm/migration_rule_arbiter.go", + "internal/db/gorm/migration_rule_governance_snapshot_statuses.go" + ], + "line": 10 + }, + { + "slice": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "paths": [ + "internal/reviewpacket/candidate.go", + "internal/reviewpacket/candidate_test.go", + "internal/db/gorm/candidate_store.go", + "internal/db/gorm/candidate_store_test.go", + "internal/db/gorm/snapshot_store.go", + "internal/db/gorm/snapshot_store_test.go", + "internal/bulkops/rollback_test.go", + "tests/critical/candidate_review/candidate_review_snapshot_rollback_test.go" + ], + "line": 11 + }, + { + "slice": "INGEST-DOC-SNAPSHOT-DEMOLITION", + "branch": "work/prc-ingest-doc-snapshot-demolition", + "paths": [ + "internal/bulkops/facade.go", + "internal/bulkops/facade_test.go", + "pkg/models/snapshot.go", + "pkg/models/snapshot_test.go", + "internal/mcp/ingest_snapshot_contract_test.go" + ], + "line": 13 + }, + { + "slice": "DB-AUTH", + "branch": "work/prc-db-auth", + "paths": [ + "internal/db/gorm/user_store.go", + "internal/db/gorm/user_store_test.go", + "internal/worker/auth_handlers.go", + "internal/worker/auth_handlers_lifecycle_test.go" + ], + "line": 14 + }, + { + "slice": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "paths": [ + "internal/config/config.go", + "internal/config/config_test.go", + "internal/config/envnames.go", + "internal/db/gorm/user_store.go", + "internal/worker/middleware.go", + "internal/worker/middleware_test.go", + "internal/worker/auth_handlers.go", + "internal/worker/auth_bootstrap_limiter.go", + "internal/worker/auth_bootstrap_limiter_test.go", + "internal/worker/auth_bootstrap_security_test.go", + "internal/worker/service.go", + "tests/critical/auth_bootstrap/first_admin_bootstrap_test.go", + "scripts/production-smoke/customer/run-auth-bootstrap-adversary.ps1" + ], + "line": 15 + }, + { + "slice": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "paths": [ + "internal/db/gorm/domain_owner_store.go", + "internal/db/gorm/domain_owner_store_test.go", + "internal/db/gorm/user_store.go", + "internal/worker/auth_handlers.go", + "internal/worker/auth_audit_durability_test.go", + "internal/bulkops/facade.go", + "internal/bulkops/audit_durability_test.go", + "scripts/production-smoke/customer/run-durable-audit-faults.ps1" + ], + "line": 16 + }, + { + "slice": "DB-CRYSTALLIZATION", + "branch": "work/prc-db-crystallization", + "paths": [ + "internal/worker/handlers_hooks_crystallization_integration_test.go" + ], + "line": 17 + }, + { + "slice": "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS", + "branch": "work/prc-crystallization-dream-cycle-correctness", + "paths": [ + "internal/worker/dream_cycle.go", + "internal/worker/dream_cycle_test.go", + ".agent/reports/2026-07-10-crystallization-dream-cycle-correctness-maker.md", + ".agent/e/cdc/**" + ], + "line": 18 + }, + { + "slice": "DB-EMBEDDING-STATS", + "branch": "work/prc-db-embedding-stats", + "paths": [ + "internal/embedding/store.go", + "internal/embedding/store_stats_test.go" + ], + "line": 19 + }, + { + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r5", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/**", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/**", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/**", + ".agent/specs/db-embedding-stats-evidence-transport/evidence/**" + ], + "line": 20 + }, + { + "slice": "DB-REAPER", + "branch": "work/prc-db-reaper", + "paths": [ + "internal/worker/reaper/reaper.go", + "internal/worker/reaper/reaper_test.go" + ], + "line": 21 + }, + { + "slice": "SECURITY-TOOLCHAIN", + "branch": "work/prc-security-toolchain", + "paths": [ + "go.mod", + "go.sum", + "Dockerfile" + ], + "line": 22 + }, + { + "slice": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision8-maker", + "paths": [ + ".github/workflows/test.yml", + "scripts/production-gates/assert-plan-path-ownership.ps1", + "scripts/production-gates/run-db-suite.ps1", + ".agent/specs/release-gates-r8/evidence/release-gates/**", + ".agent/reports/2026-07-10-release-gates-r8-maker.md" + ], + "line": 23 + }, + { + "slice": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "paths": [ + "Dockerfile", + "cmd/engram-healthcheck/main.go", + "cmd/engram-healthcheck/main_test.go", + "apps/operator-console/package.json", + "apps/operator-console/package-lock.json", + "deploy/postgres/Dockerfile", + "docker-compose.yml", + "deploy/docker-compose.runtime.yml", + "docs/DEPLOYMENT.md", + "docs/PRODUCTION-TESTING-PLAYBOOK.md", + ".github/workflows/test.yml", + ".github/workflows/docker.yaml", + ".github/workflows/docker-publish.yml", + "scripts/production-gates/build-and-scan-images.ps1", + "tests/critical/runtime/image_runtime_contract_test.go", + "tests/critical/runtime/postgres_image_contract_test.go" + ], + "line": 24 + }, + { + "slice": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r3", + "paths": [ + "internal/db/gorm/project_store.go", + "internal/db/gorm/project_store_test.go", + "internal/grpcserver/project_identity_v2_test.go" + ], + "line": 25 + }, + { + "slice": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "paths": [ + "plugin/openclaw-engram/.gitignore", + "plugin/openclaw-engram/package.json", + "plugin/openclaw-engram/package-lock.json", + "plugin/openclaw-engram/openclaw.plugin.json", + "plugin/openclaw-engram/README.md", + ".github/workflows/plugin-publish.yml", + "docs/RELEASE-PROTOCOL.md" + ], + "line": 26 + }, + { + "slice": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "paths": [ + "internal/update/update.go", + "internal/update/update_test.go", + "internal/worker/handlers_update.go", + "internal/worker/handlers_update_test.go", + "scripts/install.sh", + "scripts/install.ps1", + ".goreleaser.yaml", + ".github/workflows/release.yaml", + "plugin/engram/hooks/hook-cli.test.js" + ], + "line": 27 + }, + { + "slice": "DOCUMENT-INGEST-PUBLIC-TRUTH", + "branch": "work/prc-document-ingest-public-truth", + "paths": [ + "internal/mcp/server.go", + "internal/mcp/ingest_document_description_test.go" + ], + "line": 29 + }, + { + "slice": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "paths": [ + "internal/mcp/coerce.go", + "internal/mcp/coerce_test.go", + "internal/mcp/tools_candidates.go", + "internal/mcp/tools_candidates_test.go", + "internal/mcp/tools_memory.go", + "internal/mcp/tools_memory_edit_test.go", + "internal/mcp/tools_memory_significance.go", + "internal/mcp/tools_memory_significance_test.go", + "internal/mcp/tools_store_consolidated.go", + "internal/mcp/tools_settings.go", + "internal/mcp/tools_settings_test.go", + "internal/mcp/tools_documents_v2.go", + "internal/mcp/tools_rule_governance.go", + "internal/mcp/tools_rule_governance_test.go", + "internal/mcp/structured_input_validation_test.go" + ], + "line": 31 + }, + { + "slice": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "paths": [ + "internal/redaction/layer.go", + "internal/redaction/layer_test.go", + "internal/redaction/rejection_test.go", + "internal/mcp/redaction_guard.go", + "internal/mcp/redaction_guard_test.go", + "internal/mcp/tools_memory.go", + "internal/mcp/tools_rules.go", + "internal/mcp/tools_memory_redaction_audit_test.go", + "internal/mcp/tools_rules_redaction_audit_test.go", + "internal/worker/service.go", + "internal/worker/service_redaction_test.go", + "docs/operating-engram.md", + ".agent/reports/evidence/production-ready/redaction-live-contract/**" + ], + "line": 32 + }, + { + "slice": "RETRIEVAL-VECTOR-CONTRACT", + "branch": "work/prc-retrieval-vector-contract", + "paths": [ + "internal/retrieval/hybrid_integration_test.go" + ], + "line": 34 + }, + { + "slice": "STATIC-EMBED-CONTRACT", + "branch": "work/prc-static-embed-contract", + "paths": [ + "internal/worker/static_embed_test.go" + ], + "line": 35 + }, + { + "slice": "PRE-V5-UPGRADE-CONTRACT", + "branch": "work/prc-pre-v5-upgrade-contract", + "paths": [ + "internal/db/gorm/migrations_integration_test.go", + "internal/grpcserver/credential_migration_test.go", + "tests/fixtures/pre-v5/**", + "tests/critical/recovery/pre_v5_upgrade_test.go", + "scripts/production-smoke/customer/run-pre-v5-upgrade.ps1" + ], + "line": 36 + }, + { + "slice": "T007-COMPAT-DEMOLITION-CLASSIFICATION", + "branch": "work/prc-t007-compat-classification", + "paths": [ + "internal/mcp/store_memory_compat_t007_test.go" + ], + "line": 37 + }, + { + "slice": "DB-RULES-ISOLATION", + "branch": "work/prc-db-rules-isolation", + "paths": [ + "internal/worker/handlers_rules_test.go", + "scripts/production-gates/run-db-rules-isolation.ps1" + ], + "line": 38 + }, + { + "slice": "COVERAGE-CMD-ENGRAM", + "branch": "work/prc-coverage-cmd-engram", + "paths": [ + "cmd/engram/production_readiness_coverage_test.go" + ], + "line": 39 + }, + { + "slice": "COVERAGE-CMD-SERVER", + "branch": "work/prc-coverage-cmd-server", + "paths": [ + "cmd/engram-server/production_readiness_coverage_test.go" + ], + "line": 40 + }, + { + "slice": "COVERAGE-UPDATE", + "branch": "work/prc-coverage-update", + "paths": [ + "internal/update/production_readiness_coverage_test.go" + ], + "line": 41 + }, + { + "slice": "COVERAGE-WORKER", + "branch": "work/prc-coverage-worker", + "paths": [ + "internal/worker/production_readiness_coverage_test.go" + ], + "line": 43 + }, + { + "slice": "COVERAGE-MCP", + "branch": "work/prc-coverage-mcp", + "paths": [ + "internal/mcp/production_readiness_coverage_test.go" + ], + "line": 44 + }, + { + "slice": "COVERAGE-GORM", + "branch": "work/prc-coverage-gorm", + "paths": [ + "internal/db/gorm/production_readiness_coverage_test.go" + ], + "line": 45 + }, + { + "slice": "COVERAGE-LOOM", + "branch": "work/prc-coverage-loom", + "paths": [ + "internal/handlers/loom/production_readiness_coverage_test.go" + ], + "line": 46 + }, + { + "slice": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "paths": [ + "docker-compose.yml", + "deploy/docker-compose.runtime.yml", + "deploy/docker-compose.operator-web-standalone.yml", + "deploy/entrypoint-server.sh", + "deploy/healthcheck-server.sh", + "deploy/verify-rollback.ps1", + "deploy/verify-runtime-policy.ps1" + ], + "line": 47 + }, + { + "slice": "RECOVERY-DATA", + "branch": "work/prc-recovery-data", + "paths": [ + "scripts/recovery/start-disposable-postgres.ps1", + "scripts/recovery/verify-postgres-roundtrip.ps1", + "scripts/recovery/seed-recovery-fixture.ps1", + "scripts/recovery/assert-recovery-fixture.ps1", + "tests/critical/recovery/postgres_roundtrip_test.go" + ], + "line": 48 + }, + { + "slice": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "paths": [ + "internal/module/obs/logging.go", + "internal/module/obs/logging_test.go", + "internal/module/obs/meter.go", + "internal/module/obs/meter_test.go", + "internal/module/obs/metrics.go", + "internal/module/obs/metrics_test.go", + "cmd/engram-server/main.go", + "cmd/engram-server/main_test.go", + "scripts/production-smoke/verify-otlp.ps1" + ], + "line": 49 + }, + { + "slice": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "paths": [ + "internal/scope/domain_policy.go", + "internal/scope/domain_policy_test.go", + "internal/scope/filter.go", + "internal/scope/filter_test.go", + "internal/scope/filter_principal_test.go", + "internal/scope/filter_w4_test.go", + "internal/principalmemory/access_policy.go", + "internal/principalmemory/access_policy_test.go", + "internal/principalmemory/domain_registry.go", + "internal/principalmemory/domain_registry_test.go", + "internal/principalmemory/query_service.go", + "internal/principalmemory/query_service_test.go", + "internal/mcp/tools_principal_memory.go", + "internal/mcp/tools_principal_memory_test.go", + "internal/mcp/tools_recall_principal_test.go", + "internal/mcp/recall_visibility_backfill_test.go", + "internal/mcp/store_memory_principal_test.go", + "internal/worker/handlers_principal_memory.go", + "internal/worker/handlers_principal_memory_test.go", + "internal/worker/scope_bypass_w4_test.go", + "internal/worker/retention.go", + "internal/worker/retention_test.go", + "internal/db/gorm/memory_store.go", + "internal/db/gorm/memory_store_principal_test.go", + "internal/db/gorm/memory_store_principal_query_test.go", + "internal/db/gorm/purge_store_test.go", + "tests/critical/data_boundaries/principal_project_retention_test.go" + ], + "line": 50 + }, + { + "slice": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "paths": [ + "tests/critical/customer_mode/customer_mode_test.go", + "tests/critical/customer_mode/compatibility_test.go", + "tests/critical/customer_mode/cross_agent_test.go", + "scripts/production-smoke/customer/run-customer-mode.ps1", + "scripts/production-smoke/customer/run-client-compatibility.ps1", + "scripts/production-smoke/customer/run-cross-agent.ps1", + "scripts/production-smoke/customer/run-diagnostic-matrix.ps1", + "scripts/production-smoke/customer/assert-product-works.ps1" + ], + "line": 51 + }, + { + "slice": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "paths": [ + "README.md", + "README.ru.md", + "README.zh.md", + "CONTRIBUTING.md", + "CHANGELOG.md", + "Makefile", + ".env.example", + "docs/DEPLOYMENT.md", + "docs/MIGRATION.md", + "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "docs/arch/CONFIGURATION.md", + "docs/arch/QUICKSTART.md", + "docs/release-notes/v6.43.0.md", + "docs/public/engram.jpg", + "plugin/engram/commands/setup.md", + "plugin/engram/commands/doctor.md" + ], + "line": 52 + }, + { + "slice": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "paths": [ + "README.md", + "README.ru.md", + "README.zh.md", + "CONTRIBUTING.md", + "CHANGELOG.md", + "Makefile", + ".env.example", + "docs/DEPLOYMENT.md", + "docs/MIGRATION.md", + "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "docs/operating-engram.md", + "docs/arch/CONFIGURATION.md", + "docs/arch/QUICKSTART.md", + "docs/public/engram.jpg", + "plugin/engram/commands/setup.md", + "plugin/engram/commands/doctor.md" + ], + "line": 53 + }, + { + "slice": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "paths": [ + "cmd/engram/main.go", + "cmd/engram/main_test.go", + "cmd/engram/wiring.go", + "cmd/engram/exec_windows.go", + "cmd/engram/exec_unix.go", + "plugin/engram/.engram-project", + "plugin/engram/scripts/run-engram.js", + "plugin/engram/scripts/run-engram.test.js", + "plugin/engram/scripts/ensure-binary.js", + "plugin/engram/scripts/ensure-binary.test.js" + ], + "line": 54 + }, + { + "slice": "OC-INTEGRATION", + "branch": "work/prc-operator-console-integration", + "paths": [ + "apps/operator-console/**" + ], + "line": 55 + }, + { + "slice": "S4B-CONTRACT", + "branch": "work/prc-s4b-contract", + "paths": [ + ".agent/specs/engram-v7-directives-surfacing/**" + ], + "line": 56 + }, + { + "slice": "V7-S4B-BACKEND", + "branch": "work/prc-v7-s4b-backend", + "paths": [ + "internal/cognitive/s4bsurfacing/**" + ], + "line": 57 + }, + { + "slice": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "paths": [ + "internal/cognitive/core/event_bus.go", + "internal/cognitive/core/event_bus_test.go", + "internal/cognitive/core/hint_queue.go", + "internal/cognitive/core/hint_queue_test.go", + "internal/cognitive/s3ambient/queue.go", + "internal/cognitive/s3ambient/subsystem.go" + ], + "line": 58 + }, + { + "slice": "V7-RUNTIME-WIRING", + "branch": "work/prc-v7-runtime-wiring", + "paths": [ + "internal/worker/service.go", + "internal/worker/service_v7_integration_test.go", + "internal/worker/handlers_stats_v7.go", + "internal/worker/handlers_stats_v7_test.go" + ], + "line": 59 + }, + { + "slice": "V7-TELEMETRY-WIRING", + "branch": "work/prc-v7-telemetry-wiring", + "paths": [ + "internal/cognitive/s5/metrics.go", + "internal/cognitive/s5/provider.go", + "internal/cognitive/s5/provider_test.go", + "internal/cognitive/s5/source_adapter.go", + "internal/cognitive/s5/source_adapter_test.go" + ], + "line": 60 + }, + { + "slice": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "paths": [ + ".agent/specs/roadmap.md", + ".agent/specs/ui-surface-ledger.md", + ".agent/specs/operator-console-production-integration/**", + ".agent/specs/engram-v7-ambient/spec.md", + ".agent/specs/engram-v7-ambient/plan.md", + ".agent/specs/engram-v7-ambient/checklists/general.md", + ".agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/change.md", + ".agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/tasks.md" + ], + "line": 61 + }, + { + "slice": "NORTHSTAR-CI-A-CONTRACTS", + "branch": "work/prc-northstar-ci-a-contracts", + "paths": [ + ".agent/specs/engram-absorption/ci-a-dense-vector/spec.md", + ".agent/specs/engram-absorption/ci-a-dense-vector/plan.md", + ".agent/specs/engram-absorption/ci-a-dense-vector/checklists/general.md", + ".agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/change.md", + ".agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/tasks.md" + ], + "line": 62 + }, + { + "slice": "NORTHSTAR-CI-B-CONTRACTS", + "branch": "work/prc-northstar-ci-b-contracts", + "paths": [ + ".agent/specs/engram-absorption/ci-b-graph-watcher-context/spec.md", + ".agent/specs/engram-absorption/ci-b-graph-watcher-context/plan.md", + ".agent/specs/engram-absorption/ci-b-graph-watcher-context/checklists/general.md", + ".agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/change.md", + ".agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/tasks.md" + ], + "line": 63 + }, + { + "slice": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "paths": [ + ".agent/specs/engram-absorption/book/prd.md", + ".agent/specs/engram-absorption/book/spec.md", + ".agent/specs/engram-absorption/book/plan.md", + ".agent/specs/engram-absorption/book/checklists/general.md", + ".agent/specs/engram-absorption/book/changes/CR-001-initial-scope/change.md", + ".agent/specs/engram-absorption/book/changes/CR-001-initial-scope/tasks.md" + ], + "line": 64 + }, + { + "slice": "NORTHSTAR-MEM-CONTRACTS", + "branch": "work/prc-northstar-mem-contracts", + "paths": [ + ".agent/specs/engram-absorption/mem-residual/spec.md", + ".agent/specs/engram-absorption/mem-residual/plan.md", + ".agent/specs/engram-absorption/mem-residual/checklists/general.md", + ".agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/change.md", + ".agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/tasks.md" + ], + "line": 65 + }, + { + "slice": "NORTHSTAR-EFFECTIVENESS-CONTRACTS", + "branch": "work/prc-northstar-effectiveness-contracts", + "paths": [ + ".agent/specs/engram-effectiveness/production-ready-residual/spec.md", + ".agent/specs/engram-effectiveness/production-ready-residual/plan.md", + ".agent/specs/engram-effectiveness/production-ready-residual/checklists/general.md", + ".agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/change.md", + ".agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/tasks.md" + ], + "line": 66 + }, + { + "slice": "NORTHSTAR-SETTINGS-CONTRACTS", + "branch": "work/prc-northstar-settings-contracts", + "paths": [ + ".agent/specs/settings-store/production-ready-residual/spec.md", + ".agent/specs/settings-store/production-ready-residual/plan.md", + ".agent/specs/settings-store/production-ready-residual/checklists/general.md", + ".agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/change.md", + ".agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/tasks.md" + ], + "line": 67 + } + ], + "declarations": [ + { + "owner": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision8-maker", + "path": ".agent/plans/2026-07-10-engram-production-ready-master-plan.md", + "display": ".agent/plans/2026-07-10-engram-production-ready-master-plan.md", + "kind": "exact", + "line": 6 + }, + { + "owner": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision8-maker", + "path": ".agent/plans/2026-07-10-engram-production-ready-ownership-state.json", + "display": ".agent/plans/2026-07-10-engram-production-ready-ownership-state.json", + "kind": "exact", + "line": 6 + }, + { + "owner": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision8-maker", + "path": ".agent/plans/2026-07-10-engram-production-ready-scope-map.json", + "display": ".agent/plans/2026-07-10-engram-production-ready-scope-map.json", + "kind": "exact", + "line": 6 + }, + { + "owner": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision8-maker", + "path": ".agent/specs/release-gates-r8/evidence/plan-governance", + "display": ".agent/specs/release-gates-r8/evidence/plan-governance/**", + "kind": "prefix", + "line": 6 + }, + { + "owner": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision8-maker", + "path": ".agent/reports/2026-07-10-release-gates-r8-plan-governance.md", + "display": ".agent/reports/2026-07-10-release-gates-r8-plan-governance.md", + "kind": "exact", + "line": 6 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/bulkops/facade.go", + "display": "internal/bulkops/facade.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/bulkops/facade_test.go", + "display": "internal/bulkops/facade_test.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/bulkops/rollback.go", + "display": "internal/bulkops/rollback.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/bulkops/rollback_test.go", + "display": "internal/bulkops/rollback_test.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/db/gorm/candidate_store.go", + "display": "internal/db/gorm/candidate_store.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/db/gorm/candidate_store_test.go", + "display": "internal/db/gorm/candidate_store_test.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/mcp/tools_bulkops.go", + "display": "internal/mcp/tools_bulkops.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/mcp/tools_dryrun_test.go", + "display": "internal/mcp/tools_dryrun_test.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "pkg/models/snapshot.go", + "display": "pkg/models/snapshot.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": ".agent/reports/2026-07-10-db-bulkops-capture-lock-rework-maker.md", + "display": ".agent/reports/2026-07-10-db-bulkops-capture-lock-rework-maker.md", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": ".agent/reports/2026-07-10-db-bulkops-sibling-rework-maker.md", + "display": ".agent/reports/2026-07-10-db-bulkops-sibling-rework-maker.md", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": ".agent/specs/production-ready-db-bulkops/evidence", + "display": ".agent/specs/production-ready-db-bulkops/evidence/**", + "kind": "prefix", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": ".agent/reports/evidence/production-ready/db-bulkops-sibling-rework", + "display": ".agent/reports/evidence/production-ready/db-bulkops-sibling-rework/**", + "kind": "prefix", + "line": 7 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": "internal/db/gorm/candidate_store.go", + "display": "internal/db/gorm/candidate_store.go", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": "internal/db/gorm/candidate_store_test.go", + "display": "internal/db/gorm/candidate_store_test.go", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": "internal/mcp/tools_bulkops.go", + "display": "internal/mcp/tools_bulkops.go", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": "internal/mcp/tools_dryrun_test.go", + "display": "internal/mcp/tools_dryrun_test.go", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker-3.md", + "display": ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker-3.md", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework", + "display": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**", + "kind": "prefix", + "line": 8 + }, + { + "owner": "DB-TEST-POOL-HYGIENE", + "branch": "work/prc-db-test-pool-hygiene-evidence-r2", + "path": "internal/db/gorm/candidate_store_test.go", + "display": "internal/db/gorm/candidate_store_test.go", + "kind": "exact", + "line": 9 + }, + { + "owner": "DB-TEST-POOL-HYGIENE", + "branch": "work/prc-db-test-pool-hygiene-evidence-r2", + "path": ".agent/reports/2026-07-10-db-test-pool-hygiene-maker.md", + "display": ".agent/reports/2026-07-10-db-test-pool-hygiene-maker.md", + "kind": "exact", + "line": 9 + }, + { + "owner": "DB-TEST-POOL-HYGIENE", + "branch": "work/prc-db-test-pool-hygiene-evidence-r2", + "path": ".agent/reports/2026-07-10-db-test-pool-hygiene-evidence-revision-maker.md", + "display": ".agent/reports/2026-07-10-db-test-pool-hygiene-evidence-revision-maker.md", + "kind": "exact", + "line": 9 + }, + { + "owner": "DB-TEST-POOL-HYGIENE", + "branch": "work/prc-db-test-pool-hygiene-evidence-r2", + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene", + "display": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/**", + "kind": "prefix", + "line": 9 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/candidate_store.go", + "display": "internal/db/gorm/candidate_store.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/candidate_store_test.go", + "display": "internal/db/gorm/candidate_store_test.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/rule_arbiter_store_test.go", + "display": "internal/db/gorm/rule_arbiter_store_test.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/rule_governance_store.go", + "display": "internal/db/gorm/rule_governance_store.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/rule_governance_store_test.go", + "display": "internal/db/gorm/rule_governance_store_test.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/rule_governance_rg3_store_test.go", + "display": "internal/db/gorm/rule_governance_rg3_store_test.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/migration_rule_governance.go", + "display": "internal/db/gorm/migration_rule_governance.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/migration_rule_arbiter.go", + "display": "internal/db/gorm/migration_rule_arbiter.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/migration_rule_governance_snapshot_statuses.go", + "display": "internal/db/gorm/migration_rule_governance_snapshot_statuses.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/reviewpacket/candidate.go", + "display": "internal/reviewpacket/candidate.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/reviewpacket/candidate_test.go", + "display": "internal/reviewpacket/candidate_test.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/db/gorm/candidate_store.go", + "display": "internal/db/gorm/candidate_store.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/db/gorm/candidate_store_test.go", + "display": "internal/db/gorm/candidate_store_test.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/db/gorm/snapshot_store.go", + "display": "internal/db/gorm/snapshot_store.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/db/gorm/snapshot_store_test.go", + "display": "internal/db/gorm/snapshot_store_test.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/bulkops/rollback_test.go", + "display": "internal/bulkops/rollback_test.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "tests/critical/candidate_review/candidate_review_snapshot_rollback_test.go", + "display": "tests/critical/candidate_review/candidate_review_snapshot_rollback_test.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "INGEST-DOC-SNAPSHOT-DEMOLITION", + "branch": "work/prc-ingest-doc-snapshot-demolition", + "path": "internal/bulkops/facade.go", + "display": "internal/bulkops/facade.go", + "kind": "exact", + "line": 13 + }, + { + "owner": "INGEST-DOC-SNAPSHOT-DEMOLITION", + "branch": "work/prc-ingest-doc-snapshot-demolition", + "path": "internal/bulkops/facade_test.go", + "display": "internal/bulkops/facade_test.go", + "kind": "exact", + "line": 13 + }, + { + "owner": "INGEST-DOC-SNAPSHOT-DEMOLITION", + "branch": "work/prc-ingest-doc-snapshot-demolition", + "path": "pkg/models/snapshot.go", + "display": "pkg/models/snapshot.go", + "kind": "exact", + "line": 13 + }, + { + "owner": "INGEST-DOC-SNAPSHOT-DEMOLITION", + "branch": "work/prc-ingest-doc-snapshot-demolition", + "path": "pkg/models/snapshot_test.go", + "display": "pkg/models/snapshot_test.go", + "kind": "exact", + "line": 13 + }, + { + "owner": "INGEST-DOC-SNAPSHOT-DEMOLITION", + "branch": "work/prc-ingest-doc-snapshot-demolition", + "path": "internal/mcp/ingest_snapshot_contract_test.go", + "display": "internal/mcp/ingest_snapshot_contract_test.go", + "kind": "exact", + "line": 13 + }, + { + "owner": "DB-AUTH", + "branch": "work/prc-db-auth", + "path": "internal/db/gorm/user_store.go", + "display": "internal/db/gorm/user_store.go", + "kind": "exact", + "line": 14 + }, + { + "owner": "DB-AUTH", + "branch": "work/prc-db-auth", + "path": "internal/db/gorm/user_store_test.go", + "display": "internal/db/gorm/user_store_test.go", + "kind": "exact", + "line": 14 + }, + { + "owner": "DB-AUTH", + "branch": "work/prc-db-auth", + "path": "internal/worker/auth_handlers.go", + "display": "internal/worker/auth_handlers.go", + "kind": "exact", + "line": 14 + }, + { + "owner": "DB-AUTH", + "branch": "work/prc-db-auth", + "path": "internal/worker/auth_handlers_lifecycle_test.go", + "display": "internal/worker/auth_handlers_lifecycle_test.go", + "kind": "exact", + "line": 14 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/config/config.go", + "display": "internal/config/config.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/config/config_test.go", + "display": "internal/config/config_test.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/config/envnames.go", + "display": "internal/config/envnames.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/db/gorm/user_store.go", + "display": "internal/db/gorm/user_store.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/middleware.go", + "display": "internal/worker/middleware.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/middleware_test.go", + "display": "internal/worker/middleware_test.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/auth_handlers.go", + "display": "internal/worker/auth_handlers.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/auth_bootstrap_limiter.go", + "display": "internal/worker/auth_bootstrap_limiter.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/auth_bootstrap_limiter_test.go", + "display": "internal/worker/auth_bootstrap_limiter_test.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/auth_bootstrap_security_test.go", + "display": "internal/worker/auth_bootstrap_security_test.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/service.go", + "display": "internal/worker/service.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "tests/critical/auth_bootstrap/first_admin_bootstrap_test.go", + "display": "tests/critical/auth_bootstrap/first_admin_bootstrap_test.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "scripts/production-smoke/customer/run-auth-bootstrap-adversary.ps1", + "display": "scripts/production-smoke/customer/run-auth-bootstrap-adversary.ps1", + "kind": "exact", + "line": 15 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/db/gorm/domain_owner_store.go", + "display": "internal/db/gorm/domain_owner_store.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/db/gorm/domain_owner_store_test.go", + "display": "internal/db/gorm/domain_owner_store_test.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/db/gorm/user_store.go", + "display": "internal/db/gorm/user_store.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/worker/auth_handlers.go", + "display": "internal/worker/auth_handlers.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/worker/auth_audit_durability_test.go", + "display": "internal/worker/auth_audit_durability_test.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/bulkops/facade.go", + "display": "internal/bulkops/facade.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/bulkops/audit_durability_test.go", + "display": "internal/bulkops/audit_durability_test.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "scripts/production-smoke/customer/run-durable-audit-faults.ps1", + "display": "scripts/production-smoke/customer/run-durable-audit-faults.ps1", + "kind": "exact", + "line": 16 + }, + { + "owner": "DB-CRYSTALLIZATION", + "branch": "work/prc-db-crystallization", + "path": "internal/worker/handlers_hooks_crystallization_integration_test.go", + "display": "internal/worker/handlers_hooks_crystallization_integration_test.go", + "kind": "exact", + "line": 17 + }, + { + "owner": "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS", + "branch": "work/prc-crystallization-dream-cycle-correctness", + "path": "internal/worker/dream_cycle.go", + "display": "internal/worker/dream_cycle.go", + "kind": "exact", + "line": 18 + }, + { + "owner": "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS", + "branch": "work/prc-crystallization-dream-cycle-correctness", + "path": "internal/worker/dream_cycle_test.go", + "display": "internal/worker/dream_cycle_test.go", + "kind": "exact", + "line": 18 + }, + { + "owner": "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS", + "branch": "work/prc-crystallization-dream-cycle-correctness", + "path": ".agent/reports/2026-07-10-crystallization-dream-cycle-correctness-maker.md", + "display": ".agent/reports/2026-07-10-crystallization-dream-cycle-correctness-maker.md", + "kind": "exact", + "line": 18 + }, + { + "owner": "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS", + "branch": "work/prc-crystallization-dream-cycle-correctness", + "path": ".agent/e/cdc", + "display": ".agent/e/cdc/**", + "kind": "prefix", + "line": 18 + }, + { + "owner": "DB-EMBEDDING-STATS", + "branch": "work/prc-db-embedding-stats", + "path": "internal/embedding/store.go", + "display": "internal/embedding/store.go", + "kind": "exact", + "line": 19 + }, + { + "owner": "DB-EMBEDDING-STATS", + "branch": "work/prc-db-embedding-stats", + "path": "internal/embedding/store_stats_test.go", + "display": "internal/embedding/store_stats_test.go", + "kind": "exact", + "line": 19 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r5", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r5", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r5", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r5", + "path": ".agent/specs/db-embedding-stats-evidence-transport/evidence", + "display": ".agent/specs/db-embedding-stats-evidence-transport/evidence/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-REAPER", + "branch": "work/prc-db-reaper", + "path": "internal/worker/reaper/reaper.go", + "display": "internal/worker/reaper/reaper.go", + "kind": "exact", + "line": 21 + }, + { + "owner": "DB-REAPER", + "branch": "work/prc-db-reaper", + "path": "internal/worker/reaper/reaper_test.go", + "display": "internal/worker/reaper/reaper_test.go", + "kind": "exact", + "line": 21 + }, + { + "owner": "SECURITY-TOOLCHAIN", + "branch": "work/prc-security-toolchain", + "path": "go.mod", + "display": "go.mod", + "kind": "exact", + "line": 22 + }, + { + "owner": "SECURITY-TOOLCHAIN", + "branch": "work/prc-security-toolchain", + "path": "go.sum", + "display": "go.sum", + "kind": "exact", + "line": 22 + }, + { + "owner": "SECURITY-TOOLCHAIN", + "branch": "work/prc-security-toolchain", + "path": "Dockerfile", + "display": "Dockerfile", + "kind": "exact", + "line": 22 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision8-maker", + "path": ".github/workflows/test.yml", + "display": ".github/workflows/test.yml", + "kind": "exact", + "line": 23 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision8-maker", + "path": "scripts/production-gates/assert-plan-path-ownership.ps1", + "display": "scripts/production-gates/assert-plan-path-ownership.ps1", + "kind": "exact", + "line": 23 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision8-maker", + "path": "scripts/production-gates/run-db-suite.ps1", + "display": "scripts/production-gates/run-db-suite.ps1", + "kind": "exact", + "line": 23 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision8-maker", + "path": ".agent/specs/release-gates-r8/evidence/release-gates", + "display": ".agent/specs/release-gates-r8/evidence/release-gates/**", + "kind": "prefix", + "line": 23 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision8-maker", + "path": ".agent/reports/2026-07-10-release-gates-r8-maker.md", + "display": ".agent/reports/2026-07-10-release-gates-r8-maker.md", + "kind": "exact", + "line": 23 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "Dockerfile", + "display": "Dockerfile", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "cmd/engram-healthcheck/main.go", + "display": "cmd/engram-healthcheck/main.go", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "cmd/engram-healthcheck/main_test.go", + "display": "cmd/engram-healthcheck/main_test.go", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "apps/operator-console/package.json", + "display": "apps/operator-console/package.json", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "apps/operator-console/package-lock.json", + "display": "apps/operator-console/package-lock.json", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "deploy/postgres/Dockerfile", + "display": "deploy/postgres/Dockerfile", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "docker-compose.yml", + "display": "docker-compose.yml", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "deploy/docker-compose.runtime.yml", + "display": "deploy/docker-compose.runtime.yml", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "docs/DEPLOYMENT.md", + "display": "docs/DEPLOYMENT.md", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "display": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": ".github/workflows/test.yml", + "display": ".github/workflows/test.yml", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": ".github/workflows/docker.yaml", + "display": ".github/workflows/docker.yaml", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": ".github/workflows/docker-publish.yml", + "display": ".github/workflows/docker-publish.yml", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "scripts/production-gates/build-and-scan-images.ps1", + "display": "scripts/production-gates/build-and-scan-images.ps1", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "tests/critical/runtime/image_runtime_contract_test.go", + "display": "tests/critical/runtime/image_runtime_contract_test.go", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "tests/critical/runtime/postgres_image_contract_test.go", + "display": "tests/critical/runtime/postgres_image_contract_test.go", + "kind": "exact", + "line": 24 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r3", + "path": "internal/db/gorm/project_store.go", + "display": "internal/db/gorm/project_store.go", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r3", + "path": "internal/db/gorm/project_store_test.go", + "display": "internal/db/gorm/project_store_test.go", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r3", + "path": "internal/grpcserver/project_identity_v2_test.go", + "display": "internal/grpcserver/project_identity_v2_test.go", + "kind": "exact", + "line": 25 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": "plugin/openclaw-engram/.gitignore", + "display": "plugin/openclaw-engram/.gitignore", + "kind": "exact", + "line": 26 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": "plugin/openclaw-engram/package.json", + "display": "plugin/openclaw-engram/package.json", + "kind": "exact", + "line": 26 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": "plugin/openclaw-engram/package-lock.json", + "display": "plugin/openclaw-engram/package-lock.json", + "kind": "exact", + "line": 26 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": "plugin/openclaw-engram/openclaw.plugin.json", + "display": "plugin/openclaw-engram/openclaw.plugin.json", + "kind": "exact", + "line": 26 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": "plugin/openclaw-engram/README.md", + "display": "plugin/openclaw-engram/README.md", + "kind": "exact", + "line": 26 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": ".github/workflows/plugin-publish.yml", + "display": ".github/workflows/plugin-publish.yml", + "kind": "exact", + "line": 26 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": "docs/RELEASE-PROTOCOL.md", + "display": "docs/RELEASE-PROTOCOL.md", + "kind": "exact", + "line": 26 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "internal/update/update.go", + "display": "internal/update/update.go", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "internal/update/update_test.go", + "display": "internal/update/update_test.go", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "internal/worker/handlers_update.go", + "display": "internal/worker/handlers_update.go", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "internal/worker/handlers_update_test.go", + "display": "internal/worker/handlers_update_test.go", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "scripts/install.sh", + "display": "scripts/install.sh", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "scripts/install.ps1", + "display": "scripts/install.ps1", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": ".goreleaser.yaml", + "display": ".goreleaser.yaml", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": ".github/workflows/release.yaml", + "display": ".github/workflows/release.yaml", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "plugin/engram/hooks/hook-cli.test.js", + "display": "plugin/engram/hooks/hook-cli.test.js", + "kind": "exact", + "line": 27 + }, + { + "owner": "DOCUMENT-INGEST-PUBLIC-TRUTH", + "branch": "work/prc-document-ingest-public-truth", + "path": "internal/mcp/server.go", + "display": "internal/mcp/server.go", + "kind": "exact", + "line": 29 + }, + { + "owner": "DOCUMENT-INGEST-PUBLIC-TRUTH", + "branch": "work/prc-document-ingest-public-truth", + "path": "internal/mcp/ingest_document_description_test.go", + "display": "internal/mcp/ingest_document_description_test.go", + "kind": "exact", + "line": 29 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/coerce.go", + "display": "internal/mcp/coerce.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/coerce_test.go", + "display": "internal/mcp/coerce_test.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_candidates.go", + "display": "internal/mcp/tools_candidates.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_candidates_test.go", + "display": "internal/mcp/tools_candidates_test.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_memory.go", + "display": "internal/mcp/tools_memory.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_memory_edit_test.go", + "display": "internal/mcp/tools_memory_edit_test.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_memory_significance.go", + "display": "internal/mcp/tools_memory_significance.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_memory_significance_test.go", + "display": "internal/mcp/tools_memory_significance_test.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_store_consolidated.go", + "display": "internal/mcp/tools_store_consolidated.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_settings.go", + "display": "internal/mcp/tools_settings.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_settings_test.go", + "display": "internal/mcp/tools_settings_test.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_documents_v2.go", + "display": "internal/mcp/tools_documents_v2.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_rule_governance.go", + "display": "internal/mcp/tools_rule_governance.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_rule_governance_test.go", + "display": "internal/mcp/tools_rule_governance_test.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/structured_input_validation_test.go", + "display": "internal/mcp/structured_input_validation_test.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/redaction/layer.go", + "display": "internal/redaction/layer.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/redaction/layer_test.go", + "display": "internal/redaction/layer_test.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/redaction/rejection_test.go", + "display": "internal/redaction/rejection_test.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/mcp/redaction_guard.go", + "display": "internal/mcp/redaction_guard.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/mcp/redaction_guard_test.go", + "display": "internal/mcp/redaction_guard_test.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/mcp/tools_memory.go", + "display": "internal/mcp/tools_memory.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/mcp/tools_rules.go", + "display": "internal/mcp/tools_rules.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/mcp/tools_memory_redaction_audit_test.go", + "display": "internal/mcp/tools_memory_redaction_audit_test.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/mcp/tools_rules_redaction_audit_test.go", + "display": "internal/mcp/tools_rules_redaction_audit_test.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/worker/service.go", + "display": "internal/worker/service.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/worker/service_redaction_test.go", + "display": "internal/worker/service_redaction_test.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "docs/operating-engram.md", + "display": "docs/operating-engram.md", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": ".agent/reports/evidence/production-ready/redaction-live-contract", + "display": ".agent/reports/evidence/production-ready/redaction-live-contract/**", + "kind": "prefix", + "line": 32 + }, + { + "owner": "RETRIEVAL-VECTOR-CONTRACT", + "branch": "work/prc-retrieval-vector-contract", + "path": "internal/retrieval/hybrid_integration_test.go", + "display": "internal/retrieval/hybrid_integration_test.go", + "kind": "exact", + "line": 34 + }, + { + "owner": "STATIC-EMBED-CONTRACT", + "branch": "work/prc-static-embed-contract", + "path": "internal/worker/static_embed_test.go", + "display": "internal/worker/static_embed_test.go", + "kind": "exact", + "line": 35 + }, + { + "owner": "PRE-V5-UPGRADE-CONTRACT", + "branch": "work/prc-pre-v5-upgrade-contract", + "path": "internal/db/gorm/migrations_integration_test.go", + "display": "internal/db/gorm/migrations_integration_test.go", + "kind": "exact", + "line": 36 + }, + { + "owner": "PRE-V5-UPGRADE-CONTRACT", + "branch": "work/prc-pre-v5-upgrade-contract", + "path": "internal/grpcserver/credential_migration_test.go", + "display": "internal/grpcserver/credential_migration_test.go", + "kind": "exact", + "line": 36 + }, + { + "owner": "PRE-V5-UPGRADE-CONTRACT", + "branch": "work/prc-pre-v5-upgrade-contract", + "path": "tests/fixtures/pre-v5", + "display": "tests/fixtures/pre-v5/**", + "kind": "prefix", + "line": 36 + }, + { + "owner": "PRE-V5-UPGRADE-CONTRACT", + "branch": "work/prc-pre-v5-upgrade-contract", + "path": "tests/critical/recovery/pre_v5_upgrade_test.go", + "display": "tests/critical/recovery/pre_v5_upgrade_test.go", + "kind": "exact", + "line": 36 + }, + { + "owner": "PRE-V5-UPGRADE-CONTRACT", + "branch": "work/prc-pre-v5-upgrade-contract", + "path": "scripts/production-smoke/customer/run-pre-v5-upgrade.ps1", + "display": "scripts/production-smoke/customer/run-pre-v5-upgrade.ps1", + "kind": "exact", + "line": 36 + }, + { + "owner": "T007-COMPAT-DEMOLITION-CLASSIFICATION", + "branch": "work/prc-t007-compat-classification", + "path": "internal/mcp/store_memory_compat_t007_test.go", + "display": "internal/mcp/store_memory_compat_t007_test.go", + "kind": "exact", + "line": 37 + }, + { + "owner": "DB-RULES-ISOLATION", + "branch": "work/prc-db-rules-isolation", + "path": "internal/worker/handlers_rules_test.go", + "display": "internal/worker/handlers_rules_test.go", + "kind": "exact", + "line": 38 + }, + { + "owner": "DB-RULES-ISOLATION", + "branch": "work/prc-db-rules-isolation", + "path": "scripts/production-gates/run-db-rules-isolation.ps1", + "display": "scripts/production-gates/run-db-rules-isolation.ps1", + "kind": "exact", + "line": 38 + }, + { + "owner": "COVERAGE-CMD-ENGRAM", + "branch": "work/prc-coverage-cmd-engram", + "path": "cmd/engram/production_readiness_coverage_test.go", + "display": "cmd/engram/production_readiness_coverage_test.go", + "kind": "exact", + "line": 39 + }, + { + "owner": "COVERAGE-CMD-SERVER", + "branch": "work/prc-coverage-cmd-server", + "path": "cmd/engram-server/production_readiness_coverage_test.go", + "display": "cmd/engram-server/production_readiness_coverage_test.go", + "kind": "exact", + "line": 40 + }, + { + "owner": "COVERAGE-UPDATE", + "branch": "work/prc-coverage-update", + "path": "internal/update/production_readiness_coverage_test.go", + "display": "internal/update/production_readiness_coverage_test.go", + "kind": "exact", + "line": 41 + }, + { + "owner": "COVERAGE-WORKER", + "branch": "work/prc-coverage-worker", + "path": "internal/worker/production_readiness_coverage_test.go", + "display": "internal/worker/production_readiness_coverage_test.go", + "kind": "exact", + "line": 43 + }, + { + "owner": "COVERAGE-MCP", + "branch": "work/prc-coverage-mcp", + "path": "internal/mcp/production_readiness_coverage_test.go", + "display": "internal/mcp/production_readiness_coverage_test.go", + "kind": "exact", + "line": 44 + }, + { + "owner": "COVERAGE-GORM", + "branch": "work/prc-coverage-gorm", + "path": "internal/db/gorm/production_readiness_coverage_test.go", + "display": "internal/db/gorm/production_readiness_coverage_test.go", + "kind": "exact", + "line": 45 + }, + { + "owner": "COVERAGE-LOOM", + "branch": "work/prc-coverage-loom", + "path": "internal/handlers/loom/production_readiness_coverage_test.go", + "display": "internal/handlers/loom/production_readiness_coverage_test.go", + "kind": "exact", + "line": 46 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "docker-compose.yml", + "display": "docker-compose.yml", + "kind": "exact", + "line": 47 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "deploy/docker-compose.runtime.yml", + "display": "deploy/docker-compose.runtime.yml", + "kind": "exact", + "line": 47 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "deploy/docker-compose.operator-web-standalone.yml", + "display": "deploy/docker-compose.operator-web-standalone.yml", + "kind": "exact", + "line": 47 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "deploy/entrypoint-server.sh", + "display": "deploy/entrypoint-server.sh", + "kind": "exact", + "line": 47 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "deploy/healthcheck-server.sh", + "display": "deploy/healthcheck-server.sh", + "kind": "exact", + "line": 47 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "deploy/verify-rollback.ps1", + "display": "deploy/verify-rollback.ps1", + "kind": "exact", + "line": 47 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "deploy/verify-runtime-policy.ps1", + "display": "deploy/verify-runtime-policy.ps1", + "kind": "exact", + "line": 47 + }, + { + "owner": "RECOVERY-DATA", + "branch": "work/prc-recovery-data", + "path": "scripts/recovery/start-disposable-postgres.ps1", + "display": "scripts/recovery/start-disposable-postgres.ps1", + "kind": "exact", + "line": 48 + }, + { + "owner": "RECOVERY-DATA", + "branch": "work/prc-recovery-data", + "path": "scripts/recovery/verify-postgres-roundtrip.ps1", + "display": "scripts/recovery/verify-postgres-roundtrip.ps1", + "kind": "exact", + "line": 48 + }, + { + "owner": "RECOVERY-DATA", + "branch": "work/prc-recovery-data", + "path": "scripts/recovery/seed-recovery-fixture.ps1", + "display": "scripts/recovery/seed-recovery-fixture.ps1", + "kind": "exact", + "line": 48 + }, + { + "owner": "RECOVERY-DATA", + "branch": "work/prc-recovery-data", + "path": "scripts/recovery/assert-recovery-fixture.ps1", + "display": "scripts/recovery/assert-recovery-fixture.ps1", + "kind": "exact", + "line": 48 + }, + { + "owner": "RECOVERY-DATA", + "branch": "work/prc-recovery-data", + "path": "tests/critical/recovery/postgres_roundtrip_test.go", + "display": "tests/critical/recovery/postgres_roundtrip_test.go", + "kind": "exact", + "line": 48 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "internal/module/obs/logging.go", + "display": "internal/module/obs/logging.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "internal/module/obs/logging_test.go", + "display": "internal/module/obs/logging_test.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "internal/module/obs/meter.go", + "display": "internal/module/obs/meter.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "internal/module/obs/meter_test.go", + "display": "internal/module/obs/meter_test.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "internal/module/obs/metrics.go", + "display": "internal/module/obs/metrics.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "internal/module/obs/metrics_test.go", + "display": "internal/module/obs/metrics_test.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "cmd/engram-server/main.go", + "display": "cmd/engram-server/main.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "cmd/engram-server/main_test.go", + "display": "cmd/engram-server/main_test.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "scripts/production-smoke/verify-otlp.ps1", + "display": "scripts/production-smoke/verify-otlp.ps1", + "kind": "exact", + "line": 49 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/scope/domain_policy.go", + "display": "internal/scope/domain_policy.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/scope/domain_policy_test.go", + "display": "internal/scope/domain_policy_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/scope/filter.go", + "display": "internal/scope/filter.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/scope/filter_test.go", + "display": "internal/scope/filter_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/scope/filter_principal_test.go", + "display": "internal/scope/filter_principal_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/scope/filter_w4_test.go", + "display": "internal/scope/filter_w4_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/principalmemory/access_policy.go", + "display": "internal/principalmemory/access_policy.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/principalmemory/access_policy_test.go", + "display": "internal/principalmemory/access_policy_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/principalmemory/domain_registry.go", + "display": "internal/principalmemory/domain_registry.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/principalmemory/domain_registry_test.go", + "display": "internal/principalmemory/domain_registry_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/principalmemory/query_service.go", + "display": "internal/principalmemory/query_service.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/principalmemory/query_service_test.go", + "display": "internal/principalmemory/query_service_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/mcp/tools_principal_memory.go", + "display": "internal/mcp/tools_principal_memory.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/mcp/tools_principal_memory_test.go", + "display": "internal/mcp/tools_principal_memory_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/mcp/tools_recall_principal_test.go", + "display": "internal/mcp/tools_recall_principal_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/mcp/recall_visibility_backfill_test.go", + "display": "internal/mcp/recall_visibility_backfill_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/mcp/store_memory_principal_test.go", + "display": "internal/mcp/store_memory_principal_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/worker/handlers_principal_memory.go", + "display": "internal/worker/handlers_principal_memory.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/worker/handlers_principal_memory_test.go", + "display": "internal/worker/handlers_principal_memory_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/worker/scope_bypass_w4_test.go", + "display": "internal/worker/scope_bypass_w4_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/worker/retention.go", + "display": "internal/worker/retention.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/worker/retention_test.go", + "display": "internal/worker/retention_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/db/gorm/memory_store.go", + "display": "internal/db/gorm/memory_store.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/db/gorm/memory_store_principal_test.go", + "display": "internal/db/gorm/memory_store_principal_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/db/gorm/memory_store_principal_query_test.go", + "display": "internal/db/gorm/memory_store_principal_query_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/db/gorm/purge_store_test.go", + "display": "internal/db/gorm/purge_store_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "tests/critical/data_boundaries/principal_project_retention_test.go", + "display": "tests/critical/data_boundaries/principal_project_retention_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "tests/critical/customer_mode/customer_mode_test.go", + "display": "tests/critical/customer_mode/customer_mode_test.go", + "kind": "exact", + "line": 51 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "tests/critical/customer_mode/compatibility_test.go", + "display": "tests/critical/customer_mode/compatibility_test.go", + "kind": "exact", + "line": 51 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "tests/critical/customer_mode/cross_agent_test.go", + "display": "tests/critical/customer_mode/cross_agent_test.go", + "kind": "exact", + "line": 51 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "scripts/production-smoke/customer/run-customer-mode.ps1", + "display": "scripts/production-smoke/customer/run-customer-mode.ps1", + "kind": "exact", + "line": 51 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "scripts/production-smoke/customer/run-client-compatibility.ps1", + "display": "scripts/production-smoke/customer/run-client-compatibility.ps1", + "kind": "exact", + "line": 51 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "scripts/production-smoke/customer/run-cross-agent.ps1", + "display": "scripts/production-smoke/customer/run-cross-agent.ps1", + "kind": "exact", + "line": 51 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "scripts/production-smoke/customer/run-diagnostic-matrix.ps1", + "display": "scripts/production-smoke/customer/run-diagnostic-matrix.ps1", + "kind": "exact", + "line": 51 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "scripts/production-smoke/customer/assert-product-works.ps1", + "display": "scripts/production-smoke/customer/assert-product-works.ps1", + "kind": "exact", + "line": 51 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "README.md", + "display": "README.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "README.ru.md", + "display": "README.ru.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "README.zh.md", + "display": "README.zh.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "CONTRIBUTING.md", + "display": "CONTRIBUTING.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "CHANGELOG.md", + "display": "CHANGELOG.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "Makefile", + "display": "Makefile", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": ".env.example", + "display": ".env.example", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/DEPLOYMENT.md", + "display": "docs/DEPLOYMENT.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/MIGRATION.md", + "display": "docs/MIGRATION.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "display": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/arch/CONFIGURATION.md", + "display": "docs/arch/CONFIGURATION.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/arch/QUICKSTART.md", + "display": "docs/arch/QUICKSTART.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/release-notes/v6.43.0.md", + "display": "docs/release-notes/v6.43.0.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/public/engram.jpg", + "display": "docs/public/engram.jpg", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "plugin/engram/commands/setup.md", + "display": "plugin/engram/commands/setup.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "plugin/engram/commands/doctor.md", + "display": "plugin/engram/commands/doctor.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "README.md", + "display": "README.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "README.ru.md", + "display": "README.ru.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "README.zh.md", + "display": "README.zh.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "CONTRIBUTING.md", + "display": "CONTRIBUTING.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "CHANGELOG.md", + "display": "CHANGELOG.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "Makefile", + "display": "Makefile", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": ".env.example", + "display": ".env.example", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/DEPLOYMENT.md", + "display": "docs/DEPLOYMENT.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/MIGRATION.md", + "display": "docs/MIGRATION.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "display": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/operating-engram.md", + "display": "docs/operating-engram.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/arch/CONFIGURATION.md", + "display": "docs/arch/CONFIGURATION.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/arch/QUICKSTART.md", + "display": "docs/arch/QUICKSTART.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/public/engram.jpg", + "display": "docs/public/engram.jpg", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "plugin/engram/commands/setup.md", + "display": "plugin/engram/commands/setup.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "plugin/engram/commands/doctor.md", + "display": "plugin/engram/commands/doctor.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "cmd/engram/main.go", + "display": "cmd/engram/main.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "cmd/engram/main_test.go", + "display": "cmd/engram/main_test.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "cmd/engram/wiring.go", + "display": "cmd/engram/wiring.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "cmd/engram/exec_windows.go", + "display": "cmd/engram/exec_windows.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "cmd/engram/exec_unix.go", + "display": "cmd/engram/exec_unix.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "plugin/engram/.engram-project", + "display": "plugin/engram/.engram-project", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "plugin/engram/scripts/run-engram.js", + "display": "plugin/engram/scripts/run-engram.js", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "plugin/engram/scripts/run-engram.test.js", + "display": "plugin/engram/scripts/run-engram.test.js", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "plugin/engram/scripts/ensure-binary.js", + "display": "plugin/engram/scripts/ensure-binary.js", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "plugin/engram/scripts/ensure-binary.test.js", + "display": "plugin/engram/scripts/ensure-binary.test.js", + "kind": "exact", + "line": 54 + }, + { + "owner": "OC-INTEGRATION", + "branch": "work/prc-operator-console-integration", + "path": "apps/operator-console", + "display": "apps/operator-console/**", + "kind": "prefix", + "line": 55 + }, + { + "owner": "S4B-CONTRACT", + "branch": "work/prc-s4b-contract", + "path": ".agent/specs/engram-v7-directives-surfacing", + "display": ".agent/specs/engram-v7-directives-surfacing/**", + "kind": "prefix", + "line": 56 + }, + { + "owner": "V7-S4B-BACKEND", + "branch": "work/prc-v7-s4b-backend", + "path": "internal/cognitive/s4bsurfacing", + "display": "internal/cognitive/s4bsurfacing/**", + "kind": "prefix", + "line": 57 + }, + { + "owner": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "path": "internal/cognitive/core/event_bus.go", + "display": "internal/cognitive/core/event_bus.go", + "kind": "exact", + "line": 58 + }, + { + "owner": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "path": "internal/cognitive/core/event_bus_test.go", + "display": "internal/cognitive/core/event_bus_test.go", + "kind": "exact", + "line": 58 + }, + { + "owner": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "path": "internal/cognitive/core/hint_queue.go", + "display": "internal/cognitive/core/hint_queue.go", + "kind": "exact", + "line": 58 + }, + { + "owner": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "path": "internal/cognitive/core/hint_queue_test.go", + "display": "internal/cognitive/core/hint_queue_test.go", + "kind": "exact", + "line": 58 + }, + { + "owner": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "path": "internal/cognitive/s3ambient/queue.go", + "display": "internal/cognitive/s3ambient/queue.go", + "kind": "exact", + "line": 58 + }, + { + "owner": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "path": "internal/cognitive/s3ambient/subsystem.go", + "display": "internal/cognitive/s3ambient/subsystem.go", + "kind": "exact", + "line": 58 + }, + { + "owner": "V7-RUNTIME-WIRING", + "branch": "work/prc-v7-runtime-wiring", + "path": "internal/worker/service.go", + "display": "internal/worker/service.go", + "kind": "exact", + "line": 59 + }, + { + "owner": "V7-RUNTIME-WIRING", + "branch": "work/prc-v7-runtime-wiring", + "path": "internal/worker/service_v7_integration_test.go", + "display": "internal/worker/service_v7_integration_test.go", + "kind": "exact", + "line": 59 + }, + { + "owner": "V7-RUNTIME-WIRING", + "branch": "work/prc-v7-runtime-wiring", + "path": "internal/worker/handlers_stats_v7.go", + "display": "internal/worker/handlers_stats_v7.go", + "kind": "exact", + "line": 59 + }, + { + "owner": "V7-RUNTIME-WIRING", + "branch": "work/prc-v7-runtime-wiring", + "path": "internal/worker/handlers_stats_v7_test.go", + "display": "internal/worker/handlers_stats_v7_test.go", + "kind": "exact", + "line": 59 + }, + { + "owner": "V7-TELEMETRY-WIRING", + "branch": "work/prc-v7-telemetry-wiring", + "path": "internal/cognitive/s5/metrics.go", + "display": "internal/cognitive/s5/metrics.go", + "kind": "exact", + "line": 60 + }, + { + "owner": "V7-TELEMETRY-WIRING", + "branch": "work/prc-v7-telemetry-wiring", + "path": "internal/cognitive/s5/provider.go", + "display": "internal/cognitive/s5/provider.go", + "kind": "exact", + "line": 60 + }, + { + "owner": "V7-TELEMETRY-WIRING", + "branch": "work/prc-v7-telemetry-wiring", + "path": "internal/cognitive/s5/provider_test.go", + "display": "internal/cognitive/s5/provider_test.go", + "kind": "exact", + "line": 60 + }, + { + "owner": "V7-TELEMETRY-WIRING", + "branch": "work/prc-v7-telemetry-wiring", + "path": "internal/cognitive/s5/source_adapter.go", + "display": "internal/cognitive/s5/source_adapter.go", + "kind": "exact", + "line": 60 + }, + { + "owner": "V7-TELEMETRY-WIRING", + "branch": "work/prc-v7-telemetry-wiring", + "path": "internal/cognitive/s5/source_adapter_test.go", + "display": "internal/cognitive/s5/source_adapter_test.go", + "kind": "exact", + "line": 60 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/roadmap.md", + "display": ".agent/specs/roadmap.md", + "kind": "exact", + "line": 61 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/ui-surface-ledger.md", + "display": ".agent/specs/ui-surface-ledger.md", + "kind": "exact", + "line": 61 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/operator-console-production-integration", + "display": ".agent/specs/operator-console-production-integration/**", + "kind": "prefix", + "line": 61 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/engram-v7-ambient/spec.md", + "display": ".agent/specs/engram-v7-ambient/spec.md", + "kind": "exact", + "line": 61 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/engram-v7-ambient/plan.md", + "display": ".agent/specs/engram-v7-ambient/plan.md", + "kind": "exact", + "line": 61 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/engram-v7-ambient/checklists/general.md", + "display": ".agent/specs/engram-v7-ambient/checklists/general.md", + "kind": "exact", + "line": 61 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 61 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 61 + }, + { + "owner": "NORTHSTAR-CI-A-CONTRACTS", + "branch": "work/prc-northstar-ci-a-contracts", + "path": ".agent/specs/engram-absorption/ci-a-dense-vector/spec.md", + "display": ".agent/specs/engram-absorption/ci-a-dense-vector/spec.md", + "kind": "exact", + "line": 62 + }, + { + "owner": "NORTHSTAR-CI-A-CONTRACTS", + "branch": "work/prc-northstar-ci-a-contracts", + "path": ".agent/specs/engram-absorption/ci-a-dense-vector/plan.md", + "display": ".agent/specs/engram-absorption/ci-a-dense-vector/plan.md", + "kind": "exact", + "line": 62 + }, + { + "owner": "NORTHSTAR-CI-A-CONTRACTS", + "branch": "work/prc-northstar-ci-a-contracts", + "path": ".agent/specs/engram-absorption/ci-a-dense-vector/checklists/general.md", + "display": ".agent/specs/engram-absorption/ci-a-dense-vector/checklists/general.md", + "kind": "exact", + "line": 62 + }, + { + "owner": "NORTHSTAR-CI-A-CONTRACTS", + "branch": "work/prc-northstar-ci-a-contracts", + "path": ".agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 62 + }, + { + "owner": "NORTHSTAR-CI-A-CONTRACTS", + "branch": "work/prc-northstar-ci-a-contracts", + "path": ".agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 62 + }, + { + "owner": "NORTHSTAR-CI-B-CONTRACTS", + "branch": "work/prc-northstar-ci-b-contracts", + "path": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/spec.md", + "display": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/spec.md", + "kind": "exact", + "line": 63 + }, + { + "owner": "NORTHSTAR-CI-B-CONTRACTS", + "branch": "work/prc-northstar-ci-b-contracts", + "path": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/plan.md", + "display": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/plan.md", + "kind": "exact", + "line": 63 + }, + { + "owner": "NORTHSTAR-CI-B-CONTRACTS", + "branch": "work/prc-northstar-ci-b-contracts", + "path": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/checklists/general.md", + "display": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/checklists/general.md", + "kind": "exact", + "line": 63 + }, + { + "owner": "NORTHSTAR-CI-B-CONTRACTS", + "branch": "work/prc-northstar-ci-b-contracts", + "path": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 63 + }, + { + "owner": "NORTHSTAR-CI-B-CONTRACTS", + "branch": "work/prc-northstar-ci-b-contracts", + "path": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 63 + }, + { + "owner": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "path": ".agent/specs/engram-absorption/book/prd.md", + "display": ".agent/specs/engram-absorption/book/prd.md", + "kind": "exact", + "line": 64 + }, + { + "owner": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "path": ".agent/specs/engram-absorption/book/spec.md", + "display": ".agent/specs/engram-absorption/book/spec.md", + "kind": "exact", + "line": 64 + }, + { + "owner": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "path": ".agent/specs/engram-absorption/book/plan.md", + "display": ".agent/specs/engram-absorption/book/plan.md", + "kind": "exact", + "line": 64 + }, + { + "owner": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "path": ".agent/specs/engram-absorption/book/checklists/general.md", + "display": ".agent/specs/engram-absorption/book/checklists/general.md", + "kind": "exact", + "line": 64 + }, + { + "owner": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "path": ".agent/specs/engram-absorption/book/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/engram-absorption/book/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 64 + }, + { + "owner": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "path": ".agent/specs/engram-absorption/book/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/engram-absorption/book/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 64 + }, + { + "owner": "NORTHSTAR-MEM-CONTRACTS", + "branch": "work/prc-northstar-mem-contracts", + "path": ".agent/specs/engram-absorption/mem-residual/spec.md", + "display": ".agent/specs/engram-absorption/mem-residual/spec.md", + "kind": "exact", + "line": 65 + }, + { + "owner": "NORTHSTAR-MEM-CONTRACTS", + "branch": "work/prc-northstar-mem-contracts", + "path": ".agent/specs/engram-absorption/mem-residual/plan.md", + "display": ".agent/specs/engram-absorption/mem-residual/plan.md", + "kind": "exact", + "line": 65 + }, + { + "owner": "NORTHSTAR-MEM-CONTRACTS", + "branch": "work/prc-northstar-mem-contracts", + "path": ".agent/specs/engram-absorption/mem-residual/checklists/general.md", + "display": ".agent/specs/engram-absorption/mem-residual/checklists/general.md", + "kind": "exact", + "line": 65 + }, + { + "owner": "NORTHSTAR-MEM-CONTRACTS", + "branch": "work/prc-northstar-mem-contracts", + "path": ".agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 65 + }, + { + "owner": "NORTHSTAR-MEM-CONTRACTS", + "branch": "work/prc-northstar-mem-contracts", + "path": ".agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 65 + }, + { + "owner": "NORTHSTAR-EFFECTIVENESS-CONTRACTS", + "branch": "work/prc-northstar-effectiveness-contracts", + "path": ".agent/specs/engram-effectiveness/production-ready-residual/spec.md", + "display": ".agent/specs/engram-effectiveness/production-ready-residual/spec.md", + "kind": "exact", + "line": 66 + }, + { + "owner": "NORTHSTAR-EFFECTIVENESS-CONTRACTS", + "branch": "work/prc-northstar-effectiveness-contracts", + "path": ".agent/specs/engram-effectiveness/production-ready-residual/plan.md", + "display": ".agent/specs/engram-effectiveness/production-ready-residual/plan.md", + "kind": "exact", + "line": 66 + }, + { + "owner": "NORTHSTAR-EFFECTIVENESS-CONTRACTS", + "branch": "work/prc-northstar-effectiveness-contracts", + "path": ".agent/specs/engram-effectiveness/production-ready-residual/checklists/general.md", + "display": ".agent/specs/engram-effectiveness/production-ready-residual/checklists/general.md", + "kind": "exact", + "line": 66 + }, + { + "owner": "NORTHSTAR-EFFECTIVENESS-CONTRACTS", + "branch": "work/prc-northstar-effectiveness-contracts", + "path": ".agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 66 + }, + { + "owner": "NORTHSTAR-EFFECTIVENESS-CONTRACTS", + "branch": "work/prc-northstar-effectiveness-contracts", + "path": ".agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 66 + }, + { + "owner": "NORTHSTAR-SETTINGS-CONTRACTS", + "branch": "work/prc-northstar-settings-contracts", + "path": ".agent/specs/settings-store/production-ready-residual/spec.md", + "display": ".agent/specs/settings-store/production-ready-residual/spec.md", + "kind": "exact", + "line": 67 + }, + { + "owner": "NORTHSTAR-SETTINGS-CONTRACTS", + "branch": "work/prc-northstar-settings-contracts", + "path": ".agent/specs/settings-store/production-ready-residual/plan.md", + "display": ".agent/specs/settings-store/production-ready-residual/plan.md", + "kind": "exact", + "line": 67 + }, + { + "owner": "NORTHSTAR-SETTINGS-CONTRACTS", + "branch": "work/prc-northstar-settings-contracts", + "path": ".agent/specs/settings-store/production-ready-residual/checklists/general.md", + "display": ".agent/specs/settings-store/production-ready-residual/checklists/general.md", + "kind": "exact", + "line": 67 + }, + { + "owner": "NORTHSTAR-SETTINGS-CONTRACTS", + "branch": "work/prc-northstar-settings-contracts", + "path": ".agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 67 + }, + { + "owner": "NORTHSTAR-SETTINGS-CONTRACTS", + "branch": "work/prc-northstar-settings-contracts", + "path": ".agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 67 + } + ], + "repeated_exact_paths": [ + { + "path": ".env.example", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": ".github/workflows/test.yml", + "exact_owners": [ + "RELEASE-GATES", + "IMAGE-REMEDIATION" + ], + "prefix_owners": [], + "effective_owners": [ + "RELEASE-GATES", + "IMAGE-REMEDIATION" + ], + "declared_epoch": true, + "epoch_owners": [ + "RELEASE-GATES", + "IMAGE-REMEDIATION" + ] + }, + { + "path": "apps/operator-console/package-lock.json", + "exact_owners": [ + "IMAGE-REMEDIATION" + ], + "prefix_owners": [ + "OC-INTEGRATION" + ], + "effective_owners": [ + "IMAGE-REMEDIATION", + "OC-INTEGRATION" + ], + "declared_epoch": true, + "epoch_owners": [ + "IMAGE-REMEDIATION", + "OC-INTEGRATION" + ] + }, + { + "path": "apps/operator-console/package.json", + "exact_owners": [ + "IMAGE-REMEDIATION" + ], + "prefix_owners": [ + "OC-INTEGRATION" + ], + "effective_owners": [ + "IMAGE-REMEDIATION", + "OC-INTEGRATION" + ], + "declared_epoch": true, + "epoch_owners": [ + "IMAGE-REMEDIATION", + "OC-INTEGRATION" + ] + }, + { + "path": "CHANGELOG.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "CONTRIBUTING.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "deploy/docker-compose.runtime.yml", + "exact_owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ], + "prefix_owners": [], + "effective_owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ], + "declared_epoch": true, + "epoch_owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ] + }, + { + "path": "docker-compose.yml", + "exact_owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ], + "prefix_owners": [], + "effective_owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ], + "declared_epoch": true, + "epoch_owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ] + }, + { + "path": "Dockerfile", + "exact_owners": [ + "SECURITY-TOOLCHAIN", + "IMAGE-REMEDIATION" + ], + "prefix_owners": [], + "effective_owners": [ + "SECURITY-TOOLCHAIN", + "IMAGE-REMEDIATION" + ], + "declared_epoch": true, + "epoch_owners": [ + "SECURITY-TOOLCHAIN", + "IMAGE-REMEDIATION" + ] + }, + { + "path": "docs/arch/CONFIGURATION.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "docs/arch/QUICKSTART.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "docs/DEPLOYMENT.md", + "exact_owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "docs/MIGRATION.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "docs/operating-engram.md", + "exact_owners": [ + "REDACTION-LIVE-CONTRACT", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "REDACTION-LIVE-CONTRACT", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "REDACTION-LIVE-CONTRACT", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "exact_owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "docs/public/engram.jpg", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "internal/bulkops/facade_test.go", + "exact_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ] + }, + { + "path": "internal/bulkops/facade.go", + "exact_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION", + "DURABLE-AUDIT-BOUNDARIES" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION", + "DURABLE-AUDIT-BOUNDARIES" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION", + "DURABLE-AUDIT-BOUNDARIES" + ] + }, + { + "path": "internal/bulkops/rollback_test.go", + "exact_owners": [ + "DB-BULKOPS", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ] + }, + { + "path": "internal/db/gorm/candidate_store_test.go", + "exact_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-TEST-POOL-HYGIENE", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-TEST-POOL-HYGIENE", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-TEST-POOL-HYGIENE", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ] + }, + { + "path": "internal/db/gorm/candidate_store.go", + "exact_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ] + }, + { + "path": "internal/db/gorm/user_store.go", + "exact_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ] + }, + { + "path": "internal/mcp/tools_bulkops.go", + "exact_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ] + }, + { + "path": "internal/mcp/tools_dryrun_test.go", + "exact_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ] + }, + { + "path": "internal/mcp/tools_memory.go", + "exact_owners": [ + "MCP-STRUCTURED-INPUT-VALIDATION", + "REDACTION-LIVE-CONTRACT" + ], + "prefix_owners": [], + "effective_owners": [ + "MCP-STRUCTURED-INPUT-VALIDATION", + "REDACTION-LIVE-CONTRACT" + ], + "declared_epoch": true, + "epoch_owners": [ + "MCP-STRUCTURED-INPUT-VALIDATION", + "REDACTION-LIVE-CONTRACT" + ] + }, + { + "path": "internal/worker/auth_handlers.go", + "exact_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ] + }, + { + "path": "internal/worker/service.go", + "exact_owners": [ + "AUTH-BOOTSTRAP-SECURITY", + "REDACTION-LIVE-CONTRACT", + "V7-RUNTIME-WIRING" + ], + "prefix_owners": [], + "effective_owners": [ + "AUTH-BOOTSTRAP-SECURITY", + "REDACTION-LIVE-CONTRACT", + "V7-RUNTIME-WIRING" + ], + "declared_epoch": true, + "epoch_owners": [ + "AUTH-BOOTSTRAP-SECURITY", + "REDACTION-LIVE-CONTRACT", + "V7-RUNTIME-WIRING" + ] + }, + { + "path": "Makefile", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "pkg/models/snapshot.go", + "exact_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ] + }, + { + "path": "plugin/engram/commands/doctor.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "plugin/engram/commands/setup.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "README.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "README.ru.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "README.zh.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + } + ], + "prefix_intersections": [ + { + "left_owner": "IMAGE-REMEDIATION", + "left": "apps/operator-console/package.json", + "right_owner": "OC-INTEGRATION", + "right": "apps/operator-console/**", + "exact_path": "apps/operator-console/package.json", + "declared_epoch": true + }, + { + "left_owner": "IMAGE-REMEDIATION", + "left": "apps/operator-console/package-lock.json", + "right_owner": "OC-INTEGRATION", + "right": "apps/operator-console/**", + "exact_path": "apps/operator-console/package-lock.json", + "declared_epoch": true + } + ], + "epochs": [ + { + "path": "internal/db/gorm/candidate_store.go", + "owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "transfer_gate": "rejected predecessor checker/hash recorded; rework uses exact base `68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef`; each accepted successor requires checker PASS, post-review PASS, integration SHA, and exact rebase before edit", + "line": 6 + }, + { + "path": "internal/db/gorm/candidate_store_test.go", + "owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-TEST-POOL-HYGIENE", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "transfer_gate": "behavioral-edge head `bd68c05baf4b7250096dd84f56bebea2aa555970` remains current authority until pool-hygiene product `276337b3e96aa5af6d2e7dd9a0002ff957e5ffc9` plus evidence `68242c48aaad62ec087166eeb9ea32f14d189450` receive fresh checker and post-review; later successors require exact integration and rebase", + "line": 7 + }, + { + "path": "internal/mcp/tools_bulkops.go", + "owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "transfer_gate": "rejected predecessor checker/hash recorded; rework base is exact rejected head; checker and post-review PASS plus integration SHA close the transfer", + "line": 8 + }, + { + "path": "internal/mcp/tools_dryrun_test.go", + "owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "transfer_gate": "rejected predecessor checker/hash recorded; rework base is exact rejected head; checker and post-review PASS plus integration SHA close the transfer", + "line": 8 + }, + { + "path": "internal/bulkops/facade.go", + "owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION", + "DURABLE-AUDIT-BOUNDARIES" + ], + "transfer_gate": "behavioral-edge composite checker and post-review PASS; exact integration SHA recorded; demolition rebased before edit; historical ingest guard green before durable-audit fault work", + "line": 9 + }, + { + "path": "internal/bulkops/facade_test.go", + "owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "transfer_gate": "accepted behavioral-edge composite integrated; demolition worktree rebased; focused historical-only regressions PASS before integration", + "line": 10 + }, + { + "path": "internal/bulkops/rollback_test.go", + "owners": [ + "DB-BULKOPS", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "transfer_gate": "accepted behavioral-edge composite and DB-GOVERNANCE integrated; candidate-review successor rebased; combined checker and post-review PASS", + "line": 11 + }, + { + "path": "pkg/models/snapshot.go", + "owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "transfer_gate": "accepted behavioral-edge composite integrated; demolition successor rebased; persistence-compatibility and non-executable regressions PASS", + "line": 12 + }, + { + "path": "internal/db/gorm/user_store.go", + "owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "transfer_gate": "each predecessor checker and post-review PASS, integration SHA recorded, successor rebased; no simultaneous writer", + "line": 13 + }, + { + "path": "internal/worker/auth_handlers.go", + "owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "transfer_gate": "each predecessor checker and post-review PASS, integration SHA recorded, successor rebased; no simultaneous writer", + "line": 14 + }, + { + "path": "internal/worker/service.go", + "owners": [ + "AUTH-BOOTSTRAP-SECURITY", + "REDACTION-LIVE-CONTRACT", + "V7-RUNTIME-WIRING" + ], + "transfer_gate": "auth bootstrap checker and post-review PASS, commit integrated, redaction worktree rebased and boot-captured rules proved; V7 later rebases the redaction integration and reruns both auth and redaction route regressions", + "line": 15 + }, + { + "path": "internal/mcp/tools_memory.go", + "owners": [ + "MCP-STRUCTURED-INPUT-VALIDATION", + "REDACTION-LIVE-CONTRACT" + ], + "transfer_gate": "structured-input checker/post-review PASS and exact integration SHA; redaction successor rebased so malformed input remains zero-audit/zero-write before matched-mutation audit enforcement", + "line": 16 + }, + { + "path": "docs/operating-engram.md", + "owners": [ + "REDACTION-LIVE-CONTRACT", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "redaction live contract checker/post-review PASS and exact integration SHA; FINAL rebased and revalidates the operator claims against final published artifacts", + "line": 17 + }, + { + "path": "Dockerfile", + "owners": [ + "SECURITY-TOOLCHAIN", + "IMAGE-REMEDIATION" + ], + "transfer_gate": "toolchain checker and post-review PASS, commit integrated, image worktree rebased, zero-finding rebuild and scan before successor integration", + "line": 18 + }, + { + "path": ".github/workflows/test.yml", + "owners": [ + "RELEASE-GATES", + "IMAGE-REMEDIATION" + ], + "transfer_gate": "release-gates checker and post-review PASS, commit integrated, image worktree rebased before workflow image-identity changes", + "line": 19 + }, + { + "path": "docker-compose.yml", + "owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ], + "transfer_gate": "image checker and post-review PASS, `final-image-set.json` recorded, deployment worktree rebased, fresh scan after edits", + "line": 20 + }, + { + "path": "deploy/docker-compose.runtime.yml", + "owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ], + "transfer_gate": "image checker and post-review PASS, `final-image-set.json` recorded, deployment worktree rebased, fresh scan after edits", + "line": 20 + }, + { + "path": "apps/operator-console/package.json", + "owners": [ + "IMAGE-REMEDIATION", + "OC-INTEGRATION" + ], + "transfer_gate": "image checker and post-review PASS, OC worktree rebased, any later dependency edit reruns audit/build/browser/image scan", + "line": 21 + }, + { + "path": "apps/operator-console/package-lock.json", + "owners": [ + "IMAGE-REMEDIATION", + "OC-INTEGRATION" + ], + "transfer_gate": "image checker and post-review PASS, OC worktree rebased, any later dependency edit reruns audit/build/browser/image scan", + "line": 21 + }, + { + "path": "docs/DEPLOYMENT.md", + "owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "image proof integrated; CORE rebased for M5; FINAL rebased to exact M6 integration and final-version artifact before edit", + "line": 22 + }, + { + "path": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "image proof integrated; CORE rebased for M5; FINAL rebased to exact M6 integration and final-version artifact before edit", + "line": 22 + }, + { + "path": "README.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "README.ru.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "README.zh.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "CONTRIBUTING.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "CHANGELOG.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "Makefile", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": ".env.example", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "docs/MIGRATION.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "docs/arch/CONFIGURATION.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "docs/arch/QUICKSTART.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "docs/public/engram.jpg", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "plugin/engram/commands/setup.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "plugin/engram/commands/doctor.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "internal/worker/dream_cycle.go", + "owners": [ + "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS" + ], + "transfer_gate": "single-owner tracked epoch with no predecessor; the maker starts only after the named dependencies, then requires checker PASS, post-review PASS, integration SHA, and a root plan/state amendment before any later writer", + "line": 24 + }, + { + "path": "internal/worker/dream_cycle_test.go", + "owners": [ + "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS" + ], + "transfer_gate": "single-owner tracked epoch with no predecessor; the maker starts only after the named dependencies, then requires checker PASS, post-review PASS, integration SHA, and a root plan/state amendment before any later writer", + "line": 24 + } + ], + "errors": [] +} diff --git a/.agent/specs/release-gates-r8/evidence/release-gates/local-code-review.md b/.agent/specs/release-gates-r8/evidence/release-gates/local-code-review.md new file mode 100644 index 00000000..c4588292 --- /dev/null +++ b/.agent/specs/release-gates-r8/evidence/release-gates/local-code-review.md @@ -0,0 +1,31 @@ +# RELEASE-GATES-R8 local changed-code review + +Verdict: `PASS_PENDING_INDEPENDENT_CHECKER_AND_ROOT_POST_REVIEW` + +This is maker-side post-change review, not independent acceptance. + +## Regression detector + +- Product runtime, public APIs, data models, migrations, and UI behavior are unchanged. +- CI now fails closed when its exact package-plus-test execution proof is bypassed or when the R8 plan/state/scope authority loses a required row, owner, fold, slice, or rejected-head policy. +- The live register is intentionally not byte-frozen. Two successive live SHAs (`8F099B...`, then `22F2AF...`) with the same 67-slice structure passed against the immutable `AB5F...` freeze provenance; the second change advanced DB embedding evidence inside its existing owner. +- No unrelated caller of `assert-plan-path-ownership.ps1` exists outside the updated workflow and its own self-test/hash-only modes. + +## Six-axis review + +1. Correctness: the database proof matches both exact Go package and exact test identity at the live consumer. Scope conformance checks unique slice parity, direct owners, fold/historical classification constraints, required plan rows, scope/state hash binding, and explicitly rejected heads. +2. Validation completeness: self-tests cover row-plus-epoch deletion, missing map entry, missing fold owner, new register slice, rejected head falsely accepted, ordinary progress allowed, scope hash mismatch, and wrong-package zero acceptance. The extracted CI harness rejects 51 mutations. +3. Readability: structural parsing is isolated in `Get-PlanRowNames`, status policy helpers, and `Invoke-ScopeContractAudit`; the workflow retains one conformance entry point. +4. Architecture: the scope map remains an immutable structural projection while the JSON register remains the sole mutable progress authority. No demolished v5 runtime scaffold is touched. +5. Security: no credential, input, network, or secret-handling surface changed. Exact case-sensitive package/test matching removes a false proof path. +6. Performance: audits are linear over 67 scope rows and the existing plan ledger; no production hot path or dependency is added. + +## Review correction made before final green + +An overconstraint was removed: a frozen current head is not required to be one of the historical rejected heads. Only a live row that presents an explicitly rejected head with an accepted status fails. This preserves ordinary successor-head progress while keeping the load-bearing rejection rail. + +## Residual gates + +- A fresh native independent checker and root post-review remain mandatory. +- Cross-model review streams could not be launched during the maker turn because all native agent slots were occupied; this is recorded as degraded review coverage, not as acceptance. +- The full fresh-database repeat-3/race suite and Docker dev-stand are intentionally left for the root-authorized expensive gate run. diff --git a/.agent/specs/release-gates-r8/evidence/release-gates/prove-it-package-final.workflow-conformance.json b/.agent/specs/release-gates-r8/evidence/release-gates/prove-it-package-final.workflow-conformance.json new file mode 100644 index 00000000..1b197b6f --- /dev/null +++ b/.agent/specs/release-gates-r8/evidence/release-gates/prove-it-package-final.workflow-conformance.json @@ -0,0 +1,18 @@ +{ + "schema_version": 1, + "label": "prove-it-package-final", + "live_package_binding_disabled": true, + "observed_at": "2026-07-10T20:35:16.7297899+00:00", + "exit_code": 1, + "workflow_sha256": "eacb67531d1b96862812273d41a605b5c10b5b26a99f9b8f4a0445f02ff51452", + "runner_sha256": "910e78011381e6bbfcf2fb15a97d61f54c2f399528b87ec02c6d30191701a8b4", + "extracted_script_sha256": "f75d539325743785360542cd058757f8fd1cddcfb669ac5a6c76846865e9247c", + "stdout_tail": [], + "stderr_tail": [ + "Exception: D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r8-maker\\.agent\\specs\\release-gates-r8\\evidence\\release-gates\\prove-it-package-final.workflow-conformance.ps1:531", + "Line |", + " 531 | … -not $rejected) { throw \"conformance mutation '$name' was accepted\" }", + " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", + " | conformance mutation 'remove live session-start package predicate' was accepted" + ] +} diff --git a/.agent/specs/release-gates-r8/evidence/release-gates/prove-it-scope-final.json b/.agent/specs/release-gates-r8/evidence/release-gates/prove-it-scope-final.json new file mode 100644 index 00000000..1711f6c0 --- /dev/null +++ b/.agent/specs/release-gates-r8/evidence/release-gates/prove-it-scope-final.json @@ -0,0 +1,17 @@ +{ + "schema_version": 1, + "label": "prove-it-scope-final", + "mutation": "disable live unique-slice-set enforcement", + "observed_at": "2026-07-10T20:34:51.0681677+00:00", + "exit_code": 1, + "source_sha256": "3e82ac89be0888d31b58b9046395fe14aa7c673d8706ae95779bb5d9c231111a", + "mutated_sha256": "f4150f31285d43b76e42850fe14d092d26c7d9b0cf2cc4b8e33b5919334c1cd4", + "stdout_tail": [], + "stderr_tail": [ + "Exception: D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r8-maker\\.agent\\specs\\release-gates-r8\\evidence\\release-gates\\prove-it-scope-final.assert-plan-path-ownership.ps1:962", + "Line |", + " 962 | if (-not $Condition) { throw \"SELFTEST FAIL: $Message\" }", + " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~", + " | SELFTEST FAIL: live register slice missing from the scope map was accepted" + ] +} diff --git a/.agent/specs/release-gates-r8/evidence/release-gates/verification-summary.json b/.agent/specs/release-gates-r8/evidence/release-gates/verification-summary.json new file mode 100644 index 00000000..529f630d --- /dev/null +++ b/.agent/specs/release-gates-r8/evidence/release-gates/verification-summary.json @@ -0,0 +1,75 @@ +{ + "schema_version": 1, + "slice": "RELEASE-GATES", + "observed_at": "2026-07-10T23:43:48.0976027+03:00", + "authority": { + "reconstruction_base": "d59d1605969b1f567506e96ded524dfd1e4be08a", + "plan_governance_commit": "37d185b33b8f9411564fda49cf8b0d58321b62fd", + "plan_sha256": "fd2b223a9a62848efc39e1c33bf739bada191508bccb7ba9a73140185638e43d", + "scope_map_sha256": "81093184036672008d6b85dfa88a431998ef70b587ab11475aa2b315f03ddf79", + "register_freeze_sha256": "ab5f882fa110ca823a317061ecbca0c62516702735325893a56206f9e7a29415", + "register_freeze_updated_at": "2026-07-10T22:46:01.2938194+03:00" + }, + "source_hashes": { + ".github/workflows/test.yml": "eacb67531d1b96862812273d41a605b5c10b5b26a99f9b8f4a0445f02ff51452", + "scripts/production-gates/assert-plan-path-ownership.ps1": "3e82ac89be0888d31b58b9046395fe14aa7c673d8706ae95779bb5d9c231111a", + "scripts/production-gates/run-db-suite.ps1": "910e78011381e6bbfcf2fb15a97d61f54c2f399528b87ec02c6d30191701a8b4" + }, + "checks": { + "actionlint": { + "command": "actionlint .github/workflows/test.yml", + "exit_code": 0 + }, + "ownership_self_test": { + "command": "pwsh -NoProfile -File scripts/production-gates/assert-plan-path-ownership.ps1 -SelfTest", + "exit_code": 0 + }, + "database_runner_self_test": { + "command": "pwsh -NoProfile -File scripts/production-gates/run-db-suite.ps1 -SelfTest", + "exit_code": 0 + }, + "workflow_conformance": { + "command": "pwsh -NoProfile -File .agent/specs/release-gates-r8/evidence/release-gates/verify-workflow-conformance.ps1 -Repository . -Label final-green", + "exit_code": 0, + "mutations_rejected": 51, + "artifact": ".agent/specs/release-gates-r8/evidence/release-gates/final-green.workflow-conformance.json" + }, + "live_structural_ledger": { + "exit_code": 0, + "verdict": "PASS", + "live_register_sha256": "22f2af0817f1a525ea4436e95326353617294e02ccf2cdaed1a9c94adc1997fc", + "live_register_rows": 67, + "scope_entries": 67, + "maker_slices": 57, + "declarations": 333, + "repeated_exact_paths": 34, + "declared_epochs": 36, + "state_epochs": 36, + "errors": 0, + "artifact": ".agent/specs/release-gates-r8/evidence/release-gates/ledger-live-register.final.json", + "artifact_sha256": "70ac624ea18f08f95bd6195707a15c77522fa07b2dbe105f05ea42d66a8765b5" + } + }, + "progress_drift_proof": { + "freeze_sha256": "ab5f882fa110ca823a317061ecbca0c62516702735325893a56206f9e7a29415", + "observed_live_sha256_sequence": [ + "8f099b7564fde5655541e04e7a075b3441f460fd1a2058afbee771736d9f83e0", + "22f2af0817f1a525ea4436e95326353617294e02ccf2cdaed1a9c94adc1997fc" + ], + "live_sha256": "22f2af0817f1a525ea4436e95326353617294e02ccf2cdaed1a9c94adc1997fc", + "same_sha": false, + "structural_verdict": "PASS", + "meaning": "normal register progress changed mutable bytes while the exact 67-slice structure and load-bearing rejected-head policies remained conformant" + }, + "not_run_in_maker": [ + "full fresh-database repeat-3/race suite", + "Docker dev-stand build, readiness, Scout scan, and cleanup" + ], + "review": { + "local_six_axis_review": "PASS", + "independent_checker": "REQUIRED", + "root_post_review": "REQUIRED", + "cross_model_review": "UNAVAILABLE_DURING_MAKER_DUE_TO_NATIVE_AGENT_SLOT_SATURATION" + }, + "verdict": "PASS_PENDING_INDEPENDENT_CHECKER_AND_ROOT_POST_REVIEW" +} diff --git a/.agent/specs/release-gates-r8/evidence/release-gates/verify-scope-prove-it.ps1 b/.agent/specs/release-gates-r8/evidence/release-gates/verify-scope-prove-it.ps1 new file mode 100644 index 00000000..770f2c2f --- /dev/null +++ b/.agent/specs/release-gates-r8/evidence/release-gates/verify-scope-prove-it.ps1 @@ -0,0 +1,47 @@ +param( + [string]$Repository = (Resolve-Path (Join-Path $PSScriptRoot '..\..\..\..\..')).Path, + [string]$Label = 'scope-prove-it' +) + +Set-StrictMode -Version Latest +$ErrorActionPreference = 'Stop' + +function Write-Utf8NoBom { + param([string]$Path, [string]$Content) + [System.IO.File]::WriteAllText([System.IO.Path]::GetFullPath($Path), $Content, [System.Text.UTF8Encoding]::new($false)) +} + +$repositoryPath = [System.IO.Path]::GetFullPath($Repository) +$sourcePath = Join-Path $repositoryPath 'scripts/production-gates/assert-plan-path-ownership.ps1' +$mutatedPath = Join-Path $PSScriptRoot "$Label.assert-plan-path-ownership.ps1" +$stdoutPath = Join-Path $PSScriptRoot "$Label.stdout.log" +$stderrPath = Join-Path $PSScriptRoot "$Label.stderr.log" +$resultPath = Join-Path $PSScriptRoot "$Label.json" + +$source = Get-Content -Raw -LiteralPath $sourcePath +$enforcement = "`$errors.Add('live register unique slice set differs from the frozen scope map')" +$count = ([regex]::Matches($source, [regex]::Escape($enforcement))).Count +if ($count -ne 1) { throw "scope-set enforcement fixture cardinality is $count, expected 1" } +Write-Utf8NoBom $mutatedPath ($source.Replace($enforcement, "`$null = 'scope-set enforcement disabled for Prove-It'")) + +Push-Location $repositoryPath +try { + & pwsh -NoProfile -File $mutatedPath -SelfTest 1> $stdoutPath 2> $stderrPath + $exitCode = $LASTEXITCODE +} +finally { Pop-Location } + +$result = [pscustomobject][ordered]@{ + schema_version = 1 + label = $Label + mutation = 'disable live unique-slice-set enforcement' + observed_at = [DateTimeOffset]::UtcNow.ToString('O') + exit_code = $exitCode + source_sha256 = (Get-FileHash -Algorithm SHA256 -LiteralPath $sourcePath).Hash.ToLowerInvariant() + mutated_sha256 = (Get-FileHash -Algorithm SHA256 -LiteralPath $mutatedPath).Hash.ToLowerInvariant() + stdout_tail = @((Get-Content -LiteralPath $stdoutPath -ErrorAction SilentlyContinue | Select-Object -Last 8)) + stderr_tail = @((Get-Content -LiteralPath $stderrPath -ErrorAction SilentlyContinue | Select-Object -Last 8)) +} +Write-Utf8NoBom $resultPath (($result | ConvertTo-Json -Depth 5) + "`n") +$result | ConvertTo-Json -Depth 5 +exit $exitCode diff --git a/.agent/specs/release-gates-r8/evidence/release-gates/verify-workflow-conformance.ps1 b/.agent/specs/release-gates-r8/evidence/release-gates/verify-workflow-conformance.ps1 new file mode 100644 index 00000000..760b6c7a --- /dev/null +++ b/.agent/specs/release-gates-r8/evidence/release-gates/verify-workflow-conformance.ps1 @@ -0,0 +1,91 @@ +param( + [string]$Repository = (Resolve-Path (Join-Path $PSScriptRoot '..\..\..\..\..')).Path, + [string]$Label = 'current', + [switch]$DisableLivePackageBinding +) + +Set-StrictMode -Version Latest +$ErrorActionPreference = 'Stop' + +function Assert-Condition { + param([bool]$Condition, [string]$Message) + if (-not $Condition) { throw $Message } +} + +function Write-Utf8NoBom { + param([string]$Path, [string]$Content) + [System.IO.File]::WriteAllText([System.IO.Path]::GetFullPath($Path), $Content, [System.Text.UTF8Encoding]::new($false)) +} + +function Get-WorkflowConformanceScript { + param([string]$WorkflowPath) + + $lines = [System.IO.File]::ReadAllLines($WorkflowPath) + $stepIndex = [Array]::IndexOf($lines, ' - name: Assert tracked gate / CI conformance') + Assert-Condition ($stepIndex -ge 0) 'workflow conformance step is missing' + + $runIndex = -1 + for ($index = $stepIndex + 1; $index -lt $lines.Count; $index++) { + if ($lines[$index] -ceq ' run: |') { $runIndex = $index; break } + if ($lines[$index] -match '^ - name: ') { break } + } + Assert-Condition ($runIndex -ge 0) 'workflow conformance run block is missing' + + $body = [System.Collections.Generic.List[string]]::new() + for ($index = $runIndex + 1; $index -lt $lines.Count; $index++) { + if ($lines[$index] -match '^ - name: ') { break } + $line = $lines[$index] + Assert-Condition ($line.Length -eq 0 -or $line.StartsWith(' ', [System.StringComparison]::Ordinal)) "workflow conformance line is not an exact YAML block at line $($index + 1)" + $body.Add($(if ($line.Length -eq 0) { '' } else { $line.Substring(10) })) + } + return (($body -join "`n") + "`n") +} + +$repositoryPath = [System.IO.Path]::GetFullPath($Repository) +$evidenceDirectory = [System.IO.Path]::GetFullPath($PSScriptRoot) +$workflowPath = Join-Path $repositoryPath '.github/workflows/test.yml' +$runnerPath = Join-Path $repositoryPath 'scripts/production-gates/run-db-suite.ps1' +$scriptPath = Join-Path $evidenceDirectory "$Label.workflow-conformance.ps1" +$stdoutPath = Join-Path $evidenceDirectory "$Label.workflow-conformance.stdout.log" +$stderrPath = Join-Path $evidenceDirectory "$Label.workflow-conformance.stderr.log" +$resultPath = Join-Path $evidenceDirectory "$Label.workflow-conformance.json" + +$workflowSourcePath = $workflowPath +if ($DisableLivePackageBinding) { + $workflowText = Get-Content -Raw -LiteralPath $workflowPath + $enforcement = "throw 'required session-start live consumer does not bind exact case-sensitive package plus test identity at the point of consumption'" + $enforcementCount = ([regex]::Matches($workflowText, [regex]::Escape($enforcement))).Count + Assert-Condition ($enforcementCount -eq 1) "live package-binding enforcement fixture cardinality is $enforcementCount, expected 1" + $workflowSourcePath = Join-Path $evidenceDirectory "$Label.workflow-under-test.yml" + Write-Utf8NoBom $workflowSourcePath ($workflowText.Replace($enforcement, '$null = $liveMatchesAssignment')) +} + +Write-Utf8NoBom $scriptPath (Get-WorkflowConformanceScript $workflowSourcePath) +$previousRunnerTemp = $env:RUNNER_TEMP +$env:RUNNER_TEMP = Join-Path $evidenceDirectory "$Label.runner-temp" +New-Item -ItemType Directory -Path $env:RUNNER_TEMP -Force | Out-Null +try { + Push-Location $repositoryPath + try { + & pwsh -NoProfile -File $scriptPath 1> $stdoutPath 2> $stderrPath + $exitCode = $LASTEXITCODE + } + finally { Pop-Location } +} +finally { $env:RUNNER_TEMP = $previousRunnerTemp } + +$result = [pscustomobject][ordered]@{ + schema_version = 1 + label = $Label + live_package_binding_disabled = [bool]$DisableLivePackageBinding + observed_at = [DateTimeOffset]::UtcNow.ToString('O') + exit_code = $exitCode + workflow_sha256 = (Get-FileHash -Algorithm SHA256 -LiteralPath $workflowPath).Hash.ToLowerInvariant() + runner_sha256 = (Get-FileHash -Algorithm SHA256 -LiteralPath $runnerPath).Hash.ToLowerInvariant() + extracted_script_sha256 = (Get-FileHash -Algorithm SHA256 -LiteralPath $scriptPath).Hash.ToLowerInvariant() + stdout_tail = @((Get-Content -LiteralPath $stdoutPath -ErrorAction SilentlyContinue | Select-Object -Last 8)) + stderr_tail = @((Get-Content -LiteralPath $stderrPath -ErrorAction SilentlyContinue | Select-Object -Last 8)) +} +Write-Utf8NoBom $resultPath (($result | ConvertTo-Json -Depth 5) + "`n") +$result | ConvertTo-Json -Depth 5 +exit $exitCode diff --git a/.agent/specs/release-gates-r9/evidence/plan-governance/diff-db-auth.json b/.agent/specs/release-gates-r9/evidence/plan-governance/diff-db-auth.json new file mode 100644 index 00000000..dc4b1a6e --- /dev/null +++ b/.agent/specs/release-gates-r9/evidence/plan-governance/diff-db-auth.json @@ -0,0 +1,238 @@ +{ + "schema_version": 2, + "gate": "plan-path-ownership", + "mode": "Diff", + "verdict": "PASS", + "started_at": "2026-07-10T21:53:21.0051974+00:00", + "finished_at": "2026-07-10T21:53:27.2918203+00:00", + "duration_seconds": 6.287, + "plan": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-master-plan.md", + "expected_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f", + "observed_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f", + "hash_match": true, + "ledger_verdict": "PASS" + }, + "state": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-ownership-state.json", + "sha256": "e41f52fbafa317eb1571c76a7d1de9add543da38a1b2471dbe587a849b21c032", + "verdict": "PASS", + "plan_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f" + }, + "scope_map": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-scope-map.json", + "expected_sha256": "fb170d59f3072117489402fd347cd1432c40adbc842811f92227498bcbc92693", + "observed_sha256": "fb170d59f3072117489402fd347cd1432c40adbc842811f92227498bcbc92693", + "verdict": "PASS", + "entries": 67, + "unique_slices": 67 + }, + "live_register": { + "supplied": false, + "path": "", + "sha256": null, + "checked": false, + "rows": 0 + }, + "slice": { + "name": "DB-AUTH", + "row_count": 1, + "declarations": [ + { + "owner": "DB-AUTH", + "branch": "work/prc-db-auth", + "path": "internal/db/gorm/user_store.go", + "display": "internal/db/gorm/user_store.go", + "kind": "exact", + "line": 14 + }, + { + "owner": "DB-AUTH", + "branch": "work/prc-db-auth", + "path": "internal/db/gorm/user_store_test.go", + "display": "internal/db/gorm/user_store_test.go", + "kind": "exact", + "line": 14 + }, + { + "owner": "DB-AUTH", + "branch": "work/prc-db-auth", + "path": "internal/worker/auth_handlers.go", + "display": "internal/worker/auth_handlers.go", + "kind": "exact", + "line": 14 + }, + { + "owner": "DB-AUTH", + "branch": "work/prc-db-auth", + "path": "internal/worker/auth_handlers_lifecycle_test.go", + "display": "internal/worker/auth_handlers_lifecycle_test.go", + "kind": "exact", + "line": 14 + }, + { + "owner": "DB-AUTH", + "branch": "work/prc-db-auth", + "path": ".agent/reports/db-auth-rework-maker-2026-07-10.md", + "display": ".agent/reports/db-auth-rework-maker-2026-07-10.md", + "kind": "exact", + "line": 14 + } + ], + "evidence_namespace": { + "kind": "evidence", + "path": ".agent/reports/evidence/production-ready/db-auth", + "display": ".agent/reports/evidence/production-ready/db-auth/**", + "match_kind": "prefix", + "policy": "canonical-derived-default" + }, + "report_namespace": { + "kind": "report", + "path": ".agent/reports/db-auth-rework-maker-2026-07-10.md", + "display": ".agent/reports/db-auth-rework-maker-2026-07-10.md", + "match_kind": "exact", + "policy": "literal-row-exception" + } + }, + "git": { + "repository": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker", + "requested_base": "b0c4ab4c07a4c6f512728da52b2e132bacd0289c", + "resolved_base": "b0c4ab4c07a4c6f512728da52b2e132bacd0289c", + "requested_head": "da97c88be6753703bac112be8431dc373e4d9dda", + "resolved_head": "da97c88be6753703bac112be8431dc373e4d9dda", + "base_is_ancestor": true, + "name_status_command": "git -c core.quotepath=false diff --name-status --find-renames --find-copies b0c4ab4c07a4c6f512728da52b2e132bacd0289c..da97c88be6753703bac112be8431dc373e4d9dda --", + "raw_name_status": [ + "A\t.agent/reports/db-auth-rework-maker-2026-07-10.md", + "M\tinternal/db/gorm/user_store.go", + "M\tinternal/db/gorm/user_store_test.go", + "M\tinternal/worker/auth_handlers.go", + "M\tinternal/worker/auth_handlers_lifecycle_test.go" + ] + }, + "counts": { + "diff_entries": 5, + "changed_paths": 5, + "violations": 0, + "errors": 0 + }, + "diff_entries": [ + { + "status": "A", + "paths": [ + ".agent/reports/db-auth-rework-maker-2026-07-10.md" + ], + "raw": "A\t.agent/reports/db-auth-rework-maker-2026-07-10.md" + }, + { + "status": "M", + "paths": [ + "internal/db/gorm/user_store.go" + ], + "raw": "M\tinternal/db/gorm/user_store.go" + }, + { + "status": "M", + "paths": [ + "internal/db/gorm/user_store_test.go" + ], + "raw": "M\tinternal/db/gorm/user_store_test.go" + }, + { + "status": "M", + "paths": [ + "internal/worker/auth_handlers.go" + ], + "raw": "M\tinternal/worker/auth_handlers.go" + }, + { + "status": "M", + "paths": [ + "internal/worker/auth_handlers_lifecycle_test.go" + ], + "raw": "M\tinternal/worker/auth_handlers_lifecycle_test.go" + } + ], + "changed_paths": [ + { + "status": "A", + "path": ".agent/reports/db-auth-rework-maker-2026-07-10.md", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "report-namespace" + ], + "ownership_matches": [ + ".agent/reports/db-auth-rework-maker-2026-07-10.md" + ] + }, + { + "status": "M", + "path": "internal/db/gorm/user_store.go", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + "internal/db/gorm/user_store.go" + ] + }, + { + "status": "M", + "path": "internal/db/gorm/user_store_test.go", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + "internal/db/gorm/user_store_test.go" + ] + }, + { + "status": "M", + "path": "internal/worker/auth_handlers.go", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + "internal/worker/auth_handlers.go" + ] + }, + { + "status": "M", + "path": "internal/worker/auth_handlers_lifecycle_test.go", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + "internal/worker/auth_handlers_lifecycle_test.go" + ] + } + ], + "violations": [], + "epoch_authority": { + "verdict": "PASS", + "evaluated": [ + { + "path": "internal/db/gorm/user_store.go", + "current_owner": "DB-AUTH", + "owner_pass": true, + "transition_kind": "integration", + "required_base_sha": "", + "base_pass": true + }, + { + "path": "internal/worker/auth_handlers.go", + "current_owner": "DB-AUTH", + "owner_pass": true, + "transition_kind": "integration", + "required_base_sha": "", + "base_pass": true + } + ], + "errors": [] + }, + "errors": [] +} diff --git a/.agent/specs/release-gates-r9/evidence/plan-governance/diff-db-bulkops-edge-full.json b/.agent/specs/release-gates-r9/evidence/plan-governance/diff-db-bulkops-edge-full.json new file mode 100644 index 00000000..e1f33757 --- /dev/null +++ b/.agent/specs/release-gates-r9/evidence/plan-governance/diff-db-bulkops-edge-full.json @@ -0,0 +1,930 @@ +{ + "schema_version": 2, + "gate": "plan-path-ownership", + "mode": "Diff", + "verdict": "PASS", + "started_at": "2026-07-10T21:53:20.8974458+00:00", + "finished_at": "2026-07-10T21:53:28.1616101+00:00", + "duration_seconds": 7.264, + "plan": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-master-plan.md", + "expected_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f", + "observed_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f", + "hash_match": true, + "ledger_verdict": "PASS" + }, + "state": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-ownership-state.json", + "sha256": "e41f52fbafa317eb1571c76a7d1de9add543da38a1b2471dbe587a849b21c032", + "verdict": "PASS", + "plan_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f" + }, + "scope_map": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-scope-map.json", + "expected_sha256": "fb170d59f3072117489402fd347cd1432c40adbc842811f92227498bcbc92693", + "observed_sha256": "fb170d59f3072117489402fd347cd1432c40adbc842811f92227498bcbc92693", + "verdict": "PASS", + "entries": 67, + "unique_slices": 67 + }, + "live_register": { + "supplied": false, + "path": "", + "sha256": null, + "checked": false, + "rows": 0 + }, + "slice": { + "name": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "row_count": 1, + "declarations": [ + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": "internal/db/gorm/candidate_store.go", + "display": "internal/db/gorm/candidate_store.go", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": "internal/db/gorm/candidate_store_test.go", + "display": "internal/db/gorm/candidate_store_test.go", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": "internal/mcp/tools_bulkops.go", + "display": "internal/mcp/tools_bulkops.go", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": "internal/mcp/tools_dryrun_test.go", + "display": "internal/mcp/tools_dryrun_test.go", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker.md", + "display": ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker.md", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker-3.md", + "display": ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker-3.md", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework", + "display": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**", + "kind": "prefix", + "line": 8 + } + ], + "evidence_namespace": { + "kind": "evidence", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework", + "display": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**", + "match_kind": "prefix", + "policy": "canonical-derived-default" + }, + "report_namespace": { + "kind": "report", + "path": ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker.md", + "display": ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker.md", + "match_kind": "exact", + "policy": "literal-row-exception" + } + }, + "git": { + "repository": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker", + "requested_base": "68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef", + "resolved_base": "68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef", + "requested_head": "bd68c05baf4b7250096dd84f56bebea2aa555970", + "resolved_head": "bd68c05baf4b7250096dd84f56bebea2aa555970", + "base_is_ancestor": true, + "name_status_command": "git -c core.quotepath=false diff --name-status --find-renames --find-copies 68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef..bd68c05baf4b7250096dd84f56bebea2aa555970 --", + "raw_name_status": [ + "A\t.agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker.md", + "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/01-red-behavior.log", + "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/02-red-spy-seam.log", + "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/03-green-focused.log", + "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/04-green-repeat20.log", + "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/05-prove-it-candidate.log", + "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/06-prove-it-parser.log", + "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/07-post-prove-green.log", + "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/08-full-packages.log", + "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/09-legacy-compat.log", + "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/10-full-gorm.log", + "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/11-full-mcp.log", + "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/12-race-focused.log", + "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/13-vet.log", + "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/14-coverage.log", + "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/15-cover-functions.log", + "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/16-final-residue.log", + "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/17-review-red-authoritative-binding.log", + "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/18-review-green-authoritative-binding.log", + "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/19-review-green-authoritative-binding.log", + "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/20-review-repeat20.log", + "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/21-review-race-focused.log", + "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/22-review-vet.log", + "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/23-review-coverage.log", + "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/24-review-cover-functions.log", + "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/25-review-cover-functions.log", + "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/26-review-full-gorm.log", + "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/27-review-full-mcp.log", + "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/A-candidate-review-snapshot-binding.red.json", + "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/B-bulk-structured-input.red.json", + "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/DB-BULKOPS-BEHAVIORAL-EDGE-REWORK.final.json", + "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/Invoke-MakerGo.ps1", + "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/SHA256SUMS.txt", + "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/coverage.out", + "M\tinternal/db/gorm/candidate_store.go", + "M\tinternal/db/gorm/candidate_store_test.go", + "M\tinternal/mcp/tools_bulkops.go", + "M\tinternal/mcp/tools_dryrun_test.go" + ] + }, + "counts": { + "diff_entries": 38, + "changed_paths": 38, + "violations": 0, + "errors": 0 + }, + "diff_entries": [ + { + "status": "A", + "paths": [ + ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker.md" + ], + "raw": "A\t.agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker.md" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/01-red-behavior.log" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/01-red-behavior.log" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/02-red-spy-seam.log" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/02-red-spy-seam.log" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/03-green-focused.log" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/03-green-focused.log" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/04-green-repeat20.log" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/04-green-repeat20.log" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/05-prove-it-candidate.log" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/05-prove-it-candidate.log" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/06-prove-it-parser.log" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/06-prove-it-parser.log" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/07-post-prove-green.log" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/07-post-prove-green.log" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/08-full-packages.log" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/08-full-packages.log" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/09-legacy-compat.log" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/09-legacy-compat.log" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/10-full-gorm.log" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/10-full-gorm.log" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/11-full-mcp.log" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/11-full-mcp.log" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/12-race-focused.log" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/12-race-focused.log" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/13-vet.log" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/13-vet.log" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/14-coverage.log" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/14-coverage.log" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/15-cover-functions.log" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/15-cover-functions.log" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/16-final-residue.log" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/16-final-residue.log" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/17-review-red-authoritative-binding.log" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/17-review-red-authoritative-binding.log" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/18-review-green-authoritative-binding.log" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/18-review-green-authoritative-binding.log" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/19-review-green-authoritative-binding.log" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/19-review-green-authoritative-binding.log" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/20-review-repeat20.log" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/20-review-repeat20.log" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/21-review-race-focused.log" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/21-review-race-focused.log" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/22-review-vet.log" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/22-review-vet.log" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/23-review-coverage.log" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/23-review-coverage.log" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/24-review-cover-functions.log" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/24-review-cover-functions.log" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/25-review-cover-functions.log" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/25-review-cover-functions.log" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/26-review-full-gorm.log" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/26-review-full-gorm.log" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/27-review-full-mcp.log" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/27-review-full-mcp.log" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/A-candidate-review-snapshot-binding.red.json" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/A-candidate-review-snapshot-binding.red.json" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/B-bulk-structured-input.red.json" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/B-bulk-structured-input.red.json" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/DB-BULKOPS-BEHAVIORAL-EDGE-REWORK.final.json" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/DB-BULKOPS-BEHAVIORAL-EDGE-REWORK.final.json" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/Invoke-MakerGo.ps1" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/Invoke-MakerGo.ps1" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/SHA256SUMS.txt" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/SHA256SUMS.txt" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/coverage.out" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/coverage.out" + }, + { + "status": "M", + "paths": [ + "internal/db/gorm/candidate_store.go" + ], + "raw": "M\tinternal/db/gorm/candidate_store.go" + }, + { + "status": "M", + "paths": [ + "internal/db/gorm/candidate_store_test.go" + ], + "raw": "M\tinternal/db/gorm/candidate_store_test.go" + }, + { + "status": "M", + "paths": [ + "internal/mcp/tools_bulkops.go" + ], + "raw": "M\tinternal/mcp/tools_bulkops.go" + }, + { + "status": "M", + "paths": [ + "internal/mcp/tools_dryrun_test.go" + ], + "raw": "M\tinternal/mcp/tools_dryrun_test.go" + } + ], + "changed_paths": [ + { + "status": "A", + "path": ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker.md", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "report-namespace" + ], + "ownership_matches": [ + ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker.md" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/01-red-behavior.log", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/02-red-spy-seam.log", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/03-green-focused.log", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/04-green-repeat20.log", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/05-prove-it-candidate.log", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/06-prove-it-parser.log", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/07-post-prove-green.log", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/08-full-packages.log", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/09-legacy-compat.log", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/10-full-gorm.log", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/11-full-mcp.log", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/12-race-focused.log", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/13-vet.log", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/14-coverage.log", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/15-cover-functions.log", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/16-final-residue.log", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/17-review-red-authoritative-binding.log", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/18-review-green-authoritative-binding.log", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/19-review-green-authoritative-binding.log", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/20-review-repeat20.log", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/21-review-race-focused.log", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/22-review-vet.log", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/23-review-coverage.log", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/24-review-cover-functions.log", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/25-review-cover-functions.log", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/26-review-full-gorm.log", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/27-review-full-mcp.log", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/A-candidate-review-snapshot-binding.red.json", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/B-bulk-structured-input.red.json", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/DB-BULKOPS-BEHAVIORAL-EDGE-REWORK.final.json", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/Invoke-MakerGo.ps1", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/SHA256SUMS.txt", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/coverage.out", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ] + }, + { + "status": "M", + "path": "internal/db/gorm/candidate_store.go", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + "internal/db/gorm/candidate_store.go" + ] + }, + { + "status": "M", + "path": "internal/db/gorm/candidate_store_test.go", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + "internal/db/gorm/candidate_store_test.go" + ] + }, + { + "status": "M", + "path": "internal/mcp/tools_bulkops.go", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + "internal/mcp/tools_bulkops.go" + ] + }, + { + "status": "M", + "path": "internal/mcp/tools_dryrun_test.go", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + "internal/mcp/tools_dryrun_test.go" + ] + } + ], + "violations": [], + "epoch_authority": { + "verdict": "PASS", + "evaluated": [ + { + "path": "internal/db/gorm/candidate_store_test.go", + "current_owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "owner_pass": true, + "transition_kind": "rework", + "required_base_sha": "68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef", + "base_pass": true + }, + { + "path": "internal/db/gorm/candidate_store.go", + "current_owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "owner_pass": true, + "transition_kind": "rework", + "required_base_sha": "68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef", + "base_pass": true + }, + { + "path": "internal/mcp/tools_bulkops.go", + "current_owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "owner_pass": true, + "transition_kind": "rework", + "required_base_sha": "68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef", + "base_pass": true + }, + { + "path": "internal/mcp/tools_dryrun_test.go", + "current_owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "owner_pass": true, + "transition_kind": "rework", + "required_base_sha": "68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef", + "base_pass": true + } + ], + "errors": [] + }, + "errors": [] +} diff --git a/.agent/specs/release-gates-r9/evidence/plan-governance/diff-db-embedding-r5.json b/.agent/specs/release-gates-r9/evidence/plan-governance/diff-db-embedding-r5.json new file mode 100644 index 00000000..1aa30d23 --- /dev/null +++ b/.agent/specs/release-gates-r9/evidence/plan-governance/diff-db-embedding-r5.json @@ -0,0 +1,685 @@ +{ + "schema_version": 2, + "gate": "plan-path-ownership", + "mode": "Diff", + "verdict": "PASS", + "started_at": "2026-07-10T21:53:21.1644869+00:00", + "finished_at": "2026-07-10T21:53:27.5317713+00:00", + "duration_seconds": 6.367, + "plan": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-master-plan.md", + "expected_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f", + "observed_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f", + "hash_match": true, + "ledger_verdict": "PASS" + }, + "state": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-ownership-state.json", + "sha256": "e41f52fbafa317eb1571c76a7d1de9add543da38a1b2471dbe587a849b21c032", + "verdict": "PASS", + "plan_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f" + }, + "scope_map": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-scope-map.json", + "expected_sha256": "fb170d59f3072117489402fd347cd1432c40adbc842811f92227498bcbc92693", + "observed_sha256": "fb170d59f3072117489402fd347cd1432c40adbc842811f92227498bcbc92693", + "verdict": "PASS", + "entries": 67, + "unique_slices": 67 + }, + "live_register": { + "supplied": false, + "path": "", + "sha256": null, + "checked": false, + "rows": 0 + }, + "slice": { + "name": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "row_count": 1, + "declarations": [ + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "path": ".agent/specs/db-embedding-stats-evidence-transport/evidence", + "display": ".agent/specs/db-embedding-stats-evidence-transport/evidence/**", + "kind": "prefix", + "line": 20 + } + ], + "evidence_namespace": { + "kind": "evidence", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**", + "match_kind": "prefix", + "policy": "literal-row-exception" + }, + "report_namespace": { + "kind": "report", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**", + "match_kind": "prefix", + "policy": "literal-row-exception" + } + }, + "git": { + "repository": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker", + "requested_base": "369951b61ee07cb0c405558e0f677cd1c9e90362", + "resolved_base": "369951b61ee07cb0c405558e0f677cd1c9e90362", + "requested_head": "a538f6224ef31f612152470a4ecd45e78ff9d0f2", + "resolved_head": "a538f6224ef31f612152470a4ecd45e78ff9d0f2", + "base_is_ancestor": true, + "name_status_command": "git -c core.quotepath=false diff --name-status --find-renames --find-copies 369951b61ee07cb0c405558e0f677cd1c9e90362..a538f6224ef31f612152470a4ecd45e78ff9d0f2 --", + "raw_name_status": [ + "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/R3-SHA256SUMS.txt", + "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/coverage-repeat.v1.json", + "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/maker-report.md", + "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/maker-summary.v1.json", + "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/verification-matrix.v1.json", + "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/R4-SHA256SUMS.txt", + "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/coverage-repeat.v1.json", + "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/maker-report.md", + "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/maker-summary.v1.json", + "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/verification-matrix.v1.json", + "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/R5-SHA256SUMS.txt", + "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-capture.v1.json", + "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-repeat.v1.json", + "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-run-1.tap", + "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-run-2.tap", + "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-report.md", + "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-summary.v1.json", + "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/run-coverage-capture-verifier.cmd", + "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verification-matrix.v1.json", + "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verify-coverage-capture.cjs", + "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/ARTIFACTS.sha256", + "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/maker-report.md", + "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verification-observations.v1.json", + "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs", + "M\t.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R3.tdd.json", + "M\t.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R4.tdd.json", + "A\t.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R5.red.json", + "A\t.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R5.tdd.json" + ] + }, + "counts": { + "diff_entries": 28, + "changed_paths": 28, + "violations": 0, + "errors": 0 + }, + "diff_entries": [ + { + "status": "M", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/R3-SHA256SUMS.txt" + ], + "raw": "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/R3-SHA256SUMS.txt" + }, + { + "status": "M", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/coverage-repeat.v1.json" + ], + "raw": "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/coverage-repeat.v1.json" + }, + { + "status": "M", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/maker-report.md" + ], + "raw": "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/maker-report.md" + }, + { + "status": "M", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/maker-summary.v1.json" + ], + "raw": "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/maker-summary.v1.json" + }, + { + "status": "M", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/verification-matrix.v1.json" + ], + "raw": "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/verification-matrix.v1.json" + }, + { + "status": "M", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/R4-SHA256SUMS.txt" + ], + "raw": "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/R4-SHA256SUMS.txt" + }, + { + "status": "M", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/coverage-repeat.v1.json" + ], + "raw": "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/coverage-repeat.v1.json" + }, + { + "status": "M", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/maker-report.md" + ], + "raw": "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/maker-report.md" + }, + { + "status": "M", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/maker-summary.v1.json" + ], + "raw": "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/maker-summary.v1.json" + }, + { + "status": "M", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/verification-matrix.v1.json" + ], + "raw": "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/verification-matrix.v1.json" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/R5-SHA256SUMS.txt" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/R5-SHA256SUMS.txt" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-capture.v1.json" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-capture.v1.json" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-repeat.v1.json" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-repeat.v1.json" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-run-1.tap" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-run-1.tap" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-run-2.tap" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-run-2.tap" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-report.md" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-report.md" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-summary.v1.json" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-summary.v1.json" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/run-coverage-capture-verifier.cmd" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/run-coverage-capture-verifier.cmd" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verification-matrix.v1.json" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verification-matrix.v1.json" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verify-coverage-capture.cjs" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verify-coverage-capture.cjs" + }, + { + "status": "M", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/ARTIFACTS.sha256" + ], + "raw": "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/ARTIFACTS.sha256" + }, + { + "status": "M", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/maker-report.md" + ], + "raw": "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/maker-report.md" + }, + { + "status": "M", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verification-observations.v1.json" + ], + "raw": "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verification-observations.v1.json" + }, + { + "status": "M", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs" + ], + "raw": "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs" + }, + { + "status": "M", + "paths": [ + ".agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R3.tdd.json" + ], + "raw": "M\t.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R3.tdd.json" + }, + { + "status": "M", + "paths": [ + ".agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R4.tdd.json" + ], + "raw": "M\t.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R4.tdd.json" + }, + { + "status": "A", + "paths": [ + ".agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R5.red.json" + ], + "raw": "A\t.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R5.red.json" + }, + { + "status": "A", + "paths": [ + ".agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R5.tdd.json" + ], + "raw": "A\t.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R5.tdd.json" + } + ], + "changed_paths": [ + { + "status": "M", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/R3-SHA256SUMS.txt", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/**" + ] + }, + { + "status": "M", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/coverage-repeat.v1.json", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/**" + ] + }, + { + "status": "M", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/maker-report.md", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/**" + ] + }, + { + "status": "M", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/maker-summary.v1.json", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/**" + ] + }, + { + "status": "M", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/verification-matrix.v1.json", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/**" + ] + }, + { + "status": "M", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/R4-SHA256SUMS.txt", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/**" + ] + }, + { + "status": "M", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/coverage-repeat.v1.json", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/**" + ] + }, + { + "status": "M", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/maker-report.md", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/**" + ] + }, + { + "status": "M", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/maker-summary.v1.json", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/**" + ] + }, + { + "status": "M", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/verification-matrix.v1.json", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/R5-SHA256SUMS.txt", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace", + "report-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-capture.v1.json", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace", + "report-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-repeat.v1.json", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace", + "report-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-run-1.tap", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace", + "report-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-run-2.tap", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace", + "report-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-report.md", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace", + "report-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-summary.v1.json", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace", + "report-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/run-coverage-capture-verifier.cmd", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace", + "report-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verification-matrix.v1.json", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace", + "report-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verify-coverage-capture.cjs", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace", + "report-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**" + ] + }, + { + "status": "M", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/ARTIFACTS.sha256", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/**" + ] + }, + { + "status": "M", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/maker-report.md", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/**" + ] + }, + { + "status": "M", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verification-observations.v1.json", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/**" + ] + }, + { + "status": "M", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/**" + ] + }, + { + "status": "M", + "path": ".agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R3.tdd.json", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/specs/db-embedding-stats-evidence-transport/evidence/**" + ] + }, + { + "status": "M", + "path": ".agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R4.tdd.json", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/specs/db-embedding-stats-evidence-transport/evidence/**" + ] + }, + { + "status": "A", + "path": ".agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R5.red.json", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/specs/db-embedding-stats-evidence-transport/evidence/**" + ] + }, + { + "status": "A", + "path": ".agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R5.tdd.json", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/specs/db-embedding-stats-evidence-transport/evidence/**" + ] + } + ], + "violations": [], + "epoch_authority": { + "verdict": "PASS", + "evaluated": [], + "errors": [] + }, + "errors": [] +} diff --git a/.agent/specs/release-gates-r9/evidence/plan-governance/diff-db-embedding-stats.json b/.agent/specs/release-gates-r9/evidence/plan-governance/diff-db-embedding-stats.json new file mode 100644 index 00000000..bf57aefc --- /dev/null +++ b/.agent/specs/release-gates-r9/evidence/plan-governance/diff-db-embedding-stats.json @@ -0,0 +1,281 @@ +{ + "schema_version": 2, + "gate": "plan-path-ownership", + "mode": "Diff", + "verdict": "PASS", + "started_at": "2026-07-10T21:53:21.3766571+00:00", + "finished_at": "2026-07-10T21:53:28.0818140+00:00", + "duration_seconds": 6.705, + "plan": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-master-plan.md", + "expected_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f", + "observed_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f", + "hash_match": true, + "ledger_verdict": "PASS" + }, + "state": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-ownership-state.json", + "sha256": "e41f52fbafa317eb1571c76a7d1de9add543da38a1b2471dbe587a849b21c032", + "verdict": "PASS", + "plan_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f" + }, + "scope_map": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-scope-map.json", + "expected_sha256": "fb170d59f3072117489402fd347cd1432c40adbc842811f92227498bcbc92693", + "observed_sha256": "fb170d59f3072117489402fd347cd1432c40adbc842811f92227498bcbc92693", + "verdict": "PASS", + "entries": 67, + "unique_slices": 67 + }, + "live_register": { + "supplied": false, + "path": "", + "sha256": null, + "checked": false, + "rows": 0 + }, + "slice": { + "name": "DB-EMBEDDING-STATS", + "row_count": 1, + "declarations": [ + { + "owner": "DB-EMBEDDING-STATS", + "branch": "work/prc-db-embedding-stats", + "path": "internal/embedding/store.go", + "display": "internal/embedding/store.go", + "kind": "exact", + "line": 19 + }, + { + "owner": "DB-EMBEDDING-STATS", + "branch": "work/prc-db-embedding-stats", + "path": "internal/embedding/store_stats_test.go", + "display": "internal/embedding/store_stats_test.go", + "kind": "exact", + "line": 19 + }, + { + "owner": "DB-EMBEDDING-STATS", + "branch": "work/prc-db-embedding-stats", + "path": ".agent/reports/2026-07-10-db-embedding-stats-maker.md", + "display": ".agent/reports/2026-07-10-db-embedding-stats-maker.md", + "kind": "exact", + "line": 19 + }, + { + "owner": "DB-EMBEDDING-STATS", + "branch": "work/prc-db-embedding-stats", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats/**", + "kind": "prefix", + "line": 19 + }, + { + "owner": "DB-EMBEDDING-STATS", + "branch": "work/prc-db-embedding-stats", + "path": ".agent/specs/db-embedding-stats/evidence", + "display": ".agent/specs/db-embedding-stats/evidence/**", + "kind": "prefix", + "line": 19 + } + ], + "evidence_namespace": { + "kind": "evidence", + "path": ".agent/specs/db-embedding-stats/evidence", + "display": ".agent/specs/db-embedding-stats/evidence/**", + "match_kind": "prefix", + "policy": "literal-row-exception" + }, + "report_namespace": { + "kind": "report", + "path": ".agent/reports/2026-07-10-db-embedding-stats-maker.md", + "display": ".agent/reports/2026-07-10-db-embedding-stats-maker.md", + "match_kind": "exact", + "policy": "literal-row-exception" + } + }, + "git": { + "repository": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker", + "requested_base": "dc891b2d72b1fd63b83e4a630a249241fc389151", + "resolved_base": "dc891b2d72b1fd63b83e4a630a249241fc389151", + "requested_head": "38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df", + "resolved_head": "38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df", + "base_is_ancestor": true, + "name_status_command": "git -c core.quotepath=false diff --name-status --find-renames --find-copies dc891b2d72b1fd63b83e4a630a249241fc389151..38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df --", + "raw_name_status": [ + "A\t.agent/reports/2026-07-10-db-embedding-stats-maker.md", + "A\t.agent/reports/evidence/production-ready/db-embedding-stats/DB-EMBEDDING-STATS.final.json", + "A\t.agent/reports/evidence/production-ready/db-embedding-stats/SHA256SUMS.txt", + "A\t.agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.red.json", + "A\t.agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.tdd.json", + "A\t.agent/specs/db-embedding-stats/evidence/coverage.out", + "M\tinternal/embedding/store.go", + "M\tinternal/embedding/store_stats_test.go" + ] + }, + "counts": { + "diff_entries": 8, + "changed_paths": 8, + "violations": 0, + "errors": 0 + }, + "diff_entries": [ + { + "status": "A", + "paths": [ + ".agent/reports/2026-07-10-db-embedding-stats-maker.md" + ], + "raw": "A\t.agent/reports/2026-07-10-db-embedding-stats-maker.md" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats/DB-EMBEDDING-STATS.final.json" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-embedding-stats/DB-EMBEDDING-STATS.final.json" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats/SHA256SUMS.txt" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-embedding-stats/SHA256SUMS.txt" + }, + { + "status": "A", + "paths": [ + ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.red.json" + ], + "raw": "A\t.agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.red.json" + }, + { + "status": "A", + "paths": [ + ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.tdd.json" + ], + "raw": "A\t.agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.tdd.json" + }, + { + "status": "A", + "paths": [ + ".agent/specs/db-embedding-stats/evidence/coverage.out" + ], + "raw": "A\t.agent/specs/db-embedding-stats/evidence/coverage.out" + }, + { + "status": "M", + "paths": [ + "internal/embedding/store.go" + ], + "raw": "M\tinternal/embedding/store.go" + }, + { + "status": "M", + "paths": [ + "internal/embedding/store_stats_test.go" + ], + "raw": "M\tinternal/embedding/store_stats_test.go" + } + ], + "changed_paths": [ + { + "status": "A", + "path": ".agent/reports/2026-07-10-db-embedding-stats-maker.md", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "report-namespace" + ], + "ownership_matches": [ + ".agent/reports/2026-07-10-db-embedding-stats-maker.md" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats/DB-EMBEDDING-STATS.final.json", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats/SHA256SUMS.txt", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats/**" + ] + }, + { + "status": "A", + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.red.json", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/specs/db-embedding-stats/evidence/**" + ] + }, + { + "status": "A", + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.tdd.json", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/specs/db-embedding-stats/evidence/**" + ] + }, + { + "status": "A", + "path": ".agent/specs/db-embedding-stats/evidence/coverage.out", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/specs/db-embedding-stats/evidence/**" + ] + }, + { + "status": "M", + "path": "internal/embedding/store.go", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + "internal/embedding/store.go" + ] + }, + { + "status": "M", + "path": "internal/embedding/store_stats_test.go", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + "internal/embedding/store_stats_test.go" + ] + } + ], + "violations": [], + "epoch_authority": { + "verdict": "PASS", + "evaluated": [], + "errors": [] + }, + "errors": [] +} diff --git a/.agent/specs/release-gates-r9/evidence/plan-governance/diff-security-r3.json b/.agent/specs/release-gates-r9/evidence/plan-governance/diff-security-r3.json new file mode 100644 index 00000000..d2f157ff --- /dev/null +++ b/.agent/specs/release-gates-r9/evidence/plan-governance/diff-security-r3.json @@ -0,0 +1,452 @@ +{ + "schema_version": 2, + "gate": "plan-path-ownership", + "mode": "Diff", + "verdict": "PASS", + "started_at": "2026-07-10T21:53:21.2867687+00:00", + "finished_at": "2026-07-10T21:53:27.5203201+00:00", + "duration_seconds": 6.234, + "plan": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-master-plan.md", + "expected_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f", + "observed_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f", + "hash_match": true, + "ledger_verdict": "PASS" + }, + "state": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-ownership-state.json", + "sha256": "e41f52fbafa317eb1571c76a7d1de9add543da38a1b2471dbe587a849b21c032", + "verdict": "PASS", + "plan_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f" + }, + "scope_map": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-scope-map.json", + "expected_sha256": "fb170d59f3072117489402fd347cd1432c40adbc842811f92227498bcbc92693", + "observed_sha256": "fb170d59f3072117489402fd347cd1432c40adbc842811f92227498bcbc92693", + "verdict": "PASS", + "entries": 67, + "unique_slices": 67 + }, + "live_register": { + "supplied": false, + "path": "", + "sha256": null, + "checked": false, + "rows": 0 + }, + "slice": { + "name": "SECURITY-PROJECT-IDENTITY", + "row_count": 1, + "declarations": [ + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "internal/db/gorm/project_store.go", + "display": "internal/db/gorm/project_store.go", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "internal/db/gorm/project_identity_v2_test.go", + "display": "internal/db/gorm/project_identity_v2_test.go", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "internal/grpcserver/project_identity_v2_test.go", + "display": "internal/grpcserver/project_identity_v2_test.go", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "internal/proxy/identity.go", + "display": "internal/proxy/identity.go", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "internal/proxy/identity_test.go", + "display": "internal/proxy/identity_test.go", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "internal/proxy/identity_process_test.go", + "display": "internal/proxy/identity_process_test.go", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "plugin/engram/hooks/lib.js", + "display": "plugin/engram/hooks/lib.js", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "plugin/engram/hooks/project-identity-v2.test.js", + "display": "plugin/engram/hooks/project-identity-v2.test.js", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "plugin/openclaw-engram/src/identity.ts", + "display": "plugin/openclaw-engram/src/identity.ts", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "plugin/openclaw-engram/test/project-identity-v2.test.mjs", + "display": "plugin/openclaw-engram/test/project-identity-v2.test.mjs", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": ".agent/specs/security-project-identity/evidence", + "display": ".agent/specs/security-project-identity/evidence/**", + "kind": "prefix", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": ".agent/reports/evidence/production-ready/security-project-identity", + "display": ".agent/reports/evidence/production-ready/security-project-identity/**", + "kind": "prefix", + "line": 25 + } + ], + "evidence_namespace": { + "kind": "evidence", + "path": ".agent/specs/security-project-identity/evidence", + "display": ".agent/specs/security-project-identity/evidence/**", + "match_kind": "prefix", + "policy": "literal-row-exception" + }, + "report_namespace": { + "kind": "report", + "path": ".agent/reports/evidence/production-ready/security-project-identity", + "display": ".agent/reports/evidence/production-ready/security-project-identity/**", + "match_kind": "prefix", + "policy": "literal-row-exception" + } + }, + "git": { + "repository": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker", + "requested_base": "9e2ce4e58a5cded69660ca9ac532d2167f315bb2", + "resolved_base": "9e2ce4e58a5cded69660ca9ac532d2167f315bb2", + "requested_head": "38344455754fe503acbd79d2134141f996adff7f", + "resolved_head": "38344455754fe503acbd79d2134141f996adff7f", + "base_is_ancestor": true, + "name_status_command": "git -c core.quotepath=false diff --name-status --find-renames --find-copies 9e2ce4e58a5cded69660ca9ac532d2167f315bb2..38344455754fe503acbd79d2134141f996adff7f --", + "raw_name_status": [ + "A\t.agent/reports/evidence/production-ready/security-project-identity/SECURITY-PROJECT-IDENTITY-R3-maker-report.md", + "A\t.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.red.json", + "A\t.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.tdd.json", + "A\t.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.verification.json", + "M\t.agent/specs/security-project-identity/evidence/project-identity-v2-vectors.json", + "M\tinternal/db/gorm/project_identity_v2_test.go", + "M\tinternal/db/gorm/project_store.go", + "M\tinternal/grpcserver/project_identity_v2_test.go", + "M\tinternal/proxy/identity.go", + "M\tinternal/proxy/identity_test.go", + "M\tplugin/engram/hooks/lib.js", + "M\tplugin/engram/hooks/project-identity-v2.test.js", + "M\tplugin/openclaw-engram/src/identity.ts", + "M\tplugin/openclaw-engram/test/project-identity-v2.test.mjs" + ] + }, + "counts": { + "diff_entries": 14, + "changed_paths": 14, + "violations": 0, + "errors": 0 + }, + "diff_entries": [ + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/security-project-identity/SECURITY-PROJECT-IDENTITY-R3-maker-report.md" + ], + "raw": "A\t.agent/reports/evidence/production-ready/security-project-identity/SECURITY-PROJECT-IDENTITY-R3-maker-report.md" + }, + { + "status": "A", + "paths": [ + ".agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.red.json" + ], + "raw": "A\t.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.red.json" + }, + { + "status": "A", + "paths": [ + ".agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.tdd.json" + ], + "raw": "A\t.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.tdd.json" + }, + { + "status": "A", + "paths": [ + ".agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.verification.json" + ], + "raw": "A\t.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.verification.json" + }, + { + "status": "M", + "paths": [ + ".agent/specs/security-project-identity/evidence/project-identity-v2-vectors.json" + ], + "raw": "M\t.agent/specs/security-project-identity/evidence/project-identity-v2-vectors.json" + }, + { + "status": "M", + "paths": [ + "internal/db/gorm/project_identity_v2_test.go" + ], + "raw": "M\tinternal/db/gorm/project_identity_v2_test.go" + }, + { + "status": "M", + "paths": [ + "internal/db/gorm/project_store.go" + ], + "raw": "M\tinternal/db/gorm/project_store.go" + }, + { + "status": "M", + "paths": [ + "internal/grpcserver/project_identity_v2_test.go" + ], + "raw": "M\tinternal/grpcserver/project_identity_v2_test.go" + }, + { + "status": "M", + "paths": [ + "internal/proxy/identity.go" + ], + "raw": "M\tinternal/proxy/identity.go" + }, + { + "status": "M", + "paths": [ + "internal/proxy/identity_test.go" + ], + "raw": "M\tinternal/proxy/identity_test.go" + }, + { + "status": "M", + "paths": [ + "plugin/engram/hooks/lib.js" + ], + "raw": "M\tplugin/engram/hooks/lib.js" + }, + { + "status": "M", + "paths": [ + "plugin/engram/hooks/project-identity-v2.test.js" + ], + "raw": "M\tplugin/engram/hooks/project-identity-v2.test.js" + }, + { + "status": "M", + "paths": [ + "plugin/openclaw-engram/src/identity.ts" + ], + "raw": "M\tplugin/openclaw-engram/src/identity.ts" + }, + { + "status": "M", + "paths": [ + "plugin/openclaw-engram/test/project-identity-v2.test.mjs" + ], + "raw": "M\tplugin/openclaw-engram/test/project-identity-v2.test.mjs" + } + ], + "changed_paths": [ + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/security-project-identity/SECURITY-PROJECT-IDENTITY-R3-maker-report.md", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "report-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/security-project-identity/**" + ] + }, + { + "status": "A", + "path": ".agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.red.json", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/specs/security-project-identity/evidence/**" + ] + }, + { + "status": "A", + "path": ".agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.tdd.json", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/specs/security-project-identity/evidence/**" + ] + }, + { + "status": "A", + "path": ".agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.verification.json", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/specs/security-project-identity/evidence/**" + ] + }, + { + "status": "M", + "path": ".agent/specs/security-project-identity/evidence/project-identity-v2-vectors.json", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/specs/security-project-identity/evidence/**" + ] + }, + { + "status": "M", + "path": "internal/db/gorm/project_identity_v2_test.go", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + "internal/db/gorm/project_identity_v2_test.go" + ] + }, + { + "status": "M", + "path": "internal/db/gorm/project_store.go", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + "internal/db/gorm/project_store.go" + ] + }, + { + "status": "M", + "path": "internal/grpcserver/project_identity_v2_test.go", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + "internal/grpcserver/project_identity_v2_test.go" + ] + }, + { + "status": "M", + "path": "internal/proxy/identity.go", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + "internal/proxy/identity.go" + ] + }, + { + "status": "M", + "path": "internal/proxy/identity_test.go", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + "internal/proxy/identity_test.go" + ] + }, + { + "status": "M", + "path": "plugin/engram/hooks/lib.js", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + "plugin/engram/hooks/lib.js" + ] + }, + { + "status": "M", + "path": "plugin/engram/hooks/project-identity-v2.test.js", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + "plugin/engram/hooks/project-identity-v2.test.js" + ] + }, + { + "status": "M", + "path": "plugin/openclaw-engram/src/identity.ts", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + "plugin/openclaw-engram/src/identity.ts" + ] + }, + { + "status": "M", + "path": "plugin/openclaw-engram/test/project-identity-v2.test.mjs", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + "plugin/openclaw-engram/test/project-identity-v2.test.mjs" + ] + } + ], + "violations": [], + "epoch_authority": { + "verdict": "PASS", + "evaluated": [], + "errors": [] + }, + "errors": [] +} diff --git a/.agent/specs/release-gates-r9/evidence/plan-governance/ledger-live.json b/.agent/specs/release-gates-r9/evidence/plan-governance/ledger-live.json new file mode 100644 index 00000000..f6c60573 --- /dev/null +++ b/.agent/specs/release-gates-r9/evidence/plan-governance/ledger-live.json @@ -0,0 +1,4579 @@ +{ + "schema_version": 2, + "gate": "plan-path-ownership", + "mode": "Ledger", + "verdict": "PASS", + "started_at": "2026-07-10T21:52:35.5855851+00:00", + "finished_at": "2026-07-10T21:52:41.0958358+00:00", + "duration_seconds": 5.51, + "plan": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-master-plan.md", + "expected_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f", + "observed_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f", + "hash_match": true + }, + "state": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-ownership-state.json", + "sha256": "e41f52fbafa317eb1571c76a7d1de9add543da38a1b2471dbe587a849b21c032", + "verdict": "PASS", + "plan_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f" + }, + "scope_map": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-scope-map.json", + "expected_sha256": "fb170d59f3072117489402fd347cd1432c40adbc842811f92227498bcbc92693", + "observed_sha256": "fb170d59f3072117489402fd347cd1432c40adbc842811f92227498bcbc92693", + "verdict": "PASS", + "entries": 67, + "unique_slices": 67 + }, + "live_register": { + "supplied": true, + "path": "D:\\Dev\\engram\\.agent\\reports\\production-readiness-evidence-register.json", + "sha256": "f0e0e8de5276d41a98c83da4293f58d4ae898cd3bb38a7b5fef4c3ba80ada14a", + "checked": true, + "rows": 67 + }, + "counts": { + "maker_slices": 57, + "declarations": 351, + "exact_paths": 328, + "prefixes": 23, + "repeated_exact_paths": 34, + "prefix_intersections": 2, + "undeclared_prefix_intersections": 0, + "declared_epochs": 36, + "state_epochs": 36, + "errors": 0 + }, + "slices": [ + { + "slice": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision9-maker", + "paths": [ + ".agent/plans/2026-07-10-engram-production-ready-master-plan.md", + ".agent/plans/2026-07-10-engram-production-ready-ownership-state.json", + ".agent/plans/2026-07-10-engram-production-ready-scope-map.json", + ".agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json", + ".agent/specs/release-gates-r9/evidence/plan-governance/**", + ".agent/reports/2026-07-11-release-gates-r9-plan-governance.md" + ], + "line": 6 + }, + { + "slice": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "paths": [ + "internal/bulkops/facade.go", + "internal/bulkops/facade_test.go", + "internal/bulkops/rollback.go", + "internal/bulkops/rollback_test.go", + "internal/db/gorm/candidate_store.go", + "internal/db/gorm/candidate_store_test.go", + "internal/mcp/tools_bulkops.go", + "internal/mcp/tools_dryrun_test.go", + "pkg/models/snapshot.go", + ".agent/reports/2026-07-10-db-bulkops-capture-lock-rework-maker.md", + ".agent/reports/2026-07-10-db-bulkops-sibling-rework-maker.md", + ".agent/specs/production-ready-db-bulkops/evidence/**", + ".agent/reports/evidence/production-ready/db-bulkops-sibling-rework/**" + ], + "line": 7 + }, + { + "slice": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "paths": [ + "internal/db/gorm/candidate_store.go", + "internal/db/gorm/candidate_store_test.go", + "internal/mcp/tools_bulkops.go", + "internal/mcp/tools_dryrun_test.go", + ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker.md", + ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker-3.md", + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ], + "line": 8 + }, + { + "slice": "DB-TEST-POOL-HYGIENE", + "branch": "work/prc-db-test-pool-hygiene-evidence-r2", + "paths": [ + "internal/db/gorm/candidate_store_test.go", + ".agent/reports/2026-07-10-db-test-pool-hygiene-maker.md", + ".agent/reports/2026-07-10-db-test-pool-hygiene-evidence-revision-maker.md", + ".agent/reports/evidence/production-ready/db-test-pool-hygiene/**" + ], + "line": 9 + }, + { + "slice": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "paths": [ + "internal/db/gorm/candidate_store.go", + "internal/db/gorm/candidate_store_test.go", + "internal/db/gorm/rule_arbiter_store_test.go", + "internal/db/gorm/rule_governance_store.go", + "internal/db/gorm/rule_governance_store_test.go", + "internal/db/gorm/rule_governance_rg3_store_test.go", + "internal/db/gorm/migration_rule_governance.go", + "internal/db/gorm/migration_rule_arbiter.go", + "internal/db/gorm/migration_rule_governance_snapshot_statuses.go" + ], + "line": 10 + }, + { + "slice": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "paths": [ + "internal/reviewpacket/candidate.go", + "internal/reviewpacket/candidate_test.go", + "internal/db/gorm/candidate_store.go", + "internal/db/gorm/candidate_store_test.go", + "internal/db/gorm/snapshot_store.go", + "internal/db/gorm/snapshot_store_test.go", + "internal/bulkops/rollback_test.go", + "tests/critical/candidate_review/candidate_review_snapshot_rollback_test.go" + ], + "line": 11 + }, + { + "slice": "INGEST-DOC-SNAPSHOT-DEMOLITION", + "branch": "work/prc-ingest-doc-snapshot-demolition", + "paths": [ + "internal/bulkops/facade.go", + "internal/bulkops/facade_test.go", + "pkg/models/snapshot.go", + "pkg/models/snapshot_test.go", + "internal/mcp/ingest_snapshot_contract_test.go" + ], + "line": 13 + }, + { + "slice": "DB-AUTH", + "branch": "work/prc-db-auth", + "paths": [ + "internal/db/gorm/user_store.go", + "internal/db/gorm/user_store_test.go", + "internal/worker/auth_handlers.go", + "internal/worker/auth_handlers_lifecycle_test.go", + ".agent/reports/db-auth-rework-maker-2026-07-10.md" + ], + "line": 14 + }, + { + "slice": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "paths": [ + "internal/config/config.go", + "internal/config/config_test.go", + "internal/config/envnames.go", + "internal/db/gorm/user_store.go", + "internal/worker/middleware.go", + "internal/worker/middleware_test.go", + "internal/worker/auth_handlers.go", + "internal/worker/auth_bootstrap_limiter.go", + "internal/worker/auth_bootstrap_limiter_test.go", + "internal/worker/auth_bootstrap_security_test.go", + "internal/worker/service.go", + "tests/critical/auth_bootstrap/first_admin_bootstrap_test.go", + "scripts/production-smoke/customer/run-auth-bootstrap-adversary.ps1" + ], + "line": 15 + }, + { + "slice": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "paths": [ + "internal/db/gorm/domain_owner_store.go", + "internal/db/gorm/domain_owner_store_test.go", + "internal/db/gorm/user_store.go", + "internal/worker/auth_handlers.go", + "internal/worker/auth_audit_durability_test.go", + "internal/bulkops/facade.go", + "internal/bulkops/audit_durability_test.go", + "scripts/production-smoke/customer/run-durable-audit-faults.ps1" + ], + "line": 16 + }, + { + "slice": "DB-CRYSTALLIZATION", + "branch": "work/prc-db-crystallization", + "paths": [ + "internal/worker/handlers_hooks_crystallization_integration_test.go" + ], + "line": 17 + }, + { + "slice": "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS", + "branch": "work/prc-crystallization-dream-cycle-correctness", + "paths": [ + "internal/worker/dream_cycle.go", + "internal/worker/dream_cycle_test.go", + ".agent/reports/2026-07-10-crystallization-dream-cycle-correctness-maker.md", + ".agent/e/cdc/**" + ], + "line": 18 + }, + { + "slice": "DB-EMBEDDING-STATS", + "branch": "work/prc-db-embedding-stats", + "paths": [ + "internal/embedding/store.go", + "internal/embedding/store_stats_test.go", + ".agent/reports/2026-07-10-db-embedding-stats-maker.md", + ".agent/reports/evidence/production-ready/db-embedding-stats/**", + ".agent/specs/db-embedding-stats/evidence/**" + ], + "line": 19 + }, + { + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/**", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/**", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/**", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/**", + ".agent/specs/db-embedding-stats-evidence-transport/evidence/**" + ], + "line": 20 + }, + { + "slice": "DB-REAPER", + "branch": "work/prc-db-reaper-shutdown-r4", + "paths": [ + "internal/worker/reaper/reaper.go", + "internal/worker/reaper/reaper_test.go" + ], + "line": 21 + }, + { + "slice": "SECURITY-TOOLCHAIN", + "branch": "work/prc-security-toolchain", + "paths": [ + "go.mod", + "go.sum", + "Dockerfile" + ], + "line": 22 + }, + { + "slice": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision9-maker", + "paths": [ + ".github/workflows/test.yml", + "scripts/production-gates/assert-plan-path-ownership.ps1", + "scripts/production-gates/assert-active-candidate-path-authority.ps1", + "scripts/production-gates/run-db-suite.ps1", + ".agent/specs/release-gates-r9/evidence/release-gates/**", + ".agent/reports/2026-07-11-release-gates-r9-maker.md" + ], + "line": 23 + }, + { + "slice": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "paths": [ + "Dockerfile", + "cmd/engram-healthcheck/main.go", + "cmd/engram-healthcheck/main_test.go", + "apps/operator-console/package.json", + "apps/operator-console/package-lock.json", + "deploy/postgres/Dockerfile", + "docker-compose.yml", + "deploy/docker-compose.runtime.yml", + "docs/DEPLOYMENT.md", + "docs/PRODUCTION-TESTING-PLAYBOOK.md", + ".github/workflows/test.yml", + ".github/workflows/docker.yaml", + ".github/workflows/docker-publish.yml", + "scripts/production-gates/build-and-scan-images.ps1", + "tests/critical/runtime/image_runtime_contract_test.go", + "tests/critical/runtime/postgres_image_contract_test.go" + ], + "line": 24 + }, + { + "slice": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "paths": [ + "internal/db/gorm/project_store.go", + "internal/db/gorm/project_identity_v2_test.go", + "internal/grpcserver/project_identity_v2_test.go", + "internal/proxy/identity.go", + "internal/proxy/identity_test.go", + "internal/proxy/identity_process_test.go", + "plugin/engram/hooks/lib.js", + "plugin/engram/hooks/project-identity-v2.test.js", + "plugin/openclaw-engram/src/identity.ts", + "plugin/openclaw-engram/test/project-identity-v2.test.mjs", + ".agent/specs/security-project-identity/evidence/**", + ".agent/reports/evidence/production-ready/security-project-identity/**" + ], + "line": 25 + }, + { + "slice": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "paths": [ + "plugin/openclaw-engram/.gitignore", + "plugin/openclaw-engram/package.json", + "plugin/openclaw-engram/package-lock.json", + "plugin/openclaw-engram/openclaw.plugin.json", + "plugin/openclaw-engram/README.md", + ".github/workflows/plugin-publish.yml", + "docs/RELEASE-PROTOCOL.md" + ], + "line": 26 + }, + { + "slice": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "paths": [ + "internal/update/update.go", + "internal/update/update_test.go", + "internal/worker/handlers_update.go", + "internal/worker/handlers_update_test.go", + "scripts/install.sh", + "scripts/install.ps1", + ".goreleaser.yaml", + ".github/workflows/release.yaml", + "plugin/engram/hooks/hook-cli.test.js" + ], + "line": 27 + }, + { + "slice": "DOCUMENT-INGEST-PUBLIC-TRUTH", + "branch": "work/prc-document-ingest-public-truth", + "paths": [ + "internal/mcp/server.go", + "internal/mcp/ingest_document_description_test.go" + ], + "line": 29 + }, + { + "slice": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "paths": [ + "internal/mcp/coerce.go", + "internal/mcp/coerce_test.go", + "internal/mcp/tools_candidates.go", + "internal/mcp/tools_candidates_test.go", + "internal/mcp/tools_memory.go", + "internal/mcp/tools_memory_edit_test.go", + "internal/mcp/tools_memory_significance.go", + "internal/mcp/tools_memory_significance_test.go", + "internal/mcp/tools_store_consolidated.go", + "internal/mcp/tools_settings.go", + "internal/mcp/tools_settings_test.go", + "internal/mcp/tools_documents_v2.go", + "internal/mcp/tools_rule_governance.go", + "internal/mcp/tools_rule_governance_test.go", + "internal/mcp/structured_input_validation_test.go" + ], + "line": 31 + }, + { + "slice": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "paths": [ + "internal/redaction/layer.go", + "internal/redaction/layer_test.go", + "internal/redaction/rejection_test.go", + "internal/mcp/redaction_guard.go", + "internal/mcp/redaction_guard_test.go", + "internal/mcp/tools_memory.go", + "internal/mcp/tools_rules.go", + "internal/mcp/tools_memory_redaction_audit_test.go", + "internal/mcp/tools_rules_redaction_audit_test.go", + "internal/worker/service.go", + "internal/worker/service_redaction_test.go", + "docs/operating-engram.md", + ".agent/reports/evidence/production-ready/redaction-live-contract/**" + ], + "line": 32 + }, + { + "slice": "RETRIEVAL-VECTOR-CONTRACT", + "branch": "work/prc-retrieval-vector-contract", + "paths": [ + "internal/retrieval/hybrid_integration_test.go" + ], + "line": 34 + }, + { + "slice": "STATIC-EMBED-CONTRACT", + "branch": "work/prc-static-embed-contract", + "paths": [ + "internal/worker/static_embed_test.go" + ], + "line": 35 + }, + { + "slice": "PRE-V5-UPGRADE-CONTRACT", + "branch": "work/prc-pre-v5-upgrade-contract", + "paths": [ + "internal/db/gorm/migrations_integration_test.go", + "internal/grpcserver/credential_migration_test.go", + "tests/fixtures/pre-v5/**", + "tests/critical/recovery/pre_v5_upgrade_test.go", + "scripts/production-smoke/customer/run-pre-v5-upgrade.ps1" + ], + "line": 36 + }, + { + "slice": "T007-COMPAT-DEMOLITION-CLASSIFICATION", + "branch": "work/prc-t007-compat-classification", + "paths": [ + "internal/mcp/store_memory_compat_t007_test.go" + ], + "line": 37 + }, + { + "slice": "DB-RULES-ISOLATION", + "branch": "work/prc-db-rules-isolation", + "paths": [ + "internal/worker/handlers_rules_test.go", + "scripts/production-gates/run-db-rules-isolation.ps1" + ], + "line": 38 + }, + { + "slice": "COVERAGE-CMD-ENGRAM", + "branch": "work/prc-coverage-cmd-engram", + "paths": [ + "cmd/engram/production_readiness_coverage_test.go" + ], + "line": 39 + }, + { + "slice": "COVERAGE-CMD-SERVER", + "branch": "work/prc-coverage-cmd-server", + "paths": [ + "cmd/engram-server/production_readiness_coverage_test.go" + ], + "line": 40 + }, + { + "slice": "COVERAGE-UPDATE", + "branch": "work/prc-coverage-update", + "paths": [ + "internal/update/production_readiness_coverage_test.go" + ], + "line": 41 + }, + { + "slice": "COVERAGE-WORKER", + "branch": "work/prc-coverage-worker", + "paths": [ + "internal/worker/production_readiness_coverage_test.go" + ], + "line": 43 + }, + { + "slice": "COVERAGE-MCP", + "branch": "work/prc-coverage-mcp", + "paths": [ + "internal/mcp/production_readiness_coverage_test.go" + ], + "line": 44 + }, + { + "slice": "COVERAGE-GORM", + "branch": "work/prc-coverage-gorm", + "paths": [ + "internal/db/gorm/production_readiness_coverage_test.go" + ], + "line": 45 + }, + { + "slice": "COVERAGE-LOOM", + "branch": "work/prc-coverage-loom", + "paths": [ + "internal/handlers/loom/production_readiness_coverage_test.go" + ], + "line": 46 + }, + { + "slice": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "paths": [ + "docker-compose.yml", + "deploy/docker-compose.runtime.yml", + "deploy/docker-compose.operator-web-standalone.yml", + "deploy/entrypoint-server.sh", + "deploy/healthcheck-server.sh", + "deploy/verify-rollback.ps1", + "deploy/verify-runtime-policy.ps1" + ], + "line": 47 + }, + { + "slice": "RECOVERY-DATA", + "branch": "work/prc-recovery-data", + "paths": [ + "scripts/recovery/start-disposable-postgres.ps1", + "scripts/recovery/verify-postgres-roundtrip.ps1", + "scripts/recovery/seed-recovery-fixture.ps1", + "scripts/recovery/assert-recovery-fixture.ps1", + "tests/critical/recovery/postgres_roundtrip_test.go" + ], + "line": 48 + }, + { + "slice": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "paths": [ + "internal/module/obs/logging.go", + "internal/module/obs/logging_test.go", + "internal/module/obs/meter.go", + "internal/module/obs/meter_test.go", + "internal/module/obs/metrics.go", + "internal/module/obs/metrics_test.go", + "cmd/engram-server/main.go", + "cmd/engram-server/main_test.go", + "scripts/production-smoke/verify-otlp.ps1" + ], + "line": 49 + }, + { + "slice": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "paths": [ + "internal/scope/domain_policy.go", + "internal/scope/domain_policy_test.go", + "internal/scope/filter.go", + "internal/scope/filter_test.go", + "internal/scope/filter_principal_test.go", + "internal/scope/filter_w4_test.go", + "internal/principalmemory/access_policy.go", + "internal/principalmemory/access_policy_test.go", + "internal/principalmemory/domain_registry.go", + "internal/principalmemory/domain_registry_test.go", + "internal/principalmemory/query_service.go", + "internal/principalmemory/query_service_test.go", + "internal/mcp/tools_principal_memory.go", + "internal/mcp/tools_principal_memory_test.go", + "internal/mcp/tools_recall_principal_test.go", + "internal/mcp/recall_visibility_backfill_test.go", + "internal/mcp/store_memory_principal_test.go", + "internal/worker/handlers_principal_memory.go", + "internal/worker/handlers_principal_memory_test.go", + "internal/worker/scope_bypass_w4_test.go", + "internal/worker/retention.go", + "internal/worker/retention_test.go", + "internal/db/gorm/memory_store.go", + "internal/db/gorm/memory_store_principal_test.go", + "internal/db/gorm/memory_store_principal_query_test.go", + "internal/db/gorm/purge_store_test.go", + "tests/critical/data_boundaries/principal_project_retention_test.go" + ], + "line": 50 + }, + { + "slice": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "paths": [ + "tests/critical/customer_mode/customer_mode_test.go", + "tests/critical/customer_mode/compatibility_test.go", + "tests/critical/customer_mode/cross_agent_test.go", + "scripts/production-smoke/customer/run-customer-mode.ps1", + "scripts/production-smoke/customer/run-client-compatibility.ps1", + "scripts/production-smoke/customer/run-cross-agent.ps1", + "scripts/production-smoke/customer/run-diagnostic-matrix.ps1", + "scripts/production-smoke/customer/assert-product-works.ps1" + ], + "line": 51 + }, + { + "slice": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "paths": [ + "README.md", + "README.ru.md", + "README.zh.md", + "CONTRIBUTING.md", + "CHANGELOG.md", + "Makefile", + ".env.example", + "docs/DEPLOYMENT.md", + "docs/MIGRATION.md", + "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "docs/arch/CONFIGURATION.md", + "docs/arch/QUICKSTART.md", + "docs/release-notes/v6.43.0.md", + "docs/public/engram.jpg", + "plugin/engram/commands/setup.md", + "plugin/engram/commands/doctor.md" + ], + "line": 52 + }, + { + "slice": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "paths": [ + "README.md", + "README.ru.md", + "README.zh.md", + "CONTRIBUTING.md", + "CHANGELOG.md", + "Makefile", + ".env.example", + "docs/DEPLOYMENT.md", + "docs/MIGRATION.md", + "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "docs/operating-engram.md", + "docs/arch/CONFIGURATION.md", + "docs/arch/QUICKSTART.md", + "docs/public/engram.jpg", + "plugin/engram/commands/setup.md", + "plugin/engram/commands/doctor.md" + ], + "line": 53 + }, + { + "slice": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "paths": [ + "cmd/engram/main.go", + "cmd/engram/main_test.go", + "cmd/engram/wiring.go", + "cmd/engram/exec_windows.go", + "cmd/engram/exec_unix.go", + "plugin/engram/.engram-project", + "plugin/engram/scripts/run-engram.js", + "plugin/engram/scripts/run-engram.test.js", + "plugin/engram/scripts/ensure-binary.js", + "plugin/engram/scripts/ensure-binary.test.js" + ], + "line": 54 + }, + { + "slice": "OC-INTEGRATION", + "branch": "work/prc-operator-console-integration", + "paths": [ + "apps/operator-console/**" + ], + "line": 55 + }, + { + "slice": "S4B-CONTRACT", + "branch": "work/prc-s4b-contract", + "paths": [ + ".agent/specs/engram-v7-directives-surfacing/**" + ], + "line": 56 + }, + { + "slice": "V7-S4B-BACKEND", + "branch": "work/prc-v7-s4b-backend", + "paths": [ + "internal/cognitive/s4bsurfacing/**" + ], + "line": 57 + }, + { + "slice": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "paths": [ + "internal/cognitive/core/event_bus.go", + "internal/cognitive/core/event_bus_test.go", + "internal/cognitive/core/hint_queue.go", + "internal/cognitive/core/hint_queue_test.go", + "internal/cognitive/s3ambient/queue.go", + "internal/cognitive/s3ambient/subsystem.go" + ], + "line": 58 + }, + { + "slice": "V7-RUNTIME-WIRING", + "branch": "work/prc-v7-runtime-wiring", + "paths": [ + "internal/worker/service.go", + "internal/worker/service_v7_integration_test.go", + "internal/worker/handlers_stats_v7.go", + "internal/worker/handlers_stats_v7_test.go" + ], + "line": 59 + }, + { + "slice": "V7-TELEMETRY-WIRING", + "branch": "work/prc-v7-telemetry-wiring", + "paths": [ + "internal/cognitive/s5/metrics.go", + "internal/cognitive/s5/provider.go", + "internal/cognitive/s5/provider_test.go", + "internal/cognitive/s5/source_adapter.go", + "internal/cognitive/s5/source_adapter_test.go" + ], + "line": 60 + }, + { + "slice": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "paths": [ + ".agent/specs/roadmap.md", + ".agent/specs/ui-surface-ledger.md", + ".agent/specs/operator-console-production-integration/**", + ".agent/specs/engram-v7-ambient/spec.md", + ".agent/specs/engram-v7-ambient/plan.md", + ".agent/specs/engram-v7-ambient/checklists/general.md", + ".agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/change.md", + ".agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/tasks.md" + ], + "line": 61 + }, + { + "slice": "NORTHSTAR-CI-A-CONTRACTS", + "branch": "work/prc-northstar-ci-a-contracts", + "paths": [ + ".agent/specs/engram-absorption/ci-a-dense-vector/spec.md", + ".agent/specs/engram-absorption/ci-a-dense-vector/plan.md", + ".agent/specs/engram-absorption/ci-a-dense-vector/checklists/general.md", + ".agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/change.md", + ".agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/tasks.md" + ], + "line": 62 + }, + { + "slice": "NORTHSTAR-CI-B-CONTRACTS", + "branch": "work/prc-northstar-ci-b-contracts", + "paths": [ + ".agent/specs/engram-absorption/ci-b-graph-watcher-context/spec.md", + ".agent/specs/engram-absorption/ci-b-graph-watcher-context/plan.md", + ".agent/specs/engram-absorption/ci-b-graph-watcher-context/checklists/general.md", + ".agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/change.md", + ".agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/tasks.md" + ], + "line": 63 + }, + { + "slice": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "paths": [ + ".agent/specs/engram-absorption/book/prd.md", + ".agent/specs/engram-absorption/book/spec.md", + ".agent/specs/engram-absorption/book/plan.md", + ".agent/specs/engram-absorption/book/checklists/general.md", + ".agent/specs/engram-absorption/book/changes/CR-001-initial-scope/change.md", + ".agent/specs/engram-absorption/book/changes/CR-001-initial-scope/tasks.md" + ], + "line": 64 + }, + { + "slice": "NORTHSTAR-MEM-CONTRACTS", + "branch": "work/prc-northstar-mem-contracts", + "paths": [ + ".agent/specs/engram-absorption/mem-residual/spec.md", + ".agent/specs/engram-absorption/mem-residual/plan.md", + ".agent/specs/engram-absorption/mem-residual/checklists/general.md", + ".agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/change.md", + ".agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/tasks.md" + ], + "line": 65 + }, + { + "slice": "NORTHSTAR-EFFECTIVENESS-CONTRACTS", + "branch": "work/prc-northstar-effectiveness-contracts", + "paths": [ + ".agent/specs/engram-effectiveness/production-ready-residual/spec.md", + ".agent/specs/engram-effectiveness/production-ready-residual/plan.md", + ".agent/specs/engram-effectiveness/production-ready-residual/checklists/general.md", + ".agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/change.md", + ".agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/tasks.md" + ], + "line": 66 + }, + { + "slice": "NORTHSTAR-SETTINGS-CONTRACTS", + "branch": "work/prc-northstar-settings-contracts", + "paths": [ + ".agent/specs/settings-store/production-ready-residual/spec.md", + ".agent/specs/settings-store/production-ready-residual/plan.md", + ".agent/specs/settings-store/production-ready-residual/checklists/general.md", + ".agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/change.md", + ".agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/tasks.md" + ], + "line": 67 + } + ], + "declarations": [ + { + "owner": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision9-maker", + "path": ".agent/plans/2026-07-10-engram-production-ready-master-plan.md", + "display": ".agent/plans/2026-07-10-engram-production-ready-master-plan.md", + "kind": "exact", + "line": 6 + }, + { + "owner": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision9-maker", + "path": ".agent/plans/2026-07-10-engram-production-ready-ownership-state.json", + "display": ".agent/plans/2026-07-10-engram-production-ready-ownership-state.json", + "kind": "exact", + "line": 6 + }, + { + "owner": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision9-maker", + "path": ".agent/plans/2026-07-10-engram-production-ready-scope-map.json", + "display": ".agent/plans/2026-07-10-engram-production-ready-scope-map.json", + "kind": "exact", + "line": 6 + }, + { + "owner": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision9-maker", + "path": ".agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json", + "display": ".agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json", + "kind": "exact", + "line": 6 + }, + { + "owner": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision9-maker", + "path": ".agent/specs/release-gates-r9/evidence/plan-governance", + "display": ".agent/specs/release-gates-r9/evidence/plan-governance/**", + "kind": "prefix", + "line": 6 + }, + { + "owner": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision9-maker", + "path": ".agent/reports/2026-07-11-release-gates-r9-plan-governance.md", + "display": ".agent/reports/2026-07-11-release-gates-r9-plan-governance.md", + "kind": "exact", + "line": 6 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/bulkops/facade.go", + "display": "internal/bulkops/facade.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/bulkops/facade_test.go", + "display": "internal/bulkops/facade_test.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/bulkops/rollback.go", + "display": "internal/bulkops/rollback.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/bulkops/rollback_test.go", + "display": "internal/bulkops/rollback_test.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/db/gorm/candidate_store.go", + "display": "internal/db/gorm/candidate_store.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/db/gorm/candidate_store_test.go", + "display": "internal/db/gorm/candidate_store_test.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/mcp/tools_bulkops.go", + "display": "internal/mcp/tools_bulkops.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/mcp/tools_dryrun_test.go", + "display": "internal/mcp/tools_dryrun_test.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "pkg/models/snapshot.go", + "display": "pkg/models/snapshot.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": ".agent/reports/2026-07-10-db-bulkops-capture-lock-rework-maker.md", + "display": ".agent/reports/2026-07-10-db-bulkops-capture-lock-rework-maker.md", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": ".agent/reports/2026-07-10-db-bulkops-sibling-rework-maker.md", + "display": ".agent/reports/2026-07-10-db-bulkops-sibling-rework-maker.md", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": ".agent/specs/production-ready-db-bulkops/evidence", + "display": ".agent/specs/production-ready-db-bulkops/evidence/**", + "kind": "prefix", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": ".agent/reports/evidence/production-ready/db-bulkops-sibling-rework", + "display": ".agent/reports/evidence/production-ready/db-bulkops-sibling-rework/**", + "kind": "prefix", + "line": 7 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": "internal/db/gorm/candidate_store.go", + "display": "internal/db/gorm/candidate_store.go", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": "internal/db/gorm/candidate_store_test.go", + "display": "internal/db/gorm/candidate_store_test.go", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": "internal/mcp/tools_bulkops.go", + "display": "internal/mcp/tools_bulkops.go", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": "internal/mcp/tools_dryrun_test.go", + "display": "internal/mcp/tools_dryrun_test.go", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker.md", + "display": ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker.md", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker-3.md", + "display": ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker-3.md", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework", + "display": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**", + "kind": "prefix", + "line": 8 + }, + { + "owner": "DB-TEST-POOL-HYGIENE", + "branch": "work/prc-db-test-pool-hygiene-evidence-r2", + "path": "internal/db/gorm/candidate_store_test.go", + "display": "internal/db/gorm/candidate_store_test.go", + "kind": "exact", + "line": 9 + }, + { + "owner": "DB-TEST-POOL-HYGIENE", + "branch": "work/prc-db-test-pool-hygiene-evidence-r2", + "path": ".agent/reports/2026-07-10-db-test-pool-hygiene-maker.md", + "display": ".agent/reports/2026-07-10-db-test-pool-hygiene-maker.md", + "kind": "exact", + "line": 9 + }, + { + "owner": "DB-TEST-POOL-HYGIENE", + "branch": "work/prc-db-test-pool-hygiene-evidence-r2", + "path": ".agent/reports/2026-07-10-db-test-pool-hygiene-evidence-revision-maker.md", + "display": ".agent/reports/2026-07-10-db-test-pool-hygiene-evidence-revision-maker.md", + "kind": "exact", + "line": 9 + }, + { + "owner": "DB-TEST-POOL-HYGIENE", + "branch": "work/prc-db-test-pool-hygiene-evidence-r2", + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene", + "display": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/**", + "kind": "prefix", + "line": 9 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/candidate_store.go", + "display": "internal/db/gorm/candidate_store.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/candidate_store_test.go", + "display": "internal/db/gorm/candidate_store_test.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/rule_arbiter_store_test.go", + "display": "internal/db/gorm/rule_arbiter_store_test.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/rule_governance_store.go", + "display": "internal/db/gorm/rule_governance_store.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/rule_governance_store_test.go", + "display": "internal/db/gorm/rule_governance_store_test.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/rule_governance_rg3_store_test.go", + "display": "internal/db/gorm/rule_governance_rg3_store_test.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/migration_rule_governance.go", + "display": "internal/db/gorm/migration_rule_governance.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/migration_rule_arbiter.go", + "display": "internal/db/gorm/migration_rule_arbiter.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/migration_rule_governance_snapshot_statuses.go", + "display": "internal/db/gorm/migration_rule_governance_snapshot_statuses.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/reviewpacket/candidate.go", + "display": "internal/reviewpacket/candidate.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/reviewpacket/candidate_test.go", + "display": "internal/reviewpacket/candidate_test.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/db/gorm/candidate_store.go", + "display": "internal/db/gorm/candidate_store.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/db/gorm/candidate_store_test.go", + "display": "internal/db/gorm/candidate_store_test.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/db/gorm/snapshot_store.go", + "display": "internal/db/gorm/snapshot_store.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/db/gorm/snapshot_store_test.go", + "display": "internal/db/gorm/snapshot_store_test.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/bulkops/rollback_test.go", + "display": "internal/bulkops/rollback_test.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "tests/critical/candidate_review/candidate_review_snapshot_rollback_test.go", + "display": "tests/critical/candidate_review/candidate_review_snapshot_rollback_test.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "INGEST-DOC-SNAPSHOT-DEMOLITION", + "branch": "work/prc-ingest-doc-snapshot-demolition", + "path": "internal/bulkops/facade.go", + "display": "internal/bulkops/facade.go", + "kind": "exact", + "line": 13 + }, + { + "owner": "INGEST-DOC-SNAPSHOT-DEMOLITION", + "branch": "work/prc-ingest-doc-snapshot-demolition", + "path": "internal/bulkops/facade_test.go", + "display": "internal/bulkops/facade_test.go", + "kind": "exact", + "line": 13 + }, + { + "owner": "INGEST-DOC-SNAPSHOT-DEMOLITION", + "branch": "work/prc-ingest-doc-snapshot-demolition", + "path": "pkg/models/snapshot.go", + "display": "pkg/models/snapshot.go", + "kind": "exact", + "line": 13 + }, + { + "owner": "INGEST-DOC-SNAPSHOT-DEMOLITION", + "branch": "work/prc-ingest-doc-snapshot-demolition", + "path": "pkg/models/snapshot_test.go", + "display": "pkg/models/snapshot_test.go", + "kind": "exact", + "line": 13 + }, + { + "owner": "INGEST-DOC-SNAPSHOT-DEMOLITION", + "branch": "work/prc-ingest-doc-snapshot-demolition", + "path": "internal/mcp/ingest_snapshot_contract_test.go", + "display": "internal/mcp/ingest_snapshot_contract_test.go", + "kind": "exact", + "line": 13 + }, + { + "owner": "DB-AUTH", + "branch": "work/prc-db-auth", + "path": "internal/db/gorm/user_store.go", + "display": "internal/db/gorm/user_store.go", + "kind": "exact", + "line": 14 + }, + { + "owner": "DB-AUTH", + "branch": "work/prc-db-auth", + "path": "internal/db/gorm/user_store_test.go", + "display": "internal/db/gorm/user_store_test.go", + "kind": "exact", + "line": 14 + }, + { + "owner": "DB-AUTH", + "branch": "work/prc-db-auth", + "path": "internal/worker/auth_handlers.go", + "display": "internal/worker/auth_handlers.go", + "kind": "exact", + "line": 14 + }, + { + "owner": "DB-AUTH", + "branch": "work/prc-db-auth", + "path": "internal/worker/auth_handlers_lifecycle_test.go", + "display": "internal/worker/auth_handlers_lifecycle_test.go", + "kind": "exact", + "line": 14 + }, + { + "owner": "DB-AUTH", + "branch": "work/prc-db-auth", + "path": ".agent/reports/db-auth-rework-maker-2026-07-10.md", + "display": ".agent/reports/db-auth-rework-maker-2026-07-10.md", + "kind": "exact", + "line": 14 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/config/config.go", + "display": "internal/config/config.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/config/config_test.go", + "display": "internal/config/config_test.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/config/envnames.go", + "display": "internal/config/envnames.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/db/gorm/user_store.go", + "display": "internal/db/gorm/user_store.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/middleware.go", + "display": "internal/worker/middleware.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/middleware_test.go", + "display": "internal/worker/middleware_test.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/auth_handlers.go", + "display": "internal/worker/auth_handlers.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/auth_bootstrap_limiter.go", + "display": "internal/worker/auth_bootstrap_limiter.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/auth_bootstrap_limiter_test.go", + "display": "internal/worker/auth_bootstrap_limiter_test.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/auth_bootstrap_security_test.go", + "display": "internal/worker/auth_bootstrap_security_test.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/service.go", + "display": "internal/worker/service.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "tests/critical/auth_bootstrap/first_admin_bootstrap_test.go", + "display": "tests/critical/auth_bootstrap/first_admin_bootstrap_test.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "scripts/production-smoke/customer/run-auth-bootstrap-adversary.ps1", + "display": "scripts/production-smoke/customer/run-auth-bootstrap-adversary.ps1", + "kind": "exact", + "line": 15 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/db/gorm/domain_owner_store.go", + "display": "internal/db/gorm/domain_owner_store.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/db/gorm/domain_owner_store_test.go", + "display": "internal/db/gorm/domain_owner_store_test.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/db/gorm/user_store.go", + "display": "internal/db/gorm/user_store.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/worker/auth_handlers.go", + "display": "internal/worker/auth_handlers.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/worker/auth_audit_durability_test.go", + "display": "internal/worker/auth_audit_durability_test.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/bulkops/facade.go", + "display": "internal/bulkops/facade.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/bulkops/audit_durability_test.go", + "display": "internal/bulkops/audit_durability_test.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "scripts/production-smoke/customer/run-durable-audit-faults.ps1", + "display": "scripts/production-smoke/customer/run-durable-audit-faults.ps1", + "kind": "exact", + "line": 16 + }, + { + "owner": "DB-CRYSTALLIZATION", + "branch": "work/prc-db-crystallization", + "path": "internal/worker/handlers_hooks_crystallization_integration_test.go", + "display": "internal/worker/handlers_hooks_crystallization_integration_test.go", + "kind": "exact", + "line": 17 + }, + { + "owner": "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS", + "branch": "work/prc-crystallization-dream-cycle-correctness", + "path": "internal/worker/dream_cycle.go", + "display": "internal/worker/dream_cycle.go", + "kind": "exact", + "line": 18 + }, + { + "owner": "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS", + "branch": "work/prc-crystallization-dream-cycle-correctness", + "path": "internal/worker/dream_cycle_test.go", + "display": "internal/worker/dream_cycle_test.go", + "kind": "exact", + "line": 18 + }, + { + "owner": "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS", + "branch": "work/prc-crystallization-dream-cycle-correctness", + "path": ".agent/reports/2026-07-10-crystallization-dream-cycle-correctness-maker.md", + "display": ".agent/reports/2026-07-10-crystallization-dream-cycle-correctness-maker.md", + "kind": "exact", + "line": 18 + }, + { + "owner": "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS", + "branch": "work/prc-crystallization-dream-cycle-correctness", + "path": ".agent/e/cdc", + "display": ".agent/e/cdc/**", + "kind": "prefix", + "line": 18 + }, + { + "owner": "DB-EMBEDDING-STATS", + "branch": "work/prc-db-embedding-stats", + "path": "internal/embedding/store.go", + "display": "internal/embedding/store.go", + "kind": "exact", + "line": 19 + }, + { + "owner": "DB-EMBEDDING-STATS", + "branch": "work/prc-db-embedding-stats", + "path": "internal/embedding/store_stats_test.go", + "display": "internal/embedding/store_stats_test.go", + "kind": "exact", + "line": 19 + }, + { + "owner": "DB-EMBEDDING-STATS", + "branch": "work/prc-db-embedding-stats", + "path": ".agent/reports/2026-07-10-db-embedding-stats-maker.md", + "display": ".agent/reports/2026-07-10-db-embedding-stats-maker.md", + "kind": "exact", + "line": 19 + }, + { + "owner": "DB-EMBEDDING-STATS", + "branch": "work/prc-db-embedding-stats", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats/**", + "kind": "prefix", + "line": 19 + }, + { + "owner": "DB-EMBEDDING-STATS", + "branch": "work/prc-db-embedding-stats", + "path": ".agent/specs/db-embedding-stats/evidence", + "display": ".agent/specs/db-embedding-stats/evidence/**", + "kind": "prefix", + "line": 19 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "path": ".agent/specs/db-embedding-stats-evidence-transport/evidence", + "display": ".agent/specs/db-embedding-stats-evidence-transport/evidence/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-REAPER", + "branch": "work/prc-db-reaper-shutdown-r4", + "path": "internal/worker/reaper/reaper.go", + "display": "internal/worker/reaper/reaper.go", + "kind": "exact", + "line": 21 + }, + { + "owner": "DB-REAPER", + "branch": "work/prc-db-reaper-shutdown-r4", + "path": "internal/worker/reaper/reaper_test.go", + "display": "internal/worker/reaper/reaper_test.go", + "kind": "exact", + "line": 21 + }, + { + "owner": "SECURITY-TOOLCHAIN", + "branch": "work/prc-security-toolchain", + "path": "go.mod", + "display": "go.mod", + "kind": "exact", + "line": 22 + }, + { + "owner": "SECURITY-TOOLCHAIN", + "branch": "work/prc-security-toolchain", + "path": "go.sum", + "display": "go.sum", + "kind": "exact", + "line": 22 + }, + { + "owner": "SECURITY-TOOLCHAIN", + "branch": "work/prc-security-toolchain", + "path": "Dockerfile", + "display": "Dockerfile", + "kind": "exact", + "line": 22 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision9-maker", + "path": ".github/workflows/test.yml", + "display": ".github/workflows/test.yml", + "kind": "exact", + "line": 23 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision9-maker", + "path": "scripts/production-gates/assert-plan-path-ownership.ps1", + "display": "scripts/production-gates/assert-plan-path-ownership.ps1", + "kind": "exact", + "line": 23 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision9-maker", + "path": "scripts/production-gates/assert-active-candidate-path-authority.ps1", + "display": "scripts/production-gates/assert-active-candidate-path-authority.ps1", + "kind": "exact", + "line": 23 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision9-maker", + "path": "scripts/production-gates/run-db-suite.ps1", + "display": "scripts/production-gates/run-db-suite.ps1", + "kind": "exact", + "line": 23 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision9-maker", + "path": ".agent/specs/release-gates-r9/evidence/release-gates", + "display": ".agent/specs/release-gates-r9/evidence/release-gates/**", + "kind": "prefix", + "line": 23 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision9-maker", + "path": ".agent/reports/2026-07-11-release-gates-r9-maker.md", + "display": ".agent/reports/2026-07-11-release-gates-r9-maker.md", + "kind": "exact", + "line": 23 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "Dockerfile", + "display": "Dockerfile", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "cmd/engram-healthcheck/main.go", + "display": "cmd/engram-healthcheck/main.go", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "cmd/engram-healthcheck/main_test.go", + "display": "cmd/engram-healthcheck/main_test.go", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "apps/operator-console/package.json", + "display": "apps/operator-console/package.json", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "apps/operator-console/package-lock.json", + "display": "apps/operator-console/package-lock.json", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "deploy/postgres/Dockerfile", + "display": "deploy/postgres/Dockerfile", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "docker-compose.yml", + "display": "docker-compose.yml", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "deploy/docker-compose.runtime.yml", + "display": "deploy/docker-compose.runtime.yml", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "docs/DEPLOYMENT.md", + "display": "docs/DEPLOYMENT.md", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "display": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": ".github/workflows/test.yml", + "display": ".github/workflows/test.yml", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": ".github/workflows/docker.yaml", + "display": ".github/workflows/docker.yaml", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": ".github/workflows/docker-publish.yml", + "display": ".github/workflows/docker-publish.yml", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "scripts/production-gates/build-and-scan-images.ps1", + "display": "scripts/production-gates/build-and-scan-images.ps1", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "tests/critical/runtime/image_runtime_contract_test.go", + "display": "tests/critical/runtime/image_runtime_contract_test.go", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "tests/critical/runtime/postgres_image_contract_test.go", + "display": "tests/critical/runtime/postgres_image_contract_test.go", + "kind": "exact", + "line": 24 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "internal/db/gorm/project_store.go", + "display": "internal/db/gorm/project_store.go", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "internal/db/gorm/project_identity_v2_test.go", + "display": "internal/db/gorm/project_identity_v2_test.go", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "internal/grpcserver/project_identity_v2_test.go", + "display": "internal/grpcserver/project_identity_v2_test.go", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "internal/proxy/identity.go", + "display": "internal/proxy/identity.go", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "internal/proxy/identity_test.go", + "display": "internal/proxy/identity_test.go", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "internal/proxy/identity_process_test.go", + "display": "internal/proxy/identity_process_test.go", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "plugin/engram/hooks/lib.js", + "display": "plugin/engram/hooks/lib.js", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "plugin/engram/hooks/project-identity-v2.test.js", + "display": "plugin/engram/hooks/project-identity-v2.test.js", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "plugin/openclaw-engram/src/identity.ts", + "display": "plugin/openclaw-engram/src/identity.ts", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "plugin/openclaw-engram/test/project-identity-v2.test.mjs", + "display": "plugin/openclaw-engram/test/project-identity-v2.test.mjs", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": ".agent/specs/security-project-identity/evidence", + "display": ".agent/specs/security-project-identity/evidence/**", + "kind": "prefix", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": ".agent/reports/evidence/production-ready/security-project-identity", + "display": ".agent/reports/evidence/production-ready/security-project-identity/**", + "kind": "prefix", + "line": 25 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": "plugin/openclaw-engram/.gitignore", + "display": "plugin/openclaw-engram/.gitignore", + "kind": "exact", + "line": 26 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": "plugin/openclaw-engram/package.json", + "display": "plugin/openclaw-engram/package.json", + "kind": "exact", + "line": 26 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": "plugin/openclaw-engram/package-lock.json", + "display": "plugin/openclaw-engram/package-lock.json", + "kind": "exact", + "line": 26 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": "plugin/openclaw-engram/openclaw.plugin.json", + "display": "plugin/openclaw-engram/openclaw.plugin.json", + "kind": "exact", + "line": 26 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": "plugin/openclaw-engram/README.md", + "display": "plugin/openclaw-engram/README.md", + "kind": "exact", + "line": 26 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": ".github/workflows/plugin-publish.yml", + "display": ".github/workflows/plugin-publish.yml", + "kind": "exact", + "line": 26 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": "docs/RELEASE-PROTOCOL.md", + "display": "docs/RELEASE-PROTOCOL.md", + "kind": "exact", + "line": 26 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "internal/update/update.go", + "display": "internal/update/update.go", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "internal/update/update_test.go", + "display": "internal/update/update_test.go", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "internal/worker/handlers_update.go", + "display": "internal/worker/handlers_update.go", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "internal/worker/handlers_update_test.go", + "display": "internal/worker/handlers_update_test.go", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "scripts/install.sh", + "display": "scripts/install.sh", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "scripts/install.ps1", + "display": "scripts/install.ps1", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": ".goreleaser.yaml", + "display": ".goreleaser.yaml", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": ".github/workflows/release.yaml", + "display": ".github/workflows/release.yaml", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "plugin/engram/hooks/hook-cli.test.js", + "display": "plugin/engram/hooks/hook-cli.test.js", + "kind": "exact", + "line": 27 + }, + { + "owner": "DOCUMENT-INGEST-PUBLIC-TRUTH", + "branch": "work/prc-document-ingest-public-truth", + "path": "internal/mcp/server.go", + "display": "internal/mcp/server.go", + "kind": "exact", + "line": 29 + }, + { + "owner": "DOCUMENT-INGEST-PUBLIC-TRUTH", + "branch": "work/prc-document-ingest-public-truth", + "path": "internal/mcp/ingest_document_description_test.go", + "display": "internal/mcp/ingest_document_description_test.go", + "kind": "exact", + "line": 29 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/coerce.go", + "display": "internal/mcp/coerce.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/coerce_test.go", + "display": "internal/mcp/coerce_test.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_candidates.go", + "display": "internal/mcp/tools_candidates.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_candidates_test.go", + "display": "internal/mcp/tools_candidates_test.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_memory.go", + "display": "internal/mcp/tools_memory.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_memory_edit_test.go", + "display": "internal/mcp/tools_memory_edit_test.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_memory_significance.go", + "display": "internal/mcp/tools_memory_significance.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_memory_significance_test.go", + "display": "internal/mcp/tools_memory_significance_test.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_store_consolidated.go", + "display": "internal/mcp/tools_store_consolidated.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_settings.go", + "display": "internal/mcp/tools_settings.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_settings_test.go", + "display": "internal/mcp/tools_settings_test.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_documents_v2.go", + "display": "internal/mcp/tools_documents_v2.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_rule_governance.go", + "display": "internal/mcp/tools_rule_governance.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_rule_governance_test.go", + "display": "internal/mcp/tools_rule_governance_test.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/structured_input_validation_test.go", + "display": "internal/mcp/structured_input_validation_test.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/redaction/layer.go", + "display": "internal/redaction/layer.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/redaction/layer_test.go", + "display": "internal/redaction/layer_test.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/redaction/rejection_test.go", + "display": "internal/redaction/rejection_test.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/mcp/redaction_guard.go", + "display": "internal/mcp/redaction_guard.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/mcp/redaction_guard_test.go", + "display": "internal/mcp/redaction_guard_test.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/mcp/tools_memory.go", + "display": "internal/mcp/tools_memory.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/mcp/tools_rules.go", + "display": "internal/mcp/tools_rules.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/mcp/tools_memory_redaction_audit_test.go", + "display": "internal/mcp/tools_memory_redaction_audit_test.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/mcp/tools_rules_redaction_audit_test.go", + "display": "internal/mcp/tools_rules_redaction_audit_test.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/worker/service.go", + "display": "internal/worker/service.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/worker/service_redaction_test.go", + "display": "internal/worker/service_redaction_test.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "docs/operating-engram.md", + "display": "docs/operating-engram.md", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": ".agent/reports/evidence/production-ready/redaction-live-contract", + "display": ".agent/reports/evidence/production-ready/redaction-live-contract/**", + "kind": "prefix", + "line": 32 + }, + { + "owner": "RETRIEVAL-VECTOR-CONTRACT", + "branch": "work/prc-retrieval-vector-contract", + "path": "internal/retrieval/hybrid_integration_test.go", + "display": "internal/retrieval/hybrid_integration_test.go", + "kind": "exact", + "line": 34 + }, + { + "owner": "STATIC-EMBED-CONTRACT", + "branch": "work/prc-static-embed-contract", + "path": "internal/worker/static_embed_test.go", + "display": "internal/worker/static_embed_test.go", + "kind": "exact", + "line": 35 + }, + { + "owner": "PRE-V5-UPGRADE-CONTRACT", + "branch": "work/prc-pre-v5-upgrade-contract", + "path": "internal/db/gorm/migrations_integration_test.go", + "display": "internal/db/gorm/migrations_integration_test.go", + "kind": "exact", + "line": 36 + }, + { + "owner": "PRE-V5-UPGRADE-CONTRACT", + "branch": "work/prc-pre-v5-upgrade-contract", + "path": "internal/grpcserver/credential_migration_test.go", + "display": "internal/grpcserver/credential_migration_test.go", + "kind": "exact", + "line": 36 + }, + { + "owner": "PRE-V5-UPGRADE-CONTRACT", + "branch": "work/prc-pre-v5-upgrade-contract", + "path": "tests/fixtures/pre-v5", + "display": "tests/fixtures/pre-v5/**", + "kind": "prefix", + "line": 36 + }, + { + "owner": "PRE-V5-UPGRADE-CONTRACT", + "branch": "work/prc-pre-v5-upgrade-contract", + "path": "tests/critical/recovery/pre_v5_upgrade_test.go", + "display": "tests/critical/recovery/pre_v5_upgrade_test.go", + "kind": "exact", + "line": 36 + }, + { + "owner": "PRE-V5-UPGRADE-CONTRACT", + "branch": "work/prc-pre-v5-upgrade-contract", + "path": "scripts/production-smoke/customer/run-pre-v5-upgrade.ps1", + "display": "scripts/production-smoke/customer/run-pre-v5-upgrade.ps1", + "kind": "exact", + "line": 36 + }, + { + "owner": "T007-COMPAT-DEMOLITION-CLASSIFICATION", + "branch": "work/prc-t007-compat-classification", + "path": "internal/mcp/store_memory_compat_t007_test.go", + "display": "internal/mcp/store_memory_compat_t007_test.go", + "kind": "exact", + "line": 37 + }, + { + "owner": "DB-RULES-ISOLATION", + "branch": "work/prc-db-rules-isolation", + "path": "internal/worker/handlers_rules_test.go", + "display": "internal/worker/handlers_rules_test.go", + "kind": "exact", + "line": 38 + }, + { + "owner": "DB-RULES-ISOLATION", + "branch": "work/prc-db-rules-isolation", + "path": "scripts/production-gates/run-db-rules-isolation.ps1", + "display": "scripts/production-gates/run-db-rules-isolation.ps1", + "kind": "exact", + "line": 38 + }, + { + "owner": "COVERAGE-CMD-ENGRAM", + "branch": "work/prc-coverage-cmd-engram", + "path": "cmd/engram/production_readiness_coverage_test.go", + "display": "cmd/engram/production_readiness_coverage_test.go", + "kind": "exact", + "line": 39 + }, + { + "owner": "COVERAGE-CMD-SERVER", + "branch": "work/prc-coverage-cmd-server", + "path": "cmd/engram-server/production_readiness_coverage_test.go", + "display": "cmd/engram-server/production_readiness_coverage_test.go", + "kind": "exact", + "line": 40 + }, + { + "owner": "COVERAGE-UPDATE", + "branch": "work/prc-coverage-update", + "path": "internal/update/production_readiness_coverage_test.go", + "display": "internal/update/production_readiness_coverage_test.go", + "kind": "exact", + "line": 41 + }, + { + "owner": "COVERAGE-WORKER", + "branch": "work/prc-coverage-worker", + "path": "internal/worker/production_readiness_coverage_test.go", + "display": "internal/worker/production_readiness_coverage_test.go", + "kind": "exact", + "line": 43 + }, + { + "owner": "COVERAGE-MCP", + "branch": "work/prc-coverage-mcp", + "path": "internal/mcp/production_readiness_coverage_test.go", + "display": "internal/mcp/production_readiness_coverage_test.go", + "kind": "exact", + "line": 44 + }, + { + "owner": "COVERAGE-GORM", + "branch": "work/prc-coverage-gorm", + "path": "internal/db/gorm/production_readiness_coverage_test.go", + "display": "internal/db/gorm/production_readiness_coverage_test.go", + "kind": "exact", + "line": 45 + }, + { + "owner": "COVERAGE-LOOM", + "branch": "work/prc-coverage-loom", + "path": "internal/handlers/loom/production_readiness_coverage_test.go", + "display": "internal/handlers/loom/production_readiness_coverage_test.go", + "kind": "exact", + "line": 46 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "docker-compose.yml", + "display": "docker-compose.yml", + "kind": "exact", + "line": 47 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "deploy/docker-compose.runtime.yml", + "display": "deploy/docker-compose.runtime.yml", + "kind": "exact", + "line": 47 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "deploy/docker-compose.operator-web-standalone.yml", + "display": "deploy/docker-compose.operator-web-standalone.yml", + "kind": "exact", + "line": 47 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "deploy/entrypoint-server.sh", + "display": "deploy/entrypoint-server.sh", + "kind": "exact", + "line": 47 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "deploy/healthcheck-server.sh", + "display": "deploy/healthcheck-server.sh", + "kind": "exact", + "line": 47 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "deploy/verify-rollback.ps1", + "display": "deploy/verify-rollback.ps1", + "kind": "exact", + "line": 47 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "deploy/verify-runtime-policy.ps1", + "display": "deploy/verify-runtime-policy.ps1", + "kind": "exact", + "line": 47 + }, + { + "owner": "RECOVERY-DATA", + "branch": "work/prc-recovery-data", + "path": "scripts/recovery/start-disposable-postgres.ps1", + "display": "scripts/recovery/start-disposable-postgres.ps1", + "kind": "exact", + "line": 48 + }, + { + "owner": "RECOVERY-DATA", + "branch": "work/prc-recovery-data", + "path": "scripts/recovery/verify-postgres-roundtrip.ps1", + "display": "scripts/recovery/verify-postgres-roundtrip.ps1", + "kind": "exact", + "line": 48 + }, + { + "owner": "RECOVERY-DATA", + "branch": "work/prc-recovery-data", + "path": "scripts/recovery/seed-recovery-fixture.ps1", + "display": "scripts/recovery/seed-recovery-fixture.ps1", + "kind": "exact", + "line": 48 + }, + { + "owner": "RECOVERY-DATA", + "branch": "work/prc-recovery-data", + "path": "scripts/recovery/assert-recovery-fixture.ps1", + "display": "scripts/recovery/assert-recovery-fixture.ps1", + "kind": "exact", + "line": 48 + }, + { + "owner": "RECOVERY-DATA", + "branch": "work/prc-recovery-data", + "path": "tests/critical/recovery/postgres_roundtrip_test.go", + "display": "tests/critical/recovery/postgres_roundtrip_test.go", + "kind": "exact", + "line": 48 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "internal/module/obs/logging.go", + "display": "internal/module/obs/logging.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "internal/module/obs/logging_test.go", + "display": "internal/module/obs/logging_test.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "internal/module/obs/meter.go", + "display": "internal/module/obs/meter.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "internal/module/obs/meter_test.go", + "display": "internal/module/obs/meter_test.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "internal/module/obs/metrics.go", + "display": "internal/module/obs/metrics.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "internal/module/obs/metrics_test.go", + "display": "internal/module/obs/metrics_test.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "cmd/engram-server/main.go", + "display": "cmd/engram-server/main.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "cmd/engram-server/main_test.go", + "display": "cmd/engram-server/main_test.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "scripts/production-smoke/verify-otlp.ps1", + "display": "scripts/production-smoke/verify-otlp.ps1", + "kind": "exact", + "line": 49 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/scope/domain_policy.go", + "display": "internal/scope/domain_policy.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/scope/domain_policy_test.go", + "display": "internal/scope/domain_policy_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/scope/filter.go", + "display": "internal/scope/filter.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/scope/filter_test.go", + "display": "internal/scope/filter_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/scope/filter_principal_test.go", + "display": "internal/scope/filter_principal_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/scope/filter_w4_test.go", + "display": "internal/scope/filter_w4_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/principalmemory/access_policy.go", + "display": "internal/principalmemory/access_policy.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/principalmemory/access_policy_test.go", + "display": "internal/principalmemory/access_policy_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/principalmemory/domain_registry.go", + "display": "internal/principalmemory/domain_registry.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/principalmemory/domain_registry_test.go", + "display": "internal/principalmemory/domain_registry_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/principalmemory/query_service.go", + "display": "internal/principalmemory/query_service.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/principalmemory/query_service_test.go", + "display": "internal/principalmemory/query_service_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/mcp/tools_principal_memory.go", + "display": "internal/mcp/tools_principal_memory.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/mcp/tools_principal_memory_test.go", + "display": "internal/mcp/tools_principal_memory_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/mcp/tools_recall_principal_test.go", + "display": "internal/mcp/tools_recall_principal_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/mcp/recall_visibility_backfill_test.go", + "display": "internal/mcp/recall_visibility_backfill_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/mcp/store_memory_principal_test.go", + "display": "internal/mcp/store_memory_principal_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/worker/handlers_principal_memory.go", + "display": "internal/worker/handlers_principal_memory.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/worker/handlers_principal_memory_test.go", + "display": "internal/worker/handlers_principal_memory_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/worker/scope_bypass_w4_test.go", + "display": "internal/worker/scope_bypass_w4_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/worker/retention.go", + "display": "internal/worker/retention.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/worker/retention_test.go", + "display": "internal/worker/retention_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/db/gorm/memory_store.go", + "display": "internal/db/gorm/memory_store.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/db/gorm/memory_store_principal_test.go", + "display": "internal/db/gorm/memory_store_principal_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/db/gorm/memory_store_principal_query_test.go", + "display": "internal/db/gorm/memory_store_principal_query_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/db/gorm/purge_store_test.go", + "display": "internal/db/gorm/purge_store_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "tests/critical/data_boundaries/principal_project_retention_test.go", + "display": "tests/critical/data_boundaries/principal_project_retention_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "tests/critical/customer_mode/customer_mode_test.go", + "display": "tests/critical/customer_mode/customer_mode_test.go", + "kind": "exact", + "line": 51 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "tests/critical/customer_mode/compatibility_test.go", + "display": "tests/critical/customer_mode/compatibility_test.go", + "kind": "exact", + "line": 51 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "tests/critical/customer_mode/cross_agent_test.go", + "display": "tests/critical/customer_mode/cross_agent_test.go", + "kind": "exact", + "line": 51 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "scripts/production-smoke/customer/run-customer-mode.ps1", + "display": "scripts/production-smoke/customer/run-customer-mode.ps1", + "kind": "exact", + "line": 51 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "scripts/production-smoke/customer/run-client-compatibility.ps1", + "display": "scripts/production-smoke/customer/run-client-compatibility.ps1", + "kind": "exact", + "line": 51 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "scripts/production-smoke/customer/run-cross-agent.ps1", + "display": "scripts/production-smoke/customer/run-cross-agent.ps1", + "kind": "exact", + "line": 51 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "scripts/production-smoke/customer/run-diagnostic-matrix.ps1", + "display": "scripts/production-smoke/customer/run-diagnostic-matrix.ps1", + "kind": "exact", + "line": 51 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "scripts/production-smoke/customer/assert-product-works.ps1", + "display": "scripts/production-smoke/customer/assert-product-works.ps1", + "kind": "exact", + "line": 51 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "README.md", + "display": "README.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "README.ru.md", + "display": "README.ru.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "README.zh.md", + "display": "README.zh.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "CONTRIBUTING.md", + "display": "CONTRIBUTING.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "CHANGELOG.md", + "display": "CHANGELOG.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "Makefile", + "display": "Makefile", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": ".env.example", + "display": ".env.example", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/DEPLOYMENT.md", + "display": "docs/DEPLOYMENT.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/MIGRATION.md", + "display": "docs/MIGRATION.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "display": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/arch/CONFIGURATION.md", + "display": "docs/arch/CONFIGURATION.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/arch/QUICKSTART.md", + "display": "docs/arch/QUICKSTART.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/release-notes/v6.43.0.md", + "display": "docs/release-notes/v6.43.0.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/public/engram.jpg", + "display": "docs/public/engram.jpg", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "plugin/engram/commands/setup.md", + "display": "plugin/engram/commands/setup.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "plugin/engram/commands/doctor.md", + "display": "plugin/engram/commands/doctor.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "README.md", + "display": "README.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "README.ru.md", + "display": "README.ru.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "README.zh.md", + "display": "README.zh.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "CONTRIBUTING.md", + "display": "CONTRIBUTING.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "CHANGELOG.md", + "display": "CHANGELOG.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "Makefile", + "display": "Makefile", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": ".env.example", + "display": ".env.example", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/DEPLOYMENT.md", + "display": "docs/DEPLOYMENT.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/MIGRATION.md", + "display": "docs/MIGRATION.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "display": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/operating-engram.md", + "display": "docs/operating-engram.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/arch/CONFIGURATION.md", + "display": "docs/arch/CONFIGURATION.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/arch/QUICKSTART.md", + "display": "docs/arch/QUICKSTART.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/public/engram.jpg", + "display": "docs/public/engram.jpg", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "plugin/engram/commands/setup.md", + "display": "plugin/engram/commands/setup.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "plugin/engram/commands/doctor.md", + "display": "plugin/engram/commands/doctor.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "cmd/engram/main.go", + "display": "cmd/engram/main.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "cmd/engram/main_test.go", + "display": "cmd/engram/main_test.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "cmd/engram/wiring.go", + "display": "cmd/engram/wiring.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "cmd/engram/exec_windows.go", + "display": "cmd/engram/exec_windows.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "cmd/engram/exec_unix.go", + "display": "cmd/engram/exec_unix.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "plugin/engram/.engram-project", + "display": "plugin/engram/.engram-project", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "plugin/engram/scripts/run-engram.js", + "display": "plugin/engram/scripts/run-engram.js", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "plugin/engram/scripts/run-engram.test.js", + "display": "plugin/engram/scripts/run-engram.test.js", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "plugin/engram/scripts/ensure-binary.js", + "display": "plugin/engram/scripts/ensure-binary.js", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "plugin/engram/scripts/ensure-binary.test.js", + "display": "plugin/engram/scripts/ensure-binary.test.js", + "kind": "exact", + "line": 54 + }, + { + "owner": "OC-INTEGRATION", + "branch": "work/prc-operator-console-integration", + "path": "apps/operator-console", + "display": "apps/operator-console/**", + "kind": "prefix", + "line": 55 + }, + { + "owner": "S4B-CONTRACT", + "branch": "work/prc-s4b-contract", + "path": ".agent/specs/engram-v7-directives-surfacing", + "display": ".agent/specs/engram-v7-directives-surfacing/**", + "kind": "prefix", + "line": 56 + }, + { + "owner": "V7-S4B-BACKEND", + "branch": "work/prc-v7-s4b-backend", + "path": "internal/cognitive/s4bsurfacing", + "display": "internal/cognitive/s4bsurfacing/**", + "kind": "prefix", + "line": 57 + }, + { + "owner": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "path": "internal/cognitive/core/event_bus.go", + "display": "internal/cognitive/core/event_bus.go", + "kind": "exact", + "line": 58 + }, + { + "owner": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "path": "internal/cognitive/core/event_bus_test.go", + "display": "internal/cognitive/core/event_bus_test.go", + "kind": "exact", + "line": 58 + }, + { + "owner": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "path": "internal/cognitive/core/hint_queue.go", + "display": "internal/cognitive/core/hint_queue.go", + "kind": "exact", + "line": 58 + }, + { + "owner": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "path": "internal/cognitive/core/hint_queue_test.go", + "display": "internal/cognitive/core/hint_queue_test.go", + "kind": "exact", + "line": 58 + }, + { + "owner": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "path": "internal/cognitive/s3ambient/queue.go", + "display": "internal/cognitive/s3ambient/queue.go", + "kind": "exact", + "line": 58 + }, + { + "owner": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "path": "internal/cognitive/s3ambient/subsystem.go", + "display": "internal/cognitive/s3ambient/subsystem.go", + "kind": "exact", + "line": 58 + }, + { + "owner": "V7-RUNTIME-WIRING", + "branch": "work/prc-v7-runtime-wiring", + "path": "internal/worker/service.go", + "display": "internal/worker/service.go", + "kind": "exact", + "line": 59 + }, + { + "owner": "V7-RUNTIME-WIRING", + "branch": "work/prc-v7-runtime-wiring", + "path": "internal/worker/service_v7_integration_test.go", + "display": "internal/worker/service_v7_integration_test.go", + "kind": "exact", + "line": 59 + }, + { + "owner": "V7-RUNTIME-WIRING", + "branch": "work/prc-v7-runtime-wiring", + "path": "internal/worker/handlers_stats_v7.go", + "display": "internal/worker/handlers_stats_v7.go", + "kind": "exact", + "line": 59 + }, + { + "owner": "V7-RUNTIME-WIRING", + "branch": "work/prc-v7-runtime-wiring", + "path": "internal/worker/handlers_stats_v7_test.go", + "display": "internal/worker/handlers_stats_v7_test.go", + "kind": "exact", + "line": 59 + }, + { + "owner": "V7-TELEMETRY-WIRING", + "branch": "work/prc-v7-telemetry-wiring", + "path": "internal/cognitive/s5/metrics.go", + "display": "internal/cognitive/s5/metrics.go", + "kind": "exact", + "line": 60 + }, + { + "owner": "V7-TELEMETRY-WIRING", + "branch": "work/prc-v7-telemetry-wiring", + "path": "internal/cognitive/s5/provider.go", + "display": "internal/cognitive/s5/provider.go", + "kind": "exact", + "line": 60 + }, + { + "owner": "V7-TELEMETRY-WIRING", + "branch": "work/prc-v7-telemetry-wiring", + "path": "internal/cognitive/s5/provider_test.go", + "display": "internal/cognitive/s5/provider_test.go", + "kind": "exact", + "line": 60 + }, + { + "owner": "V7-TELEMETRY-WIRING", + "branch": "work/prc-v7-telemetry-wiring", + "path": "internal/cognitive/s5/source_adapter.go", + "display": "internal/cognitive/s5/source_adapter.go", + "kind": "exact", + "line": 60 + }, + { + "owner": "V7-TELEMETRY-WIRING", + "branch": "work/prc-v7-telemetry-wiring", + "path": "internal/cognitive/s5/source_adapter_test.go", + "display": "internal/cognitive/s5/source_adapter_test.go", + "kind": "exact", + "line": 60 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/roadmap.md", + "display": ".agent/specs/roadmap.md", + "kind": "exact", + "line": 61 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/ui-surface-ledger.md", + "display": ".agent/specs/ui-surface-ledger.md", + "kind": "exact", + "line": 61 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/operator-console-production-integration", + "display": ".agent/specs/operator-console-production-integration/**", + "kind": "prefix", + "line": 61 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/engram-v7-ambient/spec.md", + "display": ".agent/specs/engram-v7-ambient/spec.md", + "kind": "exact", + "line": 61 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/engram-v7-ambient/plan.md", + "display": ".agent/specs/engram-v7-ambient/plan.md", + "kind": "exact", + "line": 61 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/engram-v7-ambient/checklists/general.md", + "display": ".agent/specs/engram-v7-ambient/checklists/general.md", + "kind": "exact", + "line": 61 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 61 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 61 + }, + { + "owner": "NORTHSTAR-CI-A-CONTRACTS", + "branch": "work/prc-northstar-ci-a-contracts", + "path": ".agent/specs/engram-absorption/ci-a-dense-vector/spec.md", + "display": ".agent/specs/engram-absorption/ci-a-dense-vector/spec.md", + "kind": "exact", + "line": 62 + }, + { + "owner": "NORTHSTAR-CI-A-CONTRACTS", + "branch": "work/prc-northstar-ci-a-contracts", + "path": ".agent/specs/engram-absorption/ci-a-dense-vector/plan.md", + "display": ".agent/specs/engram-absorption/ci-a-dense-vector/plan.md", + "kind": "exact", + "line": 62 + }, + { + "owner": "NORTHSTAR-CI-A-CONTRACTS", + "branch": "work/prc-northstar-ci-a-contracts", + "path": ".agent/specs/engram-absorption/ci-a-dense-vector/checklists/general.md", + "display": ".agent/specs/engram-absorption/ci-a-dense-vector/checklists/general.md", + "kind": "exact", + "line": 62 + }, + { + "owner": "NORTHSTAR-CI-A-CONTRACTS", + "branch": "work/prc-northstar-ci-a-contracts", + "path": ".agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 62 + }, + { + "owner": "NORTHSTAR-CI-A-CONTRACTS", + "branch": "work/prc-northstar-ci-a-contracts", + "path": ".agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 62 + }, + { + "owner": "NORTHSTAR-CI-B-CONTRACTS", + "branch": "work/prc-northstar-ci-b-contracts", + "path": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/spec.md", + "display": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/spec.md", + "kind": "exact", + "line": 63 + }, + { + "owner": "NORTHSTAR-CI-B-CONTRACTS", + "branch": "work/prc-northstar-ci-b-contracts", + "path": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/plan.md", + "display": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/plan.md", + "kind": "exact", + "line": 63 + }, + { + "owner": "NORTHSTAR-CI-B-CONTRACTS", + "branch": "work/prc-northstar-ci-b-contracts", + "path": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/checklists/general.md", + "display": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/checklists/general.md", + "kind": "exact", + "line": 63 + }, + { + "owner": "NORTHSTAR-CI-B-CONTRACTS", + "branch": "work/prc-northstar-ci-b-contracts", + "path": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 63 + }, + { + "owner": "NORTHSTAR-CI-B-CONTRACTS", + "branch": "work/prc-northstar-ci-b-contracts", + "path": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 63 + }, + { + "owner": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "path": ".agent/specs/engram-absorption/book/prd.md", + "display": ".agent/specs/engram-absorption/book/prd.md", + "kind": "exact", + "line": 64 + }, + { + "owner": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "path": ".agent/specs/engram-absorption/book/spec.md", + "display": ".agent/specs/engram-absorption/book/spec.md", + "kind": "exact", + "line": 64 + }, + { + "owner": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "path": ".agent/specs/engram-absorption/book/plan.md", + "display": ".agent/specs/engram-absorption/book/plan.md", + "kind": "exact", + "line": 64 + }, + { + "owner": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "path": ".agent/specs/engram-absorption/book/checklists/general.md", + "display": ".agent/specs/engram-absorption/book/checklists/general.md", + "kind": "exact", + "line": 64 + }, + { + "owner": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "path": ".agent/specs/engram-absorption/book/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/engram-absorption/book/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 64 + }, + { + "owner": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "path": ".agent/specs/engram-absorption/book/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/engram-absorption/book/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 64 + }, + { + "owner": "NORTHSTAR-MEM-CONTRACTS", + "branch": "work/prc-northstar-mem-contracts", + "path": ".agent/specs/engram-absorption/mem-residual/spec.md", + "display": ".agent/specs/engram-absorption/mem-residual/spec.md", + "kind": "exact", + "line": 65 + }, + { + "owner": "NORTHSTAR-MEM-CONTRACTS", + "branch": "work/prc-northstar-mem-contracts", + "path": ".agent/specs/engram-absorption/mem-residual/plan.md", + "display": ".agent/specs/engram-absorption/mem-residual/plan.md", + "kind": "exact", + "line": 65 + }, + { + "owner": "NORTHSTAR-MEM-CONTRACTS", + "branch": "work/prc-northstar-mem-contracts", + "path": ".agent/specs/engram-absorption/mem-residual/checklists/general.md", + "display": ".agent/specs/engram-absorption/mem-residual/checklists/general.md", + "kind": "exact", + "line": 65 + }, + { + "owner": "NORTHSTAR-MEM-CONTRACTS", + "branch": "work/prc-northstar-mem-contracts", + "path": ".agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 65 + }, + { + "owner": "NORTHSTAR-MEM-CONTRACTS", + "branch": "work/prc-northstar-mem-contracts", + "path": ".agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 65 + }, + { + "owner": "NORTHSTAR-EFFECTIVENESS-CONTRACTS", + "branch": "work/prc-northstar-effectiveness-contracts", + "path": ".agent/specs/engram-effectiveness/production-ready-residual/spec.md", + "display": ".agent/specs/engram-effectiveness/production-ready-residual/spec.md", + "kind": "exact", + "line": 66 + }, + { + "owner": "NORTHSTAR-EFFECTIVENESS-CONTRACTS", + "branch": "work/prc-northstar-effectiveness-contracts", + "path": ".agent/specs/engram-effectiveness/production-ready-residual/plan.md", + "display": ".agent/specs/engram-effectiveness/production-ready-residual/plan.md", + "kind": "exact", + "line": 66 + }, + { + "owner": "NORTHSTAR-EFFECTIVENESS-CONTRACTS", + "branch": "work/prc-northstar-effectiveness-contracts", + "path": ".agent/specs/engram-effectiveness/production-ready-residual/checklists/general.md", + "display": ".agent/specs/engram-effectiveness/production-ready-residual/checklists/general.md", + "kind": "exact", + "line": 66 + }, + { + "owner": "NORTHSTAR-EFFECTIVENESS-CONTRACTS", + "branch": "work/prc-northstar-effectiveness-contracts", + "path": ".agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 66 + }, + { + "owner": "NORTHSTAR-EFFECTIVENESS-CONTRACTS", + "branch": "work/prc-northstar-effectiveness-contracts", + "path": ".agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 66 + }, + { + "owner": "NORTHSTAR-SETTINGS-CONTRACTS", + "branch": "work/prc-northstar-settings-contracts", + "path": ".agent/specs/settings-store/production-ready-residual/spec.md", + "display": ".agent/specs/settings-store/production-ready-residual/spec.md", + "kind": "exact", + "line": 67 + }, + { + "owner": "NORTHSTAR-SETTINGS-CONTRACTS", + "branch": "work/prc-northstar-settings-contracts", + "path": ".agent/specs/settings-store/production-ready-residual/plan.md", + "display": ".agent/specs/settings-store/production-ready-residual/plan.md", + "kind": "exact", + "line": 67 + }, + { + "owner": "NORTHSTAR-SETTINGS-CONTRACTS", + "branch": "work/prc-northstar-settings-contracts", + "path": ".agent/specs/settings-store/production-ready-residual/checklists/general.md", + "display": ".agent/specs/settings-store/production-ready-residual/checklists/general.md", + "kind": "exact", + "line": 67 + }, + { + "owner": "NORTHSTAR-SETTINGS-CONTRACTS", + "branch": "work/prc-northstar-settings-contracts", + "path": ".agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 67 + }, + { + "owner": "NORTHSTAR-SETTINGS-CONTRACTS", + "branch": "work/prc-northstar-settings-contracts", + "path": ".agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 67 + } + ], + "repeated_exact_paths": [ + { + "path": ".env.example", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": ".github/workflows/test.yml", + "exact_owners": [ + "RELEASE-GATES", + "IMAGE-REMEDIATION" + ], + "prefix_owners": [], + "effective_owners": [ + "RELEASE-GATES", + "IMAGE-REMEDIATION" + ], + "declared_epoch": true, + "epoch_owners": [ + "RELEASE-GATES", + "IMAGE-REMEDIATION" + ] + }, + { + "path": "apps/operator-console/package-lock.json", + "exact_owners": [ + "IMAGE-REMEDIATION" + ], + "prefix_owners": [ + "OC-INTEGRATION" + ], + "effective_owners": [ + "IMAGE-REMEDIATION", + "OC-INTEGRATION" + ], + "declared_epoch": true, + "epoch_owners": [ + "IMAGE-REMEDIATION", + "OC-INTEGRATION" + ] + }, + { + "path": "apps/operator-console/package.json", + "exact_owners": [ + "IMAGE-REMEDIATION" + ], + "prefix_owners": [ + "OC-INTEGRATION" + ], + "effective_owners": [ + "IMAGE-REMEDIATION", + "OC-INTEGRATION" + ], + "declared_epoch": true, + "epoch_owners": [ + "IMAGE-REMEDIATION", + "OC-INTEGRATION" + ] + }, + { + "path": "CHANGELOG.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "CONTRIBUTING.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "deploy/docker-compose.runtime.yml", + "exact_owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ], + "prefix_owners": [], + "effective_owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ], + "declared_epoch": true, + "epoch_owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ] + }, + { + "path": "docker-compose.yml", + "exact_owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ], + "prefix_owners": [], + "effective_owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ], + "declared_epoch": true, + "epoch_owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ] + }, + { + "path": "Dockerfile", + "exact_owners": [ + "SECURITY-TOOLCHAIN", + "IMAGE-REMEDIATION" + ], + "prefix_owners": [], + "effective_owners": [ + "SECURITY-TOOLCHAIN", + "IMAGE-REMEDIATION" + ], + "declared_epoch": true, + "epoch_owners": [ + "SECURITY-TOOLCHAIN", + "IMAGE-REMEDIATION" + ] + }, + { + "path": "docs/arch/CONFIGURATION.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "docs/arch/QUICKSTART.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "docs/DEPLOYMENT.md", + "exact_owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "docs/MIGRATION.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "docs/operating-engram.md", + "exact_owners": [ + "REDACTION-LIVE-CONTRACT", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "REDACTION-LIVE-CONTRACT", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "REDACTION-LIVE-CONTRACT", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "exact_owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "docs/public/engram.jpg", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "internal/bulkops/facade_test.go", + "exact_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ] + }, + { + "path": "internal/bulkops/facade.go", + "exact_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION", + "DURABLE-AUDIT-BOUNDARIES" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION", + "DURABLE-AUDIT-BOUNDARIES" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION", + "DURABLE-AUDIT-BOUNDARIES" + ] + }, + { + "path": "internal/bulkops/rollback_test.go", + "exact_owners": [ + "DB-BULKOPS", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ] + }, + { + "path": "internal/db/gorm/candidate_store_test.go", + "exact_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-TEST-POOL-HYGIENE", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-TEST-POOL-HYGIENE", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-TEST-POOL-HYGIENE", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ] + }, + { + "path": "internal/db/gorm/candidate_store.go", + "exact_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ] + }, + { + "path": "internal/db/gorm/user_store.go", + "exact_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ] + }, + { + "path": "internal/mcp/tools_bulkops.go", + "exact_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ] + }, + { + "path": "internal/mcp/tools_dryrun_test.go", + "exact_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ] + }, + { + "path": "internal/mcp/tools_memory.go", + "exact_owners": [ + "MCP-STRUCTURED-INPUT-VALIDATION", + "REDACTION-LIVE-CONTRACT" + ], + "prefix_owners": [], + "effective_owners": [ + "MCP-STRUCTURED-INPUT-VALIDATION", + "REDACTION-LIVE-CONTRACT" + ], + "declared_epoch": true, + "epoch_owners": [ + "MCP-STRUCTURED-INPUT-VALIDATION", + "REDACTION-LIVE-CONTRACT" + ] + }, + { + "path": "internal/worker/auth_handlers.go", + "exact_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ] + }, + { + "path": "internal/worker/service.go", + "exact_owners": [ + "AUTH-BOOTSTRAP-SECURITY", + "REDACTION-LIVE-CONTRACT", + "V7-RUNTIME-WIRING" + ], + "prefix_owners": [], + "effective_owners": [ + "AUTH-BOOTSTRAP-SECURITY", + "REDACTION-LIVE-CONTRACT", + "V7-RUNTIME-WIRING" + ], + "declared_epoch": true, + "epoch_owners": [ + "AUTH-BOOTSTRAP-SECURITY", + "REDACTION-LIVE-CONTRACT", + "V7-RUNTIME-WIRING" + ] + }, + { + "path": "Makefile", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "pkg/models/snapshot.go", + "exact_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ] + }, + { + "path": "plugin/engram/commands/doctor.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "plugin/engram/commands/setup.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "README.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "README.ru.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "README.zh.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + } + ], + "prefix_intersections": [ + { + "left_owner": "IMAGE-REMEDIATION", + "left": "apps/operator-console/package.json", + "right_owner": "OC-INTEGRATION", + "right": "apps/operator-console/**", + "exact_path": "apps/operator-console/package.json", + "declared_epoch": true + }, + { + "left_owner": "IMAGE-REMEDIATION", + "left": "apps/operator-console/package-lock.json", + "right_owner": "OC-INTEGRATION", + "right": "apps/operator-console/**", + "exact_path": "apps/operator-console/package-lock.json", + "declared_epoch": true + } + ], + "epochs": [ + { + "path": "internal/db/gorm/candidate_store.go", + "owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "transfer_gate": "rejected predecessor checker/hash recorded; rework uses exact base `68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef`; each accepted successor requires checker PASS, post-review PASS, integration SHA, and exact rebase before edit", + "line": 6 + }, + { + "path": "internal/db/gorm/candidate_store_test.go", + "owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-TEST-POOL-HYGIENE", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "transfer_gate": "behavioral-edge head `bd68c05baf4b7250096dd84f56bebea2aa555970` remains current authority until pool-hygiene product `276337b3e96aa5af6d2e7dd9a0002ff957e5ffc9` plus evidence `68242c48aaad62ec087166eeb9ea32f14d189450` receive fresh checker and post-review; later successors require exact integration and rebase", + "line": 7 + }, + { + "path": "internal/mcp/tools_bulkops.go", + "owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "transfer_gate": "rejected predecessor checker/hash recorded; rework base is exact rejected head; checker and post-review PASS plus integration SHA close the transfer", + "line": 8 + }, + { + "path": "internal/mcp/tools_dryrun_test.go", + "owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "transfer_gate": "rejected predecessor checker/hash recorded; rework base is exact rejected head; checker and post-review PASS plus integration SHA close the transfer", + "line": 8 + }, + { + "path": "internal/bulkops/facade.go", + "owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION", + "DURABLE-AUDIT-BOUNDARIES" + ], + "transfer_gate": "behavioral-edge composite checker and post-review PASS; exact integration SHA recorded; demolition rebased before edit; historical ingest guard green before durable-audit fault work", + "line": 9 + }, + { + "path": "internal/bulkops/facade_test.go", + "owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "transfer_gate": "accepted behavioral-edge composite integrated; demolition worktree rebased; focused historical-only regressions PASS before integration", + "line": 10 + }, + { + "path": "internal/bulkops/rollback_test.go", + "owners": [ + "DB-BULKOPS", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "transfer_gate": "accepted behavioral-edge composite and DB-GOVERNANCE integrated; candidate-review successor rebased; combined checker and post-review PASS", + "line": 11 + }, + { + "path": "pkg/models/snapshot.go", + "owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "transfer_gate": "accepted behavioral-edge composite integrated; demolition successor rebased; persistence-compatibility and non-executable regressions PASS", + "line": 12 + }, + { + "path": "internal/db/gorm/user_store.go", + "owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "transfer_gate": "each predecessor checker and post-review PASS, integration SHA recorded, successor rebased; no simultaneous writer", + "line": 13 + }, + { + "path": "internal/worker/auth_handlers.go", + "owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "transfer_gate": "each predecessor checker and post-review PASS, integration SHA recorded, successor rebased; no simultaneous writer", + "line": 14 + }, + { + "path": "internal/worker/service.go", + "owners": [ + "AUTH-BOOTSTRAP-SECURITY", + "REDACTION-LIVE-CONTRACT", + "V7-RUNTIME-WIRING" + ], + "transfer_gate": "auth bootstrap checker and post-review PASS, commit integrated, redaction worktree rebased and boot-captured rules proved; V7 later rebases the redaction integration and reruns both auth and redaction route regressions", + "line": 15 + }, + { + "path": "internal/mcp/tools_memory.go", + "owners": [ + "MCP-STRUCTURED-INPUT-VALIDATION", + "REDACTION-LIVE-CONTRACT" + ], + "transfer_gate": "structured-input checker/post-review PASS and exact integration SHA; redaction successor rebased so malformed input remains zero-audit/zero-write before matched-mutation audit enforcement", + "line": 16 + }, + { + "path": "docs/operating-engram.md", + "owners": [ + "REDACTION-LIVE-CONTRACT", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "redaction live contract checker/post-review PASS and exact integration SHA; FINAL rebased and revalidates the operator claims against final published artifacts", + "line": 17 + }, + { + "path": "Dockerfile", + "owners": [ + "SECURITY-TOOLCHAIN", + "IMAGE-REMEDIATION" + ], + "transfer_gate": "toolchain checker and post-review PASS, commit integrated, image worktree rebased, zero-finding rebuild and scan before successor integration", + "line": 18 + }, + { + "path": ".github/workflows/test.yml", + "owners": [ + "RELEASE-GATES", + "IMAGE-REMEDIATION" + ], + "transfer_gate": "release-gates checker and post-review PASS, commit integrated, image worktree rebased before workflow image-identity changes", + "line": 19 + }, + { + "path": "docker-compose.yml", + "owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ], + "transfer_gate": "image checker and post-review PASS, `final-image-set.json` recorded, deployment worktree rebased, fresh scan after edits", + "line": 20 + }, + { + "path": "deploy/docker-compose.runtime.yml", + "owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ], + "transfer_gate": "image checker and post-review PASS, `final-image-set.json` recorded, deployment worktree rebased, fresh scan after edits", + "line": 20 + }, + { + "path": "apps/operator-console/package.json", + "owners": [ + "IMAGE-REMEDIATION", + "OC-INTEGRATION" + ], + "transfer_gate": "image checker and post-review PASS, OC worktree rebased, any later dependency edit reruns audit/build/browser/image scan", + "line": 21 + }, + { + "path": "apps/operator-console/package-lock.json", + "owners": [ + "IMAGE-REMEDIATION", + "OC-INTEGRATION" + ], + "transfer_gate": "image checker and post-review PASS, OC worktree rebased, any later dependency edit reruns audit/build/browser/image scan", + "line": 21 + }, + { + "path": "docs/DEPLOYMENT.md", + "owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "image proof integrated; CORE rebased for M5; FINAL rebased to exact M6 integration and final-version artifact before edit", + "line": 22 + }, + { + "path": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "image proof integrated; CORE rebased for M5; FINAL rebased to exact M6 integration and final-version artifact before edit", + "line": 22 + }, + { + "path": "README.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "README.ru.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "README.zh.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "CONTRIBUTING.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "CHANGELOG.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "Makefile", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": ".env.example", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "docs/MIGRATION.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "docs/arch/CONFIGURATION.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "docs/arch/QUICKSTART.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "docs/public/engram.jpg", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "plugin/engram/commands/setup.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "plugin/engram/commands/doctor.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "internal/worker/dream_cycle.go", + "owners": [ + "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS" + ], + "transfer_gate": "single-owner tracked epoch with no predecessor; the maker starts only after the named dependencies, then requires checker PASS, post-review PASS, integration SHA, and a root plan/state amendment before any later writer", + "line": 24 + }, + { + "path": "internal/worker/dream_cycle_test.go", + "owners": [ + "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS" + ], + "transfer_gate": "single-owner tracked epoch with no predecessor; the maker starts only after the named dependencies, then requires checker PASS, post-review PASS, integration SHA, and a root plan/state amendment before any later writer", + "line": 24 + } + ], + "errors": [] +} diff --git a/.agent/specs/release-gates-r9/evidence/plan-governance/ledger-static.json b/.agent/specs/release-gates-r9/evidence/plan-governance/ledger-static.json new file mode 100644 index 00000000..bc71ac0e --- /dev/null +++ b/.agent/specs/release-gates-r9/evidence/plan-governance/ledger-static.json @@ -0,0 +1,4579 @@ +{ + "schema_version": 2, + "gate": "plan-path-ownership", + "mode": "Ledger", + "verdict": "PASS", + "started_at": "2026-07-10T21:52:28.1466808+00:00", + "finished_at": "2026-07-10T21:52:34.6673272+00:00", + "duration_seconds": 6.521, + "plan": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-master-plan.md", + "expected_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f", + "observed_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f", + "hash_match": true + }, + "state": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-ownership-state.json", + "sha256": "e41f52fbafa317eb1571c76a7d1de9add543da38a1b2471dbe587a849b21c032", + "verdict": "PASS", + "plan_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f" + }, + "scope_map": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-scope-map.json", + "expected_sha256": "fb170d59f3072117489402fd347cd1432c40adbc842811f92227498bcbc92693", + "observed_sha256": "fb170d59f3072117489402fd347cd1432c40adbc842811f92227498bcbc92693", + "verdict": "PASS", + "entries": 67, + "unique_slices": 67 + }, + "live_register": { + "supplied": false, + "path": "", + "sha256": null, + "checked": false, + "rows": 0 + }, + "counts": { + "maker_slices": 57, + "declarations": 351, + "exact_paths": 328, + "prefixes": 23, + "repeated_exact_paths": 34, + "prefix_intersections": 2, + "undeclared_prefix_intersections": 0, + "declared_epochs": 36, + "state_epochs": 36, + "errors": 0 + }, + "slices": [ + { + "slice": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision9-maker", + "paths": [ + ".agent/plans/2026-07-10-engram-production-ready-master-plan.md", + ".agent/plans/2026-07-10-engram-production-ready-ownership-state.json", + ".agent/plans/2026-07-10-engram-production-ready-scope-map.json", + ".agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json", + ".agent/specs/release-gates-r9/evidence/plan-governance/**", + ".agent/reports/2026-07-11-release-gates-r9-plan-governance.md" + ], + "line": 6 + }, + { + "slice": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "paths": [ + "internal/bulkops/facade.go", + "internal/bulkops/facade_test.go", + "internal/bulkops/rollback.go", + "internal/bulkops/rollback_test.go", + "internal/db/gorm/candidate_store.go", + "internal/db/gorm/candidate_store_test.go", + "internal/mcp/tools_bulkops.go", + "internal/mcp/tools_dryrun_test.go", + "pkg/models/snapshot.go", + ".agent/reports/2026-07-10-db-bulkops-capture-lock-rework-maker.md", + ".agent/reports/2026-07-10-db-bulkops-sibling-rework-maker.md", + ".agent/specs/production-ready-db-bulkops/evidence/**", + ".agent/reports/evidence/production-ready/db-bulkops-sibling-rework/**" + ], + "line": 7 + }, + { + "slice": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "paths": [ + "internal/db/gorm/candidate_store.go", + "internal/db/gorm/candidate_store_test.go", + "internal/mcp/tools_bulkops.go", + "internal/mcp/tools_dryrun_test.go", + ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker.md", + ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker-3.md", + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ], + "line": 8 + }, + { + "slice": "DB-TEST-POOL-HYGIENE", + "branch": "work/prc-db-test-pool-hygiene-evidence-r2", + "paths": [ + "internal/db/gorm/candidate_store_test.go", + ".agent/reports/2026-07-10-db-test-pool-hygiene-maker.md", + ".agent/reports/2026-07-10-db-test-pool-hygiene-evidence-revision-maker.md", + ".agent/reports/evidence/production-ready/db-test-pool-hygiene/**" + ], + "line": 9 + }, + { + "slice": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "paths": [ + "internal/db/gorm/candidate_store.go", + "internal/db/gorm/candidate_store_test.go", + "internal/db/gorm/rule_arbiter_store_test.go", + "internal/db/gorm/rule_governance_store.go", + "internal/db/gorm/rule_governance_store_test.go", + "internal/db/gorm/rule_governance_rg3_store_test.go", + "internal/db/gorm/migration_rule_governance.go", + "internal/db/gorm/migration_rule_arbiter.go", + "internal/db/gorm/migration_rule_governance_snapshot_statuses.go" + ], + "line": 10 + }, + { + "slice": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "paths": [ + "internal/reviewpacket/candidate.go", + "internal/reviewpacket/candidate_test.go", + "internal/db/gorm/candidate_store.go", + "internal/db/gorm/candidate_store_test.go", + "internal/db/gorm/snapshot_store.go", + "internal/db/gorm/snapshot_store_test.go", + "internal/bulkops/rollback_test.go", + "tests/critical/candidate_review/candidate_review_snapshot_rollback_test.go" + ], + "line": 11 + }, + { + "slice": "INGEST-DOC-SNAPSHOT-DEMOLITION", + "branch": "work/prc-ingest-doc-snapshot-demolition", + "paths": [ + "internal/bulkops/facade.go", + "internal/bulkops/facade_test.go", + "pkg/models/snapshot.go", + "pkg/models/snapshot_test.go", + "internal/mcp/ingest_snapshot_contract_test.go" + ], + "line": 13 + }, + { + "slice": "DB-AUTH", + "branch": "work/prc-db-auth", + "paths": [ + "internal/db/gorm/user_store.go", + "internal/db/gorm/user_store_test.go", + "internal/worker/auth_handlers.go", + "internal/worker/auth_handlers_lifecycle_test.go", + ".agent/reports/db-auth-rework-maker-2026-07-10.md" + ], + "line": 14 + }, + { + "slice": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "paths": [ + "internal/config/config.go", + "internal/config/config_test.go", + "internal/config/envnames.go", + "internal/db/gorm/user_store.go", + "internal/worker/middleware.go", + "internal/worker/middleware_test.go", + "internal/worker/auth_handlers.go", + "internal/worker/auth_bootstrap_limiter.go", + "internal/worker/auth_bootstrap_limiter_test.go", + "internal/worker/auth_bootstrap_security_test.go", + "internal/worker/service.go", + "tests/critical/auth_bootstrap/first_admin_bootstrap_test.go", + "scripts/production-smoke/customer/run-auth-bootstrap-adversary.ps1" + ], + "line": 15 + }, + { + "slice": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "paths": [ + "internal/db/gorm/domain_owner_store.go", + "internal/db/gorm/domain_owner_store_test.go", + "internal/db/gorm/user_store.go", + "internal/worker/auth_handlers.go", + "internal/worker/auth_audit_durability_test.go", + "internal/bulkops/facade.go", + "internal/bulkops/audit_durability_test.go", + "scripts/production-smoke/customer/run-durable-audit-faults.ps1" + ], + "line": 16 + }, + { + "slice": "DB-CRYSTALLIZATION", + "branch": "work/prc-db-crystallization", + "paths": [ + "internal/worker/handlers_hooks_crystallization_integration_test.go" + ], + "line": 17 + }, + { + "slice": "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS", + "branch": "work/prc-crystallization-dream-cycle-correctness", + "paths": [ + "internal/worker/dream_cycle.go", + "internal/worker/dream_cycle_test.go", + ".agent/reports/2026-07-10-crystallization-dream-cycle-correctness-maker.md", + ".agent/e/cdc/**" + ], + "line": 18 + }, + { + "slice": "DB-EMBEDDING-STATS", + "branch": "work/prc-db-embedding-stats", + "paths": [ + "internal/embedding/store.go", + "internal/embedding/store_stats_test.go", + ".agent/reports/2026-07-10-db-embedding-stats-maker.md", + ".agent/reports/evidence/production-ready/db-embedding-stats/**", + ".agent/specs/db-embedding-stats/evidence/**" + ], + "line": 19 + }, + { + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/**", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/**", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/**", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/**", + ".agent/specs/db-embedding-stats-evidence-transport/evidence/**" + ], + "line": 20 + }, + { + "slice": "DB-REAPER", + "branch": "work/prc-db-reaper-shutdown-r4", + "paths": [ + "internal/worker/reaper/reaper.go", + "internal/worker/reaper/reaper_test.go" + ], + "line": 21 + }, + { + "slice": "SECURITY-TOOLCHAIN", + "branch": "work/prc-security-toolchain", + "paths": [ + "go.mod", + "go.sum", + "Dockerfile" + ], + "line": 22 + }, + { + "slice": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision9-maker", + "paths": [ + ".github/workflows/test.yml", + "scripts/production-gates/assert-plan-path-ownership.ps1", + "scripts/production-gates/assert-active-candidate-path-authority.ps1", + "scripts/production-gates/run-db-suite.ps1", + ".agent/specs/release-gates-r9/evidence/release-gates/**", + ".agent/reports/2026-07-11-release-gates-r9-maker.md" + ], + "line": 23 + }, + { + "slice": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "paths": [ + "Dockerfile", + "cmd/engram-healthcheck/main.go", + "cmd/engram-healthcheck/main_test.go", + "apps/operator-console/package.json", + "apps/operator-console/package-lock.json", + "deploy/postgres/Dockerfile", + "docker-compose.yml", + "deploy/docker-compose.runtime.yml", + "docs/DEPLOYMENT.md", + "docs/PRODUCTION-TESTING-PLAYBOOK.md", + ".github/workflows/test.yml", + ".github/workflows/docker.yaml", + ".github/workflows/docker-publish.yml", + "scripts/production-gates/build-and-scan-images.ps1", + "tests/critical/runtime/image_runtime_contract_test.go", + "tests/critical/runtime/postgres_image_contract_test.go" + ], + "line": 24 + }, + { + "slice": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "paths": [ + "internal/db/gorm/project_store.go", + "internal/db/gorm/project_identity_v2_test.go", + "internal/grpcserver/project_identity_v2_test.go", + "internal/proxy/identity.go", + "internal/proxy/identity_test.go", + "internal/proxy/identity_process_test.go", + "plugin/engram/hooks/lib.js", + "plugin/engram/hooks/project-identity-v2.test.js", + "plugin/openclaw-engram/src/identity.ts", + "plugin/openclaw-engram/test/project-identity-v2.test.mjs", + ".agent/specs/security-project-identity/evidence/**", + ".agent/reports/evidence/production-ready/security-project-identity/**" + ], + "line": 25 + }, + { + "slice": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "paths": [ + "plugin/openclaw-engram/.gitignore", + "plugin/openclaw-engram/package.json", + "plugin/openclaw-engram/package-lock.json", + "plugin/openclaw-engram/openclaw.plugin.json", + "plugin/openclaw-engram/README.md", + ".github/workflows/plugin-publish.yml", + "docs/RELEASE-PROTOCOL.md" + ], + "line": 26 + }, + { + "slice": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "paths": [ + "internal/update/update.go", + "internal/update/update_test.go", + "internal/worker/handlers_update.go", + "internal/worker/handlers_update_test.go", + "scripts/install.sh", + "scripts/install.ps1", + ".goreleaser.yaml", + ".github/workflows/release.yaml", + "plugin/engram/hooks/hook-cli.test.js" + ], + "line": 27 + }, + { + "slice": "DOCUMENT-INGEST-PUBLIC-TRUTH", + "branch": "work/prc-document-ingest-public-truth", + "paths": [ + "internal/mcp/server.go", + "internal/mcp/ingest_document_description_test.go" + ], + "line": 29 + }, + { + "slice": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "paths": [ + "internal/mcp/coerce.go", + "internal/mcp/coerce_test.go", + "internal/mcp/tools_candidates.go", + "internal/mcp/tools_candidates_test.go", + "internal/mcp/tools_memory.go", + "internal/mcp/tools_memory_edit_test.go", + "internal/mcp/tools_memory_significance.go", + "internal/mcp/tools_memory_significance_test.go", + "internal/mcp/tools_store_consolidated.go", + "internal/mcp/tools_settings.go", + "internal/mcp/tools_settings_test.go", + "internal/mcp/tools_documents_v2.go", + "internal/mcp/tools_rule_governance.go", + "internal/mcp/tools_rule_governance_test.go", + "internal/mcp/structured_input_validation_test.go" + ], + "line": 31 + }, + { + "slice": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "paths": [ + "internal/redaction/layer.go", + "internal/redaction/layer_test.go", + "internal/redaction/rejection_test.go", + "internal/mcp/redaction_guard.go", + "internal/mcp/redaction_guard_test.go", + "internal/mcp/tools_memory.go", + "internal/mcp/tools_rules.go", + "internal/mcp/tools_memory_redaction_audit_test.go", + "internal/mcp/tools_rules_redaction_audit_test.go", + "internal/worker/service.go", + "internal/worker/service_redaction_test.go", + "docs/operating-engram.md", + ".agent/reports/evidence/production-ready/redaction-live-contract/**" + ], + "line": 32 + }, + { + "slice": "RETRIEVAL-VECTOR-CONTRACT", + "branch": "work/prc-retrieval-vector-contract", + "paths": [ + "internal/retrieval/hybrid_integration_test.go" + ], + "line": 34 + }, + { + "slice": "STATIC-EMBED-CONTRACT", + "branch": "work/prc-static-embed-contract", + "paths": [ + "internal/worker/static_embed_test.go" + ], + "line": 35 + }, + { + "slice": "PRE-V5-UPGRADE-CONTRACT", + "branch": "work/prc-pre-v5-upgrade-contract", + "paths": [ + "internal/db/gorm/migrations_integration_test.go", + "internal/grpcserver/credential_migration_test.go", + "tests/fixtures/pre-v5/**", + "tests/critical/recovery/pre_v5_upgrade_test.go", + "scripts/production-smoke/customer/run-pre-v5-upgrade.ps1" + ], + "line": 36 + }, + { + "slice": "T007-COMPAT-DEMOLITION-CLASSIFICATION", + "branch": "work/prc-t007-compat-classification", + "paths": [ + "internal/mcp/store_memory_compat_t007_test.go" + ], + "line": 37 + }, + { + "slice": "DB-RULES-ISOLATION", + "branch": "work/prc-db-rules-isolation", + "paths": [ + "internal/worker/handlers_rules_test.go", + "scripts/production-gates/run-db-rules-isolation.ps1" + ], + "line": 38 + }, + { + "slice": "COVERAGE-CMD-ENGRAM", + "branch": "work/prc-coverage-cmd-engram", + "paths": [ + "cmd/engram/production_readiness_coverage_test.go" + ], + "line": 39 + }, + { + "slice": "COVERAGE-CMD-SERVER", + "branch": "work/prc-coverage-cmd-server", + "paths": [ + "cmd/engram-server/production_readiness_coverage_test.go" + ], + "line": 40 + }, + { + "slice": "COVERAGE-UPDATE", + "branch": "work/prc-coverage-update", + "paths": [ + "internal/update/production_readiness_coverage_test.go" + ], + "line": 41 + }, + { + "slice": "COVERAGE-WORKER", + "branch": "work/prc-coverage-worker", + "paths": [ + "internal/worker/production_readiness_coverage_test.go" + ], + "line": 43 + }, + { + "slice": "COVERAGE-MCP", + "branch": "work/prc-coverage-mcp", + "paths": [ + "internal/mcp/production_readiness_coverage_test.go" + ], + "line": 44 + }, + { + "slice": "COVERAGE-GORM", + "branch": "work/prc-coverage-gorm", + "paths": [ + "internal/db/gorm/production_readiness_coverage_test.go" + ], + "line": 45 + }, + { + "slice": "COVERAGE-LOOM", + "branch": "work/prc-coverage-loom", + "paths": [ + "internal/handlers/loom/production_readiness_coverage_test.go" + ], + "line": 46 + }, + { + "slice": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "paths": [ + "docker-compose.yml", + "deploy/docker-compose.runtime.yml", + "deploy/docker-compose.operator-web-standalone.yml", + "deploy/entrypoint-server.sh", + "deploy/healthcheck-server.sh", + "deploy/verify-rollback.ps1", + "deploy/verify-runtime-policy.ps1" + ], + "line": 47 + }, + { + "slice": "RECOVERY-DATA", + "branch": "work/prc-recovery-data", + "paths": [ + "scripts/recovery/start-disposable-postgres.ps1", + "scripts/recovery/verify-postgres-roundtrip.ps1", + "scripts/recovery/seed-recovery-fixture.ps1", + "scripts/recovery/assert-recovery-fixture.ps1", + "tests/critical/recovery/postgres_roundtrip_test.go" + ], + "line": 48 + }, + { + "slice": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "paths": [ + "internal/module/obs/logging.go", + "internal/module/obs/logging_test.go", + "internal/module/obs/meter.go", + "internal/module/obs/meter_test.go", + "internal/module/obs/metrics.go", + "internal/module/obs/metrics_test.go", + "cmd/engram-server/main.go", + "cmd/engram-server/main_test.go", + "scripts/production-smoke/verify-otlp.ps1" + ], + "line": 49 + }, + { + "slice": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "paths": [ + "internal/scope/domain_policy.go", + "internal/scope/domain_policy_test.go", + "internal/scope/filter.go", + "internal/scope/filter_test.go", + "internal/scope/filter_principal_test.go", + "internal/scope/filter_w4_test.go", + "internal/principalmemory/access_policy.go", + "internal/principalmemory/access_policy_test.go", + "internal/principalmemory/domain_registry.go", + "internal/principalmemory/domain_registry_test.go", + "internal/principalmemory/query_service.go", + "internal/principalmemory/query_service_test.go", + "internal/mcp/tools_principal_memory.go", + "internal/mcp/tools_principal_memory_test.go", + "internal/mcp/tools_recall_principal_test.go", + "internal/mcp/recall_visibility_backfill_test.go", + "internal/mcp/store_memory_principal_test.go", + "internal/worker/handlers_principal_memory.go", + "internal/worker/handlers_principal_memory_test.go", + "internal/worker/scope_bypass_w4_test.go", + "internal/worker/retention.go", + "internal/worker/retention_test.go", + "internal/db/gorm/memory_store.go", + "internal/db/gorm/memory_store_principal_test.go", + "internal/db/gorm/memory_store_principal_query_test.go", + "internal/db/gorm/purge_store_test.go", + "tests/critical/data_boundaries/principal_project_retention_test.go" + ], + "line": 50 + }, + { + "slice": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "paths": [ + "tests/critical/customer_mode/customer_mode_test.go", + "tests/critical/customer_mode/compatibility_test.go", + "tests/critical/customer_mode/cross_agent_test.go", + "scripts/production-smoke/customer/run-customer-mode.ps1", + "scripts/production-smoke/customer/run-client-compatibility.ps1", + "scripts/production-smoke/customer/run-cross-agent.ps1", + "scripts/production-smoke/customer/run-diagnostic-matrix.ps1", + "scripts/production-smoke/customer/assert-product-works.ps1" + ], + "line": 51 + }, + { + "slice": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "paths": [ + "README.md", + "README.ru.md", + "README.zh.md", + "CONTRIBUTING.md", + "CHANGELOG.md", + "Makefile", + ".env.example", + "docs/DEPLOYMENT.md", + "docs/MIGRATION.md", + "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "docs/arch/CONFIGURATION.md", + "docs/arch/QUICKSTART.md", + "docs/release-notes/v6.43.0.md", + "docs/public/engram.jpg", + "plugin/engram/commands/setup.md", + "plugin/engram/commands/doctor.md" + ], + "line": 52 + }, + { + "slice": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "paths": [ + "README.md", + "README.ru.md", + "README.zh.md", + "CONTRIBUTING.md", + "CHANGELOG.md", + "Makefile", + ".env.example", + "docs/DEPLOYMENT.md", + "docs/MIGRATION.md", + "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "docs/operating-engram.md", + "docs/arch/CONFIGURATION.md", + "docs/arch/QUICKSTART.md", + "docs/public/engram.jpg", + "plugin/engram/commands/setup.md", + "plugin/engram/commands/doctor.md" + ], + "line": 53 + }, + { + "slice": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "paths": [ + "cmd/engram/main.go", + "cmd/engram/main_test.go", + "cmd/engram/wiring.go", + "cmd/engram/exec_windows.go", + "cmd/engram/exec_unix.go", + "plugin/engram/.engram-project", + "plugin/engram/scripts/run-engram.js", + "plugin/engram/scripts/run-engram.test.js", + "plugin/engram/scripts/ensure-binary.js", + "plugin/engram/scripts/ensure-binary.test.js" + ], + "line": 54 + }, + { + "slice": "OC-INTEGRATION", + "branch": "work/prc-operator-console-integration", + "paths": [ + "apps/operator-console/**" + ], + "line": 55 + }, + { + "slice": "S4B-CONTRACT", + "branch": "work/prc-s4b-contract", + "paths": [ + ".agent/specs/engram-v7-directives-surfacing/**" + ], + "line": 56 + }, + { + "slice": "V7-S4B-BACKEND", + "branch": "work/prc-v7-s4b-backend", + "paths": [ + "internal/cognitive/s4bsurfacing/**" + ], + "line": 57 + }, + { + "slice": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "paths": [ + "internal/cognitive/core/event_bus.go", + "internal/cognitive/core/event_bus_test.go", + "internal/cognitive/core/hint_queue.go", + "internal/cognitive/core/hint_queue_test.go", + "internal/cognitive/s3ambient/queue.go", + "internal/cognitive/s3ambient/subsystem.go" + ], + "line": 58 + }, + { + "slice": "V7-RUNTIME-WIRING", + "branch": "work/prc-v7-runtime-wiring", + "paths": [ + "internal/worker/service.go", + "internal/worker/service_v7_integration_test.go", + "internal/worker/handlers_stats_v7.go", + "internal/worker/handlers_stats_v7_test.go" + ], + "line": 59 + }, + { + "slice": "V7-TELEMETRY-WIRING", + "branch": "work/prc-v7-telemetry-wiring", + "paths": [ + "internal/cognitive/s5/metrics.go", + "internal/cognitive/s5/provider.go", + "internal/cognitive/s5/provider_test.go", + "internal/cognitive/s5/source_adapter.go", + "internal/cognitive/s5/source_adapter_test.go" + ], + "line": 60 + }, + { + "slice": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "paths": [ + ".agent/specs/roadmap.md", + ".agent/specs/ui-surface-ledger.md", + ".agent/specs/operator-console-production-integration/**", + ".agent/specs/engram-v7-ambient/spec.md", + ".agent/specs/engram-v7-ambient/plan.md", + ".agent/specs/engram-v7-ambient/checklists/general.md", + ".agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/change.md", + ".agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/tasks.md" + ], + "line": 61 + }, + { + "slice": "NORTHSTAR-CI-A-CONTRACTS", + "branch": "work/prc-northstar-ci-a-contracts", + "paths": [ + ".agent/specs/engram-absorption/ci-a-dense-vector/spec.md", + ".agent/specs/engram-absorption/ci-a-dense-vector/plan.md", + ".agent/specs/engram-absorption/ci-a-dense-vector/checklists/general.md", + ".agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/change.md", + ".agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/tasks.md" + ], + "line": 62 + }, + { + "slice": "NORTHSTAR-CI-B-CONTRACTS", + "branch": "work/prc-northstar-ci-b-contracts", + "paths": [ + ".agent/specs/engram-absorption/ci-b-graph-watcher-context/spec.md", + ".agent/specs/engram-absorption/ci-b-graph-watcher-context/plan.md", + ".agent/specs/engram-absorption/ci-b-graph-watcher-context/checklists/general.md", + ".agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/change.md", + ".agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/tasks.md" + ], + "line": 63 + }, + { + "slice": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "paths": [ + ".agent/specs/engram-absorption/book/prd.md", + ".agent/specs/engram-absorption/book/spec.md", + ".agent/specs/engram-absorption/book/plan.md", + ".agent/specs/engram-absorption/book/checklists/general.md", + ".agent/specs/engram-absorption/book/changes/CR-001-initial-scope/change.md", + ".agent/specs/engram-absorption/book/changes/CR-001-initial-scope/tasks.md" + ], + "line": 64 + }, + { + "slice": "NORTHSTAR-MEM-CONTRACTS", + "branch": "work/prc-northstar-mem-contracts", + "paths": [ + ".agent/specs/engram-absorption/mem-residual/spec.md", + ".agent/specs/engram-absorption/mem-residual/plan.md", + ".agent/specs/engram-absorption/mem-residual/checklists/general.md", + ".agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/change.md", + ".agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/tasks.md" + ], + "line": 65 + }, + { + "slice": "NORTHSTAR-EFFECTIVENESS-CONTRACTS", + "branch": "work/prc-northstar-effectiveness-contracts", + "paths": [ + ".agent/specs/engram-effectiveness/production-ready-residual/spec.md", + ".agent/specs/engram-effectiveness/production-ready-residual/plan.md", + ".agent/specs/engram-effectiveness/production-ready-residual/checklists/general.md", + ".agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/change.md", + ".agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/tasks.md" + ], + "line": 66 + }, + { + "slice": "NORTHSTAR-SETTINGS-CONTRACTS", + "branch": "work/prc-northstar-settings-contracts", + "paths": [ + ".agent/specs/settings-store/production-ready-residual/spec.md", + ".agent/specs/settings-store/production-ready-residual/plan.md", + ".agent/specs/settings-store/production-ready-residual/checklists/general.md", + ".agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/change.md", + ".agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/tasks.md" + ], + "line": 67 + } + ], + "declarations": [ + { + "owner": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision9-maker", + "path": ".agent/plans/2026-07-10-engram-production-ready-master-plan.md", + "display": ".agent/plans/2026-07-10-engram-production-ready-master-plan.md", + "kind": "exact", + "line": 6 + }, + { + "owner": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision9-maker", + "path": ".agent/plans/2026-07-10-engram-production-ready-ownership-state.json", + "display": ".agent/plans/2026-07-10-engram-production-ready-ownership-state.json", + "kind": "exact", + "line": 6 + }, + { + "owner": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision9-maker", + "path": ".agent/plans/2026-07-10-engram-production-ready-scope-map.json", + "display": ".agent/plans/2026-07-10-engram-production-ready-scope-map.json", + "kind": "exact", + "line": 6 + }, + { + "owner": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision9-maker", + "path": ".agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json", + "display": ".agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json", + "kind": "exact", + "line": 6 + }, + { + "owner": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision9-maker", + "path": ".agent/specs/release-gates-r9/evidence/plan-governance", + "display": ".agent/specs/release-gates-r9/evidence/plan-governance/**", + "kind": "prefix", + "line": 6 + }, + { + "owner": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision9-maker", + "path": ".agent/reports/2026-07-11-release-gates-r9-plan-governance.md", + "display": ".agent/reports/2026-07-11-release-gates-r9-plan-governance.md", + "kind": "exact", + "line": 6 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/bulkops/facade.go", + "display": "internal/bulkops/facade.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/bulkops/facade_test.go", + "display": "internal/bulkops/facade_test.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/bulkops/rollback.go", + "display": "internal/bulkops/rollback.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/bulkops/rollback_test.go", + "display": "internal/bulkops/rollback_test.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/db/gorm/candidate_store.go", + "display": "internal/db/gorm/candidate_store.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/db/gorm/candidate_store_test.go", + "display": "internal/db/gorm/candidate_store_test.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/mcp/tools_bulkops.go", + "display": "internal/mcp/tools_bulkops.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/mcp/tools_dryrun_test.go", + "display": "internal/mcp/tools_dryrun_test.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "pkg/models/snapshot.go", + "display": "pkg/models/snapshot.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": ".agent/reports/2026-07-10-db-bulkops-capture-lock-rework-maker.md", + "display": ".agent/reports/2026-07-10-db-bulkops-capture-lock-rework-maker.md", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": ".agent/reports/2026-07-10-db-bulkops-sibling-rework-maker.md", + "display": ".agent/reports/2026-07-10-db-bulkops-sibling-rework-maker.md", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": ".agent/specs/production-ready-db-bulkops/evidence", + "display": ".agent/specs/production-ready-db-bulkops/evidence/**", + "kind": "prefix", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": ".agent/reports/evidence/production-ready/db-bulkops-sibling-rework", + "display": ".agent/reports/evidence/production-ready/db-bulkops-sibling-rework/**", + "kind": "prefix", + "line": 7 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": "internal/db/gorm/candidate_store.go", + "display": "internal/db/gorm/candidate_store.go", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": "internal/db/gorm/candidate_store_test.go", + "display": "internal/db/gorm/candidate_store_test.go", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": "internal/mcp/tools_bulkops.go", + "display": "internal/mcp/tools_bulkops.go", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": "internal/mcp/tools_dryrun_test.go", + "display": "internal/mcp/tools_dryrun_test.go", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker.md", + "display": ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker.md", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker-3.md", + "display": ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker-3.md", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework", + "display": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**", + "kind": "prefix", + "line": 8 + }, + { + "owner": "DB-TEST-POOL-HYGIENE", + "branch": "work/prc-db-test-pool-hygiene-evidence-r2", + "path": "internal/db/gorm/candidate_store_test.go", + "display": "internal/db/gorm/candidate_store_test.go", + "kind": "exact", + "line": 9 + }, + { + "owner": "DB-TEST-POOL-HYGIENE", + "branch": "work/prc-db-test-pool-hygiene-evidence-r2", + "path": ".agent/reports/2026-07-10-db-test-pool-hygiene-maker.md", + "display": ".agent/reports/2026-07-10-db-test-pool-hygiene-maker.md", + "kind": "exact", + "line": 9 + }, + { + "owner": "DB-TEST-POOL-HYGIENE", + "branch": "work/prc-db-test-pool-hygiene-evidence-r2", + "path": ".agent/reports/2026-07-10-db-test-pool-hygiene-evidence-revision-maker.md", + "display": ".agent/reports/2026-07-10-db-test-pool-hygiene-evidence-revision-maker.md", + "kind": "exact", + "line": 9 + }, + { + "owner": "DB-TEST-POOL-HYGIENE", + "branch": "work/prc-db-test-pool-hygiene-evidence-r2", + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene", + "display": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/**", + "kind": "prefix", + "line": 9 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/candidate_store.go", + "display": "internal/db/gorm/candidate_store.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/candidate_store_test.go", + "display": "internal/db/gorm/candidate_store_test.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/rule_arbiter_store_test.go", + "display": "internal/db/gorm/rule_arbiter_store_test.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/rule_governance_store.go", + "display": "internal/db/gorm/rule_governance_store.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/rule_governance_store_test.go", + "display": "internal/db/gorm/rule_governance_store_test.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/rule_governance_rg3_store_test.go", + "display": "internal/db/gorm/rule_governance_rg3_store_test.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/migration_rule_governance.go", + "display": "internal/db/gorm/migration_rule_governance.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/migration_rule_arbiter.go", + "display": "internal/db/gorm/migration_rule_arbiter.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/migration_rule_governance_snapshot_statuses.go", + "display": "internal/db/gorm/migration_rule_governance_snapshot_statuses.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/reviewpacket/candidate.go", + "display": "internal/reviewpacket/candidate.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/reviewpacket/candidate_test.go", + "display": "internal/reviewpacket/candidate_test.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/db/gorm/candidate_store.go", + "display": "internal/db/gorm/candidate_store.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/db/gorm/candidate_store_test.go", + "display": "internal/db/gorm/candidate_store_test.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/db/gorm/snapshot_store.go", + "display": "internal/db/gorm/snapshot_store.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/db/gorm/snapshot_store_test.go", + "display": "internal/db/gorm/snapshot_store_test.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/bulkops/rollback_test.go", + "display": "internal/bulkops/rollback_test.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "tests/critical/candidate_review/candidate_review_snapshot_rollback_test.go", + "display": "tests/critical/candidate_review/candidate_review_snapshot_rollback_test.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "INGEST-DOC-SNAPSHOT-DEMOLITION", + "branch": "work/prc-ingest-doc-snapshot-demolition", + "path": "internal/bulkops/facade.go", + "display": "internal/bulkops/facade.go", + "kind": "exact", + "line": 13 + }, + { + "owner": "INGEST-DOC-SNAPSHOT-DEMOLITION", + "branch": "work/prc-ingest-doc-snapshot-demolition", + "path": "internal/bulkops/facade_test.go", + "display": "internal/bulkops/facade_test.go", + "kind": "exact", + "line": 13 + }, + { + "owner": "INGEST-DOC-SNAPSHOT-DEMOLITION", + "branch": "work/prc-ingest-doc-snapshot-demolition", + "path": "pkg/models/snapshot.go", + "display": "pkg/models/snapshot.go", + "kind": "exact", + "line": 13 + }, + { + "owner": "INGEST-DOC-SNAPSHOT-DEMOLITION", + "branch": "work/prc-ingest-doc-snapshot-demolition", + "path": "pkg/models/snapshot_test.go", + "display": "pkg/models/snapshot_test.go", + "kind": "exact", + "line": 13 + }, + { + "owner": "INGEST-DOC-SNAPSHOT-DEMOLITION", + "branch": "work/prc-ingest-doc-snapshot-demolition", + "path": "internal/mcp/ingest_snapshot_contract_test.go", + "display": "internal/mcp/ingest_snapshot_contract_test.go", + "kind": "exact", + "line": 13 + }, + { + "owner": "DB-AUTH", + "branch": "work/prc-db-auth", + "path": "internal/db/gorm/user_store.go", + "display": "internal/db/gorm/user_store.go", + "kind": "exact", + "line": 14 + }, + { + "owner": "DB-AUTH", + "branch": "work/prc-db-auth", + "path": "internal/db/gorm/user_store_test.go", + "display": "internal/db/gorm/user_store_test.go", + "kind": "exact", + "line": 14 + }, + { + "owner": "DB-AUTH", + "branch": "work/prc-db-auth", + "path": "internal/worker/auth_handlers.go", + "display": "internal/worker/auth_handlers.go", + "kind": "exact", + "line": 14 + }, + { + "owner": "DB-AUTH", + "branch": "work/prc-db-auth", + "path": "internal/worker/auth_handlers_lifecycle_test.go", + "display": "internal/worker/auth_handlers_lifecycle_test.go", + "kind": "exact", + "line": 14 + }, + { + "owner": "DB-AUTH", + "branch": "work/prc-db-auth", + "path": ".agent/reports/db-auth-rework-maker-2026-07-10.md", + "display": ".agent/reports/db-auth-rework-maker-2026-07-10.md", + "kind": "exact", + "line": 14 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/config/config.go", + "display": "internal/config/config.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/config/config_test.go", + "display": "internal/config/config_test.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/config/envnames.go", + "display": "internal/config/envnames.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/db/gorm/user_store.go", + "display": "internal/db/gorm/user_store.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/middleware.go", + "display": "internal/worker/middleware.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/middleware_test.go", + "display": "internal/worker/middleware_test.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/auth_handlers.go", + "display": "internal/worker/auth_handlers.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/auth_bootstrap_limiter.go", + "display": "internal/worker/auth_bootstrap_limiter.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/auth_bootstrap_limiter_test.go", + "display": "internal/worker/auth_bootstrap_limiter_test.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/auth_bootstrap_security_test.go", + "display": "internal/worker/auth_bootstrap_security_test.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/service.go", + "display": "internal/worker/service.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "tests/critical/auth_bootstrap/first_admin_bootstrap_test.go", + "display": "tests/critical/auth_bootstrap/first_admin_bootstrap_test.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "scripts/production-smoke/customer/run-auth-bootstrap-adversary.ps1", + "display": "scripts/production-smoke/customer/run-auth-bootstrap-adversary.ps1", + "kind": "exact", + "line": 15 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/db/gorm/domain_owner_store.go", + "display": "internal/db/gorm/domain_owner_store.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/db/gorm/domain_owner_store_test.go", + "display": "internal/db/gorm/domain_owner_store_test.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/db/gorm/user_store.go", + "display": "internal/db/gorm/user_store.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/worker/auth_handlers.go", + "display": "internal/worker/auth_handlers.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/worker/auth_audit_durability_test.go", + "display": "internal/worker/auth_audit_durability_test.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/bulkops/facade.go", + "display": "internal/bulkops/facade.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/bulkops/audit_durability_test.go", + "display": "internal/bulkops/audit_durability_test.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "scripts/production-smoke/customer/run-durable-audit-faults.ps1", + "display": "scripts/production-smoke/customer/run-durable-audit-faults.ps1", + "kind": "exact", + "line": 16 + }, + { + "owner": "DB-CRYSTALLIZATION", + "branch": "work/prc-db-crystallization", + "path": "internal/worker/handlers_hooks_crystallization_integration_test.go", + "display": "internal/worker/handlers_hooks_crystallization_integration_test.go", + "kind": "exact", + "line": 17 + }, + { + "owner": "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS", + "branch": "work/prc-crystallization-dream-cycle-correctness", + "path": "internal/worker/dream_cycle.go", + "display": "internal/worker/dream_cycle.go", + "kind": "exact", + "line": 18 + }, + { + "owner": "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS", + "branch": "work/prc-crystallization-dream-cycle-correctness", + "path": "internal/worker/dream_cycle_test.go", + "display": "internal/worker/dream_cycle_test.go", + "kind": "exact", + "line": 18 + }, + { + "owner": "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS", + "branch": "work/prc-crystallization-dream-cycle-correctness", + "path": ".agent/reports/2026-07-10-crystallization-dream-cycle-correctness-maker.md", + "display": ".agent/reports/2026-07-10-crystallization-dream-cycle-correctness-maker.md", + "kind": "exact", + "line": 18 + }, + { + "owner": "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS", + "branch": "work/prc-crystallization-dream-cycle-correctness", + "path": ".agent/e/cdc", + "display": ".agent/e/cdc/**", + "kind": "prefix", + "line": 18 + }, + { + "owner": "DB-EMBEDDING-STATS", + "branch": "work/prc-db-embedding-stats", + "path": "internal/embedding/store.go", + "display": "internal/embedding/store.go", + "kind": "exact", + "line": 19 + }, + { + "owner": "DB-EMBEDDING-STATS", + "branch": "work/prc-db-embedding-stats", + "path": "internal/embedding/store_stats_test.go", + "display": "internal/embedding/store_stats_test.go", + "kind": "exact", + "line": 19 + }, + { + "owner": "DB-EMBEDDING-STATS", + "branch": "work/prc-db-embedding-stats", + "path": ".agent/reports/2026-07-10-db-embedding-stats-maker.md", + "display": ".agent/reports/2026-07-10-db-embedding-stats-maker.md", + "kind": "exact", + "line": 19 + }, + { + "owner": "DB-EMBEDDING-STATS", + "branch": "work/prc-db-embedding-stats", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats/**", + "kind": "prefix", + "line": 19 + }, + { + "owner": "DB-EMBEDDING-STATS", + "branch": "work/prc-db-embedding-stats", + "path": ".agent/specs/db-embedding-stats/evidence", + "display": ".agent/specs/db-embedding-stats/evidence/**", + "kind": "prefix", + "line": 19 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "path": ".agent/specs/db-embedding-stats-evidence-transport/evidence", + "display": ".agent/specs/db-embedding-stats-evidence-transport/evidence/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-REAPER", + "branch": "work/prc-db-reaper-shutdown-r4", + "path": "internal/worker/reaper/reaper.go", + "display": "internal/worker/reaper/reaper.go", + "kind": "exact", + "line": 21 + }, + { + "owner": "DB-REAPER", + "branch": "work/prc-db-reaper-shutdown-r4", + "path": "internal/worker/reaper/reaper_test.go", + "display": "internal/worker/reaper/reaper_test.go", + "kind": "exact", + "line": 21 + }, + { + "owner": "SECURITY-TOOLCHAIN", + "branch": "work/prc-security-toolchain", + "path": "go.mod", + "display": "go.mod", + "kind": "exact", + "line": 22 + }, + { + "owner": "SECURITY-TOOLCHAIN", + "branch": "work/prc-security-toolchain", + "path": "go.sum", + "display": "go.sum", + "kind": "exact", + "line": 22 + }, + { + "owner": "SECURITY-TOOLCHAIN", + "branch": "work/prc-security-toolchain", + "path": "Dockerfile", + "display": "Dockerfile", + "kind": "exact", + "line": 22 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision9-maker", + "path": ".github/workflows/test.yml", + "display": ".github/workflows/test.yml", + "kind": "exact", + "line": 23 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision9-maker", + "path": "scripts/production-gates/assert-plan-path-ownership.ps1", + "display": "scripts/production-gates/assert-plan-path-ownership.ps1", + "kind": "exact", + "line": 23 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision9-maker", + "path": "scripts/production-gates/assert-active-candidate-path-authority.ps1", + "display": "scripts/production-gates/assert-active-candidate-path-authority.ps1", + "kind": "exact", + "line": 23 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision9-maker", + "path": "scripts/production-gates/run-db-suite.ps1", + "display": "scripts/production-gates/run-db-suite.ps1", + "kind": "exact", + "line": 23 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision9-maker", + "path": ".agent/specs/release-gates-r9/evidence/release-gates", + "display": ".agent/specs/release-gates-r9/evidence/release-gates/**", + "kind": "prefix", + "line": 23 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision9-maker", + "path": ".agent/reports/2026-07-11-release-gates-r9-maker.md", + "display": ".agent/reports/2026-07-11-release-gates-r9-maker.md", + "kind": "exact", + "line": 23 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "Dockerfile", + "display": "Dockerfile", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "cmd/engram-healthcheck/main.go", + "display": "cmd/engram-healthcheck/main.go", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "cmd/engram-healthcheck/main_test.go", + "display": "cmd/engram-healthcheck/main_test.go", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "apps/operator-console/package.json", + "display": "apps/operator-console/package.json", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "apps/operator-console/package-lock.json", + "display": "apps/operator-console/package-lock.json", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "deploy/postgres/Dockerfile", + "display": "deploy/postgres/Dockerfile", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "docker-compose.yml", + "display": "docker-compose.yml", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "deploy/docker-compose.runtime.yml", + "display": "deploy/docker-compose.runtime.yml", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "docs/DEPLOYMENT.md", + "display": "docs/DEPLOYMENT.md", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "display": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": ".github/workflows/test.yml", + "display": ".github/workflows/test.yml", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": ".github/workflows/docker.yaml", + "display": ".github/workflows/docker.yaml", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": ".github/workflows/docker-publish.yml", + "display": ".github/workflows/docker-publish.yml", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "scripts/production-gates/build-and-scan-images.ps1", + "display": "scripts/production-gates/build-and-scan-images.ps1", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "tests/critical/runtime/image_runtime_contract_test.go", + "display": "tests/critical/runtime/image_runtime_contract_test.go", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "tests/critical/runtime/postgres_image_contract_test.go", + "display": "tests/critical/runtime/postgres_image_contract_test.go", + "kind": "exact", + "line": 24 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "internal/db/gorm/project_store.go", + "display": "internal/db/gorm/project_store.go", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "internal/db/gorm/project_identity_v2_test.go", + "display": "internal/db/gorm/project_identity_v2_test.go", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "internal/grpcserver/project_identity_v2_test.go", + "display": "internal/grpcserver/project_identity_v2_test.go", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "internal/proxy/identity.go", + "display": "internal/proxy/identity.go", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "internal/proxy/identity_test.go", + "display": "internal/proxy/identity_test.go", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "internal/proxy/identity_process_test.go", + "display": "internal/proxy/identity_process_test.go", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "plugin/engram/hooks/lib.js", + "display": "plugin/engram/hooks/lib.js", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "plugin/engram/hooks/project-identity-v2.test.js", + "display": "plugin/engram/hooks/project-identity-v2.test.js", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "plugin/openclaw-engram/src/identity.ts", + "display": "plugin/openclaw-engram/src/identity.ts", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "plugin/openclaw-engram/test/project-identity-v2.test.mjs", + "display": "plugin/openclaw-engram/test/project-identity-v2.test.mjs", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": ".agent/specs/security-project-identity/evidence", + "display": ".agent/specs/security-project-identity/evidence/**", + "kind": "prefix", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": ".agent/reports/evidence/production-ready/security-project-identity", + "display": ".agent/reports/evidence/production-ready/security-project-identity/**", + "kind": "prefix", + "line": 25 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": "plugin/openclaw-engram/.gitignore", + "display": "plugin/openclaw-engram/.gitignore", + "kind": "exact", + "line": 26 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": "plugin/openclaw-engram/package.json", + "display": "plugin/openclaw-engram/package.json", + "kind": "exact", + "line": 26 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": "plugin/openclaw-engram/package-lock.json", + "display": "plugin/openclaw-engram/package-lock.json", + "kind": "exact", + "line": 26 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": "plugin/openclaw-engram/openclaw.plugin.json", + "display": "plugin/openclaw-engram/openclaw.plugin.json", + "kind": "exact", + "line": 26 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": "plugin/openclaw-engram/README.md", + "display": "plugin/openclaw-engram/README.md", + "kind": "exact", + "line": 26 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": ".github/workflows/plugin-publish.yml", + "display": ".github/workflows/plugin-publish.yml", + "kind": "exact", + "line": 26 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": "docs/RELEASE-PROTOCOL.md", + "display": "docs/RELEASE-PROTOCOL.md", + "kind": "exact", + "line": 26 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "internal/update/update.go", + "display": "internal/update/update.go", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "internal/update/update_test.go", + "display": "internal/update/update_test.go", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "internal/worker/handlers_update.go", + "display": "internal/worker/handlers_update.go", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "internal/worker/handlers_update_test.go", + "display": "internal/worker/handlers_update_test.go", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "scripts/install.sh", + "display": "scripts/install.sh", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "scripts/install.ps1", + "display": "scripts/install.ps1", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": ".goreleaser.yaml", + "display": ".goreleaser.yaml", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": ".github/workflows/release.yaml", + "display": ".github/workflows/release.yaml", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "plugin/engram/hooks/hook-cli.test.js", + "display": "plugin/engram/hooks/hook-cli.test.js", + "kind": "exact", + "line": 27 + }, + { + "owner": "DOCUMENT-INGEST-PUBLIC-TRUTH", + "branch": "work/prc-document-ingest-public-truth", + "path": "internal/mcp/server.go", + "display": "internal/mcp/server.go", + "kind": "exact", + "line": 29 + }, + { + "owner": "DOCUMENT-INGEST-PUBLIC-TRUTH", + "branch": "work/prc-document-ingest-public-truth", + "path": "internal/mcp/ingest_document_description_test.go", + "display": "internal/mcp/ingest_document_description_test.go", + "kind": "exact", + "line": 29 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/coerce.go", + "display": "internal/mcp/coerce.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/coerce_test.go", + "display": "internal/mcp/coerce_test.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_candidates.go", + "display": "internal/mcp/tools_candidates.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_candidates_test.go", + "display": "internal/mcp/tools_candidates_test.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_memory.go", + "display": "internal/mcp/tools_memory.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_memory_edit_test.go", + "display": "internal/mcp/tools_memory_edit_test.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_memory_significance.go", + "display": "internal/mcp/tools_memory_significance.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_memory_significance_test.go", + "display": "internal/mcp/tools_memory_significance_test.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_store_consolidated.go", + "display": "internal/mcp/tools_store_consolidated.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_settings.go", + "display": "internal/mcp/tools_settings.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_settings_test.go", + "display": "internal/mcp/tools_settings_test.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_documents_v2.go", + "display": "internal/mcp/tools_documents_v2.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_rule_governance.go", + "display": "internal/mcp/tools_rule_governance.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_rule_governance_test.go", + "display": "internal/mcp/tools_rule_governance_test.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/structured_input_validation_test.go", + "display": "internal/mcp/structured_input_validation_test.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/redaction/layer.go", + "display": "internal/redaction/layer.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/redaction/layer_test.go", + "display": "internal/redaction/layer_test.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/redaction/rejection_test.go", + "display": "internal/redaction/rejection_test.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/mcp/redaction_guard.go", + "display": "internal/mcp/redaction_guard.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/mcp/redaction_guard_test.go", + "display": "internal/mcp/redaction_guard_test.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/mcp/tools_memory.go", + "display": "internal/mcp/tools_memory.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/mcp/tools_rules.go", + "display": "internal/mcp/tools_rules.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/mcp/tools_memory_redaction_audit_test.go", + "display": "internal/mcp/tools_memory_redaction_audit_test.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/mcp/tools_rules_redaction_audit_test.go", + "display": "internal/mcp/tools_rules_redaction_audit_test.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/worker/service.go", + "display": "internal/worker/service.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/worker/service_redaction_test.go", + "display": "internal/worker/service_redaction_test.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "docs/operating-engram.md", + "display": "docs/operating-engram.md", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": ".agent/reports/evidence/production-ready/redaction-live-contract", + "display": ".agent/reports/evidence/production-ready/redaction-live-contract/**", + "kind": "prefix", + "line": 32 + }, + { + "owner": "RETRIEVAL-VECTOR-CONTRACT", + "branch": "work/prc-retrieval-vector-contract", + "path": "internal/retrieval/hybrid_integration_test.go", + "display": "internal/retrieval/hybrid_integration_test.go", + "kind": "exact", + "line": 34 + }, + { + "owner": "STATIC-EMBED-CONTRACT", + "branch": "work/prc-static-embed-contract", + "path": "internal/worker/static_embed_test.go", + "display": "internal/worker/static_embed_test.go", + "kind": "exact", + "line": 35 + }, + { + "owner": "PRE-V5-UPGRADE-CONTRACT", + "branch": "work/prc-pre-v5-upgrade-contract", + "path": "internal/db/gorm/migrations_integration_test.go", + "display": "internal/db/gorm/migrations_integration_test.go", + "kind": "exact", + "line": 36 + }, + { + "owner": "PRE-V5-UPGRADE-CONTRACT", + "branch": "work/prc-pre-v5-upgrade-contract", + "path": "internal/grpcserver/credential_migration_test.go", + "display": "internal/grpcserver/credential_migration_test.go", + "kind": "exact", + "line": 36 + }, + { + "owner": "PRE-V5-UPGRADE-CONTRACT", + "branch": "work/prc-pre-v5-upgrade-contract", + "path": "tests/fixtures/pre-v5", + "display": "tests/fixtures/pre-v5/**", + "kind": "prefix", + "line": 36 + }, + { + "owner": "PRE-V5-UPGRADE-CONTRACT", + "branch": "work/prc-pre-v5-upgrade-contract", + "path": "tests/critical/recovery/pre_v5_upgrade_test.go", + "display": "tests/critical/recovery/pre_v5_upgrade_test.go", + "kind": "exact", + "line": 36 + }, + { + "owner": "PRE-V5-UPGRADE-CONTRACT", + "branch": "work/prc-pre-v5-upgrade-contract", + "path": "scripts/production-smoke/customer/run-pre-v5-upgrade.ps1", + "display": "scripts/production-smoke/customer/run-pre-v5-upgrade.ps1", + "kind": "exact", + "line": 36 + }, + { + "owner": "T007-COMPAT-DEMOLITION-CLASSIFICATION", + "branch": "work/prc-t007-compat-classification", + "path": "internal/mcp/store_memory_compat_t007_test.go", + "display": "internal/mcp/store_memory_compat_t007_test.go", + "kind": "exact", + "line": 37 + }, + { + "owner": "DB-RULES-ISOLATION", + "branch": "work/prc-db-rules-isolation", + "path": "internal/worker/handlers_rules_test.go", + "display": "internal/worker/handlers_rules_test.go", + "kind": "exact", + "line": 38 + }, + { + "owner": "DB-RULES-ISOLATION", + "branch": "work/prc-db-rules-isolation", + "path": "scripts/production-gates/run-db-rules-isolation.ps1", + "display": "scripts/production-gates/run-db-rules-isolation.ps1", + "kind": "exact", + "line": 38 + }, + { + "owner": "COVERAGE-CMD-ENGRAM", + "branch": "work/prc-coverage-cmd-engram", + "path": "cmd/engram/production_readiness_coverage_test.go", + "display": "cmd/engram/production_readiness_coverage_test.go", + "kind": "exact", + "line": 39 + }, + { + "owner": "COVERAGE-CMD-SERVER", + "branch": "work/prc-coverage-cmd-server", + "path": "cmd/engram-server/production_readiness_coverage_test.go", + "display": "cmd/engram-server/production_readiness_coverage_test.go", + "kind": "exact", + "line": 40 + }, + { + "owner": "COVERAGE-UPDATE", + "branch": "work/prc-coverage-update", + "path": "internal/update/production_readiness_coverage_test.go", + "display": "internal/update/production_readiness_coverage_test.go", + "kind": "exact", + "line": 41 + }, + { + "owner": "COVERAGE-WORKER", + "branch": "work/prc-coverage-worker", + "path": "internal/worker/production_readiness_coverage_test.go", + "display": "internal/worker/production_readiness_coverage_test.go", + "kind": "exact", + "line": 43 + }, + { + "owner": "COVERAGE-MCP", + "branch": "work/prc-coverage-mcp", + "path": "internal/mcp/production_readiness_coverage_test.go", + "display": "internal/mcp/production_readiness_coverage_test.go", + "kind": "exact", + "line": 44 + }, + { + "owner": "COVERAGE-GORM", + "branch": "work/prc-coverage-gorm", + "path": "internal/db/gorm/production_readiness_coverage_test.go", + "display": "internal/db/gorm/production_readiness_coverage_test.go", + "kind": "exact", + "line": 45 + }, + { + "owner": "COVERAGE-LOOM", + "branch": "work/prc-coverage-loom", + "path": "internal/handlers/loom/production_readiness_coverage_test.go", + "display": "internal/handlers/loom/production_readiness_coverage_test.go", + "kind": "exact", + "line": 46 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "docker-compose.yml", + "display": "docker-compose.yml", + "kind": "exact", + "line": 47 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "deploy/docker-compose.runtime.yml", + "display": "deploy/docker-compose.runtime.yml", + "kind": "exact", + "line": 47 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "deploy/docker-compose.operator-web-standalone.yml", + "display": "deploy/docker-compose.operator-web-standalone.yml", + "kind": "exact", + "line": 47 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "deploy/entrypoint-server.sh", + "display": "deploy/entrypoint-server.sh", + "kind": "exact", + "line": 47 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "deploy/healthcheck-server.sh", + "display": "deploy/healthcheck-server.sh", + "kind": "exact", + "line": 47 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "deploy/verify-rollback.ps1", + "display": "deploy/verify-rollback.ps1", + "kind": "exact", + "line": 47 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "deploy/verify-runtime-policy.ps1", + "display": "deploy/verify-runtime-policy.ps1", + "kind": "exact", + "line": 47 + }, + { + "owner": "RECOVERY-DATA", + "branch": "work/prc-recovery-data", + "path": "scripts/recovery/start-disposable-postgres.ps1", + "display": "scripts/recovery/start-disposable-postgres.ps1", + "kind": "exact", + "line": 48 + }, + { + "owner": "RECOVERY-DATA", + "branch": "work/prc-recovery-data", + "path": "scripts/recovery/verify-postgres-roundtrip.ps1", + "display": "scripts/recovery/verify-postgres-roundtrip.ps1", + "kind": "exact", + "line": 48 + }, + { + "owner": "RECOVERY-DATA", + "branch": "work/prc-recovery-data", + "path": "scripts/recovery/seed-recovery-fixture.ps1", + "display": "scripts/recovery/seed-recovery-fixture.ps1", + "kind": "exact", + "line": 48 + }, + { + "owner": "RECOVERY-DATA", + "branch": "work/prc-recovery-data", + "path": "scripts/recovery/assert-recovery-fixture.ps1", + "display": "scripts/recovery/assert-recovery-fixture.ps1", + "kind": "exact", + "line": 48 + }, + { + "owner": "RECOVERY-DATA", + "branch": "work/prc-recovery-data", + "path": "tests/critical/recovery/postgres_roundtrip_test.go", + "display": "tests/critical/recovery/postgres_roundtrip_test.go", + "kind": "exact", + "line": 48 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "internal/module/obs/logging.go", + "display": "internal/module/obs/logging.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "internal/module/obs/logging_test.go", + "display": "internal/module/obs/logging_test.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "internal/module/obs/meter.go", + "display": "internal/module/obs/meter.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "internal/module/obs/meter_test.go", + "display": "internal/module/obs/meter_test.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "internal/module/obs/metrics.go", + "display": "internal/module/obs/metrics.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "internal/module/obs/metrics_test.go", + "display": "internal/module/obs/metrics_test.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "cmd/engram-server/main.go", + "display": "cmd/engram-server/main.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "cmd/engram-server/main_test.go", + "display": "cmd/engram-server/main_test.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "scripts/production-smoke/verify-otlp.ps1", + "display": "scripts/production-smoke/verify-otlp.ps1", + "kind": "exact", + "line": 49 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/scope/domain_policy.go", + "display": "internal/scope/domain_policy.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/scope/domain_policy_test.go", + "display": "internal/scope/domain_policy_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/scope/filter.go", + "display": "internal/scope/filter.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/scope/filter_test.go", + "display": "internal/scope/filter_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/scope/filter_principal_test.go", + "display": "internal/scope/filter_principal_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/scope/filter_w4_test.go", + "display": "internal/scope/filter_w4_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/principalmemory/access_policy.go", + "display": "internal/principalmemory/access_policy.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/principalmemory/access_policy_test.go", + "display": "internal/principalmemory/access_policy_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/principalmemory/domain_registry.go", + "display": "internal/principalmemory/domain_registry.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/principalmemory/domain_registry_test.go", + "display": "internal/principalmemory/domain_registry_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/principalmemory/query_service.go", + "display": "internal/principalmemory/query_service.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/principalmemory/query_service_test.go", + "display": "internal/principalmemory/query_service_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/mcp/tools_principal_memory.go", + "display": "internal/mcp/tools_principal_memory.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/mcp/tools_principal_memory_test.go", + "display": "internal/mcp/tools_principal_memory_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/mcp/tools_recall_principal_test.go", + "display": "internal/mcp/tools_recall_principal_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/mcp/recall_visibility_backfill_test.go", + "display": "internal/mcp/recall_visibility_backfill_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/mcp/store_memory_principal_test.go", + "display": "internal/mcp/store_memory_principal_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/worker/handlers_principal_memory.go", + "display": "internal/worker/handlers_principal_memory.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/worker/handlers_principal_memory_test.go", + "display": "internal/worker/handlers_principal_memory_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/worker/scope_bypass_w4_test.go", + "display": "internal/worker/scope_bypass_w4_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/worker/retention.go", + "display": "internal/worker/retention.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/worker/retention_test.go", + "display": "internal/worker/retention_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/db/gorm/memory_store.go", + "display": "internal/db/gorm/memory_store.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/db/gorm/memory_store_principal_test.go", + "display": "internal/db/gorm/memory_store_principal_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/db/gorm/memory_store_principal_query_test.go", + "display": "internal/db/gorm/memory_store_principal_query_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/db/gorm/purge_store_test.go", + "display": "internal/db/gorm/purge_store_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "tests/critical/data_boundaries/principal_project_retention_test.go", + "display": "tests/critical/data_boundaries/principal_project_retention_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "tests/critical/customer_mode/customer_mode_test.go", + "display": "tests/critical/customer_mode/customer_mode_test.go", + "kind": "exact", + "line": 51 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "tests/critical/customer_mode/compatibility_test.go", + "display": "tests/critical/customer_mode/compatibility_test.go", + "kind": "exact", + "line": 51 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "tests/critical/customer_mode/cross_agent_test.go", + "display": "tests/critical/customer_mode/cross_agent_test.go", + "kind": "exact", + "line": 51 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "scripts/production-smoke/customer/run-customer-mode.ps1", + "display": "scripts/production-smoke/customer/run-customer-mode.ps1", + "kind": "exact", + "line": 51 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "scripts/production-smoke/customer/run-client-compatibility.ps1", + "display": "scripts/production-smoke/customer/run-client-compatibility.ps1", + "kind": "exact", + "line": 51 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "scripts/production-smoke/customer/run-cross-agent.ps1", + "display": "scripts/production-smoke/customer/run-cross-agent.ps1", + "kind": "exact", + "line": 51 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "scripts/production-smoke/customer/run-diagnostic-matrix.ps1", + "display": "scripts/production-smoke/customer/run-diagnostic-matrix.ps1", + "kind": "exact", + "line": 51 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "scripts/production-smoke/customer/assert-product-works.ps1", + "display": "scripts/production-smoke/customer/assert-product-works.ps1", + "kind": "exact", + "line": 51 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "README.md", + "display": "README.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "README.ru.md", + "display": "README.ru.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "README.zh.md", + "display": "README.zh.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "CONTRIBUTING.md", + "display": "CONTRIBUTING.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "CHANGELOG.md", + "display": "CHANGELOG.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "Makefile", + "display": "Makefile", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": ".env.example", + "display": ".env.example", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/DEPLOYMENT.md", + "display": "docs/DEPLOYMENT.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/MIGRATION.md", + "display": "docs/MIGRATION.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "display": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/arch/CONFIGURATION.md", + "display": "docs/arch/CONFIGURATION.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/arch/QUICKSTART.md", + "display": "docs/arch/QUICKSTART.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/release-notes/v6.43.0.md", + "display": "docs/release-notes/v6.43.0.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/public/engram.jpg", + "display": "docs/public/engram.jpg", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "plugin/engram/commands/setup.md", + "display": "plugin/engram/commands/setup.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "plugin/engram/commands/doctor.md", + "display": "plugin/engram/commands/doctor.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "README.md", + "display": "README.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "README.ru.md", + "display": "README.ru.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "README.zh.md", + "display": "README.zh.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "CONTRIBUTING.md", + "display": "CONTRIBUTING.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "CHANGELOG.md", + "display": "CHANGELOG.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "Makefile", + "display": "Makefile", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": ".env.example", + "display": ".env.example", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/DEPLOYMENT.md", + "display": "docs/DEPLOYMENT.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/MIGRATION.md", + "display": "docs/MIGRATION.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "display": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/operating-engram.md", + "display": "docs/operating-engram.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/arch/CONFIGURATION.md", + "display": "docs/arch/CONFIGURATION.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/arch/QUICKSTART.md", + "display": "docs/arch/QUICKSTART.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/public/engram.jpg", + "display": "docs/public/engram.jpg", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "plugin/engram/commands/setup.md", + "display": "plugin/engram/commands/setup.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "plugin/engram/commands/doctor.md", + "display": "plugin/engram/commands/doctor.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "cmd/engram/main.go", + "display": "cmd/engram/main.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "cmd/engram/main_test.go", + "display": "cmd/engram/main_test.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "cmd/engram/wiring.go", + "display": "cmd/engram/wiring.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "cmd/engram/exec_windows.go", + "display": "cmd/engram/exec_windows.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "cmd/engram/exec_unix.go", + "display": "cmd/engram/exec_unix.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "plugin/engram/.engram-project", + "display": "plugin/engram/.engram-project", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "plugin/engram/scripts/run-engram.js", + "display": "plugin/engram/scripts/run-engram.js", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "plugin/engram/scripts/run-engram.test.js", + "display": "plugin/engram/scripts/run-engram.test.js", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "plugin/engram/scripts/ensure-binary.js", + "display": "plugin/engram/scripts/ensure-binary.js", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "plugin/engram/scripts/ensure-binary.test.js", + "display": "plugin/engram/scripts/ensure-binary.test.js", + "kind": "exact", + "line": 54 + }, + { + "owner": "OC-INTEGRATION", + "branch": "work/prc-operator-console-integration", + "path": "apps/operator-console", + "display": "apps/operator-console/**", + "kind": "prefix", + "line": 55 + }, + { + "owner": "S4B-CONTRACT", + "branch": "work/prc-s4b-contract", + "path": ".agent/specs/engram-v7-directives-surfacing", + "display": ".agent/specs/engram-v7-directives-surfacing/**", + "kind": "prefix", + "line": 56 + }, + { + "owner": "V7-S4B-BACKEND", + "branch": "work/prc-v7-s4b-backend", + "path": "internal/cognitive/s4bsurfacing", + "display": "internal/cognitive/s4bsurfacing/**", + "kind": "prefix", + "line": 57 + }, + { + "owner": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "path": "internal/cognitive/core/event_bus.go", + "display": "internal/cognitive/core/event_bus.go", + "kind": "exact", + "line": 58 + }, + { + "owner": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "path": "internal/cognitive/core/event_bus_test.go", + "display": "internal/cognitive/core/event_bus_test.go", + "kind": "exact", + "line": 58 + }, + { + "owner": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "path": "internal/cognitive/core/hint_queue.go", + "display": "internal/cognitive/core/hint_queue.go", + "kind": "exact", + "line": 58 + }, + { + "owner": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "path": "internal/cognitive/core/hint_queue_test.go", + "display": "internal/cognitive/core/hint_queue_test.go", + "kind": "exact", + "line": 58 + }, + { + "owner": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "path": "internal/cognitive/s3ambient/queue.go", + "display": "internal/cognitive/s3ambient/queue.go", + "kind": "exact", + "line": 58 + }, + { + "owner": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "path": "internal/cognitive/s3ambient/subsystem.go", + "display": "internal/cognitive/s3ambient/subsystem.go", + "kind": "exact", + "line": 58 + }, + { + "owner": "V7-RUNTIME-WIRING", + "branch": "work/prc-v7-runtime-wiring", + "path": "internal/worker/service.go", + "display": "internal/worker/service.go", + "kind": "exact", + "line": 59 + }, + { + "owner": "V7-RUNTIME-WIRING", + "branch": "work/prc-v7-runtime-wiring", + "path": "internal/worker/service_v7_integration_test.go", + "display": "internal/worker/service_v7_integration_test.go", + "kind": "exact", + "line": 59 + }, + { + "owner": "V7-RUNTIME-WIRING", + "branch": "work/prc-v7-runtime-wiring", + "path": "internal/worker/handlers_stats_v7.go", + "display": "internal/worker/handlers_stats_v7.go", + "kind": "exact", + "line": 59 + }, + { + "owner": "V7-RUNTIME-WIRING", + "branch": "work/prc-v7-runtime-wiring", + "path": "internal/worker/handlers_stats_v7_test.go", + "display": "internal/worker/handlers_stats_v7_test.go", + "kind": "exact", + "line": 59 + }, + { + "owner": "V7-TELEMETRY-WIRING", + "branch": "work/prc-v7-telemetry-wiring", + "path": "internal/cognitive/s5/metrics.go", + "display": "internal/cognitive/s5/metrics.go", + "kind": "exact", + "line": 60 + }, + { + "owner": "V7-TELEMETRY-WIRING", + "branch": "work/prc-v7-telemetry-wiring", + "path": "internal/cognitive/s5/provider.go", + "display": "internal/cognitive/s5/provider.go", + "kind": "exact", + "line": 60 + }, + { + "owner": "V7-TELEMETRY-WIRING", + "branch": "work/prc-v7-telemetry-wiring", + "path": "internal/cognitive/s5/provider_test.go", + "display": "internal/cognitive/s5/provider_test.go", + "kind": "exact", + "line": 60 + }, + { + "owner": "V7-TELEMETRY-WIRING", + "branch": "work/prc-v7-telemetry-wiring", + "path": "internal/cognitive/s5/source_adapter.go", + "display": "internal/cognitive/s5/source_adapter.go", + "kind": "exact", + "line": 60 + }, + { + "owner": "V7-TELEMETRY-WIRING", + "branch": "work/prc-v7-telemetry-wiring", + "path": "internal/cognitive/s5/source_adapter_test.go", + "display": "internal/cognitive/s5/source_adapter_test.go", + "kind": "exact", + "line": 60 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/roadmap.md", + "display": ".agent/specs/roadmap.md", + "kind": "exact", + "line": 61 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/ui-surface-ledger.md", + "display": ".agent/specs/ui-surface-ledger.md", + "kind": "exact", + "line": 61 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/operator-console-production-integration", + "display": ".agent/specs/operator-console-production-integration/**", + "kind": "prefix", + "line": 61 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/engram-v7-ambient/spec.md", + "display": ".agent/specs/engram-v7-ambient/spec.md", + "kind": "exact", + "line": 61 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/engram-v7-ambient/plan.md", + "display": ".agent/specs/engram-v7-ambient/plan.md", + "kind": "exact", + "line": 61 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/engram-v7-ambient/checklists/general.md", + "display": ".agent/specs/engram-v7-ambient/checklists/general.md", + "kind": "exact", + "line": 61 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 61 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 61 + }, + { + "owner": "NORTHSTAR-CI-A-CONTRACTS", + "branch": "work/prc-northstar-ci-a-contracts", + "path": ".agent/specs/engram-absorption/ci-a-dense-vector/spec.md", + "display": ".agent/specs/engram-absorption/ci-a-dense-vector/spec.md", + "kind": "exact", + "line": 62 + }, + { + "owner": "NORTHSTAR-CI-A-CONTRACTS", + "branch": "work/prc-northstar-ci-a-contracts", + "path": ".agent/specs/engram-absorption/ci-a-dense-vector/plan.md", + "display": ".agent/specs/engram-absorption/ci-a-dense-vector/plan.md", + "kind": "exact", + "line": 62 + }, + { + "owner": "NORTHSTAR-CI-A-CONTRACTS", + "branch": "work/prc-northstar-ci-a-contracts", + "path": ".agent/specs/engram-absorption/ci-a-dense-vector/checklists/general.md", + "display": ".agent/specs/engram-absorption/ci-a-dense-vector/checklists/general.md", + "kind": "exact", + "line": 62 + }, + { + "owner": "NORTHSTAR-CI-A-CONTRACTS", + "branch": "work/prc-northstar-ci-a-contracts", + "path": ".agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 62 + }, + { + "owner": "NORTHSTAR-CI-A-CONTRACTS", + "branch": "work/prc-northstar-ci-a-contracts", + "path": ".agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 62 + }, + { + "owner": "NORTHSTAR-CI-B-CONTRACTS", + "branch": "work/prc-northstar-ci-b-contracts", + "path": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/spec.md", + "display": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/spec.md", + "kind": "exact", + "line": 63 + }, + { + "owner": "NORTHSTAR-CI-B-CONTRACTS", + "branch": "work/prc-northstar-ci-b-contracts", + "path": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/plan.md", + "display": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/plan.md", + "kind": "exact", + "line": 63 + }, + { + "owner": "NORTHSTAR-CI-B-CONTRACTS", + "branch": "work/prc-northstar-ci-b-contracts", + "path": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/checklists/general.md", + "display": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/checklists/general.md", + "kind": "exact", + "line": 63 + }, + { + "owner": "NORTHSTAR-CI-B-CONTRACTS", + "branch": "work/prc-northstar-ci-b-contracts", + "path": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 63 + }, + { + "owner": "NORTHSTAR-CI-B-CONTRACTS", + "branch": "work/prc-northstar-ci-b-contracts", + "path": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 63 + }, + { + "owner": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "path": ".agent/specs/engram-absorption/book/prd.md", + "display": ".agent/specs/engram-absorption/book/prd.md", + "kind": "exact", + "line": 64 + }, + { + "owner": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "path": ".agent/specs/engram-absorption/book/spec.md", + "display": ".agent/specs/engram-absorption/book/spec.md", + "kind": "exact", + "line": 64 + }, + { + "owner": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "path": ".agent/specs/engram-absorption/book/plan.md", + "display": ".agent/specs/engram-absorption/book/plan.md", + "kind": "exact", + "line": 64 + }, + { + "owner": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "path": ".agent/specs/engram-absorption/book/checklists/general.md", + "display": ".agent/specs/engram-absorption/book/checklists/general.md", + "kind": "exact", + "line": 64 + }, + { + "owner": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "path": ".agent/specs/engram-absorption/book/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/engram-absorption/book/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 64 + }, + { + "owner": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "path": ".agent/specs/engram-absorption/book/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/engram-absorption/book/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 64 + }, + { + "owner": "NORTHSTAR-MEM-CONTRACTS", + "branch": "work/prc-northstar-mem-contracts", + "path": ".agent/specs/engram-absorption/mem-residual/spec.md", + "display": ".agent/specs/engram-absorption/mem-residual/spec.md", + "kind": "exact", + "line": 65 + }, + { + "owner": "NORTHSTAR-MEM-CONTRACTS", + "branch": "work/prc-northstar-mem-contracts", + "path": ".agent/specs/engram-absorption/mem-residual/plan.md", + "display": ".agent/specs/engram-absorption/mem-residual/plan.md", + "kind": "exact", + "line": 65 + }, + { + "owner": "NORTHSTAR-MEM-CONTRACTS", + "branch": "work/prc-northstar-mem-contracts", + "path": ".agent/specs/engram-absorption/mem-residual/checklists/general.md", + "display": ".agent/specs/engram-absorption/mem-residual/checklists/general.md", + "kind": "exact", + "line": 65 + }, + { + "owner": "NORTHSTAR-MEM-CONTRACTS", + "branch": "work/prc-northstar-mem-contracts", + "path": ".agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 65 + }, + { + "owner": "NORTHSTAR-MEM-CONTRACTS", + "branch": "work/prc-northstar-mem-contracts", + "path": ".agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 65 + }, + { + "owner": "NORTHSTAR-EFFECTIVENESS-CONTRACTS", + "branch": "work/prc-northstar-effectiveness-contracts", + "path": ".agent/specs/engram-effectiveness/production-ready-residual/spec.md", + "display": ".agent/specs/engram-effectiveness/production-ready-residual/spec.md", + "kind": "exact", + "line": 66 + }, + { + "owner": "NORTHSTAR-EFFECTIVENESS-CONTRACTS", + "branch": "work/prc-northstar-effectiveness-contracts", + "path": ".agent/specs/engram-effectiveness/production-ready-residual/plan.md", + "display": ".agent/specs/engram-effectiveness/production-ready-residual/plan.md", + "kind": "exact", + "line": 66 + }, + { + "owner": "NORTHSTAR-EFFECTIVENESS-CONTRACTS", + "branch": "work/prc-northstar-effectiveness-contracts", + "path": ".agent/specs/engram-effectiveness/production-ready-residual/checklists/general.md", + "display": ".agent/specs/engram-effectiveness/production-ready-residual/checklists/general.md", + "kind": "exact", + "line": 66 + }, + { + "owner": "NORTHSTAR-EFFECTIVENESS-CONTRACTS", + "branch": "work/prc-northstar-effectiveness-contracts", + "path": ".agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 66 + }, + { + "owner": "NORTHSTAR-EFFECTIVENESS-CONTRACTS", + "branch": "work/prc-northstar-effectiveness-contracts", + "path": ".agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 66 + }, + { + "owner": "NORTHSTAR-SETTINGS-CONTRACTS", + "branch": "work/prc-northstar-settings-contracts", + "path": ".agent/specs/settings-store/production-ready-residual/spec.md", + "display": ".agent/specs/settings-store/production-ready-residual/spec.md", + "kind": "exact", + "line": 67 + }, + { + "owner": "NORTHSTAR-SETTINGS-CONTRACTS", + "branch": "work/prc-northstar-settings-contracts", + "path": ".agent/specs/settings-store/production-ready-residual/plan.md", + "display": ".agent/specs/settings-store/production-ready-residual/plan.md", + "kind": "exact", + "line": 67 + }, + { + "owner": "NORTHSTAR-SETTINGS-CONTRACTS", + "branch": "work/prc-northstar-settings-contracts", + "path": ".agent/specs/settings-store/production-ready-residual/checklists/general.md", + "display": ".agent/specs/settings-store/production-ready-residual/checklists/general.md", + "kind": "exact", + "line": 67 + }, + { + "owner": "NORTHSTAR-SETTINGS-CONTRACTS", + "branch": "work/prc-northstar-settings-contracts", + "path": ".agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 67 + }, + { + "owner": "NORTHSTAR-SETTINGS-CONTRACTS", + "branch": "work/prc-northstar-settings-contracts", + "path": ".agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 67 + } + ], + "repeated_exact_paths": [ + { + "path": ".env.example", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": ".github/workflows/test.yml", + "exact_owners": [ + "RELEASE-GATES", + "IMAGE-REMEDIATION" + ], + "prefix_owners": [], + "effective_owners": [ + "RELEASE-GATES", + "IMAGE-REMEDIATION" + ], + "declared_epoch": true, + "epoch_owners": [ + "RELEASE-GATES", + "IMAGE-REMEDIATION" + ] + }, + { + "path": "apps/operator-console/package-lock.json", + "exact_owners": [ + "IMAGE-REMEDIATION" + ], + "prefix_owners": [ + "OC-INTEGRATION" + ], + "effective_owners": [ + "IMAGE-REMEDIATION", + "OC-INTEGRATION" + ], + "declared_epoch": true, + "epoch_owners": [ + "IMAGE-REMEDIATION", + "OC-INTEGRATION" + ] + }, + { + "path": "apps/operator-console/package.json", + "exact_owners": [ + "IMAGE-REMEDIATION" + ], + "prefix_owners": [ + "OC-INTEGRATION" + ], + "effective_owners": [ + "IMAGE-REMEDIATION", + "OC-INTEGRATION" + ], + "declared_epoch": true, + "epoch_owners": [ + "IMAGE-REMEDIATION", + "OC-INTEGRATION" + ] + }, + { + "path": "CHANGELOG.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "CONTRIBUTING.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "deploy/docker-compose.runtime.yml", + "exact_owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ], + "prefix_owners": [], + "effective_owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ], + "declared_epoch": true, + "epoch_owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ] + }, + { + "path": "docker-compose.yml", + "exact_owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ], + "prefix_owners": [], + "effective_owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ], + "declared_epoch": true, + "epoch_owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ] + }, + { + "path": "Dockerfile", + "exact_owners": [ + "SECURITY-TOOLCHAIN", + "IMAGE-REMEDIATION" + ], + "prefix_owners": [], + "effective_owners": [ + "SECURITY-TOOLCHAIN", + "IMAGE-REMEDIATION" + ], + "declared_epoch": true, + "epoch_owners": [ + "SECURITY-TOOLCHAIN", + "IMAGE-REMEDIATION" + ] + }, + { + "path": "docs/arch/CONFIGURATION.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "docs/arch/QUICKSTART.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "docs/DEPLOYMENT.md", + "exact_owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "docs/MIGRATION.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "docs/operating-engram.md", + "exact_owners": [ + "REDACTION-LIVE-CONTRACT", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "REDACTION-LIVE-CONTRACT", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "REDACTION-LIVE-CONTRACT", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "exact_owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "docs/public/engram.jpg", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "internal/bulkops/facade_test.go", + "exact_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ] + }, + { + "path": "internal/bulkops/facade.go", + "exact_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION", + "DURABLE-AUDIT-BOUNDARIES" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION", + "DURABLE-AUDIT-BOUNDARIES" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION", + "DURABLE-AUDIT-BOUNDARIES" + ] + }, + { + "path": "internal/bulkops/rollback_test.go", + "exact_owners": [ + "DB-BULKOPS", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ] + }, + { + "path": "internal/db/gorm/candidate_store_test.go", + "exact_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-TEST-POOL-HYGIENE", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-TEST-POOL-HYGIENE", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-TEST-POOL-HYGIENE", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ] + }, + { + "path": "internal/db/gorm/candidate_store.go", + "exact_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ] + }, + { + "path": "internal/db/gorm/user_store.go", + "exact_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ] + }, + { + "path": "internal/mcp/tools_bulkops.go", + "exact_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ] + }, + { + "path": "internal/mcp/tools_dryrun_test.go", + "exact_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ] + }, + { + "path": "internal/mcp/tools_memory.go", + "exact_owners": [ + "MCP-STRUCTURED-INPUT-VALIDATION", + "REDACTION-LIVE-CONTRACT" + ], + "prefix_owners": [], + "effective_owners": [ + "MCP-STRUCTURED-INPUT-VALIDATION", + "REDACTION-LIVE-CONTRACT" + ], + "declared_epoch": true, + "epoch_owners": [ + "MCP-STRUCTURED-INPUT-VALIDATION", + "REDACTION-LIVE-CONTRACT" + ] + }, + { + "path": "internal/worker/auth_handlers.go", + "exact_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ] + }, + { + "path": "internal/worker/service.go", + "exact_owners": [ + "AUTH-BOOTSTRAP-SECURITY", + "REDACTION-LIVE-CONTRACT", + "V7-RUNTIME-WIRING" + ], + "prefix_owners": [], + "effective_owners": [ + "AUTH-BOOTSTRAP-SECURITY", + "REDACTION-LIVE-CONTRACT", + "V7-RUNTIME-WIRING" + ], + "declared_epoch": true, + "epoch_owners": [ + "AUTH-BOOTSTRAP-SECURITY", + "REDACTION-LIVE-CONTRACT", + "V7-RUNTIME-WIRING" + ] + }, + { + "path": "Makefile", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "pkg/models/snapshot.go", + "exact_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ] + }, + { + "path": "plugin/engram/commands/doctor.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "plugin/engram/commands/setup.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "README.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "README.ru.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "README.zh.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + } + ], + "prefix_intersections": [ + { + "left_owner": "IMAGE-REMEDIATION", + "left": "apps/operator-console/package.json", + "right_owner": "OC-INTEGRATION", + "right": "apps/operator-console/**", + "exact_path": "apps/operator-console/package.json", + "declared_epoch": true + }, + { + "left_owner": "IMAGE-REMEDIATION", + "left": "apps/operator-console/package-lock.json", + "right_owner": "OC-INTEGRATION", + "right": "apps/operator-console/**", + "exact_path": "apps/operator-console/package-lock.json", + "declared_epoch": true + } + ], + "epochs": [ + { + "path": "internal/db/gorm/candidate_store.go", + "owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "transfer_gate": "rejected predecessor checker/hash recorded; rework uses exact base `68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef`; each accepted successor requires checker PASS, post-review PASS, integration SHA, and exact rebase before edit", + "line": 6 + }, + { + "path": "internal/db/gorm/candidate_store_test.go", + "owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-TEST-POOL-HYGIENE", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "transfer_gate": "behavioral-edge head `bd68c05baf4b7250096dd84f56bebea2aa555970` remains current authority until pool-hygiene product `276337b3e96aa5af6d2e7dd9a0002ff957e5ffc9` plus evidence `68242c48aaad62ec087166eeb9ea32f14d189450` receive fresh checker and post-review; later successors require exact integration and rebase", + "line": 7 + }, + { + "path": "internal/mcp/tools_bulkops.go", + "owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "transfer_gate": "rejected predecessor checker/hash recorded; rework base is exact rejected head; checker and post-review PASS plus integration SHA close the transfer", + "line": 8 + }, + { + "path": "internal/mcp/tools_dryrun_test.go", + "owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "transfer_gate": "rejected predecessor checker/hash recorded; rework base is exact rejected head; checker and post-review PASS plus integration SHA close the transfer", + "line": 8 + }, + { + "path": "internal/bulkops/facade.go", + "owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION", + "DURABLE-AUDIT-BOUNDARIES" + ], + "transfer_gate": "behavioral-edge composite checker and post-review PASS; exact integration SHA recorded; demolition rebased before edit; historical ingest guard green before durable-audit fault work", + "line": 9 + }, + { + "path": "internal/bulkops/facade_test.go", + "owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "transfer_gate": "accepted behavioral-edge composite integrated; demolition worktree rebased; focused historical-only regressions PASS before integration", + "line": 10 + }, + { + "path": "internal/bulkops/rollback_test.go", + "owners": [ + "DB-BULKOPS", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "transfer_gate": "accepted behavioral-edge composite and DB-GOVERNANCE integrated; candidate-review successor rebased; combined checker and post-review PASS", + "line": 11 + }, + { + "path": "pkg/models/snapshot.go", + "owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "transfer_gate": "accepted behavioral-edge composite integrated; demolition successor rebased; persistence-compatibility and non-executable regressions PASS", + "line": 12 + }, + { + "path": "internal/db/gorm/user_store.go", + "owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "transfer_gate": "each predecessor checker and post-review PASS, integration SHA recorded, successor rebased; no simultaneous writer", + "line": 13 + }, + { + "path": "internal/worker/auth_handlers.go", + "owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "transfer_gate": "each predecessor checker and post-review PASS, integration SHA recorded, successor rebased; no simultaneous writer", + "line": 14 + }, + { + "path": "internal/worker/service.go", + "owners": [ + "AUTH-BOOTSTRAP-SECURITY", + "REDACTION-LIVE-CONTRACT", + "V7-RUNTIME-WIRING" + ], + "transfer_gate": "auth bootstrap checker and post-review PASS, commit integrated, redaction worktree rebased and boot-captured rules proved; V7 later rebases the redaction integration and reruns both auth and redaction route regressions", + "line": 15 + }, + { + "path": "internal/mcp/tools_memory.go", + "owners": [ + "MCP-STRUCTURED-INPUT-VALIDATION", + "REDACTION-LIVE-CONTRACT" + ], + "transfer_gate": "structured-input checker/post-review PASS and exact integration SHA; redaction successor rebased so malformed input remains zero-audit/zero-write before matched-mutation audit enforcement", + "line": 16 + }, + { + "path": "docs/operating-engram.md", + "owners": [ + "REDACTION-LIVE-CONTRACT", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "redaction live contract checker/post-review PASS and exact integration SHA; FINAL rebased and revalidates the operator claims against final published artifacts", + "line": 17 + }, + { + "path": "Dockerfile", + "owners": [ + "SECURITY-TOOLCHAIN", + "IMAGE-REMEDIATION" + ], + "transfer_gate": "toolchain checker and post-review PASS, commit integrated, image worktree rebased, zero-finding rebuild and scan before successor integration", + "line": 18 + }, + { + "path": ".github/workflows/test.yml", + "owners": [ + "RELEASE-GATES", + "IMAGE-REMEDIATION" + ], + "transfer_gate": "release-gates checker and post-review PASS, commit integrated, image worktree rebased before workflow image-identity changes", + "line": 19 + }, + { + "path": "docker-compose.yml", + "owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ], + "transfer_gate": "image checker and post-review PASS, `final-image-set.json` recorded, deployment worktree rebased, fresh scan after edits", + "line": 20 + }, + { + "path": "deploy/docker-compose.runtime.yml", + "owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ], + "transfer_gate": "image checker and post-review PASS, `final-image-set.json` recorded, deployment worktree rebased, fresh scan after edits", + "line": 20 + }, + { + "path": "apps/operator-console/package.json", + "owners": [ + "IMAGE-REMEDIATION", + "OC-INTEGRATION" + ], + "transfer_gate": "image checker and post-review PASS, OC worktree rebased, any later dependency edit reruns audit/build/browser/image scan", + "line": 21 + }, + { + "path": "apps/operator-console/package-lock.json", + "owners": [ + "IMAGE-REMEDIATION", + "OC-INTEGRATION" + ], + "transfer_gate": "image checker and post-review PASS, OC worktree rebased, any later dependency edit reruns audit/build/browser/image scan", + "line": 21 + }, + { + "path": "docs/DEPLOYMENT.md", + "owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "image proof integrated; CORE rebased for M5; FINAL rebased to exact M6 integration and final-version artifact before edit", + "line": 22 + }, + { + "path": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "image proof integrated; CORE rebased for M5; FINAL rebased to exact M6 integration and final-version artifact before edit", + "line": 22 + }, + { + "path": "README.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "README.ru.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "README.zh.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "CONTRIBUTING.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "CHANGELOG.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "Makefile", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": ".env.example", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "docs/MIGRATION.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "docs/arch/CONFIGURATION.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "docs/arch/QUICKSTART.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "docs/public/engram.jpg", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "plugin/engram/commands/setup.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "plugin/engram/commands/doctor.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "internal/worker/dream_cycle.go", + "owners": [ + "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS" + ], + "transfer_gate": "single-owner tracked epoch with no predecessor; the maker starts only after the named dependencies, then requires checker PASS, post-review PASS, integration SHA, and a root plan/state amendment before any later writer", + "line": 24 + }, + { + "path": "internal/worker/dream_cycle_test.go", + "owners": [ + "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS" + ], + "transfer_gate": "single-owner tracked epoch with no predecessor; the maker starts only after the named dependencies, then requires checker PASS, post-review PASS, integration SHA, and a root plan/state amendment before any later writer", + "line": 24 + } + ], + "errors": [] +} diff --git a/.agent/specs/release-gates-r9/evidence/plan-governance/resolvable-register-diff-mismatch-inventory.json b/.agent/specs/release-gates-r9/evidence/plan-governance/resolvable-register-diff-mismatch-inventory.json new file mode 100644 index 00000000..7cac3e3a --- /dev/null +++ b/.agent/specs/release-gates-r9/evidence/plan-governance/resolvable-register-diff-mismatch-inventory.json @@ -0,0 +1,814 @@ +{ + "schema_version": 1, + "kind": "production-ready-resolvable-register-diff-mismatch-inventory", + "revision": 9, + "observed_register": { + "path": ".agent/reports/production-readiness-evidence-register.json", + "sha256": "29865adc048cb3f64ec7d133b3bd901c95115e4ae5b95c98927607de889f77d4", + "role": "mutable discovery input only" + }, + "challenged_authority": { + "rejected_r8_head": "406fe952c143eb8aaf5895427c568a41d4cec225", + "plan_sha256": "fd2b223a9a62848efc39e1c33bf739bada191508bccb7ba9a73140185638e43d", + "scope_map_sha256": "81093184036672008d6b85dfa88a431998ef70b587ab11475aa2b315f03ddf79" + }, + "summary": { + "register_rows": 67, + "resolvable_base_head_rows": 14, + "nonempty_resolvable_rows": 10, + "empty_in_progress_rows": 4, + "exact_high_signal_failures": { + "security_project_identity_r3": "11 undeclared of 14", + "db_embedding_evidence_transport_r5": "10 undeclared of 28", + "db_auth": "1 undeclared of 5", + "db_embedding_stats": "4 undeclared of 8", + "db_reaper": "2 undeclared of 2 plus 1 epoch-owner conflict", + "db_bulkops": "4 current-owner conflicts", + "db_bulkops_behavioral_edge_rework": "2 rejected-predecessor base conflicts", + "demolition_skip_classification": "7 misbound R5 release-gate paths plus a scalar Count internal error" + } + }, + "policy": "Historical/rejected or classification-only diffs remain non-acceptance evidence. Current frozen candidates must be path-authorized exactly; conflicting DB-REAPER is rejected instead of granting simultaneous ownership.", + "subsequent_transitions": [ + { + "slice": "SECURITY-PROJECT-IDENTITY", + "product_head": "38344455754fe503acbd79d2134141f996adff7f", + "checker_only_commit": "0d84047c280a873dd21baae2ecbf83ec422d497f", + "checker_verdict": "REVISE_HIGH_GOROUTINE_ONLY_PERMANENT_TEST", + "successor_branch": "work/prc-security-project-identity-r4", + "successor_base": "38344455754fe503acbd79d2134141f996adff7f", + "successor_surface": [ + "internal/proxy/identity_process_test.go", + "internal/proxy/identity_test.go", + ".agent/specs/security-project-identity/evidence/**", + ".agent/reports/evidence/production-ready/security-project-identity/**" + ], + "forbidden_final_path": "internal/proxy/identity.go" + } + ], + "rows": [ + { + "criterion": "PR-1", + "slice": "MASTER-PLAN", + "observed_status": "R9_MAKER_ACTIVE_ON_REJECTED_R8_BASE", + "observed_branch": "work/prc-release-gates-revision9-maker", + "base": "406fe952c143eb8aaf5895427c568a41d4cec225", + "head": "406fe952c143eb8aaf5895427c568a41d4cec225", + "disposition": "in-progress-empty-diff", + "changed_paths": [], + "baseline_r8_authority_audit": { + "verdict": "NOT_EVALUATED_EMPTY_IN_PROGRESS", + "changed_path_count": 0, + "undeclared_path_count": 0, + "epoch_verdict": "NOT_APPLICABLE", + "violations": [], + "epoch_errors": [], + "source_artifact": "fresh exact git diff audit" + }, + "r9_resolution": "R9 self row; commit A does not yet exist in the observed mutable register" + }, + { + "criterion": "PR-2", + "slice": "RELEASE-GATES", + "observed_status": "R9_MAKER_ACTIVE_BLOCKED_PENDING_SUCCESSOR_COMMITS", + "observed_branch": "work/prc-release-gates-revision9-maker", + "base": "406fe952c143eb8aaf5895427c568a41d4cec225", + "head": "406fe952c143eb8aaf5895427c568a41d4cec225", + "disposition": "in-progress-empty-diff", + "changed_paths": [], + "baseline_r8_authority_audit": { + "verdict": "NOT_EVALUATED_EMPTY_IN_PROGRESS", + "changed_path_count": 0, + "undeclared_path_count": 0, + "epoch_verdict": "NOT_APPLICABLE", + "violations": [], + "epoch_errors": [], + "source_artifact": "fresh exact git diff audit" + }, + "r9_resolution": "R9 self row; commit B does not yet exist in the observed mutable register" + }, + { + "criterion": "PR-2", + "slice": "DEMOLITION-SKIP-CLASSIFICATION", + "observed_status": "ALL_25_CLASSIFIED_OWNER_LANES_ACTIVE", + "observed_branch": "work/prc-release-gates-revision5-maker", + "base": "4812589b9920c187a92a03d210d2e9d5eb53862f", + "head": "d59d1605969b1f567506e96ded524dfd1e4be08a", + "disposition": "checker-classification-not-maker", + "changed_paths": [ + { + "status": "A", + "path": ".agent/e/rg4/r5-maker/SHA256SUMS" + }, + { + "status": "A", + "path": ".agent/e/rg4/r5-maker/fail.json" + }, + { + "status": "A", + "path": ".agent/e/rg4/r5-maker/manifest.json" + }, + { + "status": "A", + "path": ".agent/e/rg4/r5-maker/proof.json" + }, + { + "status": "A", + "path": ".agent/e/rg4/r5-maker/report.md" + }, + { + "status": "M", + "path": ".github/workflows/test.yml" + }, + { + "status": "M", + "path": "scripts/production-gates/run-db-suite.ps1" + } + ], + "baseline_r8_authority_audit": { + "verdict": "FAIL_CLASSIFICATION_ONLY", + "changed_path_count": 7, + "undeclared_path_count": 7, + "epoch_verdict": "NOT_APPLICABLE", + "violations": [ + { + "status": "A", + "path": ".agent/e/rg4/r5-maker/SHA256SUMS", + "reason": "no maker row; classification provenance only" + }, + { + "status": "A", + "path": ".agent/e/rg4/r5-maker/fail.json", + "reason": "no maker row; classification provenance only" + }, + { + "status": "A", + "path": ".agent/e/rg4/r5-maker/manifest.json", + "reason": "no maker row; classification provenance only" + }, + { + "status": "A", + "path": ".agent/e/rg4/r5-maker/proof.json", + "reason": "no maker row; classification provenance only" + }, + { + "status": "A", + "path": ".agent/e/rg4/r5-maker/report.md", + "reason": "no maker row; classification provenance only" + }, + { + "status": "M", + "path": ".github/workflows/test.yml", + "reason": "no maker row; classification provenance only" + }, + { + "status": "M", + "path": "scripts/production-gates/run-db-suite.ps1", + "reason": "no maker row; classification provenance only" + } + ], + "epoch_errors": [], + "source_artifact": "engram-r8-audit-demolition-skip-classification.json", + "r8_internal_error": "The property 'Count' cannot be found on this object. Verify that the property exists." + }, + "r9_resolution": "Reject the misbound register head; all seven paths are R5 release-gate work outside a DEMOLITION maker row. Diff mode must return a clear zero-declarations/non-empty-diff failure, never an internal Count error." + }, + { + "criterion": "PR-4", + "slice": "DB-BULKOPS", + "observed_status": "REVISE_HOLD", + "observed_branch": "work/prc-db-bulkops", + "base": "6ea10496aa127fba7fdb194875044e770d0a1d8c", + "head": "68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef", + "disposition": "rejected-historical-current-owner-conflict", + "changed_paths": [ + { + "status": "A", + "path": ".agent/reports/2026-07-10-db-bulkops-sibling-rework-maker.md" + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-sibling-rework/DB-BULKOPS-SIBLING-REWORK.final.json" + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-sibling-rework/DB-BULKOPS-SIBLING-REWORK.tdd.json" + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-sibling-rework/H1-candidate-review-after.red.json" + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-sibling-rework/M1-nil-facade-normalization.red.json" + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-bulkops-sibling-rework/M2-all-row-failure-audit.red.json" + }, + { + "status": "M", + "path": "internal/bulkops/facade.go" + }, + { + "status": "M", + "path": "internal/bulkops/facade_test.go" + }, + { + "status": "M", + "path": "internal/bulkops/rollback_test.go" + }, + { + "status": "M", + "path": "internal/db/gorm/candidate_store.go" + }, + { + "status": "M", + "path": "internal/db/gorm/candidate_store_test.go" + }, + { + "status": "M", + "path": "internal/mcp/tools_bulkops.go" + }, + { + "status": "M", + "path": "internal/mcp/tools_dryrun_test.go" + } + ], + "baseline_r8_authority_audit": { + "verdict": "FAIL", + "changed_path_count": 13, + "undeclared_path_count": 0, + "epoch_verdict": "FAIL", + "violations": [], + "epoch_errors": [ + "changed epoch path 'internal/db/gorm/candidate_store_test.go' current owner is 'DB-BULKOPS-BEHAVIORAL-EDGE-REWORK', not 'DB-BULKOPS'", + "changed epoch path 'internal/db/gorm/candidate_store.go' current owner is 'DB-BULKOPS-BEHAVIORAL-EDGE-REWORK', not 'DB-BULKOPS'", + "changed epoch path 'internal/mcp/tools_bulkops.go' current owner is 'DB-BULKOPS-BEHAVIORAL-EDGE-REWORK', not 'DB-BULKOPS'", + "changed epoch path 'internal/mcp/tools_dryrun_test.go' current owner is 'DB-BULKOPS-BEHAVIORAL-EDGE-REWORK', not 'DB-BULKOPS'" + ], + "source_artifact": "engram-r8-audit-db-bulkops.json" + }, + "r9_resolution": "The four repeated product paths now belong to DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + }, + { + "criterion": "PR-4", + "slice": "DB-AUTH", + "observed_status": "READY_FOR_INTEGRATION", + "observed_branch": "work/prc-db-auth", + "base": "b0c4ab4c07a4c6f512728da52b2e132bacd0289c", + "head": "da97c88be6753703bac112be8431dc373e4d9dda", + "disposition": "current-plan-declaration-drift", + "changed_paths": [ + { + "status": "A", + "path": ".agent/reports/db-auth-rework-maker-2026-07-10.md" + }, + { + "status": "M", + "path": "internal/db/gorm/user_store.go" + }, + { + "status": "M", + "path": "internal/db/gorm/user_store_test.go" + }, + { + "status": "M", + "path": "internal/worker/auth_handlers.go" + }, + { + "status": "M", + "path": "internal/worker/auth_handlers_lifecycle_test.go" + } + ], + "baseline_r8_authority_audit": { + "verdict": "FAIL", + "changed_path_count": 5, + "undeclared_path_count": 1, + "epoch_verdict": "PASS", + "violations": [ + { + "status": "A", + "path": ".agent/reports/db-auth-rework-maker-2026-07-10.md", + "reason": "changed path is outside the named slice and validated evidence/report namespaces" + } + ], + "epoch_errors": [], + "source_artifact": "engram-r8-audit-db-auth.json" + }, + "r9_resolution": "Add the exact maker report path" + }, + { + "criterion": "PR-4", + "slice": "DB-EMBEDDING-STATS", + "observed_status": "PRODUCT_ACCEPTED_EVIDENCE_R3_CHECKER_ACTIVE", + "observed_branch": "work/prc-db-embedding-stats", + "base": "dc891b2d72b1fd63b83e4a630a249241fc389151", + "head": "38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df", + "disposition": "current-plan-declaration-drift", + "changed_paths": [ + { + "status": "A", + "path": ".agent/reports/2026-07-10-db-embedding-stats-maker.md" + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats/DB-EMBEDDING-STATS.final.json" + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats/SHA256SUMS.txt" + }, + { + "status": "A", + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.red.json" + }, + { + "status": "A", + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.tdd.json" + }, + { + "status": "A", + "path": ".agent/specs/db-embedding-stats/evidence/coverage.out" + }, + { + "status": "M", + "path": "internal/embedding/store.go" + }, + { + "status": "M", + "path": "internal/embedding/store_stats_test.go" + } + ], + "baseline_r8_authority_audit": { + "verdict": "FAIL", + "changed_path_count": 8, + "undeclared_path_count": 4, + "epoch_verdict": "PASS", + "violations": [ + { + "status": "A", + "path": ".agent/reports/2026-07-10-db-embedding-stats-maker.md", + "reason": "changed path is outside the named slice and validated evidence/report namespaces" + }, + { + "status": "A", + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.red.json", + "reason": "changed path is outside the named slice and validated evidence/report namespaces" + }, + { + "status": "A", + "path": ".agent/specs/db-embedding-stats/evidence/DB-EMBEDDING-STATS.tdd.json", + "reason": "changed path is outside the named slice and validated evidence/report namespaces" + }, + { + "status": "A", + "path": ".agent/specs/db-embedding-stats/evidence/coverage.out", + "reason": "changed path is outside the named slice and validated evidence/report namespaces" + } + ], + "epoch_errors": [], + "source_artifact": "engram-r8-audit-db-embedding-stats.json" + }, + "r9_resolution": "Add the exact maker report and both bounded evidence families" + }, + { + "criterion": "PR-0", + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "observed_status": "R6_MAKER_ACTIVE_ON_EXACT_R5_BASE", + "observed_branch": "work/prc-db-embedding-evidence-transport-r6", + "base": "a538f6224ef31f612152470a4ecd45e78ff9d0f2", + "head": "a538f6224ef31f612152470a4ecd45e78ff9d0f2", + "disposition": "current-maker-empty-diff-plus-rejected-r5", + "changed_paths": [], + "baseline_r8_authority_audit": { + "verdict": "NOT_EVALUATED_EMPTY_IN_PROGRESS", + "changed_path_count": 0, + "undeclared_path_count": 0, + "epoch_verdict": "NOT_APPLICABLE", + "violations": [], + "epoch_errors": [], + "source_artifact": "fresh exact git diff audit" + }, + "r9_resolution": "R6 has no commit yet; freeze R5 rejected diff and authorize only the literal R6 evidence family", + "rejected_r5_audit": { + "base": "369951b61ee07cb0c405558e0f677cd1c9e90362", + "head": "a538f6224ef31f612152470a4ecd45e78ff9d0f2", + "verdict": "FAIL", + "changed_path_count": 28, + "undeclared_path_count": 10, + "violations": [ + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/R5-SHA256SUMS.txt", + "reason": "changed path is outside the named slice and validated evidence/report namespaces" + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-capture.v1.json", + "reason": "changed path is outside the named slice and validated evidence/report namespaces" + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-repeat.v1.json", + "reason": "changed path is outside the named slice and validated evidence/report namespaces" + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-run-1.tap", + "reason": "changed path is outside the named slice and validated evidence/report namespaces" + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-run-2.tap", + "reason": "changed path is outside the named slice and validated evidence/report namespaces" + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-report.md", + "reason": "changed path is outside the named slice and validated evidence/report namespaces" + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-summary.v1.json", + "reason": "changed path is outside the named slice and validated evidence/report namespaces" + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/run-coverage-capture-verifier.cmd", + "reason": "changed path is outside the named slice and validated evidence/report namespaces" + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verification-matrix.v1.json", + "reason": "changed path is outside the named slice and validated evidence/report namespaces" + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verify-coverage-capture.cjs", + "reason": "changed path is outside the named slice and validated evidence/report namespaces" + } + ], + "source_artifact": "engram-r8-root-r5-diff.json" + } + }, + { + "criterion": "PR-4", + "slice": "DB-REAPER", + "observed_status": "READY_FOR_INTEGRATION_WITH_CONCERNS", + "observed_branch": "work/prc-db-reaper-shutdown-r4", + "base": "0f79e925c4ba537c5358cca64e2546bce914ff96", + "head": "0d5cfa5c67ddbc331d7e812f98679742541b32ca", + "disposition": "rejected-path-authority-conflict", + "changed_paths": [ + { + "status": "M", + "path": "internal/worker/service.go" + }, + { + "status": "M", + "path": "internal/worker/service_reaper_lifecycle_test.go" + } + ], + "baseline_r8_authority_audit": { + "verdict": "FAIL", + "changed_path_count": 2, + "undeclared_path_count": 2, + "epoch_verdict": "FAIL", + "violations": [ + { + "status": "M", + "path": "internal/worker/service.go", + "reason": "changed path is outside the named slice and validated evidence/report namespaces" + }, + { + "status": "M", + "path": "internal/worker/service_reaper_lifecycle_test.go", + "reason": "changed path is outside the named slice and validated evidence/report namespaces" + } + ], + "epoch_errors": [ + "changed epoch path 'internal/worker/service.go' current owner is 'AUTH-BOOTSTRAP-SECURITY', not 'DB-REAPER'" + ], + "source_artifact": "engram-r8-audit-db-reaper.json" + }, + "r9_resolution": "Do not grant service.go concurrently; require a fresh epoch-safe amendment/candidate" + }, + { + "criterion": "PR-4", + "slice": "DB-CRYSTALLIZATION", + "observed_status": "READY_FOR_INTEGRATION_WITH_CONCERNS", + "observed_branch": "work/prc-db-crystallization", + "base": "dc891b2d72b1fd63b83e4a630a249241fc389151", + "head": "2ab6211494e51aeb7b787a99e78cff8bf2d5694a", + "disposition": "current-path-authority-pass", + "changed_paths": [ + { + "status": "M", + "path": "internal/worker/handlers_hooks_crystallization_integration_test.go" + } + ], + "baseline_r8_authority_audit": { + "verdict": "PASS", + "changed_path_count": 1, + "undeclared_path_count": 0, + "epoch_verdict": "PASS", + "violations": [], + "epoch_errors": [], + "source_artifact": "engram-r8-audit-db-crystallization.json" + }, + "r9_resolution": "No correction required" + }, + { + "criterion": "PR-5", + "slice": "SECURITY-TOOLCHAIN", + "observed_status": "READY_FOR_INTEGRATION", + "observed_branch": "work/prc-security-toolchain", + "base": "dc891b2d72b1fd63b83e4a630a249241fc389151", + "head": "b0955dfd61b4ea7364f6d400579247b475a1a680", + "disposition": "current-path-authority-pass", + "changed_paths": [ + { + "status": "M", + "path": "Dockerfile" + }, + { + "status": "M", + "path": "go.mod" + }, + { + "status": "M", + "path": "go.sum" + } + ], + "baseline_r8_authority_audit": { + "verdict": "PASS", + "changed_path_count": 3, + "undeclared_path_count": 0, + "epoch_verdict": "PASS", + "violations": [], + "epoch_errors": [], + "source_artifact": "engram-r8-audit-security-toolchain.json" + }, + "r9_resolution": "No correction required" + }, + { + "criterion": "PR-5", + "slice": "SECURITY-PROJECT-IDENTITY", + "observed_status": "R3_MAKER_COMMIT_READY_CHECKER_ACTIVE", + "observed_branch": "work/prc-security-project-identity-r3", + "base": "9e2ce4e58a5cded69660ca9ac532d2167f315bb2", + "head": "38344455754fe503acbd79d2134141f996adff7f", + "disposition": "current-cross-consumer-declaration-drift", + "changed_paths": [ + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/security-project-identity/SECURITY-PROJECT-IDENTITY-R3-maker-report.md" + }, + { + "status": "A", + "path": ".agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.red.json" + }, + { + "status": "A", + "path": ".agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.tdd.json" + }, + { + "status": "A", + "path": ".agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.verification.json" + }, + { + "status": "M", + "path": ".agent/specs/security-project-identity/evidence/project-identity-v2-vectors.json" + }, + { + "status": "M", + "path": "internal/db/gorm/project_identity_v2_test.go" + }, + { + "status": "M", + "path": "internal/db/gorm/project_store.go" + }, + { + "status": "M", + "path": "internal/grpcserver/project_identity_v2_test.go" + }, + { + "status": "M", + "path": "internal/proxy/identity.go" + }, + { + "status": "M", + "path": "internal/proxy/identity_test.go" + }, + { + "status": "M", + "path": "plugin/engram/hooks/lib.js" + }, + { + "status": "M", + "path": "plugin/engram/hooks/project-identity-v2.test.js" + }, + { + "status": "M", + "path": "plugin/openclaw-engram/src/identity.ts" + }, + { + "status": "M", + "path": "plugin/openclaw-engram/test/project-identity-v2.test.mjs" + } + ], + "baseline_r8_authority_audit": { + "verdict": "FAIL", + "changed_path_count": 14, + "undeclared_path_count": 11, + "epoch_verdict": "PASS", + "violations": [ + { + "status": "A", + "path": ".agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.red.json", + "reason": "changed path is outside the named slice and validated evidence/report namespaces" + }, + { + "status": "A", + "path": ".agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.tdd.json", + "reason": "changed path is outside the named slice and validated evidence/report namespaces" + }, + { + "status": "A", + "path": ".agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.verification.json", + "reason": "changed path is outside the named slice and validated evidence/report namespaces" + }, + { + "status": "M", + "path": ".agent/specs/security-project-identity/evidence/project-identity-v2-vectors.json", + "reason": "changed path is outside the named slice and validated evidence/report namespaces" + }, + { + "status": "M", + "path": "internal/db/gorm/project_identity_v2_test.go", + "reason": "changed path is outside the named slice and validated evidence/report namespaces" + }, + { + "status": "M", + "path": "internal/proxy/identity.go", + "reason": "changed path is outside the named slice and validated evidence/report namespaces" + }, + { + "status": "M", + "path": "internal/proxy/identity_test.go", + "reason": "changed path is outside the named slice and validated evidence/report namespaces" + }, + { + "status": "M", + "path": "plugin/engram/hooks/lib.js", + "reason": "changed path is outside the named slice and validated evidence/report namespaces" + }, + { + "status": "M", + "path": "plugin/engram/hooks/project-identity-v2.test.js", + "reason": "changed path is outside the named slice and validated evidence/report namespaces" + }, + { + "status": "M", + "path": "plugin/openclaw-engram/src/identity.ts", + "reason": "changed path is outside the named slice and validated evidence/report namespaces" + }, + { + "status": "M", + "path": "plugin/openclaw-engram/test/project-identity-v2.test.mjs", + "reason": "changed path is outside the named slice and validated evidence/report namespaces" + } + ], + "epoch_errors": [], + "source_artifact": "engram-r8-root-security-r3-diff-canonical.json" + }, + "r9_resolution": "Replace the wrong test declaration and own the exact 14-path R3 diff" + }, + { + "criterion": "PR-0", + "slice": "PLAN-GOVERNANCE", + "observed_status": "R9_MAKER_ACTIVE_FULL_DIFF_AUTHORITY_AUDIT", + "observed_branch": "work/prc-release-gates-revision9-maker", + "base": "406fe952c143eb8aaf5895427c568a41d4cec225", + "head": "406fe952c143eb8aaf5895427c568a41d4cec225", + "disposition": "in-progress-empty-diff", + "changed_paths": [], + "baseline_r8_authority_audit": { + "verdict": "NOT_EVALUATED_EMPTY_IN_PROGRESS", + "changed_path_count": 0, + "undeclared_path_count": 0, + "epoch_verdict": "NOT_APPLICABLE", + "violations": [], + "epoch_errors": [], + "source_artifact": "fresh exact git diff audit" + }, + "r9_resolution": "R9 self row; commit A does not yet exist in the observed mutable register" + }, + { + "criterion": "PR-4", + "slice": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "observed_status": "READY_FOR_INTEGRATION_WITH_CONCERNS", + "observed_branch": "work/prc-db-bulkops", + "base": "cd098397764e13388aef3b4da9448172c7092fdb", + "head": "bd68c05baf4b7250096dd84f56bebea2aa555970", + "disposition": "current-register-partial-base", + "changed_paths": [ + { + "status": "M", + "path": "internal/db/gorm/candidate_store.go" + }, + { + "status": "M", + "path": "internal/db/gorm/candidate_store_test.go" + } + ], + "baseline_r8_authority_audit": { + "verdict": "FAIL", + "changed_path_count": 2, + "undeclared_path_count": 0, + "epoch_verdict": "FAIL", + "violations": [], + "epoch_errors": [ + "rework slice 'DB-BULKOPS-BEHAVIORAL-EDGE-REWORK' base 'cd098397764e13388aef3b4da9448172c7092fdb' must equal rejected predecessor '68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef' for 'internal/db/gorm/candidate_store_test.go'", + "rework slice 'DB-BULKOPS-BEHAVIORAL-EDGE-REWORK' base 'cd098397764e13388aef3b4da9448172c7092fdb' must equal rejected predecessor '68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef' for 'internal/db/gorm/candidate_store.go'" + ], + "source_artifact": "engram-r8-audit-db-bulkops-behavioral-edge-rework.json" + }, + "r9_resolution": "Freeze the full candidate from rejected predecessor 68b2ce58, not partial cd098397..bd68c05b" + }, + { + "criterion": "PR-2", + "slice": "DB-TEST-POOL-HYGIENE", + "observed_status": "READY_FOR_CHECK", + "observed_branch": "work/prc-db-test-pool-hygiene-evidence-r2", + "base": "276337b3e96aa5af6d2e7dd9a0002ff957e5ffc9", + "head": "68242c48aaad62ec087166eeb9ea32f14d189450", + "disposition": "current-path-authority-pass", + "changed_paths": [ + { + "status": "A", + "path": ".agent/reports/2026-07-10-db-test-pool-hygiene-evidence-revision-maker.md" + }, + { + "status": "M", + "path": ".agent/reports/2026-07-10-db-test-pool-hygiene-maker.md" + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/14-evidence-r2-focused.log" + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/15-evidence-r2-static.txt" + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.evidence-r2.json" + }, + { + "status": "M", + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/DB-TEST-POOL-HYGIENE.final.json" + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/INVENTORY.json" + }, + { + "status": "M", + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/MANIFEST.json" + }, + { + "status": "M", + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/SHA256SUMS.txt" + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/Test-DBPoolHygieneEvidenceAdversarial.ps1" + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/Verify-DBPoolHygieneEvidence.ps1" + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/adversarial-proof.json" + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/verifier-proof.json" + } + ], + "baseline_r8_authority_audit": { + "verdict": "PASS", + "changed_path_count": 13, + "undeclared_path_count": 0, + "epoch_verdict": "PASS", + "violations": [], + "epoch_errors": [], + "source_artifact": "engram-r8-audit-db-test-pool-hygiene.json" + }, + "r9_resolution": "No correction required" + } + ] +} diff --git a/.agent/specs/release-gates-r9/evidence/release-gates/R9-ACTIVE-CANDIDATE-AUTHORITY.red.json b/.agent/specs/release-gates-r9/evidence/release-gates/R9-ACTIVE-CANDIDATE-AUTHORITY.red.json new file mode 100644 index 00000000..c99facbd --- /dev/null +++ b/.agent/specs/release-gates-r9/evidence/release-gates/R9-ACTIVE-CANDIDATE-AUTHORITY.red.json @@ -0,0 +1,11 @@ +{ + "schema_version": 1, + "slice": "RELEASE-GATES-R9", + "phase": "RED", + "command": "pwsh -NoProfile -File .agent/specs/release-gates-r9/evidence/release-gates/test-r9-active-candidate-path-authority.ps1", + "exit_code": 1, + "expected_failure": "R9 active-candidate authority gate is missing", + "observed_failure": "R9 active-candidate authority gate is missing: scripts/production-gates/assert-active-candidate-path-authority.ps1", + "production_script_existed": false, + "verdict": "EXPECTED_RED" +} diff --git a/.agent/specs/release-gates-r9/evidence/release-gates/R9-ACTIVE-CANDIDATE-AUTHORITY.regressions-red.json b/.agent/specs/release-gates-r9/evidence/release-gates/R9-ACTIVE-CANDIDATE-AUTHORITY.regressions-red.json new file mode 100644 index 00000000..5bfe66d2 --- /dev/null +++ b/.agent/specs/release-gates-r9/evidence/release-gates/R9-ACTIVE-CANDIDATE-AUTHORITY.regressions-red.json @@ -0,0 +1,27 @@ +{ + "schema_version": 1, + "slice": "RELEASE-GATES-R9", + "phase": "RED", + "command": "pwsh -NoProfile -File scripts/production-gates/assert-active-candidate-path-authority.ps1 -SelfTest", + "cases": [ + { + "name": "prefix-only pending null normalization", + "exit_code": 1, + "observed_failure": "SELFTEST FAIL: prefix-only pending contract serialized a null exact-path declaration", + "required_green": "prefix-only pending serializes allowed_exact_paths as [] and accepts valid paths from the full bounded plan-owned .agent surface" + }, + { + "name": "pending probe exact base anchor", + "exit_code": 1, + "observed_failure": "SELFTEST FAIL: pending probe accepted or obscured a non-anchor base", + "required_green": "probe base equals the frozen pending base_anchor and is an ancestor of head" + }, + { + "name": "load-bearing R9 metadata", + "exit_code": 1, + "observed_failure": "SELFTEST FAIL: R9 profile accepted a wrong rejected R8 head", + "required_green": "exact rejected R8 head, AB5F scope provenance, discovery-only source audit, and digest serialization/case mutations all fail" + } + ], + "verdict": "EXPECTED_RED" +} diff --git a/.agent/specs/release-gates-r9/evidence/release-gates/R9-PLAN-PATH-OWNERSHIP.zero-row-red.json b/.agent/specs/release-gates-r9/evidence/release-gates/R9-PLAN-PATH-OWNERSHIP.zero-row-red.json new file mode 100644 index 00000000..380af11b --- /dev/null +++ b/.agent/specs/release-gates-r9/evidence/release-gates/R9-PLAN-PATH-OWNERSHIP.zero-row-red.json @@ -0,0 +1,15 @@ +{ + "schema_version": 1, + "slice": "RELEASE-GATES-R9", + "phase": "RED", + "gate": "plan-path-ownership", + "mode": "Diff", + "candidate_slice": "DEMOLITION-SKIP-CLASSIFICATION", + "base": "4812589b9920c187a92a03d210d2e9d5eb53862f", + "head": "d59d1605969b1f567506e96ded524dfd1e4be08a", + "diff_entries": 7, + "exit_code": 1, + "observed_failure": "The property 'Count' cannot be found on this object. Verify that the property exists.", + "required_green": "a deterministic zero-maker-row failure that preserves the seven non-empty diff entries and contains no internal scalar Count exception", + "verdict": "EXPECTED_RED" +} diff --git a/.agent/specs/release-gates-r9/evidence/release-gates/active-candidate-authority-git-replay.json b/.agent/specs/release-gates-r9/evidence/release-gates/active-candidate-authority-git-replay.json new file mode 100644 index 00000000..3af89c26 --- /dev/null +++ b/.agent/specs/release-gates-r9/evidence/release-gates/active-candidate-authority-git-replay.json @@ -0,0 +1,216 @@ +{ + "schema_version": 1, + "gate": "active-candidate-path-authority", + "verdict": "PASS", + "started_at": "2026-07-10T22:29:55.8609380+00:00", + "finished_at": "2026-07-10T22:29:57.8527428+00:00", + "duration_seconds": 1.992, + "contract": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-active-diff-contracts.json", + "expected_sha256": "d8e7818d84831f047d30a8493f9c7d2a8cea288d5c381735960d11dd02988ae5", + "observed_sha256": "d8e7818d84831f047d30a8493f9c7d2a8cea288d5c381735960d11dd02988ae5", + "hash_match": true + }, + "plan": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-master-plan.md", + "expected_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f", + "observed_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f", + "hash_match": true + }, + "source_snapshot": { + "freshness": "HISTORICAL_DISCOVERY_ONLY", + "used_for_acceptance": false, + "mutable_register_read": false, + "observed_sha256": "29865adc048cb3f64ec7d133b3bd901c95115e4ae5b95c98927607de889f77d4" + }, + "counts": { + "candidates": 9, + "paths": 123.0, + "pending_contracts": 2, + "current_candidates": 6, + "rejected_candidates": 3, + "git_verified": 9, + "errors": 0 + }, + "candidates": [ + { + "slice": "DB-AUTH", + "status_class": "current-ready", + "branch": "work/prc-db-auth", + "base": "b0c4ab4c07a4c6f512728da52b2e132bacd0289c", + "head": "da97c88be6753703bac112be8431dc373e4d9dda", + "path_count": 5, + "paths_sha256": "7a678254366c2bdcf5feba8e25ce1151a69ae0a0240d68e3af3cd15ffa1b9d9e" + }, + { + "slice": "DB-EMBEDDING-STATS", + "status_class": "current-checker-active", + "branch": "work/prc-db-embedding-stats", + "base": "dc891b2d72b1fd63b83e4a630a249241fc389151", + "head": "38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df", + "path_count": 8, + "paths_sha256": "b4d1c8176810630268759cedc909cd1042b063b81a14a01175b1a36f174d5c0f" + }, + { + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "status_class": "rejected-evidence-revision", + "branch": "work/prc-db-embedding-evidence-transport-r5", + "base": "369951b61ee07cb0c405558e0f677cd1c9e90362", + "head": "a538f6224ef31f612152470a4ecd45e78ff9d0f2", + "path_count": 28, + "paths_sha256": "a9e3eb9762bc3d597ac277c653ad30d10149cb10443fb0b0fc3edd21093c8217" + }, + { + "slice": "DB-BULKOPS", + "status_class": "rejected-historical", + "branch": "work/prc-db-bulkops", + "base": "6ea10496aa127fba7fdb194875044e770d0a1d8c", + "head": "68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef", + "path_count": 13, + "paths_sha256": "1c53f8aed2d97d91f9103a21d214856c5bb0f59dce6dcc0264e1ce04693c869a" + }, + { + "slice": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "status_class": "current-ready-with-concerns", + "branch": "work/prc-db-bulkops", + "base": "68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef", + "head": "bd68c05baf4b7250096dd84f56bebea2aa555970", + "path_count": 38, + "paths_sha256": "39a32b36dfac7f1148649ca092abc23320fda34e2535a828778e228aa8c0230d" + }, + { + "slice": "DB-CRYSTALLIZATION", + "status_class": "current-ready-with-concerns", + "branch": "work/prc-db-crystallization", + "base": "dc891b2d72b1fd63b83e4a630a249241fc389151", + "head": "2ab6211494e51aeb7b787a99e78cff8bf2d5694a", + "path_count": 1, + "paths_sha256": "8428c4f86e06bdab5367fd6678decdb49b8aa23a41f593b246b7e541ec84ab23" + }, + { + "slice": "SECURITY-TOOLCHAIN", + "status_class": "current-ready", + "branch": "work/prc-security-toolchain", + "base": "dc891b2d72b1fd63b83e4a630a249241fc389151", + "head": "b0955dfd61b4ea7364f6d400579247b475a1a680", + "path_count": 3, + "paths_sha256": "5e49ddf6f66cc54d25f31cecd2fae96554d760f8c722f1c113a9d8e695468143" + }, + { + "slice": "SECURITY-PROJECT-IDENTITY", + "status_class": "rejected-security-r3", + "branch": "work/prc-security-project-identity-r3", + "base": "9e2ce4e58a5cded69660ca9ac532d2167f315bb2", + "head": "38344455754fe503acbd79d2134141f996adff7f", + "path_count": 14, + "paths_sha256": "046360929bec61f3cbda420754aaab7056badf467d5e5c2c2e2fce68e2f5e21f" + }, + { + "slice": "DB-TEST-POOL-HYGIENE", + "status_class": "current-ready-for-check", + "branch": "work/prc-db-test-pool-hygiene-evidence-r2", + "base": "276337b3e96aa5af6d2e7dd9a0002ff957e5ffc9", + "head": "68242c48aaad62ec087166eeb9ea32f14d189450", + "path_count": 13, + "paths_sha256": "5b30cedca485ce89ce38bdb665413be59a3e2639e01e04c600172e68e503f3a0" + } + ], + "pending_contracts": [ + { + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "base_anchor": "a538f6224ef31f612152470a4ecd45e78ff9d0f2", + "allowed_exact_paths": [], + "effective_agent_declarations": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/**", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/**", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/**", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/**", + ".agent/specs/db-embedding-stats-evidence-transport/evidence/**" + ], + "requires_final_exact_diff_contract": true + }, + { + "slice": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "base_anchor": "38344455754fe503acbd79d2134141f996adff7f", + "allowed_exact_paths": [ + "internal/proxy/identity_process_test.go", + "internal/proxy/identity_test.go" + ], + "effective_agent_declarations": [ + ".agent/specs/security-project-identity/evidence/**", + ".agent/reports/evidence/production-ready/security-project-identity/**" + ], + "requires_final_exact_diff_contract": true + } + ], + "git_verification": [ + { + "slice": "DB-AUTH", + "available": true, + "verified": true, + "path_count": 5, + "paths_sha256": "7a678254366c2bdcf5feba8e25ce1151a69ae0a0240d68e3af3cd15ffa1b9d9e" + }, + { + "slice": "DB-EMBEDDING-STATS", + "available": true, + "verified": true, + "path_count": 8, + "paths_sha256": "b4d1c8176810630268759cedc909cd1042b063b81a14a01175b1a36f174d5c0f" + }, + { + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "available": true, + "verified": true, + "path_count": 28, + "paths_sha256": "a9e3eb9762bc3d597ac277c653ad30d10149cb10443fb0b0fc3edd21093c8217" + }, + { + "slice": "DB-BULKOPS", + "available": true, + "verified": true, + "path_count": 13, + "paths_sha256": "1c53f8aed2d97d91f9103a21d214856c5bb0f59dce6dcc0264e1ce04693c869a" + }, + { + "slice": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "available": true, + "verified": true, + "path_count": 38, + "paths_sha256": "39a32b36dfac7f1148649ca092abc23320fda34e2535a828778e228aa8c0230d" + }, + { + "slice": "DB-CRYSTALLIZATION", + "available": true, + "verified": true, + "path_count": 1, + "paths_sha256": "8428c4f86e06bdab5367fd6678decdb49b8aa23a41f593b246b7e541ec84ab23" + }, + { + "slice": "SECURITY-TOOLCHAIN", + "available": true, + "verified": true, + "path_count": 3, + "paths_sha256": "5e49ddf6f66cc54d25f31cecd2fae96554d760f8c722f1c113a9d8e695468143" + }, + { + "slice": "SECURITY-PROJECT-IDENTITY", + "available": true, + "verified": true, + "path_count": 14, + "paths_sha256": "046360929bec61f3cbda420754aaab7056badf467d5e5c2c2e2fce68e2f5e21f" + }, + { + "slice": "DB-TEST-POOL-HYGIENE", + "available": true, + "verified": true, + "path_count": 13, + "paths_sha256": "5b30cedca485ce89ce38bdb665413be59a3e2639e01e04c600172e68e503f3a0" + } + ], + "pending_probe": null, + "errors": [] +} diff --git a/.agent/specs/release-gates-r9/evidence/release-gates/active-candidate-authority-harness.json b/.agent/specs/release-gates-r9/evidence/release-gates/active-candidate-authority-harness.json new file mode 100644 index 00000000..74bee2e8 --- /dev/null +++ b/.agent/specs/release-gates-r9/evidence/release-gates/active-candidate-authority-harness.json @@ -0,0 +1,152 @@ +{ + "schema_version": 1, + "gate": "active-candidate-path-authority", + "verdict": "PASS", + "started_at": "2026-07-10T22:32:02.6111211+00:00", + "finished_at": "2026-07-10T22:32:03.2025280+00:00", + "duration_seconds": 0.591, + "contract": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-active-diff-contracts.json", + "expected_sha256": "d8e7818d84831f047d30a8493f9c7d2a8cea288d5c381735960d11dd02988ae5", + "observed_sha256": "d8e7818d84831f047d30a8493f9c7d2a8cea288d5c381735960d11dd02988ae5", + "hash_match": true + }, + "plan": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-master-plan.md", + "expected_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f", + "observed_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f", + "hash_match": true + }, + "source_snapshot": { + "freshness": "HISTORICAL_DISCOVERY_ONLY", + "used_for_acceptance": false, + "mutable_register_read": false, + "observed_sha256": "29865adc048cb3f64ec7d133b3bd901c95115e4ae5b95c98927607de889f77d4" + }, + "counts": { + "candidates": 9, + "paths": 123.0, + "pending_contracts": 2, + "current_candidates": 6, + "rejected_candidates": 3, + "git_verified": 0, + "errors": 0 + }, + "candidates": [ + { + "slice": "DB-AUTH", + "status_class": "current-ready", + "branch": "work/prc-db-auth", + "base": "b0c4ab4c07a4c6f512728da52b2e132bacd0289c", + "head": "da97c88be6753703bac112be8431dc373e4d9dda", + "path_count": 5, + "paths_sha256": "7a678254366c2bdcf5feba8e25ce1151a69ae0a0240d68e3af3cd15ffa1b9d9e" + }, + { + "slice": "DB-EMBEDDING-STATS", + "status_class": "current-checker-active", + "branch": "work/prc-db-embedding-stats", + "base": "dc891b2d72b1fd63b83e4a630a249241fc389151", + "head": "38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df", + "path_count": 8, + "paths_sha256": "b4d1c8176810630268759cedc909cd1042b063b81a14a01175b1a36f174d5c0f" + }, + { + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "status_class": "rejected-evidence-revision", + "branch": "work/prc-db-embedding-evidence-transport-r5", + "base": "369951b61ee07cb0c405558e0f677cd1c9e90362", + "head": "a538f6224ef31f612152470a4ecd45e78ff9d0f2", + "path_count": 28, + "paths_sha256": "a9e3eb9762bc3d597ac277c653ad30d10149cb10443fb0b0fc3edd21093c8217" + }, + { + "slice": "DB-BULKOPS", + "status_class": "rejected-historical", + "branch": "work/prc-db-bulkops", + "base": "6ea10496aa127fba7fdb194875044e770d0a1d8c", + "head": "68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef", + "path_count": 13, + "paths_sha256": "1c53f8aed2d97d91f9103a21d214856c5bb0f59dce6dcc0264e1ce04693c869a" + }, + { + "slice": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "status_class": "current-ready-with-concerns", + "branch": "work/prc-db-bulkops", + "base": "68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef", + "head": "bd68c05baf4b7250096dd84f56bebea2aa555970", + "path_count": 38, + "paths_sha256": "39a32b36dfac7f1148649ca092abc23320fda34e2535a828778e228aa8c0230d" + }, + { + "slice": "DB-CRYSTALLIZATION", + "status_class": "current-ready-with-concerns", + "branch": "work/prc-db-crystallization", + "base": "dc891b2d72b1fd63b83e4a630a249241fc389151", + "head": "2ab6211494e51aeb7b787a99e78cff8bf2d5694a", + "path_count": 1, + "paths_sha256": "8428c4f86e06bdab5367fd6678decdb49b8aa23a41f593b246b7e541ec84ab23" + }, + { + "slice": "SECURITY-TOOLCHAIN", + "status_class": "current-ready", + "branch": "work/prc-security-toolchain", + "base": "dc891b2d72b1fd63b83e4a630a249241fc389151", + "head": "b0955dfd61b4ea7364f6d400579247b475a1a680", + "path_count": 3, + "paths_sha256": "5e49ddf6f66cc54d25f31cecd2fae96554d760f8c722f1c113a9d8e695468143" + }, + { + "slice": "SECURITY-PROJECT-IDENTITY", + "status_class": "rejected-security-r3", + "branch": "work/prc-security-project-identity-r3", + "base": "9e2ce4e58a5cded69660ca9ac532d2167f315bb2", + "head": "38344455754fe503acbd79d2134141f996adff7f", + "path_count": 14, + "paths_sha256": "046360929bec61f3cbda420754aaab7056badf467d5e5c2c2e2fce68e2f5e21f" + }, + { + "slice": "DB-TEST-POOL-HYGIENE", + "status_class": "current-ready-for-check", + "branch": "work/prc-db-test-pool-hygiene-evidence-r2", + "base": "276337b3e96aa5af6d2e7dd9a0002ff957e5ffc9", + "head": "68242c48aaad62ec087166eeb9ea32f14d189450", + "path_count": 13, + "paths_sha256": "5b30cedca485ce89ce38bdb665413be59a3e2639e01e04c600172e68e503f3a0" + } + ], + "pending_contracts": [ + { + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "base_anchor": "a538f6224ef31f612152470a4ecd45e78ff9d0f2", + "allowed_exact_paths": [], + "effective_agent_declarations": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/**", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/**", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/**", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/**", + ".agent/specs/db-embedding-stats-evidence-transport/evidence/**" + ], + "requires_final_exact_diff_contract": true + }, + { + "slice": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "base_anchor": "38344455754fe503acbd79d2134141f996adff7f", + "allowed_exact_paths": [ + "internal/proxy/identity_process_test.go", + "internal/proxy/identity_test.go" + ], + "effective_agent_declarations": [ + ".agent/specs/security-project-identity/evidence/**", + ".agent/reports/evidence/production-ready/security-project-identity/**" + ], + "requires_final_exact_diff_contract": true + } + ], + "git_verification": [], + "pending_probe": null, + "errors": [] +} diff --git a/.agent/specs/release-gates-r9/evidence/release-gates/critical-suite/r9-maker/commands.json b/.agent/specs/release-gates-r9/evidence/release-gates/critical-suite/r9-maker/commands.json new file mode 100644 index 00000000..466b90e0 --- /dev/null +++ b/.agent/specs/release-gates-r9/evidence/release-gates/critical-suite/r9-maker/commands.json @@ -0,0 +1,43 @@ +[ + { + "name": "critical-go-test", + "executable": "C:\\Program Files\\Go\\bin\\go.exe", + "arguments": [ + "test", + "-tags=critical", + "-json", + "./tests/critical/...", + "-count=1" + ], + "command": "\"C:\\Program Files\\Go\\bin\\go.exe\" test -tags=critical -json ./tests/critical/... -count=1", + "started_at": "2026-07-10T22:24:40.8464328+00:00", + "finished_at": "2026-07-10T22:24:46.4502611+00:00", + "duration_seconds": 5.604, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\specs\\release-gates-r9\\evidence\\release-gates\\critical-suite\\r9-maker\\go-test.stdout.jsonl", + "stderr": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\specs\\release-gates-r9\\evidence\\release-gates\\critical-suite\\r9-maker\\go-test.stderr.log" + }, + { + "name": "critical-json-parser", + "executable": "C:\\Program Files\\PowerShell\\7\\pwsh.exe", + "arguments": [ + "-NoProfile", + "-File", + "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\scripts\\production-gates\\assert-go-test-json.ps1", + "-InputPath", + ".agent\\specs\\release-gates-r9\\evidence\\release-gates\\critical-suite\\r9-maker\\go-test.stdout.jsonl", + "-SummaryPath", + ".agent\\specs\\release-gates-r9\\evidence\\release-gates\\critical-suite\\r9-maker\\go-test-summary.json", + "-FailOnUnexpectedSkip" + ], + "command": "\"C:\\Program Files\\PowerShell\\7\\pwsh.exe\" -NoProfile -File \"D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\scripts\\production-gates\\assert-go-test-json.ps1\" -InputPath \".agent\\specs\\release-gates-r9\\evidence\\release-gates\\critical-suite\\r9-maker\\go-test.stdout.jsonl\" -SummaryPath \".agent\\specs\\release-gates-r9\\evidence\\release-gates\\critical-suite\\r9-maker\\go-test-summary.json\" -FailOnUnexpectedSkip", + "started_at": "2026-07-10T22:24:46.4644807+00:00", + "finished_at": "2026-07-10T22:24:46.9765300+00:00", + "duration_seconds": 0.512, + "exit_code": 0, + "timed_out": false, + "stdout": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\specs\\release-gates-r9\\evidence\\release-gates\\critical-suite\\r9-maker\\json-parser.stdout.log", + "stderr": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\specs\\release-gates-r9\\evidence\\release-gates\\critical-suite\\r9-maker\\json-parser.stderr.log" + } +] diff --git a/.agent/specs/release-gates-r9/evidence/release-gates/critical-suite/r9-maker/go-test-summary.json b/.agent/specs/release-gates-r9/evidence/release-gates/critical-suite/r9-maker/go-test-summary.json new file mode 100644 index 00000000..9919aef4 --- /dev/null +++ b/.agent/specs/release-gates-r9/evidence/release-gates/critical-suite/r9-maker/go-test-summary.json @@ -0,0 +1,88 @@ +{ + "schema_version": 1, + "verdict": "PASS", + "input_path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\specs\\release-gates-r9\\evidence\\release-gates\\critical-suite\\r9-maker\\go-test.stdout.jsonl", + "fail_on_unexpected_skip": true, + "allowed_skip_identities": [], + "counts": { + "packages": 1, + "tests": 7, + "passed": 7, + "failed": 0, + "skipped": 0, + "no_tests": 0, + "zero_tests": 0, + "incomplete": 0, + "unexpected_skips": 0, + "malformed_lines": 0 + }, + "packages": [ + { + "package": "github.com/thebtf/engram/tests/critical", + "outcome": "pass", + "elapsed_seconds": 0.164, + "last_output": "ok \tgithub.com/thebtf/engram/tests/critical\t0.164s", + "tests_observed": 7 + } + ], + "tests": [ + { + "package": "github.com/thebtf/engram/tests/critical", + "test": "TestCritical_AuthTwoTier", + "outcome": "pass", + "elapsed_seconds": 0.01, + "last_output": "--- PASS: TestCritical_AuthTwoTier (0.01s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical", + "test": "TestCritical_AuthTwoTier/anti-stub:_stubbed_validator_flips_success_assertions", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCritical_AuthTwoTier/anti-stub:_stubbed_validator_flips_success_assertions (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical", + "test": "TestCritical_AuthTwoTier/gRPC_accepts_dashboard-issued_keycard", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCritical_AuthTwoTier/gRPC_accepts_dashboard-issued_keycard (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical", + "test": "TestCritical_AuthTwoTier/gRPC_accepts_operator_key", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCritical_AuthTwoTier/gRPC_accepts_operator_key (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical", + "test": "TestCritical_AuthTwoTier/gRPC_rejects_garbage_bearer", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCritical_AuthTwoTier/gRPC_rejects_garbage_bearer (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical", + "test": "TestCritical_AuthTwoTier/gRPC_rejects_missing_bearer", + "outcome": "pass", + "elapsed_seconds": 0.0, + "last_output": "--- PASS: TestCritical_AuthTwoTier/gRPC_rejects_missing_bearer (0.00s)", + "skip_allowed": false + }, + { + "package": "github.com/thebtf/engram/tests/critical", + "test": "TestCritical_AuthTwoTier/HTTP_bearer_arm:_master_+_keycard_accepted,_garbage_rejected", + "outcome": "pass", + "elapsed_seconds": 0.01, + "last_output": "--- PASS: TestCritical_AuthTwoTier/HTTP_bearer_arm:_master_+_keycard_accepted,_garbage_rejected (0.01s)", + "skip_allowed": false + } + ], + "unexpected_skips": [], + "errors": [] +} diff --git a/.agent/specs/release-gates-r9/evidence/release-gates/critical-suite/r9-maker/go-test.stderr.log b/.agent/specs/release-gates-r9/evidence/release-gates/critical-suite/r9-maker/go-test.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/specs/release-gates-r9/evidence/release-gates/critical-suite/r9-maker/go-test.stdout.jsonl b/.agent/specs/release-gates-r9/evidence/release-gates/critical-suite/r9-maker/go-test.stdout.jsonl new file mode 100644 index 00000000..08a8d765 --- /dev/null +++ b/.agent/specs/release-gates-r9/evidence/release-gates/critical-suite/r9-maker/go-test.stdout.jsonl @@ -0,0 +1,32 @@ +{"Time":"2026-07-11T01:24:46.1330147+03:00","Action":"start","Package":"github.com/thebtf/engram/tests/critical"} +{"Time":"2026-07-11T01:24:46.2771622+03:00","Action":"run","Package":"github.com/thebtf/engram/tests/critical","Test":"TestCritical_AuthTwoTier"} +{"Time":"2026-07-11T01:24:46.2771622+03:00","Action":"output","Package":"github.com/thebtf/engram/tests/critical","Test":"TestCritical_AuthTwoTier","Output":"=== RUN TestCritical_AuthTwoTier\n"} +{"Time":"2026-07-11T01:24:46.278162+03:00","Action":"run","Package":"github.com/thebtf/engram/tests/critical","Test":"TestCritical_AuthTwoTier/gRPC_accepts_operator_key"} +{"Time":"2026-07-11T01:24:46.278162+03:00","Action":"output","Package":"github.com/thebtf/engram/tests/critical","Test":"TestCritical_AuthTwoTier/gRPC_accepts_operator_key","Output":"=== RUN TestCritical_AuthTwoTier/gRPC_accepts_operator_key\n"} +{"Time":"2026-07-11T01:24:46.2806617+03:00","Action":"output","Package":"github.com/thebtf/engram/tests/critical","Test":"TestCritical_AuthTwoTier/gRPC_accepts_operator_key","Output":"--- PASS: TestCritical_AuthTwoTier/gRPC_accepts_operator_key (0.00s)\n"} +{"Time":"2026-07-11T01:24:46.2806617+03:00","Action":"pass","Package":"github.com/thebtf/engram/tests/critical","Test":"TestCritical_AuthTwoTier/gRPC_accepts_operator_key","Elapsed":0} +{"Time":"2026-07-11T01:24:46.2806617+03:00","Action":"run","Package":"github.com/thebtf/engram/tests/critical","Test":"TestCritical_AuthTwoTier/gRPC_accepts_dashboard-issued_keycard"} +{"Time":"2026-07-11T01:24:46.2806617+03:00","Action":"output","Package":"github.com/thebtf/engram/tests/critical","Test":"TestCritical_AuthTwoTier/gRPC_accepts_dashboard-issued_keycard","Output":"=== RUN TestCritical_AuthTwoTier/gRPC_accepts_dashboard-issued_keycard\n"} +{"Time":"2026-07-11T01:24:46.2826617+03:00","Action":"output","Package":"github.com/thebtf/engram/tests/critical","Test":"TestCritical_AuthTwoTier/gRPC_accepts_dashboard-issued_keycard","Output":"--- PASS: TestCritical_AuthTwoTier/gRPC_accepts_dashboard-issued_keycard (0.00s)\n"} +{"Time":"2026-07-11T01:24:46.2826617+03:00","Action":"pass","Package":"github.com/thebtf/engram/tests/critical","Test":"TestCritical_AuthTwoTier/gRPC_accepts_dashboard-issued_keycard","Elapsed":0} +{"Time":"2026-07-11T01:24:46.2826617+03:00","Action":"run","Package":"github.com/thebtf/engram/tests/critical","Test":"TestCritical_AuthTwoTier/gRPC_rejects_garbage_bearer"} +{"Time":"2026-07-11T01:24:46.2826617+03:00","Action":"output","Package":"github.com/thebtf/engram/tests/critical","Test":"TestCritical_AuthTwoTier/gRPC_rejects_garbage_bearer","Output":"=== RUN TestCritical_AuthTwoTier/gRPC_rejects_garbage_bearer\n"} +{"Time":"2026-07-11T01:24:46.2831624+03:00","Action":"output","Package":"github.com/thebtf/engram/tests/critical","Test":"TestCritical_AuthTwoTier/gRPC_rejects_garbage_bearer","Output":"--- PASS: TestCritical_AuthTwoTier/gRPC_rejects_garbage_bearer (0.00s)\n"} +{"Time":"2026-07-11T01:24:46.2831624+03:00","Action":"pass","Package":"github.com/thebtf/engram/tests/critical","Test":"TestCritical_AuthTwoTier/gRPC_rejects_garbage_bearer","Elapsed":0} +{"Time":"2026-07-11T01:24:46.2831624+03:00","Action":"run","Package":"github.com/thebtf/engram/tests/critical","Test":"TestCritical_AuthTwoTier/gRPC_rejects_missing_bearer"} +{"Time":"2026-07-11T01:24:46.2831624+03:00","Action":"output","Package":"github.com/thebtf/engram/tests/critical","Test":"TestCritical_AuthTwoTier/gRPC_rejects_missing_bearer","Output":"=== RUN TestCritical_AuthTwoTier/gRPC_rejects_missing_bearer\n"} +{"Time":"2026-07-11T01:24:46.2836618+03:00","Action":"output","Package":"github.com/thebtf/engram/tests/critical","Test":"TestCritical_AuthTwoTier/gRPC_rejects_missing_bearer","Output":"--- PASS: TestCritical_AuthTwoTier/gRPC_rejects_missing_bearer (0.00s)\n"} +{"Time":"2026-07-11T01:24:46.2836618+03:00","Action":"pass","Package":"github.com/thebtf/engram/tests/critical","Test":"TestCritical_AuthTwoTier/gRPC_rejects_missing_bearer","Elapsed":0} +{"Time":"2026-07-11T01:24:46.2836618+03:00","Action":"run","Package":"github.com/thebtf/engram/tests/critical","Test":"TestCritical_AuthTwoTier/HTTP_bearer_arm:_master_+_keycard_accepted,_garbage_rejected"} +{"Time":"2026-07-11T01:24:46.2836618+03:00","Action":"output","Package":"github.com/thebtf/engram/tests/critical","Test":"TestCritical_AuthTwoTier/HTTP_bearer_arm:_master_+_keycard_accepted,_garbage_rejected","Output":"=== RUN TestCritical_AuthTwoTier/HTTP_bearer_arm:_master_+_keycard_accepted,_garbage_rejected\n"} +{"Time":"2026-07-11T01:24:46.2886632+03:00","Action":"output","Package":"github.com/thebtf/engram/tests/critical","Test":"TestCritical_AuthTwoTier/HTTP_bearer_arm:_master_+_keycard_accepted,_garbage_rejected","Output":"--- PASS: TestCritical_AuthTwoTier/HTTP_bearer_arm:_master_+_keycard_accepted,_garbage_rejected (0.01s)\n"} +{"Time":"2026-07-11T01:24:46.2886632+03:00","Action":"pass","Package":"github.com/thebtf/engram/tests/critical","Test":"TestCritical_AuthTwoTier/HTTP_bearer_arm:_master_+_keycard_accepted,_garbage_rejected","Elapsed":0.01} +{"Time":"2026-07-11T01:24:46.2891643+03:00","Action":"run","Package":"github.com/thebtf/engram/tests/critical","Test":"TestCritical_AuthTwoTier/anti-stub:_stubbed_validator_flips_success_assertions"} +{"Time":"2026-07-11T01:24:46.2891643+03:00","Action":"output","Package":"github.com/thebtf/engram/tests/critical","Test":"TestCritical_AuthTwoTier/anti-stub:_stubbed_validator_flips_success_assertions","Output":"=== RUN TestCritical_AuthTwoTier/anti-stub:_stubbed_validator_flips_success_assertions\n"} +{"Time":"2026-07-11T01:24:46.2891643+03:00","Action":"output","Package":"github.com/thebtf/engram/tests/critical","Test":"TestCritical_AuthTwoTier/anti-stub:_stubbed_validator_flips_success_assertions","Output":"--- PASS: TestCritical_AuthTwoTier/anti-stub:_stubbed_validator_flips_success_assertions (0.00s)\n"} +{"Time":"2026-07-11T01:24:46.2896626+03:00","Action":"pass","Package":"github.com/thebtf/engram/tests/critical","Test":"TestCritical_AuthTwoTier/anti-stub:_stubbed_validator_flips_success_assertions","Elapsed":0} +{"Time":"2026-07-11T01:24:46.2896626+03:00","Action":"output","Package":"github.com/thebtf/engram/tests/critical","Test":"TestCritical_AuthTwoTier","Output":"--- PASS: TestCritical_AuthTwoTier (0.01s)\n"} +{"Time":"2026-07-11T01:24:46.2896626+03:00","Action":"pass","Package":"github.com/thebtf/engram/tests/critical","Test":"TestCritical_AuthTwoTier","Elapsed":0.01} +{"Time":"2026-07-11T01:24:46.2896626+03:00","Action":"output","Package":"github.com/thebtf/engram/tests/critical","Output":"PASS\n"} +{"Time":"2026-07-11T01:24:46.296662+03:00","Action":"output","Package":"github.com/thebtf/engram/tests/critical","Output":"ok \tgithub.com/thebtf/engram/tests/critical\t0.164s\n"} +{"Time":"2026-07-11T01:24:46.296662+03:00","Action":"pass","Package":"github.com/thebtf/engram/tests/critical","Elapsed":0.164} diff --git a/.agent/specs/release-gates-r9/evidence/release-gates/critical-suite/r9-maker/json-parser.stderr.log b/.agent/specs/release-gates-r9/evidence/release-gates/critical-suite/r9-maker/json-parser.stderr.log new file mode 100644 index 00000000..e69de29b diff --git a/.agent/specs/release-gates-r9/evidence/release-gates/critical-suite/r9-maker/json-parser.stdout.log b/.agent/specs/release-gates-r9/evidence/release-gates/critical-suite/r9-maker/json-parser.stdout.log new file mode 100644 index 00000000..529f8f60 --- /dev/null +++ b/.agent/specs/release-gates-r9/evidence/release-gates/critical-suite/r9-maker/json-parser.stdout.log @@ -0,0 +1,2 @@ +go test JSON verdict=PASS packages=1 tests=7 passed=7 failed=0 skipped=0 unexpected_skips=0 malformed=0 +summary=D:\Dev\engram\.agent\worktrees\prc-release-gates-r9-maker\.agent\specs\release-gates-r9\evidence\release-gates\critical-suite\r9-maker\go-test-summary.json diff --git a/.agent/specs/release-gates-r9/evidence/release-gates/critical-suite/r9-maker/summary.json b/.agent/specs/release-gates-r9/evidence/release-gates/critical-suite/r9-maker/summary.json new file mode 100644 index 00000000..0c4cc393 --- /dev/null +++ b/.agent/specs/release-gates-r9/evidence/release-gates/critical-suite/r9-maker/summary.json @@ -0,0 +1,38 @@ +{ + "schema_version": 1, + "gate": "critical-suite", + "run_id": "r9-maker", + "started_at": "2026-07-10T22:24:40.4896944+00:00", + "finished_at": "2026-07-10T22:24:46.9930639+00:00", + "duration_seconds": 6.503, + "verdict": "PASS", + "config": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\critical-suite.config.yaml", + "sha256": "3F1DF7569119B95A05FD9D61FC0479A79150747B38EFB5A10C45AF511E18268A", + "command": "go test -tags=critical -json ./tests/critical/... -count=1" + }, + "run_pattern": "", + "allowed_skip_identities": null, + "matched_test_files": 1, + "matched_go_files": 1, + "go_test_exit": 0, + "json_parser_exit": 0, + "json_summary": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\specs\\release-gates-r9\\evidence\\release-gates\\critical-suite\\r9-maker\\go-test-summary.json", + "counts": { + "packages": 1, + "tests": 7, + "passed": 7, + "failed": 0, + "skipped": 0, + "no_tests": 0, + "zero_tests": 0, + "incomplete": 0, + "unexpected_skips": 0, + "malformed_lines": 0 + }, + "child_commands": 2, + "nonzero_child_commands": 0, + "commands": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\specs\\release-gates-r9\\evidence\\release-gates\\critical-suite\\r9-maker\\commands.json", + "errors": [], + "artifact_directory": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\specs\\release-gates-r9\\evidence\\release-gates\\critical-suite\\r9-maker" +} diff --git a/.agent/specs/release-gates-r9/evidence/release-gates/demolition-zero-declarations-clear-fail.json b/.agent/specs/release-gates-r9/evidence/release-gates/demolition-zero-declarations-clear-fail.json new file mode 100644 index 00000000..9e469c3c --- /dev/null +++ b/.agent/specs/release-gates-r9/evidence/release-gates/demolition-zero-declarations-clear-fail.json @@ -0,0 +1,129 @@ +{ + "schema_version": 2, + "gate": "plan-path-ownership", + "mode": "Diff", + "verdict": "FAIL", + "started_at": "2026-07-10T22:32:03.9019051+00:00", + "finished_at": "2026-07-10T22:32:08.9051704+00:00", + "duration_seconds": 5.003, + "plan": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-master-plan.md", + "expected_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f", + "observed_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f", + "hash_match": true, + "ledger_verdict": "PASS" + }, + "state": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-ownership-state.json", + "sha256": "e41f52fbafa317eb1571c76a7d1de9add543da38a1b2471dbe587a849b21c032", + "verdict": "PASS", + "plan_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f" + }, + "scope_map": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-scope-map.json", + "expected_sha256": "fb170d59f3072117489402fd347cd1432c40adbc842811f92227498bcbc92693", + "observed_sha256": "fb170d59f3072117489402fd347cd1432c40adbc842811f92227498bcbc92693", + "verdict": "PASS", + "entries": 67, + "unique_slices": 67 + }, + "live_register": { + "supplied": false, + "path": "", + "sha256": null, + "checked": false, + "rows": 0 + }, + "slice": { + "name": "DEMOLITION-SKIP-CLASSIFICATION", + "row_count": 0, + "declarations": [], + "evidence_namespace": null, + "report_namespace": null + }, + "git": { + "repository": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker", + "requested_base": "4812589b9920c187a92a03d210d2e9d5eb53862f", + "resolved_base": "4812589b9920c187a92a03d210d2e9d5eb53862f", + "requested_head": "d59d1605969b1f567506e96ded524dfd1e4be08a", + "resolved_head": "d59d1605969b1f567506e96ded524dfd1e4be08a", + "base_is_ancestor": true, + "name_status_command": "git -c core.quotepath=false diff --name-status --find-renames --find-copies 4812589b9920c187a92a03d210d2e9d5eb53862f..d59d1605969b1f567506e96ded524dfd1e4be08a --", + "raw_name_status": [ + "A\t.agent/e/rg4/r5-maker/SHA256SUMS", + "A\t.agent/e/rg4/r5-maker/fail.json", + "A\t.agent/e/rg4/r5-maker/manifest.json", + "A\t.agent/e/rg4/r5-maker/proof.json", + "A\t.agent/e/rg4/r5-maker/report.md", + "M\t.github/workflows/test.yml", + "M\tscripts/production-gates/run-db-suite.ps1" + ] + }, + "counts": { + "diff_entries": 7, + "changed_paths": 0, + "violations": 0, + "errors": 1 + }, + "diff_entries": [ + { + "status": "A", + "paths": [ + ".agent/e/rg4/r5-maker/SHA256SUMS" + ], + "raw": "A\t.agent/e/rg4/r5-maker/SHA256SUMS" + }, + { + "status": "A", + "paths": [ + ".agent/e/rg4/r5-maker/fail.json" + ], + "raw": "A\t.agent/e/rg4/r5-maker/fail.json" + }, + { + "status": "A", + "paths": [ + ".agent/e/rg4/r5-maker/manifest.json" + ], + "raw": "A\t.agent/e/rg4/r5-maker/manifest.json" + }, + { + "status": "A", + "paths": [ + ".agent/e/rg4/r5-maker/proof.json" + ], + "raw": "A\t.agent/e/rg4/r5-maker/proof.json" + }, + { + "status": "A", + "paths": [ + ".agent/e/rg4/r5-maker/report.md" + ], + "raw": "A\t.agent/e/rg4/r5-maker/report.md" + }, + { + "status": "M", + "paths": [ + ".github/workflows/test.yml" + ], + "raw": "M\t.github/workflows/test.yml" + }, + { + "status": "M", + "paths": [ + "scripts/production-gates/run-db-suite.ps1" + ], + "raw": "M\tscripts/production-gates/run-db-suite.ps1" + } + ], + "changed_paths": [], + "violations": [], + "epoch_authority": { + "verdict": "PASS", + "evaluated": [], + "errors": [] + }, + "errors": [ + "Diff mode requires exactly one maker row for slice 'DEMOLITION-SKIP-CLASSIFICATION'; found 0" + ] +} diff --git a/.agent/specs/release-gates-r9/evidence/release-gates/diff-db-embedding-r5-replay.json b/.agent/specs/release-gates-r9/evidence/release-gates/diff-db-embedding-r5-replay.json new file mode 100644 index 00000000..f1d5ebc1 --- /dev/null +++ b/.agent/specs/release-gates-r9/evidence/release-gates/diff-db-embedding-r5-replay.json @@ -0,0 +1,685 @@ +{ + "schema_version": 2, + "gate": "plan-path-ownership", + "mode": "Diff", + "verdict": "PASS", + "started_at": "2026-07-10T22:23:54.5775508+00:00", + "finished_at": "2026-07-10T22:23:59.9241943+00:00", + "duration_seconds": 5.347, + "plan": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-master-plan.md", + "expected_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f", + "observed_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f", + "hash_match": true, + "ledger_verdict": "PASS" + }, + "state": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-ownership-state.json", + "sha256": "e41f52fbafa317eb1571c76a7d1de9add543da38a1b2471dbe587a849b21c032", + "verdict": "PASS", + "plan_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f" + }, + "scope_map": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-scope-map.json", + "expected_sha256": "fb170d59f3072117489402fd347cd1432c40adbc842811f92227498bcbc92693", + "observed_sha256": "fb170d59f3072117489402fd347cd1432c40adbc842811f92227498bcbc92693", + "verdict": "PASS", + "entries": 67, + "unique_slices": 67 + }, + "live_register": { + "supplied": false, + "path": "", + "sha256": null, + "checked": false, + "rows": 0 + }, + "slice": { + "name": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "row_count": 1, + "declarations": [ + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "path": ".agent/specs/db-embedding-stats-evidence-transport/evidence", + "display": ".agent/specs/db-embedding-stats-evidence-transport/evidence/**", + "kind": "prefix", + "line": 20 + } + ], + "evidence_namespace": { + "kind": "evidence", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**", + "match_kind": "prefix", + "policy": "literal-row-exception" + }, + "report_namespace": { + "kind": "report", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**", + "match_kind": "prefix", + "policy": "literal-row-exception" + } + }, + "git": { + "repository": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker", + "requested_base": "369951b61ee07cb0c405558e0f677cd1c9e90362", + "resolved_base": "369951b61ee07cb0c405558e0f677cd1c9e90362", + "requested_head": "a538f6224ef31f612152470a4ecd45e78ff9d0f2", + "resolved_head": "a538f6224ef31f612152470a4ecd45e78ff9d0f2", + "base_is_ancestor": true, + "name_status_command": "git -c core.quotepath=false diff --name-status --find-renames --find-copies 369951b61ee07cb0c405558e0f677cd1c9e90362..a538f6224ef31f612152470a4ecd45e78ff9d0f2 --", + "raw_name_status": [ + "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/R3-SHA256SUMS.txt", + "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/coverage-repeat.v1.json", + "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/maker-report.md", + "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/maker-summary.v1.json", + "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/verification-matrix.v1.json", + "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/R4-SHA256SUMS.txt", + "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/coverage-repeat.v1.json", + "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/maker-report.md", + "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/maker-summary.v1.json", + "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/verification-matrix.v1.json", + "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/R5-SHA256SUMS.txt", + "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-capture.v1.json", + "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-repeat.v1.json", + "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-run-1.tap", + "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-run-2.tap", + "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-report.md", + "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-summary.v1.json", + "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/run-coverage-capture-verifier.cmd", + "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verification-matrix.v1.json", + "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verify-coverage-capture.cjs", + "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/ARTIFACTS.sha256", + "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/maker-report.md", + "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verification-observations.v1.json", + "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs", + "M\t.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R3.tdd.json", + "M\t.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R4.tdd.json", + "A\t.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R5.red.json", + "A\t.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R5.tdd.json" + ] + }, + "counts": { + "diff_entries": 28, + "changed_paths": 28, + "violations": 0, + "errors": 0 + }, + "diff_entries": [ + { + "status": "M", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/R3-SHA256SUMS.txt" + ], + "raw": "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/R3-SHA256SUMS.txt" + }, + { + "status": "M", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/coverage-repeat.v1.json" + ], + "raw": "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/coverage-repeat.v1.json" + }, + { + "status": "M", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/maker-report.md" + ], + "raw": "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/maker-report.md" + }, + { + "status": "M", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/maker-summary.v1.json" + ], + "raw": "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/maker-summary.v1.json" + }, + { + "status": "M", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/verification-matrix.v1.json" + ], + "raw": "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/verification-matrix.v1.json" + }, + { + "status": "M", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/R4-SHA256SUMS.txt" + ], + "raw": "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/R4-SHA256SUMS.txt" + }, + { + "status": "M", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/coverage-repeat.v1.json" + ], + "raw": "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/coverage-repeat.v1.json" + }, + { + "status": "M", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/maker-report.md" + ], + "raw": "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/maker-report.md" + }, + { + "status": "M", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/maker-summary.v1.json" + ], + "raw": "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/maker-summary.v1.json" + }, + { + "status": "M", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/verification-matrix.v1.json" + ], + "raw": "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/verification-matrix.v1.json" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/R5-SHA256SUMS.txt" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/R5-SHA256SUMS.txt" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-capture.v1.json" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-capture.v1.json" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-repeat.v1.json" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-repeat.v1.json" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-run-1.tap" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-run-1.tap" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-run-2.tap" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-run-2.tap" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-report.md" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-report.md" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-summary.v1.json" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-summary.v1.json" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/run-coverage-capture-verifier.cmd" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/run-coverage-capture-verifier.cmd" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verification-matrix.v1.json" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verification-matrix.v1.json" + }, + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verify-coverage-capture.cjs" + ], + "raw": "A\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verify-coverage-capture.cjs" + }, + { + "status": "M", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/ARTIFACTS.sha256" + ], + "raw": "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/ARTIFACTS.sha256" + }, + { + "status": "M", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/maker-report.md" + ], + "raw": "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/maker-report.md" + }, + { + "status": "M", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verification-observations.v1.json" + ], + "raw": "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verification-observations.v1.json" + }, + { + "status": "M", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs" + ], + "raw": "M\t.agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs" + }, + { + "status": "M", + "paths": [ + ".agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R3.tdd.json" + ], + "raw": "M\t.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R3.tdd.json" + }, + { + "status": "M", + "paths": [ + ".agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R4.tdd.json" + ], + "raw": "M\t.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R4.tdd.json" + }, + { + "status": "A", + "paths": [ + ".agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R5.red.json" + ], + "raw": "A\t.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R5.red.json" + }, + { + "status": "A", + "paths": [ + ".agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R5.tdd.json" + ], + "raw": "A\t.agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R5.tdd.json" + } + ], + "changed_paths": [ + { + "status": "M", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/R3-SHA256SUMS.txt", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/**" + ] + }, + { + "status": "M", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/coverage-repeat.v1.json", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/**" + ] + }, + { + "status": "M", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/maker-report.md", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/**" + ] + }, + { + "status": "M", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/maker-summary.v1.json", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/**" + ] + }, + { + "status": "M", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/verification-matrix.v1.json", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/**" + ] + }, + { + "status": "M", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/R4-SHA256SUMS.txt", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/**" + ] + }, + { + "status": "M", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/coverage-repeat.v1.json", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/**" + ] + }, + { + "status": "M", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/maker-report.md", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/**" + ] + }, + { + "status": "M", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/maker-summary.v1.json", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/**" + ] + }, + { + "status": "M", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/verification-matrix.v1.json", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/R5-SHA256SUMS.txt", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace", + "report-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-capture.v1.json", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace", + "report-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-repeat.v1.json", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace", + "report-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-run-1.tap", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace", + "report-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/coverage-run-2.tap", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace", + "report-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-report.md", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace", + "report-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/maker-summary.v1.json", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace", + "report-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/run-coverage-capture-verifier.cmd", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace", + "report-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verification-matrix.v1.json", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace", + "report-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**" + ] + }, + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/verify-coverage-capture.cjs", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace", + "report-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**" + ] + }, + { + "status": "M", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/ARTIFACTS.sha256", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/**" + ] + }, + { + "status": "M", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/maker-report.md", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/**" + ] + }, + { + "status": "M", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verification-observations.v1.json", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/**" + ] + }, + { + "status": "M", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/verify-manifest.test.cjs", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/**" + ] + }, + { + "status": "M", + "path": ".agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R3.tdd.json", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/specs/db-embedding-stats-evidence-transport/evidence/**" + ] + }, + { + "status": "M", + "path": ".agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R4.tdd.json", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/specs/db-embedding-stats-evidence-transport/evidence/**" + ] + }, + { + "status": "A", + "path": ".agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R5.red.json", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/specs/db-embedding-stats-evidence-transport/evidence/**" + ] + }, + { + "status": "A", + "path": ".agent/specs/db-embedding-stats-evidence-transport/evidence/DB-EMBEDDING-EVIDENCE-TRANSPORT-R5.tdd.json", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + ".agent/specs/db-embedding-stats-evidence-transport/evidence/**" + ] + } + ], + "violations": [], + "epoch_authority": { + "verdict": "PASS", + "evaluated": [], + "errors": [] + }, + "errors": [] +} diff --git a/.agent/specs/release-gates-r9/evidence/release-gates/diff-security-r3-replay.json b/.agent/specs/release-gates-r9/evidence/release-gates/diff-security-r3-replay.json new file mode 100644 index 00000000..68c66d71 --- /dev/null +++ b/.agent/specs/release-gates-r9/evidence/release-gates/diff-security-r3-replay.json @@ -0,0 +1,452 @@ +{ + "schema_version": 2, + "gate": "plan-path-ownership", + "mode": "Diff", + "verdict": "PASS", + "started_at": "2026-07-10T22:23:54.7087180+00:00", + "finished_at": "2026-07-10T22:23:59.9084100+00:00", + "duration_seconds": 5.2, + "plan": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-master-plan.md", + "expected_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f", + "observed_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f", + "hash_match": true, + "ledger_verdict": "PASS" + }, + "state": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-ownership-state.json", + "sha256": "e41f52fbafa317eb1571c76a7d1de9add543da38a1b2471dbe587a849b21c032", + "verdict": "PASS", + "plan_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f" + }, + "scope_map": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-scope-map.json", + "expected_sha256": "fb170d59f3072117489402fd347cd1432c40adbc842811f92227498bcbc92693", + "observed_sha256": "fb170d59f3072117489402fd347cd1432c40adbc842811f92227498bcbc92693", + "verdict": "PASS", + "entries": 67, + "unique_slices": 67 + }, + "live_register": { + "supplied": false, + "path": "", + "sha256": null, + "checked": false, + "rows": 0 + }, + "slice": { + "name": "SECURITY-PROJECT-IDENTITY", + "row_count": 1, + "declarations": [ + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "internal/db/gorm/project_store.go", + "display": "internal/db/gorm/project_store.go", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "internal/db/gorm/project_identity_v2_test.go", + "display": "internal/db/gorm/project_identity_v2_test.go", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "internal/grpcserver/project_identity_v2_test.go", + "display": "internal/grpcserver/project_identity_v2_test.go", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "internal/proxy/identity.go", + "display": "internal/proxy/identity.go", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "internal/proxy/identity_test.go", + "display": "internal/proxy/identity_test.go", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "internal/proxy/identity_process_test.go", + "display": "internal/proxy/identity_process_test.go", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "plugin/engram/hooks/lib.js", + "display": "plugin/engram/hooks/lib.js", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "plugin/engram/hooks/project-identity-v2.test.js", + "display": "plugin/engram/hooks/project-identity-v2.test.js", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "plugin/openclaw-engram/src/identity.ts", + "display": "plugin/openclaw-engram/src/identity.ts", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "plugin/openclaw-engram/test/project-identity-v2.test.mjs", + "display": "plugin/openclaw-engram/test/project-identity-v2.test.mjs", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": ".agent/specs/security-project-identity/evidence", + "display": ".agent/specs/security-project-identity/evidence/**", + "kind": "prefix", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": ".agent/reports/evidence/production-ready/security-project-identity", + "display": ".agent/reports/evidence/production-ready/security-project-identity/**", + "kind": "prefix", + "line": 25 + } + ], + "evidence_namespace": { + "kind": "evidence", + "path": ".agent/specs/security-project-identity/evidence", + "display": ".agent/specs/security-project-identity/evidence/**", + "match_kind": "prefix", + "policy": "literal-row-exception" + }, + "report_namespace": { + "kind": "report", + "path": ".agent/reports/evidence/production-ready/security-project-identity", + "display": ".agent/reports/evidence/production-ready/security-project-identity/**", + "match_kind": "prefix", + "policy": "literal-row-exception" + } + }, + "git": { + "repository": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker", + "requested_base": "9e2ce4e58a5cded69660ca9ac532d2167f315bb2", + "resolved_base": "9e2ce4e58a5cded69660ca9ac532d2167f315bb2", + "requested_head": "38344455754fe503acbd79d2134141f996adff7f", + "resolved_head": "38344455754fe503acbd79d2134141f996adff7f", + "base_is_ancestor": true, + "name_status_command": "git -c core.quotepath=false diff --name-status --find-renames --find-copies 9e2ce4e58a5cded69660ca9ac532d2167f315bb2..38344455754fe503acbd79d2134141f996adff7f --", + "raw_name_status": [ + "A\t.agent/reports/evidence/production-ready/security-project-identity/SECURITY-PROJECT-IDENTITY-R3-maker-report.md", + "A\t.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.red.json", + "A\t.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.tdd.json", + "A\t.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.verification.json", + "M\t.agent/specs/security-project-identity/evidence/project-identity-v2-vectors.json", + "M\tinternal/db/gorm/project_identity_v2_test.go", + "M\tinternal/db/gorm/project_store.go", + "M\tinternal/grpcserver/project_identity_v2_test.go", + "M\tinternal/proxy/identity.go", + "M\tinternal/proxy/identity_test.go", + "M\tplugin/engram/hooks/lib.js", + "M\tplugin/engram/hooks/project-identity-v2.test.js", + "M\tplugin/openclaw-engram/src/identity.ts", + "M\tplugin/openclaw-engram/test/project-identity-v2.test.mjs" + ] + }, + "counts": { + "diff_entries": 14, + "changed_paths": 14, + "violations": 0, + "errors": 0 + }, + "diff_entries": [ + { + "status": "A", + "paths": [ + ".agent/reports/evidence/production-ready/security-project-identity/SECURITY-PROJECT-IDENTITY-R3-maker-report.md" + ], + "raw": "A\t.agent/reports/evidence/production-ready/security-project-identity/SECURITY-PROJECT-IDENTITY-R3-maker-report.md" + }, + { + "status": "A", + "paths": [ + ".agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.red.json" + ], + "raw": "A\t.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.red.json" + }, + { + "status": "A", + "paths": [ + ".agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.tdd.json" + ], + "raw": "A\t.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.tdd.json" + }, + { + "status": "A", + "paths": [ + ".agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.verification.json" + ], + "raw": "A\t.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.verification.json" + }, + { + "status": "M", + "paths": [ + ".agent/specs/security-project-identity/evidence/project-identity-v2-vectors.json" + ], + "raw": "M\t.agent/specs/security-project-identity/evidence/project-identity-v2-vectors.json" + }, + { + "status": "M", + "paths": [ + "internal/db/gorm/project_identity_v2_test.go" + ], + "raw": "M\tinternal/db/gorm/project_identity_v2_test.go" + }, + { + "status": "M", + "paths": [ + "internal/db/gorm/project_store.go" + ], + "raw": "M\tinternal/db/gorm/project_store.go" + }, + { + "status": "M", + "paths": [ + "internal/grpcserver/project_identity_v2_test.go" + ], + "raw": "M\tinternal/grpcserver/project_identity_v2_test.go" + }, + { + "status": "M", + "paths": [ + "internal/proxy/identity.go" + ], + "raw": "M\tinternal/proxy/identity.go" + }, + { + "status": "M", + "paths": [ + "internal/proxy/identity_test.go" + ], + "raw": "M\tinternal/proxy/identity_test.go" + }, + { + "status": "M", + "paths": [ + "plugin/engram/hooks/lib.js" + ], + "raw": "M\tplugin/engram/hooks/lib.js" + }, + { + "status": "M", + "paths": [ + "plugin/engram/hooks/project-identity-v2.test.js" + ], + "raw": "M\tplugin/engram/hooks/project-identity-v2.test.js" + }, + { + "status": "M", + "paths": [ + "plugin/openclaw-engram/src/identity.ts" + ], + "raw": "M\tplugin/openclaw-engram/src/identity.ts" + }, + { + "status": "M", + "paths": [ + "plugin/openclaw-engram/test/project-identity-v2.test.mjs" + ], + "raw": "M\tplugin/openclaw-engram/test/project-identity-v2.test.mjs" + } + ], + "changed_paths": [ + { + "status": "A", + "path": ".agent/reports/evidence/production-ready/security-project-identity/SECURITY-PROJECT-IDENTITY-R3-maker-report.md", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "report-namespace" + ], + "ownership_matches": [ + ".agent/reports/evidence/production-ready/security-project-identity/**" + ] + }, + { + "status": "A", + "path": ".agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.red.json", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/specs/security-project-identity/evidence/**" + ] + }, + { + "status": "A", + "path": ".agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.tdd.json", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/specs/security-project-identity/evidence/**" + ] + }, + { + "status": "A", + "path": ".agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.verification.json", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/specs/security-project-identity/evidence/**" + ] + }, + { + "status": "M", + "path": ".agent/specs/security-project-identity/evidence/project-identity-v2-vectors.json", + "allowed": true, + "allowed_by": [ + "slice-declaration", + "evidence-namespace" + ], + "ownership_matches": [ + ".agent/specs/security-project-identity/evidence/**" + ] + }, + { + "status": "M", + "path": "internal/db/gorm/project_identity_v2_test.go", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + "internal/db/gorm/project_identity_v2_test.go" + ] + }, + { + "status": "M", + "path": "internal/db/gorm/project_store.go", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + "internal/db/gorm/project_store.go" + ] + }, + { + "status": "M", + "path": "internal/grpcserver/project_identity_v2_test.go", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + "internal/grpcserver/project_identity_v2_test.go" + ] + }, + { + "status": "M", + "path": "internal/proxy/identity.go", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + "internal/proxy/identity.go" + ] + }, + { + "status": "M", + "path": "internal/proxy/identity_test.go", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + "internal/proxy/identity_test.go" + ] + }, + { + "status": "M", + "path": "plugin/engram/hooks/lib.js", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + "plugin/engram/hooks/lib.js" + ] + }, + { + "status": "M", + "path": "plugin/engram/hooks/project-identity-v2.test.js", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + "plugin/engram/hooks/project-identity-v2.test.js" + ] + }, + { + "status": "M", + "path": "plugin/openclaw-engram/src/identity.ts", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + "plugin/openclaw-engram/src/identity.ts" + ] + }, + { + "status": "M", + "path": "plugin/openclaw-engram/test/project-identity-v2.test.mjs", + "allowed": true, + "allowed_by": [ + "slice-declaration" + ], + "ownership_matches": [ + "plugin/openclaw-engram/test/project-identity-v2.test.mjs" + ] + } + ], + "violations": [], + "epoch_authority": { + "verdict": "PASS", + "evaluated": [], + "errors": [] + }, + "errors": [] +} diff --git a/.agent/specs/release-gates-r9/evidence/release-gates/ownership-ledger-static.json b/.agent/specs/release-gates-r9/evidence/release-gates/ownership-ledger-static.json new file mode 100644 index 00000000..7ad95764 --- /dev/null +++ b/.agent/specs/release-gates-r9/evidence/release-gates/ownership-ledger-static.json @@ -0,0 +1,4579 @@ +{ + "schema_version": 2, + "gate": "plan-path-ownership", + "mode": "Ledger", + "verdict": "PASS", + "started_at": "2026-07-10T22:23:55.8548885+00:00", + "finished_at": "2026-07-10T22:24:00.7637034+00:00", + "duration_seconds": 4.909, + "plan": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-master-plan.md", + "expected_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f", + "observed_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f", + "hash_match": true + }, + "state": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-ownership-state.json", + "sha256": "e41f52fbafa317eb1571c76a7d1de9add543da38a1b2471dbe587a849b21c032", + "verdict": "PASS", + "plan_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f" + }, + "scope_map": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-scope-map.json", + "expected_sha256": "fb170d59f3072117489402fd347cd1432c40adbc842811f92227498bcbc92693", + "observed_sha256": "fb170d59f3072117489402fd347cd1432c40adbc842811f92227498bcbc92693", + "verdict": "PASS", + "entries": 67, + "unique_slices": 67 + }, + "live_register": { + "supplied": false, + "path": "", + "sha256": null, + "checked": false, + "rows": 0 + }, + "counts": { + "maker_slices": 57, + "declarations": 351, + "exact_paths": 328, + "prefixes": 23, + "repeated_exact_paths": 34, + "prefix_intersections": 2, + "undeclared_prefix_intersections": 0, + "declared_epochs": 36, + "state_epochs": 36, + "errors": 0 + }, + "slices": [ + { + "slice": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision9-maker", + "paths": [ + ".agent/plans/2026-07-10-engram-production-ready-master-plan.md", + ".agent/plans/2026-07-10-engram-production-ready-ownership-state.json", + ".agent/plans/2026-07-10-engram-production-ready-scope-map.json", + ".agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json", + ".agent/specs/release-gates-r9/evidence/plan-governance/**", + ".agent/reports/2026-07-11-release-gates-r9-plan-governance.md" + ], + "line": 6 + }, + { + "slice": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "paths": [ + "internal/bulkops/facade.go", + "internal/bulkops/facade_test.go", + "internal/bulkops/rollback.go", + "internal/bulkops/rollback_test.go", + "internal/db/gorm/candidate_store.go", + "internal/db/gorm/candidate_store_test.go", + "internal/mcp/tools_bulkops.go", + "internal/mcp/tools_dryrun_test.go", + "pkg/models/snapshot.go", + ".agent/reports/2026-07-10-db-bulkops-capture-lock-rework-maker.md", + ".agent/reports/2026-07-10-db-bulkops-sibling-rework-maker.md", + ".agent/specs/production-ready-db-bulkops/evidence/**", + ".agent/reports/evidence/production-ready/db-bulkops-sibling-rework/**" + ], + "line": 7 + }, + { + "slice": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "paths": [ + "internal/db/gorm/candidate_store.go", + "internal/db/gorm/candidate_store_test.go", + "internal/mcp/tools_bulkops.go", + "internal/mcp/tools_dryrun_test.go", + ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker.md", + ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker-3.md", + ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**" + ], + "line": 8 + }, + { + "slice": "DB-TEST-POOL-HYGIENE", + "branch": "work/prc-db-test-pool-hygiene-evidence-r2", + "paths": [ + "internal/db/gorm/candidate_store_test.go", + ".agent/reports/2026-07-10-db-test-pool-hygiene-maker.md", + ".agent/reports/2026-07-10-db-test-pool-hygiene-evidence-revision-maker.md", + ".agent/reports/evidence/production-ready/db-test-pool-hygiene/**" + ], + "line": 9 + }, + { + "slice": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "paths": [ + "internal/db/gorm/candidate_store.go", + "internal/db/gorm/candidate_store_test.go", + "internal/db/gorm/rule_arbiter_store_test.go", + "internal/db/gorm/rule_governance_store.go", + "internal/db/gorm/rule_governance_store_test.go", + "internal/db/gorm/rule_governance_rg3_store_test.go", + "internal/db/gorm/migration_rule_governance.go", + "internal/db/gorm/migration_rule_arbiter.go", + "internal/db/gorm/migration_rule_governance_snapshot_statuses.go" + ], + "line": 10 + }, + { + "slice": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "paths": [ + "internal/reviewpacket/candidate.go", + "internal/reviewpacket/candidate_test.go", + "internal/db/gorm/candidate_store.go", + "internal/db/gorm/candidate_store_test.go", + "internal/db/gorm/snapshot_store.go", + "internal/db/gorm/snapshot_store_test.go", + "internal/bulkops/rollback_test.go", + "tests/critical/candidate_review/candidate_review_snapshot_rollback_test.go" + ], + "line": 11 + }, + { + "slice": "INGEST-DOC-SNAPSHOT-DEMOLITION", + "branch": "work/prc-ingest-doc-snapshot-demolition", + "paths": [ + "internal/bulkops/facade.go", + "internal/bulkops/facade_test.go", + "pkg/models/snapshot.go", + "pkg/models/snapshot_test.go", + "internal/mcp/ingest_snapshot_contract_test.go" + ], + "line": 13 + }, + { + "slice": "DB-AUTH", + "branch": "work/prc-db-auth", + "paths": [ + "internal/db/gorm/user_store.go", + "internal/db/gorm/user_store_test.go", + "internal/worker/auth_handlers.go", + "internal/worker/auth_handlers_lifecycle_test.go", + ".agent/reports/db-auth-rework-maker-2026-07-10.md" + ], + "line": 14 + }, + { + "slice": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "paths": [ + "internal/config/config.go", + "internal/config/config_test.go", + "internal/config/envnames.go", + "internal/db/gorm/user_store.go", + "internal/worker/middleware.go", + "internal/worker/middleware_test.go", + "internal/worker/auth_handlers.go", + "internal/worker/auth_bootstrap_limiter.go", + "internal/worker/auth_bootstrap_limiter_test.go", + "internal/worker/auth_bootstrap_security_test.go", + "internal/worker/service.go", + "tests/critical/auth_bootstrap/first_admin_bootstrap_test.go", + "scripts/production-smoke/customer/run-auth-bootstrap-adversary.ps1" + ], + "line": 15 + }, + { + "slice": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "paths": [ + "internal/db/gorm/domain_owner_store.go", + "internal/db/gorm/domain_owner_store_test.go", + "internal/db/gorm/user_store.go", + "internal/worker/auth_handlers.go", + "internal/worker/auth_audit_durability_test.go", + "internal/bulkops/facade.go", + "internal/bulkops/audit_durability_test.go", + "scripts/production-smoke/customer/run-durable-audit-faults.ps1" + ], + "line": 16 + }, + { + "slice": "DB-CRYSTALLIZATION", + "branch": "work/prc-db-crystallization", + "paths": [ + "internal/worker/handlers_hooks_crystallization_integration_test.go" + ], + "line": 17 + }, + { + "slice": "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS", + "branch": "work/prc-crystallization-dream-cycle-correctness", + "paths": [ + "internal/worker/dream_cycle.go", + "internal/worker/dream_cycle_test.go", + ".agent/reports/2026-07-10-crystallization-dream-cycle-correctness-maker.md", + ".agent/e/cdc/**" + ], + "line": 18 + }, + { + "slice": "DB-EMBEDDING-STATS", + "branch": "work/prc-db-embedding-stats", + "paths": [ + "internal/embedding/store.go", + "internal/embedding/store_stats_test.go", + ".agent/reports/2026-07-10-db-embedding-stats-maker.md", + ".agent/reports/evidence/production-ready/db-embedding-stats/**", + ".agent/specs/db-embedding-stats/evidence/**" + ], + "line": 19 + }, + { + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "paths": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/**", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/**", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/**", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/**", + ".agent/specs/db-embedding-stats-evidence-transport/evidence/**" + ], + "line": 20 + }, + { + "slice": "DB-REAPER", + "branch": "work/prc-db-reaper-shutdown-r4", + "paths": [ + "internal/worker/reaper/reaper.go", + "internal/worker/reaper/reaper_test.go" + ], + "line": 21 + }, + { + "slice": "SECURITY-TOOLCHAIN", + "branch": "work/prc-security-toolchain", + "paths": [ + "go.mod", + "go.sum", + "Dockerfile" + ], + "line": 22 + }, + { + "slice": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision9-maker", + "paths": [ + ".github/workflows/test.yml", + "scripts/production-gates/assert-plan-path-ownership.ps1", + "scripts/production-gates/assert-active-candidate-path-authority.ps1", + "scripts/production-gates/run-db-suite.ps1", + ".agent/specs/release-gates-r9/evidence/release-gates/**", + ".agent/reports/2026-07-11-release-gates-r9-maker.md" + ], + "line": 23 + }, + { + "slice": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "paths": [ + "Dockerfile", + "cmd/engram-healthcheck/main.go", + "cmd/engram-healthcheck/main_test.go", + "apps/operator-console/package.json", + "apps/operator-console/package-lock.json", + "deploy/postgres/Dockerfile", + "docker-compose.yml", + "deploy/docker-compose.runtime.yml", + "docs/DEPLOYMENT.md", + "docs/PRODUCTION-TESTING-PLAYBOOK.md", + ".github/workflows/test.yml", + ".github/workflows/docker.yaml", + ".github/workflows/docker-publish.yml", + "scripts/production-gates/build-and-scan-images.ps1", + "tests/critical/runtime/image_runtime_contract_test.go", + "tests/critical/runtime/postgres_image_contract_test.go" + ], + "line": 24 + }, + { + "slice": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "paths": [ + "internal/db/gorm/project_store.go", + "internal/db/gorm/project_identity_v2_test.go", + "internal/grpcserver/project_identity_v2_test.go", + "internal/proxy/identity.go", + "internal/proxy/identity_test.go", + "internal/proxy/identity_process_test.go", + "plugin/engram/hooks/lib.js", + "plugin/engram/hooks/project-identity-v2.test.js", + "plugin/openclaw-engram/src/identity.ts", + "plugin/openclaw-engram/test/project-identity-v2.test.mjs", + ".agent/specs/security-project-identity/evidence/**", + ".agent/reports/evidence/production-ready/security-project-identity/**" + ], + "line": 25 + }, + { + "slice": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "paths": [ + "plugin/openclaw-engram/.gitignore", + "plugin/openclaw-engram/package.json", + "plugin/openclaw-engram/package-lock.json", + "plugin/openclaw-engram/openclaw.plugin.json", + "plugin/openclaw-engram/README.md", + ".github/workflows/plugin-publish.yml", + "docs/RELEASE-PROTOCOL.md" + ], + "line": 26 + }, + { + "slice": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "paths": [ + "internal/update/update.go", + "internal/update/update_test.go", + "internal/worker/handlers_update.go", + "internal/worker/handlers_update_test.go", + "scripts/install.sh", + "scripts/install.ps1", + ".goreleaser.yaml", + ".github/workflows/release.yaml", + "plugin/engram/hooks/hook-cli.test.js" + ], + "line": 27 + }, + { + "slice": "DOCUMENT-INGEST-PUBLIC-TRUTH", + "branch": "work/prc-document-ingest-public-truth", + "paths": [ + "internal/mcp/server.go", + "internal/mcp/ingest_document_description_test.go" + ], + "line": 29 + }, + { + "slice": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "paths": [ + "internal/mcp/coerce.go", + "internal/mcp/coerce_test.go", + "internal/mcp/tools_candidates.go", + "internal/mcp/tools_candidates_test.go", + "internal/mcp/tools_memory.go", + "internal/mcp/tools_memory_edit_test.go", + "internal/mcp/tools_memory_significance.go", + "internal/mcp/tools_memory_significance_test.go", + "internal/mcp/tools_store_consolidated.go", + "internal/mcp/tools_settings.go", + "internal/mcp/tools_settings_test.go", + "internal/mcp/tools_documents_v2.go", + "internal/mcp/tools_rule_governance.go", + "internal/mcp/tools_rule_governance_test.go", + "internal/mcp/structured_input_validation_test.go" + ], + "line": 31 + }, + { + "slice": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "paths": [ + "internal/redaction/layer.go", + "internal/redaction/layer_test.go", + "internal/redaction/rejection_test.go", + "internal/mcp/redaction_guard.go", + "internal/mcp/redaction_guard_test.go", + "internal/mcp/tools_memory.go", + "internal/mcp/tools_rules.go", + "internal/mcp/tools_memory_redaction_audit_test.go", + "internal/mcp/tools_rules_redaction_audit_test.go", + "internal/worker/service.go", + "internal/worker/service_redaction_test.go", + "docs/operating-engram.md", + ".agent/reports/evidence/production-ready/redaction-live-contract/**" + ], + "line": 32 + }, + { + "slice": "RETRIEVAL-VECTOR-CONTRACT", + "branch": "work/prc-retrieval-vector-contract", + "paths": [ + "internal/retrieval/hybrid_integration_test.go" + ], + "line": 34 + }, + { + "slice": "STATIC-EMBED-CONTRACT", + "branch": "work/prc-static-embed-contract", + "paths": [ + "internal/worker/static_embed_test.go" + ], + "line": 35 + }, + { + "slice": "PRE-V5-UPGRADE-CONTRACT", + "branch": "work/prc-pre-v5-upgrade-contract", + "paths": [ + "internal/db/gorm/migrations_integration_test.go", + "internal/grpcserver/credential_migration_test.go", + "tests/fixtures/pre-v5/**", + "tests/critical/recovery/pre_v5_upgrade_test.go", + "scripts/production-smoke/customer/run-pre-v5-upgrade.ps1" + ], + "line": 36 + }, + { + "slice": "T007-COMPAT-DEMOLITION-CLASSIFICATION", + "branch": "work/prc-t007-compat-classification", + "paths": [ + "internal/mcp/store_memory_compat_t007_test.go" + ], + "line": 37 + }, + { + "slice": "DB-RULES-ISOLATION", + "branch": "work/prc-db-rules-isolation", + "paths": [ + "internal/worker/handlers_rules_test.go", + "scripts/production-gates/run-db-rules-isolation.ps1" + ], + "line": 38 + }, + { + "slice": "COVERAGE-CMD-ENGRAM", + "branch": "work/prc-coverage-cmd-engram", + "paths": [ + "cmd/engram/production_readiness_coverage_test.go" + ], + "line": 39 + }, + { + "slice": "COVERAGE-CMD-SERVER", + "branch": "work/prc-coverage-cmd-server", + "paths": [ + "cmd/engram-server/production_readiness_coverage_test.go" + ], + "line": 40 + }, + { + "slice": "COVERAGE-UPDATE", + "branch": "work/prc-coverage-update", + "paths": [ + "internal/update/production_readiness_coverage_test.go" + ], + "line": 41 + }, + { + "slice": "COVERAGE-WORKER", + "branch": "work/prc-coverage-worker", + "paths": [ + "internal/worker/production_readiness_coverage_test.go" + ], + "line": 43 + }, + { + "slice": "COVERAGE-MCP", + "branch": "work/prc-coverage-mcp", + "paths": [ + "internal/mcp/production_readiness_coverage_test.go" + ], + "line": 44 + }, + { + "slice": "COVERAGE-GORM", + "branch": "work/prc-coverage-gorm", + "paths": [ + "internal/db/gorm/production_readiness_coverage_test.go" + ], + "line": 45 + }, + { + "slice": "COVERAGE-LOOM", + "branch": "work/prc-coverage-loom", + "paths": [ + "internal/handlers/loom/production_readiness_coverage_test.go" + ], + "line": 46 + }, + { + "slice": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "paths": [ + "docker-compose.yml", + "deploy/docker-compose.runtime.yml", + "deploy/docker-compose.operator-web-standalone.yml", + "deploy/entrypoint-server.sh", + "deploy/healthcheck-server.sh", + "deploy/verify-rollback.ps1", + "deploy/verify-runtime-policy.ps1" + ], + "line": 47 + }, + { + "slice": "RECOVERY-DATA", + "branch": "work/prc-recovery-data", + "paths": [ + "scripts/recovery/start-disposable-postgres.ps1", + "scripts/recovery/verify-postgres-roundtrip.ps1", + "scripts/recovery/seed-recovery-fixture.ps1", + "scripts/recovery/assert-recovery-fixture.ps1", + "tests/critical/recovery/postgres_roundtrip_test.go" + ], + "line": 48 + }, + { + "slice": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "paths": [ + "internal/module/obs/logging.go", + "internal/module/obs/logging_test.go", + "internal/module/obs/meter.go", + "internal/module/obs/meter_test.go", + "internal/module/obs/metrics.go", + "internal/module/obs/metrics_test.go", + "cmd/engram-server/main.go", + "cmd/engram-server/main_test.go", + "scripts/production-smoke/verify-otlp.ps1" + ], + "line": 49 + }, + { + "slice": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "paths": [ + "internal/scope/domain_policy.go", + "internal/scope/domain_policy_test.go", + "internal/scope/filter.go", + "internal/scope/filter_test.go", + "internal/scope/filter_principal_test.go", + "internal/scope/filter_w4_test.go", + "internal/principalmemory/access_policy.go", + "internal/principalmemory/access_policy_test.go", + "internal/principalmemory/domain_registry.go", + "internal/principalmemory/domain_registry_test.go", + "internal/principalmemory/query_service.go", + "internal/principalmemory/query_service_test.go", + "internal/mcp/tools_principal_memory.go", + "internal/mcp/tools_principal_memory_test.go", + "internal/mcp/tools_recall_principal_test.go", + "internal/mcp/recall_visibility_backfill_test.go", + "internal/mcp/store_memory_principal_test.go", + "internal/worker/handlers_principal_memory.go", + "internal/worker/handlers_principal_memory_test.go", + "internal/worker/scope_bypass_w4_test.go", + "internal/worker/retention.go", + "internal/worker/retention_test.go", + "internal/db/gorm/memory_store.go", + "internal/db/gorm/memory_store_principal_test.go", + "internal/db/gorm/memory_store_principal_query_test.go", + "internal/db/gorm/purge_store_test.go", + "tests/critical/data_boundaries/principal_project_retention_test.go" + ], + "line": 50 + }, + { + "slice": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "paths": [ + "tests/critical/customer_mode/customer_mode_test.go", + "tests/critical/customer_mode/compatibility_test.go", + "tests/critical/customer_mode/cross_agent_test.go", + "scripts/production-smoke/customer/run-customer-mode.ps1", + "scripts/production-smoke/customer/run-client-compatibility.ps1", + "scripts/production-smoke/customer/run-cross-agent.ps1", + "scripts/production-smoke/customer/run-diagnostic-matrix.ps1", + "scripts/production-smoke/customer/assert-product-works.ps1" + ], + "line": 51 + }, + { + "slice": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "paths": [ + "README.md", + "README.ru.md", + "README.zh.md", + "CONTRIBUTING.md", + "CHANGELOG.md", + "Makefile", + ".env.example", + "docs/DEPLOYMENT.md", + "docs/MIGRATION.md", + "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "docs/arch/CONFIGURATION.md", + "docs/arch/QUICKSTART.md", + "docs/release-notes/v6.43.0.md", + "docs/public/engram.jpg", + "plugin/engram/commands/setup.md", + "plugin/engram/commands/doctor.md" + ], + "line": 52 + }, + { + "slice": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "paths": [ + "README.md", + "README.ru.md", + "README.zh.md", + "CONTRIBUTING.md", + "CHANGELOG.md", + "Makefile", + ".env.example", + "docs/DEPLOYMENT.md", + "docs/MIGRATION.md", + "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "docs/operating-engram.md", + "docs/arch/CONFIGURATION.md", + "docs/arch/QUICKSTART.md", + "docs/public/engram.jpg", + "plugin/engram/commands/setup.md", + "plugin/engram/commands/doctor.md" + ], + "line": 53 + }, + { + "slice": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "paths": [ + "cmd/engram/main.go", + "cmd/engram/main_test.go", + "cmd/engram/wiring.go", + "cmd/engram/exec_windows.go", + "cmd/engram/exec_unix.go", + "plugin/engram/.engram-project", + "plugin/engram/scripts/run-engram.js", + "plugin/engram/scripts/run-engram.test.js", + "plugin/engram/scripts/ensure-binary.js", + "plugin/engram/scripts/ensure-binary.test.js" + ], + "line": 54 + }, + { + "slice": "OC-INTEGRATION", + "branch": "work/prc-operator-console-integration", + "paths": [ + "apps/operator-console/**" + ], + "line": 55 + }, + { + "slice": "S4B-CONTRACT", + "branch": "work/prc-s4b-contract", + "paths": [ + ".agent/specs/engram-v7-directives-surfacing/**" + ], + "line": 56 + }, + { + "slice": "V7-S4B-BACKEND", + "branch": "work/prc-v7-s4b-backend", + "paths": [ + "internal/cognitive/s4bsurfacing/**" + ], + "line": 57 + }, + { + "slice": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "paths": [ + "internal/cognitive/core/event_bus.go", + "internal/cognitive/core/event_bus_test.go", + "internal/cognitive/core/hint_queue.go", + "internal/cognitive/core/hint_queue_test.go", + "internal/cognitive/s3ambient/queue.go", + "internal/cognitive/s3ambient/subsystem.go" + ], + "line": 58 + }, + { + "slice": "V7-RUNTIME-WIRING", + "branch": "work/prc-v7-runtime-wiring", + "paths": [ + "internal/worker/service.go", + "internal/worker/service_v7_integration_test.go", + "internal/worker/handlers_stats_v7.go", + "internal/worker/handlers_stats_v7_test.go" + ], + "line": 59 + }, + { + "slice": "V7-TELEMETRY-WIRING", + "branch": "work/prc-v7-telemetry-wiring", + "paths": [ + "internal/cognitive/s5/metrics.go", + "internal/cognitive/s5/provider.go", + "internal/cognitive/s5/provider_test.go", + "internal/cognitive/s5/source_adapter.go", + "internal/cognitive/s5/source_adapter_test.go" + ], + "line": 60 + }, + { + "slice": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "paths": [ + ".agent/specs/roadmap.md", + ".agent/specs/ui-surface-ledger.md", + ".agent/specs/operator-console-production-integration/**", + ".agent/specs/engram-v7-ambient/spec.md", + ".agent/specs/engram-v7-ambient/plan.md", + ".agent/specs/engram-v7-ambient/checklists/general.md", + ".agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/change.md", + ".agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/tasks.md" + ], + "line": 61 + }, + { + "slice": "NORTHSTAR-CI-A-CONTRACTS", + "branch": "work/prc-northstar-ci-a-contracts", + "paths": [ + ".agent/specs/engram-absorption/ci-a-dense-vector/spec.md", + ".agent/specs/engram-absorption/ci-a-dense-vector/plan.md", + ".agent/specs/engram-absorption/ci-a-dense-vector/checklists/general.md", + ".agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/change.md", + ".agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/tasks.md" + ], + "line": 62 + }, + { + "slice": "NORTHSTAR-CI-B-CONTRACTS", + "branch": "work/prc-northstar-ci-b-contracts", + "paths": [ + ".agent/specs/engram-absorption/ci-b-graph-watcher-context/spec.md", + ".agent/specs/engram-absorption/ci-b-graph-watcher-context/plan.md", + ".agent/specs/engram-absorption/ci-b-graph-watcher-context/checklists/general.md", + ".agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/change.md", + ".agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/tasks.md" + ], + "line": 63 + }, + { + "slice": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "paths": [ + ".agent/specs/engram-absorption/book/prd.md", + ".agent/specs/engram-absorption/book/spec.md", + ".agent/specs/engram-absorption/book/plan.md", + ".agent/specs/engram-absorption/book/checklists/general.md", + ".agent/specs/engram-absorption/book/changes/CR-001-initial-scope/change.md", + ".agent/specs/engram-absorption/book/changes/CR-001-initial-scope/tasks.md" + ], + "line": 64 + }, + { + "slice": "NORTHSTAR-MEM-CONTRACTS", + "branch": "work/prc-northstar-mem-contracts", + "paths": [ + ".agent/specs/engram-absorption/mem-residual/spec.md", + ".agent/specs/engram-absorption/mem-residual/plan.md", + ".agent/specs/engram-absorption/mem-residual/checklists/general.md", + ".agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/change.md", + ".agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/tasks.md" + ], + "line": 65 + }, + { + "slice": "NORTHSTAR-EFFECTIVENESS-CONTRACTS", + "branch": "work/prc-northstar-effectiveness-contracts", + "paths": [ + ".agent/specs/engram-effectiveness/production-ready-residual/spec.md", + ".agent/specs/engram-effectiveness/production-ready-residual/plan.md", + ".agent/specs/engram-effectiveness/production-ready-residual/checklists/general.md", + ".agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/change.md", + ".agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/tasks.md" + ], + "line": 66 + }, + { + "slice": "NORTHSTAR-SETTINGS-CONTRACTS", + "branch": "work/prc-northstar-settings-contracts", + "paths": [ + ".agent/specs/settings-store/production-ready-residual/spec.md", + ".agent/specs/settings-store/production-ready-residual/plan.md", + ".agent/specs/settings-store/production-ready-residual/checklists/general.md", + ".agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/change.md", + ".agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/tasks.md" + ], + "line": 67 + } + ], + "declarations": [ + { + "owner": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision9-maker", + "path": ".agent/plans/2026-07-10-engram-production-ready-master-plan.md", + "display": ".agent/plans/2026-07-10-engram-production-ready-master-plan.md", + "kind": "exact", + "line": 6 + }, + { + "owner": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision9-maker", + "path": ".agent/plans/2026-07-10-engram-production-ready-ownership-state.json", + "display": ".agent/plans/2026-07-10-engram-production-ready-ownership-state.json", + "kind": "exact", + "line": 6 + }, + { + "owner": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision9-maker", + "path": ".agent/plans/2026-07-10-engram-production-ready-scope-map.json", + "display": ".agent/plans/2026-07-10-engram-production-ready-scope-map.json", + "kind": "exact", + "line": 6 + }, + { + "owner": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision9-maker", + "path": ".agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json", + "display": ".agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json", + "kind": "exact", + "line": 6 + }, + { + "owner": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision9-maker", + "path": ".agent/specs/release-gates-r9/evidence/plan-governance", + "display": ".agent/specs/release-gates-r9/evidence/plan-governance/**", + "kind": "prefix", + "line": 6 + }, + { + "owner": "PLAN-GOVERNANCE", + "branch": "work/prc-release-gates-revision9-maker", + "path": ".agent/reports/2026-07-11-release-gates-r9-plan-governance.md", + "display": ".agent/reports/2026-07-11-release-gates-r9-plan-governance.md", + "kind": "exact", + "line": 6 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/bulkops/facade.go", + "display": "internal/bulkops/facade.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/bulkops/facade_test.go", + "display": "internal/bulkops/facade_test.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/bulkops/rollback.go", + "display": "internal/bulkops/rollback.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/bulkops/rollback_test.go", + "display": "internal/bulkops/rollback_test.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/db/gorm/candidate_store.go", + "display": "internal/db/gorm/candidate_store.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/db/gorm/candidate_store_test.go", + "display": "internal/db/gorm/candidate_store_test.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/mcp/tools_bulkops.go", + "display": "internal/mcp/tools_bulkops.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "internal/mcp/tools_dryrun_test.go", + "display": "internal/mcp/tools_dryrun_test.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": "pkg/models/snapshot.go", + "display": "pkg/models/snapshot.go", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": ".agent/reports/2026-07-10-db-bulkops-capture-lock-rework-maker.md", + "display": ".agent/reports/2026-07-10-db-bulkops-capture-lock-rework-maker.md", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": ".agent/reports/2026-07-10-db-bulkops-sibling-rework-maker.md", + "display": ".agent/reports/2026-07-10-db-bulkops-sibling-rework-maker.md", + "kind": "exact", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": ".agent/specs/production-ready-db-bulkops/evidence", + "display": ".agent/specs/production-ready-db-bulkops/evidence/**", + "kind": "prefix", + "line": 7 + }, + { + "owner": "DB-BULKOPS", + "branch": "work/prc-db-bulkops", + "path": ".agent/reports/evidence/production-ready/db-bulkops-sibling-rework", + "display": ".agent/reports/evidence/production-ready/db-bulkops-sibling-rework/**", + "kind": "prefix", + "line": 7 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": "internal/db/gorm/candidate_store.go", + "display": "internal/db/gorm/candidate_store.go", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": "internal/db/gorm/candidate_store_test.go", + "display": "internal/db/gorm/candidate_store_test.go", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": "internal/mcp/tools_bulkops.go", + "display": "internal/mcp/tools_bulkops.go", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": "internal/mcp/tools_dryrun_test.go", + "display": "internal/mcp/tools_dryrun_test.go", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker.md", + "display": ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker.md", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker-3.md", + "display": ".agent/reports/2026-07-10-db-bulkops-behavioral-edge-rework-maker-3.md", + "kind": "exact", + "line": 8 + }, + { + "owner": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "branch": "work/prc-db-bulkops", + "path": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework", + "display": ".agent/reports/evidence/production-ready/db-bulkops-behavioral-edge-rework/**", + "kind": "prefix", + "line": 8 + }, + { + "owner": "DB-TEST-POOL-HYGIENE", + "branch": "work/prc-db-test-pool-hygiene-evidence-r2", + "path": "internal/db/gorm/candidate_store_test.go", + "display": "internal/db/gorm/candidate_store_test.go", + "kind": "exact", + "line": 9 + }, + { + "owner": "DB-TEST-POOL-HYGIENE", + "branch": "work/prc-db-test-pool-hygiene-evidence-r2", + "path": ".agent/reports/2026-07-10-db-test-pool-hygiene-maker.md", + "display": ".agent/reports/2026-07-10-db-test-pool-hygiene-maker.md", + "kind": "exact", + "line": 9 + }, + { + "owner": "DB-TEST-POOL-HYGIENE", + "branch": "work/prc-db-test-pool-hygiene-evidence-r2", + "path": ".agent/reports/2026-07-10-db-test-pool-hygiene-evidence-revision-maker.md", + "display": ".agent/reports/2026-07-10-db-test-pool-hygiene-evidence-revision-maker.md", + "kind": "exact", + "line": 9 + }, + { + "owner": "DB-TEST-POOL-HYGIENE", + "branch": "work/prc-db-test-pool-hygiene-evidence-r2", + "path": ".agent/reports/evidence/production-ready/db-test-pool-hygiene", + "display": ".agent/reports/evidence/production-ready/db-test-pool-hygiene/**", + "kind": "prefix", + "line": 9 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/candidate_store.go", + "display": "internal/db/gorm/candidate_store.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/candidate_store_test.go", + "display": "internal/db/gorm/candidate_store_test.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/rule_arbiter_store_test.go", + "display": "internal/db/gorm/rule_arbiter_store_test.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/rule_governance_store.go", + "display": "internal/db/gorm/rule_governance_store.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/rule_governance_store_test.go", + "display": "internal/db/gorm/rule_governance_store_test.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/rule_governance_rg3_store_test.go", + "display": "internal/db/gorm/rule_governance_rg3_store_test.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/migration_rule_governance.go", + "display": "internal/db/gorm/migration_rule_governance.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/migration_rule_arbiter.go", + "display": "internal/db/gorm/migration_rule_arbiter.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "DB-GOVERNANCE", + "branch": "work/prc-db-governance", + "path": "internal/db/gorm/migration_rule_governance_snapshot_statuses.go", + "display": "internal/db/gorm/migration_rule_governance_snapshot_statuses.go", + "kind": "exact", + "line": 10 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/reviewpacket/candidate.go", + "display": "internal/reviewpacket/candidate.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/reviewpacket/candidate_test.go", + "display": "internal/reviewpacket/candidate_test.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/db/gorm/candidate_store.go", + "display": "internal/db/gorm/candidate_store.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/db/gorm/candidate_store_test.go", + "display": "internal/db/gorm/candidate_store_test.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/db/gorm/snapshot_store.go", + "display": "internal/db/gorm/snapshot_store.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/db/gorm/snapshot_store_test.go", + "display": "internal/db/gorm/snapshot_store_test.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "internal/bulkops/rollback_test.go", + "display": "internal/bulkops/rollback_test.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK", + "branch": "work/prc-candidate-review-snapshot-rollback", + "path": "tests/critical/candidate_review/candidate_review_snapshot_rollback_test.go", + "display": "tests/critical/candidate_review/candidate_review_snapshot_rollback_test.go", + "kind": "exact", + "line": 11 + }, + { + "owner": "INGEST-DOC-SNAPSHOT-DEMOLITION", + "branch": "work/prc-ingest-doc-snapshot-demolition", + "path": "internal/bulkops/facade.go", + "display": "internal/bulkops/facade.go", + "kind": "exact", + "line": 13 + }, + { + "owner": "INGEST-DOC-SNAPSHOT-DEMOLITION", + "branch": "work/prc-ingest-doc-snapshot-demolition", + "path": "internal/bulkops/facade_test.go", + "display": "internal/bulkops/facade_test.go", + "kind": "exact", + "line": 13 + }, + { + "owner": "INGEST-DOC-SNAPSHOT-DEMOLITION", + "branch": "work/prc-ingest-doc-snapshot-demolition", + "path": "pkg/models/snapshot.go", + "display": "pkg/models/snapshot.go", + "kind": "exact", + "line": 13 + }, + { + "owner": "INGEST-DOC-SNAPSHOT-DEMOLITION", + "branch": "work/prc-ingest-doc-snapshot-demolition", + "path": "pkg/models/snapshot_test.go", + "display": "pkg/models/snapshot_test.go", + "kind": "exact", + "line": 13 + }, + { + "owner": "INGEST-DOC-SNAPSHOT-DEMOLITION", + "branch": "work/prc-ingest-doc-snapshot-demolition", + "path": "internal/mcp/ingest_snapshot_contract_test.go", + "display": "internal/mcp/ingest_snapshot_contract_test.go", + "kind": "exact", + "line": 13 + }, + { + "owner": "DB-AUTH", + "branch": "work/prc-db-auth", + "path": "internal/db/gorm/user_store.go", + "display": "internal/db/gorm/user_store.go", + "kind": "exact", + "line": 14 + }, + { + "owner": "DB-AUTH", + "branch": "work/prc-db-auth", + "path": "internal/db/gorm/user_store_test.go", + "display": "internal/db/gorm/user_store_test.go", + "kind": "exact", + "line": 14 + }, + { + "owner": "DB-AUTH", + "branch": "work/prc-db-auth", + "path": "internal/worker/auth_handlers.go", + "display": "internal/worker/auth_handlers.go", + "kind": "exact", + "line": 14 + }, + { + "owner": "DB-AUTH", + "branch": "work/prc-db-auth", + "path": "internal/worker/auth_handlers_lifecycle_test.go", + "display": "internal/worker/auth_handlers_lifecycle_test.go", + "kind": "exact", + "line": 14 + }, + { + "owner": "DB-AUTH", + "branch": "work/prc-db-auth", + "path": ".agent/reports/db-auth-rework-maker-2026-07-10.md", + "display": ".agent/reports/db-auth-rework-maker-2026-07-10.md", + "kind": "exact", + "line": 14 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/config/config.go", + "display": "internal/config/config.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/config/config_test.go", + "display": "internal/config/config_test.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/config/envnames.go", + "display": "internal/config/envnames.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/db/gorm/user_store.go", + "display": "internal/db/gorm/user_store.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/middleware.go", + "display": "internal/worker/middleware.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/middleware_test.go", + "display": "internal/worker/middleware_test.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/auth_handlers.go", + "display": "internal/worker/auth_handlers.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/auth_bootstrap_limiter.go", + "display": "internal/worker/auth_bootstrap_limiter.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/auth_bootstrap_limiter_test.go", + "display": "internal/worker/auth_bootstrap_limiter_test.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/auth_bootstrap_security_test.go", + "display": "internal/worker/auth_bootstrap_security_test.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "internal/worker/service.go", + "display": "internal/worker/service.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "tests/critical/auth_bootstrap/first_admin_bootstrap_test.go", + "display": "tests/critical/auth_bootstrap/first_admin_bootstrap_test.go", + "kind": "exact", + "line": 15 + }, + { + "owner": "AUTH-BOOTSTRAP-SECURITY", + "branch": "work/prc-auth-bootstrap-security", + "path": "scripts/production-smoke/customer/run-auth-bootstrap-adversary.ps1", + "display": "scripts/production-smoke/customer/run-auth-bootstrap-adversary.ps1", + "kind": "exact", + "line": 15 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/db/gorm/domain_owner_store.go", + "display": "internal/db/gorm/domain_owner_store.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/db/gorm/domain_owner_store_test.go", + "display": "internal/db/gorm/domain_owner_store_test.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/db/gorm/user_store.go", + "display": "internal/db/gorm/user_store.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/worker/auth_handlers.go", + "display": "internal/worker/auth_handlers.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/worker/auth_audit_durability_test.go", + "display": "internal/worker/auth_audit_durability_test.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/bulkops/facade.go", + "display": "internal/bulkops/facade.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "internal/bulkops/audit_durability_test.go", + "display": "internal/bulkops/audit_durability_test.go", + "kind": "exact", + "line": 16 + }, + { + "owner": "DURABLE-AUDIT-BOUNDARIES", + "branch": "work/prc-durable-audit-boundaries", + "path": "scripts/production-smoke/customer/run-durable-audit-faults.ps1", + "display": "scripts/production-smoke/customer/run-durable-audit-faults.ps1", + "kind": "exact", + "line": 16 + }, + { + "owner": "DB-CRYSTALLIZATION", + "branch": "work/prc-db-crystallization", + "path": "internal/worker/handlers_hooks_crystallization_integration_test.go", + "display": "internal/worker/handlers_hooks_crystallization_integration_test.go", + "kind": "exact", + "line": 17 + }, + { + "owner": "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS", + "branch": "work/prc-crystallization-dream-cycle-correctness", + "path": "internal/worker/dream_cycle.go", + "display": "internal/worker/dream_cycle.go", + "kind": "exact", + "line": 18 + }, + { + "owner": "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS", + "branch": "work/prc-crystallization-dream-cycle-correctness", + "path": "internal/worker/dream_cycle_test.go", + "display": "internal/worker/dream_cycle_test.go", + "kind": "exact", + "line": 18 + }, + { + "owner": "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS", + "branch": "work/prc-crystallization-dream-cycle-correctness", + "path": ".agent/reports/2026-07-10-crystallization-dream-cycle-correctness-maker.md", + "display": ".agent/reports/2026-07-10-crystallization-dream-cycle-correctness-maker.md", + "kind": "exact", + "line": 18 + }, + { + "owner": "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS", + "branch": "work/prc-crystallization-dream-cycle-correctness", + "path": ".agent/e/cdc", + "display": ".agent/e/cdc/**", + "kind": "prefix", + "line": 18 + }, + { + "owner": "DB-EMBEDDING-STATS", + "branch": "work/prc-db-embedding-stats", + "path": "internal/embedding/store.go", + "display": "internal/embedding/store.go", + "kind": "exact", + "line": 19 + }, + { + "owner": "DB-EMBEDDING-STATS", + "branch": "work/prc-db-embedding-stats", + "path": "internal/embedding/store_stats_test.go", + "display": "internal/embedding/store_stats_test.go", + "kind": "exact", + "line": 19 + }, + { + "owner": "DB-EMBEDDING-STATS", + "branch": "work/prc-db-embedding-stats", + "path": ".agent/reports/2026-07-10-db-embedding-stats-maker.md", + "display": ".agent/reports/2026-07-10-db-embedding-stats-maker.md", + "kind": "exact", + "line": 19 + }, + { + "owner": "DB-EMBEDDING-STATS", + "branch": "work/prc-db-embedding-stats", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats/**", + "kind": "prefix", + "line": 19 + }, + { + "owner": "DB-EMBEDDING-STATS", + "branch": "work/prc-db-embedding-stats", + "path": ".agent/specs/db-embedding-stats/evidence", + "display": ".agent/specs/db-embedding-stats/evidence/**", + "kind": "prefix", + "line": 19 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "path": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6", + "display": ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "path": ".agent/specs/db-embedding-stats-evidence-transport/evidence", + "display": ".agent/specs/db-embedding-stats-evidence-transport/evidence/**", + "kind": "prefix", + "line": 20 + }, + { + "owner": "DB-REAPER", + "branch": "work/prc-db-reaper-shutdown-r4", + "path": "internal/worker/reaper/reaper.go", + "display": "internal/worker/reaper/reaper.go", + "kind": "exact", + "line": 21 + }, + { + "owner": "DB-REAPER", + "branch": "work/prc-db-reaper-shutdown-r4", + "path": "internal/worker/reaper/reaper_test.go", + "display": "internal/worker/reaper/reaper_test.go", + "kind": "exact", + "line": 21 + }, + { + "owner": "SECURITY-TOOLCHAIN", + "branch": "work/prc-security-toolchain", + "path": "go.mod", + "display": "go.mod", + "kind": "exact", + "line": 22 + }, + { + "owner": "SECURITY-TOOLCHAIN", + "branch": "work/prc-security-toolchain", + "path": "go.sum", + "display": "go.sum", + "kind": "exact", + "line": 22 + }, + { + "owner": "SECURITY-TOOLCHAIN", + "branch": "work/prc-security-toolchain", + "path": "Dockerfile", + "display": "Dockerfile", + "kind": "exact", + "line": 22 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision9-maker", + "path": ".github/workflows/test.yml", + "display": ".github/workflows/test.yml", + "kind": "exact", + "line": 23 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision9-maker", + "path": "scripts/production-gates/assert-plan-path-ownership.ps1", + "display": "scripts/production-gates/assert-plan-path-ownership.ps1", + "kind": "exact", + "line": 23 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision9-maker", + "path": "scripts/production-gates/assert-active-candidate-path-authority.ps1", + "display": "scripts/production-gates/assert-active-candidate-path-authority.ps1", + "kind": "exact", + "line": 23 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision9-maker", + "path": "scripts/production-gates/run-db-suite.ps1", + "display": "scripts/production-gates/run-db-suite.ps1", + "kind": "exact", + "line": 23 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision9-maker", + "path": ".agent/specs/release-gates-r9/evidence/release-gates", + "display": ".agent/specs/release-gates-r9/evidence/release-gates/**", + "kind": "prefix", + "line": 23 + }, + { + "owner": "RELEASE-GATES", + "branch": "work/prc-release-gates-revision9-maker", + "path": ".agent/reports/2026-07-11-release-gates-r9-maker.md", + "display": ".agent/reports/2026-07-11-release-gates-r9-maker.md", + "kind": "exact", + "line": 23 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "Dockerfile", + "display": "Dockerfile", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "cmd/engram-healthcheck/main.go", + "display": "cmd/engram-healthcheck/main.go", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "cmd/engram-healthcheck/main_test.go", + "display": "cmd/engram-healthcheck/main_test.go", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "apps/operator-console/package.json", + "display": "apps/operator-console/package.json", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "apps/operator-console/package-lock.json", + "display": "apps/operator-console/package-lock.json", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "deploy/postgres/Dockerfile", + "display": "deploy/postgres/Dockerfile", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "docker-compose.yml", + "display": "docker-compose.yml", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "deploy/docker-compose.runtime.yml", + "display": "deploy/docker-compose.runtime.yml", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "docs/DEPLOYMENT.md", + "display": "docs/DEPLOYMENT.md", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "display": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": ".github/workflows/test.yml", + "display": ".github/workflows/test.yml", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": ".github/workflows/docker.yaml", + "display": ".github/workflows/docker.yaml", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": ".github/workflows/docker-publish.yml", + "display": ".github/workflows/docker-publish.yml", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "scripts/production-gates/build-and-scan-images.ps1", + "display": "scripts/production-gates/build-and-scan-images.ps1", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "tests/critical/runtime/image_runtime_contract_test.go", + "display": "tests/critical/runtime/image_runtime_contract_test.go", + "kind": "exact", + "line": 24 + }, + { + "owner": "IMAGE-REMEDIATION", + "branch": "work/prc-image-remediation", + "path": "tests/critical/runtime/postgres_image_contract_test.go", + "display": "tests/critical/runtime/postgres_image_contract_test.go", + "kind": "exact", + "line": 24 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "internal/db/gorm/project_store.go", + "display": "internal/db/gorm/project_store.go", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "internal/db/gorm/project_identity_v2_test.go", + "display": "internal/db/gorm/project_identity_v2_test.go", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "internal/grpcserver/project_identity_v2_test.go", + "display": "internal/grpcserver/project_identity_v2_test.go", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "internal/proxy/identity.go", + "display": "internal/proxy/identity.go", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "internal/proxy/identity_test.go", + "display": "internal/proxy/identity_test.go", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "internal/proxy/identity_process_test.go", + "display": "internal/proxy/identity_process_test.go", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "plugin/engram/hooks/lib.js", + "display": "plugin/engram/hooks/lib.js", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "plugin/engram/hooks/project-identity-v2.test.js", + "display": "plugin/engram/hooks/project-identity-v2.test.js", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "plugin/openclaw-engram/src/identity.ts", + "display": "plugin/openclaw-engram/src/identity.ts", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": "plugin/openclaw-engram/test/project-identity-v2.test.mjs", + "display": "plugin/openclaw-engram/test/project-identity-v2.test.mjs", + "kind": "exact", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": ".agent/specs/security-project-identity/evidence", + "display": ".agent/specs/security-project-identity/evidence/**", + "kind": "prefix", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": ".agent/reports/evidence/production-ready/security-project-identity", + "display": ".agent/reports/evidence/production-ready/security-project-identity/**", + "kind": "prefix", + "line": 25 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": "plugin/openclaw-engram/.gitignore", + "display": "plugin/openclaw-engram/.gitignore", + "kind": "exact", + "line": 26 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": "plugin/openclaw-engram/package.json", + "display": "plugin/openclaw-engram/package.json", + "kind": "exact", + "line": 26 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": "plugin/openclaw-engram/package-lock.json", + "display": "plugin/openclaw-engram/package-lock.json", + "kind": "exact", + "line": 26 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": "plugin/openclaw-engram/openclaw.plugin.json", + "display": "plugin/openclaw-engram/openclaw.plugin.json", + "kind": "exact", + "line": 26 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": "plugin/openclaw-engram/README.md", + "display": "plugin/openclaw-engram/README.md", + "kind": "exact", + "line": 26 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": ".github/workflows/plugin-publish.yml", + "display": ".github/workflows/plugin-publish.yml", + "kind": "exact", + "line": 26 + }, + { + "owner": "OPENCLAW-RELEASE", + "branch": "work/prc-openclaw-release", + "path": "docs/RELEASE-PROTOCOL.md", + "display": "docs/RELEASE-PROTOCOL.md", + "kind": "exact", + "line": 26 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "internal/update/update.go", + "display": "internal/update/update.go", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "internal/update/update_test.go", + "display": "internal/update/update_test.go", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "internal/worker/handlers_update.go", + "display": "internal/worker/handlers_update.go", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "internal/worker/handlers_update_test.go", + "display": "internal/worker/handlers_update_test.go", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "scripts/install.sh", + "display": "scripts/install.sh", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "scripts/install.ps1", + "display": "scripts/install.ps1", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": ".goreleaser.yaml", + "display": ".goreleaser.yaml", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": ".github/workflows/release.yaml", + "display": ".github/workflows/release.yaml", + "kind": "exact", + "line": 27 + }, + { + "owner": "UPDATE-LIFECYCLE", + "branch": "work/prc-security-updater", + "path": "plugin/engram/hooks/hook-cli.test.js", + "display": "plugin/engram/hooks/hook-cli.test.js", + "kind": "exact", + "line": 27 + }, + { + "owner": "DOCUMENT-INGEST-PUBLIC-TRUTH", + "branch": "work/prc-document-ingest-public-truth", + "path": "internal/mcp/server.go", + "display": "internal/mcp/server.go", + "kind": "exact", + "line": 29 + }, + { + "owner": "DOCUMENT-INGEST-PUBLIC-TRUTH", + "branch": "work/prc-document-ingest-public-truth", + "path": "internal/mcp/ingest_document_description_test.go", + "display": "internal/mcp/ingest_document_description_test.go", + "kind": "exact", + "line": 29 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/coerce.go", + "display": "internal/mcp/coerce.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/coerce_test.go", + "display": "internal/mcp/coerce_test.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_candidates.go", + "display": "internal/mcp/tools_candidates.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_candidates_test.go", + "display": "internal/mcp/tools_candidates_test.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_memory.go", + "display": "internal/mcp/tools_memory.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_memory_edit_test.go", + "display": "internal/mcp/tools_memory_edit_test.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_memory_significance.go", + "display": "internal/mcp/tools_memory_significance.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_memory_significance_test.go", + "display": "internal/mcp/tools_memory_significance_test.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_store_consolidated.go", + "display": "internal/mcp/tools_store_consolidated.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_settings.go", + "display": "internal/mcp/tools_settings.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_settings_test.go", + "display": "internal/mcp/tools_settings_test.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_documents_v2.go", + "display": "internal/mcp/tools_documents_v2.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_rule_governance.go", + "display": "internal/mcp/tools_rule_governance.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/tools_rule_governance_test.go", + "display": "internal/mcp/tools_rule_governance_test.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "MCP-STRUCTURED-INPUT-VALIDATION", + "branch": "work/prc-mcp-structured-input-validation", + "path": "internal/mcp/structured_input_validation_test.go", + "display": "internal/mcp/structured_input_validation_test.go", + "kind": "exact", + "line": 31 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/redaction/layer.go", + "display": "internal/redaction/layer.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/redaction/layer_test.go", + "display": "internal/redaction/layer_test.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/redaction/rejection_test.go", + "display": "internal/redaction/rejection_test.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/mcp/redaction_guard.go", + "display": "internal/mcp/redaction_guard.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/mcp/redaction_guard_test.go", + "display": "internal/mcp/redaction_guard_test.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/mcp/tools_memory.go", + "display": "internal/mcp/tools_memory.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/mcp/tools_rules.go", + "display": "internal/mcp/tools_rules.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/mcp/tools_memory_redaction_audit_test.go", + "display": "internal/mcp/tools_memory_redaction_audit_test.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/mcp/tools_rules_redaction_audit_test.go", + "display": "internal/mcp/tools_rules_redaction_audit_test.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/worker/service.go", + "display": "internal/worker/service.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "internal/worker/service_redaction_test.go", + "display": "internal/worker/service_redaction_test.go", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": "docs/operating-engram.md", + "display": "docs/operating-engram.md", + "kind": "exact", + "line": 32 + }, + { + "owner": "REDACTION-LIVE-CONTRACT", + "branch": "work/prc-redaction-live-contract", + "path": ".agent/reports/evidence/production-ready/redaction-live-contract", + "display": ".agent/reports/evidence/production-ready/redaction-live-contract/**", + "kind": "prefix", + "line": 32 + }, + { + "owner": "RETRIEVAL-VECTOR-CONTRACT", + "branch": "work/prc-retrieval-vector-contract", + "path": "internal/retrieval/hybrid_integration_test.go", + "display": "internal/retrieval/hybrid_integration_test.go", + "kind": "exact", + "line": 34 + }, + { + "owner": "STATIC-EMBED-CONTRACT", + "branch": "work/prc-static-embed-contract", + "path": "internal/worker/static_embed_test.go", + "display": "internal/worker/static_embed_test.go", + "kind": "exact", + "line": 35 + }, + { + "owner": "PRE-V5-UPGRADE-CONTRACT", + "branch": "work/prc-pre-v5-upgrade-contract", + "path": "internal/db/gorm/migrations_integration_test.go", + "display": "internal/db/gorm/migrations_integration_test.go", + "kind": "exact", + "line": 36 + }, + { + "owner": "PRE-V5-UPGRADE-CONTRACT", + "branch": "work/prc-pre-v5-upgrade-contract", + "path": "internal/grpcserver/credential_migration_test.go", + "display": "internal/grpcserver/credential_migration_test.go", + "kind": "exact", + "line": 36 + }, + { + "owner": "PRE-V5-UPGRADE-CONTRACT", + "branch": "work/prc-pre-v5-upgrade-contract", + "path": "tests/fixtures/pre-v5", + "display": "tests/fixtures/pre-v5/**", + "kind": "prefix", + "line": 36 + }, + { + "owner": "PRE-V5-UPGRADE-CONTRACT", + "branch": "work/prc-pre-v5-upgrade-contract", + "path": "tests/critical/recovery/pre_v5_upgrade_test.go", + "display": "tests/critical/recovery/pre_v5_upgrade_test.go", + "kind": "exact", + "line": 36 + }, + { + "owner": "PRE-V5-UPGRADE-CONTRACT", + "branch": "work/prc-pre-v5-upgrade-contract", + "path": "scripts/production-smoke/customer/run-pre-v5-upgrade.ps1", + "display": "scripts/production-smoke/customer/run-pre-v5-upgrade.ps1", + "kind": "exact", + "line": 36 + }, + { + "owner": "T007-COMPAT-DEMOLITION-CLASSIFICATION", + "branch": "work/prc-t007-compat-classification", + "path": "internal/mcp/store_memory_compat_t007_test.go", + "display": "internal/mcp/store_memory_compat_t007_test.go", + "kind": "exact", + "line": 37 + }, + { + "owner": "DB-RULES-ISOLATION", + "branch": "work/prc-db-rules-isolation", + "path": "internal/worker/handlers_rules_test.go", + "display": "internal/worker/handlers_rules_test.go", + "kind": "exact", + "line": 38 + }, + { + "owner": "DB-RULES-ISOLATION", + "branch": "work/prc-db-rules-isolation", + "path": "scripts/production-gates/run-db-rules-isolation.ps1", + "display": "scripts/production-gates/run-db-rules-isolation.ps1", + "kind": "exact", + "line": 38 + }, + { + "owner": "COVERAGE-CMD-ENGRAM", + "branch": "work/prc-coverage-cmd-engram", + "path": "cmd/engram/production_readiness_coverage_test.go", + "display": "cmd/engram/production_readiness_coverage_test.go", + "kind": "exact", + "line": 39 + }, + { + "owner": "COVERAGE-CMD-SERVER", + "branch": "work/prc-coverage-cmd-server", + "path": "cmd/engram-server/production_readiness_coverage_test.go", + "display": "cmd/engram-server/production_readiness_coverage_test.go", + "kind": "exact", + "line": 40 + }, + { + "owner": "COVERAGE-UPDATE", + "branch": "work/prc-coverage-update", + "path": "internal/update/production_readiness_coverage_test.go", + "display": "internal/update/production_readiness_coverage_test.go", + "kind": "exact", + "line": 41 + }, + { + "owner": "COVERAGE-WORKER", + "branch": "work/prc-coverage-worker", + "path": "internal/worker/production_readiness_coverage_test.go", + "display": "internal/worker/production_readiness_coverage_test.go", + "kind": "exact", + "line": 43 + }, + { + "owner": "COVERAGE-MCP", + "branch": "work/prc-coverage-mcp", + "path": "internal/mcp/production_readiness_coverage_test.go", + "display": "internal/mcp/production_readiness_coverage_test.go", + "kind": "exact", + "line": 44 + }, + { + "owner": "COVERAGE-GORM", + "branch": "work/prc-coverage-gorm", + "path": "internal/db/gorm/production_readiness_coverage_test.go", + "display": "internal/db/gorm/production_readiness_coverage_test.go", + "kind": "exact", + "line": 45 + }, + { + "owner": "COVERAGE-LOOM", + "branch": "work/prc-coverage-loom", + "path": "internal/handlers/loom/production_readiness_coverage_test.go", + "display": "internal/handlers/loom/production_readiness_coverage_test.go", + "kind": "exact", + "line": 46 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "docker-compose.yml", + "display": "docker-compose.yml", + "kind": "exact", + "line": 47 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "deploy/docker-compose.runtime.yml", + "display": "deploy/docker-compose.runtime.yml", + "kind": "exact", + "line": 47 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "deploy/docker-compose.operator-web-standalone.yml", + "display": "deploy/docker-compose.operator-web-standalone.yml", + "kind": "exact", + "line": 47 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "deploy/entrypoint-server.sh", + "display": "deploy/entrypoint-server.sh", + "kind": "exact", + "line": 47 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "deploy/healthcheck-server.sh", + "display": "deploy/healthcheck-server.sh", + "kind": "exact", + "line": 47 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "deploy/verify-rollback.ps1", + "display": "deploy/verify-rollback.ps1", + "kind": "exact", + "line": 47 + }, + { + "owner": "DEPLOYMENT-ROLLBACK", + "branch": "work/prc-deployment-rollback", + "path": "deploy/verify-runtime-policy.ps1", + "display": "deploy/verify-runtime-policy.ps1", + "kind": "exact", + "line": 47 + }, + { + "owner": "RECOVERY-DATA", + "branch": "work/prc-recovery-data", + "path": "scripts/recovery/start-disposable-postgres.ps1", + "display": "scripts/recovery/start-disposable-postgres.ps1", + "kind": "exact", + "line": 48 + }, + { + "owner": "RECOVERY-DATA", + "branch": "work/prc-recovery-data", + "path": "scripts/recovery/verify-postgres-roundtrip.ps1", + "display": "scripts/recovery/verify-postgres-roundtrip.ps1", + "kind": "exact", + "line": 48 + }, + { + "owner": "RECOVERY-DATA", + "branch": "work/prc-recovery-data", + "path": "scripts/recovery/seed-recovery-fixture.ps1", + "display": "scripts/recovery/seed-recovery-fixture.ps1", + "kind": "exact", + "line": 48 + }, + { + "owner": "RECOVERY-DATA", + "branch": "work/prc-recovery-data", + "path": "scripts/recovery/assert-recovery-fixture.ps1", + "display": "scripts/recovery/assert-recovery-fixture.ps1", + "kind": "exact", + "line": 48 + }, + { + "owner": "RECOVERY-DATA", + "branch": "work/prc-recovery-data", + "path": "tests/critical/recovery/postgres_roundtrip_test.go", + "display": "tests/critical/recovery/postgres_roundtrip_test.go", + "kind": "exact", + "line": 48 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "internal/module/obs/logging.go", + "display": "internal/module/obs/logging.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "internal/module/obs/logging_test.go", + "display": "internal/module/obs/logging_test.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "internal/module/obs/meter.go", + "display": "internal/module/obs/meter.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "internal/module/obs/meter_test.go", + "display": "internal/module/obs/meter_test.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "internal/module/obs/metrics.go", + "display": "internal/module/obs/metrics.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "internal/module/obs/metrics_test.go", + "display": "internal/module/obs/metrics_test.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "cmd/engram-server/main.go", + "display": "cmd/engram-server/main.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "cmd/engram-server/main_test.go", + "display": "cmd/engram-server/main_test.go", + "kind": "exact", + "line": 49 + }, + { + "owner": "OBSERVABILITY-OTLP", + "branch": "work/prc-observability-otlp", + "path": "scripts/production-smoke/verify-otlp.ps1", + "display": "scripts/production-smoke/verify-otlp.ps1", + "kind": "exact", + "line": 49 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/scope/domain_policy.go", + "display": "internal/scope/domain_policy.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/scope/domain_policy_test.go", + "display": "internal/scope/domain_policy_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/scope/filter.go", + "display": "internal/scope/filter.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/scope/filter_test.go", + "display": "internal/scope/filter_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/scope/filter_principal_test.go", + "display": "internal/scope/filter_principal_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/scope/filter_w4_test.go", + "display": "internal/scope/filter_w4_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/principalmemory/access_policy.go", + "display": "internal/principalmemory/access_policy.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/principalmemory/access_policy_test.go", + "display": "internal/principalmemory/access_policy_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/principalmemory/domain_registry.go", + "display": "internal/principalmemory/domain_registry.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/principalmemory/domain_registry_test.go", + "display": "internal/principalmemory/domain_registry_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/principalmemory/query_service.go", + "display": "internal/principalmemory/query_service.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/principalmemory/query_service_test.go", + "display": "internal/principalmemory/query_service_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/mcp/tools_principal_memory.go", + "display": "internal/mcp/tools_principal_memory.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/mcp/tools_principal_memory_test.go", + "display": "internal/mcp/tools_principal_memory_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/mcp/tools_recall_principal_test.go", + "display": "internal/mcp/tools_recall_principal_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/mcp/recall_visibility_backfill_test.go", + "display": "internal/mcp/recall_visibility_backfill_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/mcp/store_memory_principal_test.go", + "display": "internal/mcp/store_memory_principal_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/worker/handlers_principal_memory.go", + "display": "internal/worker/handlers_principal_memory.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/worker/handlers_principal_memory_test.go", + "display": "internal/worker/handlers_principal_memory_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/worker/scope_bypass_w4_test.go", + "display": "internal/worker/scope_bypass_w4_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/worker/retention.go", + "display": "internal/worker/retention.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/worker/retention_test.go", + "display": "internal/worker/retention_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/db/gorm/memory_store.go", + "display": "internal/db/gorm/memory_store.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/db/gorm/memory_store_principal_test.go", + "display": "internal/db/gorm/memory_store_principal_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/db/gorm/memory_store_principal_query_test.go", + "display": "internal/db/gorm/memory_store_principal_query_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "internal/db/gorm/purge_store_test.go", + "display": "internal/db/gorm/purge_store_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "PRIVACY-BOUNDARIES", + "branch": "work/prc-privacy-boundaries", + "path": "tests/critical/data_boundaries/principal_project_retention_test.go", + "display": "tests/critical/data_boundaries/principal_project_retention_test.go", + "kind": "exact", + "line": 50 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "tests/critical/customer_mode/customer_mode_test.go", + "display": "tests/critical/customer_mode/customer_mode_test.go", + "kind": "exact", + "line": 51 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "tests/critical/customer_mode/compatibility_test.go", + "display": "tests/critical/customer_mode/compatibility_test.go", + "kind": "exact", + "line": 51 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "tests/critical/customer_mode/cross_agent_test.go", + "display": "tests/critical/customer_mode/cross_agent_test.go", + "kind": "exact", + "line": 51 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "scripts/production-smoke/customer/run-customer-mode.ps1", + "display": "scripts/production-smoke/customer/run-customer-mode.ps1", + "kind": "exact", + "line": 51 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "scripts/production-smoke/customer/run-client-compatibility.ps1", + "display": "scripts/production-smoke/customer/run-client-compatibility.ps1", + "kind": "exact", + "line": 51 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "scripts/production-smoke/customer/run-cross-agent.ps1", + "display": "scripts/production-smoke/customer/run-cross-agent.ps1", + "kind": "exact", + "line": 51 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "scripts/production-smoke/customer/run-diagnostic-matrix.ps1", + "display": "scripts/production-smoke/customer/run-diagnostic-matrix.ps1", + "kind": "exact", + "line": 51 + }, + { + "owner": "CRITICAL-HARNESS", + "branch": "work/prc-critical-harness", + "path": "scripts/production-smoke/customer/assert-product-works.ps1", + "display": "scripts/production-smoke/customer/assert-product-works.ps1", + "kind": "exact", + "line": 51 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "README.md", + "display": "README.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "README.ru.md", + "display": "README.ru.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "README.zh.md", + "display": "README.zh.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "CONTRIBUTING.md", + "display": "CONTRIBUTING.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "CHANGELOG.md", + "display": "CHANGELOG.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "Makefile", + "display": "Makefile", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": ".env.example", + "display": ".env.example", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/DEPLOYMENT.md", + "display": "docs/DEPLOYMENT.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/MIGRATION.md", + "display": "docs/MIGRATION.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "display": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/arch/CONFIGURATION.md", + "display": "docs/arch/CONFIGURATION.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/arch/QUICKSTART.md", + "display": "docs/arch/QUICKSTART.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/release-notes/v6.43.0.md", + "display": "docs/release-notes/v6.43.0.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "docs/public/engram.jpg", + "display": "docs/public/engram.jpg", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "plugin/engram/commands/setup.md", + "display": "plugin/engram/commands/setup.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "CORE-PUBLIC-TRUTH", + "branch": "work/prc-core-public-truth", + "path": "plugin/engram/commands/doctor.md", + "display": "plugin/engram/commands/doctor.md", + "kind": "exact", + "line": 52 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "README.md", + "display": "README.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "README.ru.md", + "display": "README.ru.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "README.zh.md", + "display": "README.zh.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "CONTRIBUTING.md", + "display": "CONTRIBUTING.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "CHANGELOG.md", + "display": "CHANGELOG.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "Makefile", + "display": "Makefile", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": ".env.example", + "display": ".env.example", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/DEPLOYMENT.md", + "display": "docs/DEPLOYMENT.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/MIGRATION.md", + "display": "docs/MIGRATION.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "display": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/operating-engram.md", + "display": "docs/operating-engram.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/arch/CONFIGURATION.md", + "display": "docs/arch/CONFIGURATION.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/arch/QUICKSTART.md", + "display": "docs/arch/QUICKSTART.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "docs/public/engram.jpg", + "display": "docs/public/engram.jpg", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "plugin/engram/commands/setup.md", + "display": "plugin/engram/commands/setup.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "FINAL-PUBLIC-TRUTH", + "branch": "work/prc-final-public-truth", + "path": "plugin/engram/commands/doctor.md", + "display": "plugin/engram/commands/doctor.md", + "kind": "exact", + "line": 53 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "cmd/engram/main.go", + "display": "cmd/engram/main.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "cmd/engram/main_test.go", + "display": "cmd/engram/main_test.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "cmd/engram/wiring.go", + "display": "cmd/engram/wiring.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "cmd/engram/exec_windows.go", + "display": "cmd/engram/exec_windows.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "cmd/engram/exec_unix.go", + "display": "cmd/engram/exec_unix.go", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "plugin/engram/.engram-project", + "display": "plugin/engram/.engram-project", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "plugin/engram/scripts/run-engram.js", + "display": "plugin/engram/scripts/run-engram.js", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "plugin/engram/scripts/run-engram.test.js", + "display": "plugin/engram/scripts/run-engram.test.js", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "plugin/engram/scripts/ensure-binary.js", + "display": "plugin/engram/scripts/ensure-binary.js", + "kind": "exact", + "line": 54 + }, + { + "owner": "LAUNCHER-FIRST-RUN", + "branch": "work/prc-launcher-first-run", + "path": "plugin/engram/scripts/ensure-binary.test.js", + "display": "plugin/engram/scripts/ensure-binary.test.js", + "kind": "exact", + "line": 54 + }, + { + "owner": "OC-INTEGRATION", + "branch": "work/prc-operator-console-integration", + "path": "apps/operator-console", + "display": "apps/operator-console/**", + "kind": "prefix", + "line": 55 + }, + { + "owner": "S4B-CONTRACT", + "branch": "work/prc-s4b-contract", + "path": ".agent/specs/engram-v7-directives-surfacing", + "display": ".agent/specs/engram-v7-directives-surfacing/**", + "kind": "prefix", + "line": 56 + }, + { + "owner": "V7-S4B-BACKEND", + "branch": "work/prc-v7-s4b-backend", + "path": "internal/cognitive/s4bsurfacing", + "display": "internal/cognitive/s4bsurfacing/**", + "kind": "prefix", + "line": 57 + }, + { + "owner": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "path": "internal/cognitive/core/event_bus.go", + "display": "internal/cognitive/core/event_bus.go", + "kind": "exact", + "line": 58 + }, + { + "owner": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "path": "internal/cognitive/core/event_bus_test.go", + "display": "internal/cognitive/core/event_bus_test.go", + "kind": "exact", + "line": 58 + }, + { + "owner": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "path": "internal/cognitive/core/hint_queue.go", + "display": "internal/cognitive/core/hint_queue.go", + "kind": "exact", + "line": 58 + }, + { + "owner": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "path": "internal/cognitive/core/hint_queue_test.go", + "display": "internal/cognitive/core/hint_queue_test.go", + "kind": "exact", + "line": 58 + }, + { + "owner": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "path": "internal/cognitive/s3ambient/queue.go", + "display": "internal/cognitive/s3ambient/queue.go", + "kind": "exact", + "line": 58 + }, + { + "owner": "V7-CORE-CALLPATH", + "branch": "work/prc-v7-core-callpath", + "path": "internal/cognitive/s3ambient/subsystem.go", + "display": "internal/cognitive/s3ambient/subsystem.go", + "kind": "exact", + "line": 58 + }, + { + "owner": "V7-RUNTIME-WIRING", + "branch": "work/prc-v7-runtime-wiring", + "path": "internal/worker/service.go", + "display": "internal/worker/service.go", + "kind": "exact", + "line": 59 + }, + { + "owner": "V7-RUNTIME-WIRING", + "branch": "work/prc-v7-runtime-wiring", + "path": "internal/worker/service_v7_integration_test.go", + "display": "internal/worker/service_v7_integration_test.go", + "kind": "exact", + "line": 59 + }, + { + "owner": "V7-RUNTIME-WIRING", + "branch": "work/prc-v7-runtime-wiring", + "path": "internal/worker/handlers_stats_v7.go", + "display": "internal/worker/handlers_stats_v7.go", + "kind": "exact", + "line": 59 + }, + { + "owner": "V7-RUNTIME-WIRING", + "branch": "work/prc-v7-runtime-wiring", + "path": "internal/worker/handlers_stats_v7_test.go", + "display": "internal/worker/handlers_stats_v7_test.go", + "kind": "exact", + "line": 59 + }, + { + "owner": "V7-TELEMETRY-WIRING", + "branch": "work/prc-v7-telemetry-wiring", + "path": "internal/cognitive/s5/metrics.go", + "display": "internal/cognitive/s5/metrics.go", + "kind": "exact", + "line": 60 + }, + { + "owner": "V7-TELEMETRY-WIRING", + "branch": "work/prc-v7-telemetry-wiring", + "path": "internal/cognitive/s5/provider.go", + "display": "internal/cognitive/s5/provider.go", + "kind": "exact", + "line": 60 + }, + { + "owner": "V7-TELEMETRY-WIRING", + "branch": "work/prc-v7-telemetry-wiring", + "path": "internal/cognitive/s5/provider_test.go", + "display": "internal/cognitive/s5/provider_test.go", + "kind": "exact", + "line": 60 + }, + { + "owner": "V7-TELEMETRY-WIRING", + "branch": "work/prc-v7-telemetry-wiring", + "path": "internal/cognitive/s5/source_adapter.go", + "display": "internal/cognitive/s5/source_adapter.go", + "kind": "exact", + "line": 60 + }, + { + "owner": "V7-TELEMETRY-WIRING", + "branch": "work/prc-v7-telemetry-wiring", + "path": "internal/cognitive/s5/source_adapter_test.go", + "display": "internal/cognitive/s5/source_adapter_test.go", + "kind": "exact", + "line": 60 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/roadmap.md", + "display": ".agent/specs/roadmap.md", + "kind": "exact", + "line": 61 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/ui-surface-ledger.md", + "display": ".agent/specs/ui-surface-ledger.md", + "kind": "exact", + "line": 61 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/operator-console-production-integration", + "display": ".agent/specs/operator-console-production-integration/**", + "kind": "prefix", + "line": 61 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/engram-v7-ambient/spec.md", + "display": ".agent/specs/engram-v7-ambient/spec.md", + "kind": "exact", + "line": 61 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/engram-v7-ambient/plan.md", + "display": ".agent/specs/engram-v7-ambient/plan.md", + "kind": "exact", + "line": 61 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/engram-v7-ambient/checklists/general.md", + "display": ".agent/specs/engram-v7-ambient/checklists/general.md", + "kind": "exact", + "line": 61 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 61 + }, + { + "owner": "ROADMAP-RECONCILIATION", + "branch": "work/prc-roadmap-reconciliation", + "path": ".agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/engram-v7-ambient/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 61 + }, + { + "owner": "NORTHSTAR-CI-A-CONTRACTS", + "branch": "work/prc-northstar-ci-a-contracts", + "path": ".agent/specs/engram-absorption/ci-a-dense-vector/spec.md", + "display": ".agent/specs/engram-absorption/ci-a-dense-vector/spec.md", + "kind": "exact", + "line": 62 + }, + { + "owner": "NORTHSTAR-CI-A-CONTRACTS", + "branch": "work/prc-northstar-ci-a-contracts", + "path": ".agent/specs/engram-absorption/ci-a-dense-vector/plan.md", + "display": ".agent/specs/engram-absorption/ci-a-dense-vector/plan.md", + "kind": "exact", + "line": 62 + }, + { + "owner": "NORTHSTAR-CI-A-CONTRACTS", + "branch": "work/prc-northstar-ci-a-contracts", + "path": ".agent/specs/engram-absorption/ci-a-dense-vector/checklists/general.md", + "display": ".agent/specs/engram-absorption/ci-a-dense-vector/checklists/general.md", + "kind": "exact", + "line": 62 + }, + { + "owner": "NORTHSTAR-CI-A-CONTRACTS", + "branch": "work/prc-northstar-ci-a-contracts", + "path": ".agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 62 + }, + { + "owner": "NORTHSTAR-CI-A-CONTRACTS", + "branch": "work/prc-northstar-ci-a-contracts", + "path": ".agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/engram-absorption/ci-a-dense-vector/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 62 + }, + { + "owner": "NORTHSTAR-CI-B-CONTRACTS", + "branch": "work/prc-northstar-ci-b-contracts", + "path": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/spec.md", + "display": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/spec.md", + "kind": "exact", + "line": 63 + }, + { + "owner": "NORTHSTAR-CI-B-CONTRACTS", + "branch": "work/prc-northstar-ci-b-contracts", + "path": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/plan.md", + "display": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/plan.md", + "kind": "exact", + "line": 63 + }, + { + "owner": "NORTHSTAR-CI-B-CONTRACTS", + "branch": "work/prc-northstar-ci-b-contracts", + "path": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/checklists/general.md", + "display": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/checklists/general.md", + "kind": "exact", + "line": 63 + }, + { + "owner": "NORTHSTAR-CI-B-CONTRACTS", + "branch": "work/prc-northstar-ci-b-contracts", + "path": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 63 + }, + { + "owner": "NORTHSTAR-CI-B-CONTRACTS", + "branch": "work/prc-northstar-ci-b-contracts", + "path": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/engram-absorption/ci-b-graph-watcher-context/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 63 + }, + { + "owner": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "path": ".agent/specs/engram-absorption/book/prd.md", + "display": ".agent/specs/engram-absorption/book/prd.md", + "kind": "exact", + "line": 64 + }, + { + "owner": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "path": ".agent/specs/engram-absorption/book/spec.md", + "display": ".agent/specs/engram-absorption/book/spec.md", + "kind": "exact", + "line": 64 + }, + { + "owner": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "path": ".agent/specs/engram-absorption/book/plan.md", + "display": ".agent/specs/engram-absorption/book/plan.md", + "kind": "exact", + "line": 64 + }, + { + "owner": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "path": ".agent/specs/engram-absorption/book/checklists/general.md", + "display": ".agent/specs/engram-absorption/book/checklists/general.md", + "kind": "exact", + "line": 64 + }, + { + "owner": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "path": ".agent/specs/engram-absorption/book/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/engram-absorption/book/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 64 + }, + { + "owner": "NORTHSTAR-BOOK-CONTRACTS", + "branch": "work/prc-northstar-book-contracts", + "path": ".agent/specs/engram-absorption/book/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/engram-absorption/book/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 64 + }, + { + "owner": "NORTHSTAR-MEM-CONTRACTS", + "branch": "work/prc-northstar-mem-contracts", + "path": ".agent/specs/engram-absorption/mem-residual/spec.md", + "display": ".agent/specs/engram-absorption/mem-residual/spec.md", + "kind": "exact", + "line": 65 + }, + { + "owner": "NORTHSTAR-MEM-CONTRACTS", + "branch": "work/prc-northstar-mem-contracts", + "path": ".agent/specs/engram-absorption/mem-residual/plan.md", + "display": ".agent/specs/engram-absorption/mem-residual/plan.md", + "kind": "exact", + "line": 65 + }, + { + "owner": "NORTHSTAR-MEM-CONTRACTS", + "branch": "work/prc-northstar-mem-contracts", + "path": ".agent/specs/engram-absorption/mem-residual/checklists/general.md", + "display": ".agent/specs/engram-absorption/mem-residual/checklists/general.md", + "kind": "exact", + "line": 65 + }, + { + "owner": "NORTHSTAR-MEM-CONTRACTS", + "branch": "work/prc-northstar-mem-contracts", + "path": ".agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 65 + }, + { + "owner": "NORTHSTAR-MEM-CONTRACTS", + "branch": "work/prc-northstar-mem-contracts", + "path": ".agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/engram-absorption/mem-residual/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 65 + }, + { + "owner": "NORTHSTAR-EFFECTIVENESS-CONTRACTS", + "branch": "work/prc-northstar-effectiveness-contracts", + "path": ".agent/specs/engram-effectiveness/production-ready-residual/spec.md", + "display": ".agent/specs/engram-effectiveness/production-ready-residual/spec.md", + "kind": "exact", + "line": 66 + }, + { + "owner": "NORTHSTAR-EFFECTIVENESS-CONTRACTS", + "branch": "work/prc-northstar-effectiveness-contracts", + "path": ".agent/specs/engram-effectiveness/production-ready-residual/plan.md", + "display": ".agent/specs/engram-effectiveness/production-ready-residual/plan.md", + "kind": "exact", + "line": 66 + }, + { + "owner": "NORTHSTAR-EFFECTIVENESS-CONTRACTS", + "branch": "work/prc-northstar-effectiveness-contracts", + "path": ".agent/specs/engram-effectiveness/production-ready-residual/checklists/general.md", + "display": ".agent/specs/engram-effectiveness/production-ready-residual/checklists/general.md", + "kind": "exact", + "line": 66 + }, + { + "owner": "NORTHSTAR-EFFECTIVENESS-CONTRACTS", + "branch": "work/prc-northstar-effectiveness-contracts", + "path": ".agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 66 + }, + { + "owner": "NORTHSTAR-EFFECTIVENESS-CONTRACTS", + "branch": "work/prc-northstar-effectiveness-contracts", + "path": ".agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/engram-effectiveness/production-ready-residual/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 66 + }, + { + "owner": "NORTHSTAR-SETTINGS-CONTRACTS", + "branch": "work/prc-northstar-settings-contracts", + "path": ".agent/specs/settings-store/production-ready-residual/spec.md", + "display": ".agent/specs/settings-store/production-ready-residual/spec.md", + "kind": "exact", + "line": 67 + }, + { + "owner": "NORTHSTAR-SETTINGS-CONTRACTS", + "branch": "work/prc-northstar-settings-contracts", + "path": ".agent/specs/settings-store/production-ready-residual/plan.md", + "display": ".agent/specs/settings-store/production-ready-residual/plan.md", + "kind": "exact", + "line": 67 + }, + { + "owner": "NORTHSTAR-SETTINGS-CONTRACTS", + "branch": "work/prc-northstar-settings-contracts", + "path": ".agent/specs/settings-store/production-ready-residual/checklists/general.md", + "display": ".agent/specs/settings-store/production-ready-residual/checklists/general.md", + "kind": "exact", + "line": 67 + }, + { + "owner": "NORTHSTAR-SETTINGS-CONTRACTS", + "branch": "work/prc-northstar-settings-contracts", + "path": ".agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/change.md", + "display": ".agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/change.md", + "kind": "exact", + "line": 67 + }, + { + "owner": "NORTHSTAR-SETTINGS-CONTRACTS", + "branch": "work/prc-northstar-settings-contracts", + "path": ".agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/tasks.md", + "display": ".agent/specs/settings-store/production-ready-residual/changes/CR-001-initial-scope/tasks.md", + "kind": "exact", + "line": 67 + } + ], + "repeated_exact_paths": [ + { + "path": ".env.example", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": ".github/workflows/test.yml", + "exact_owners": [ + "RELEASE-GATES", + "IMAGE-REMEDIATION" + ], + "prefix_owners": [], + "effective_owners": [ + "RELEASE-GATES", + "IMAGE-REMEDIATION" + ], + "declared_epoch": true, + "epoch_owners": [ + "RELEASE-GATES", + "IMAGE-REMEDIATION" + ] + }, + { + "path": "apps/operator-console/package-lock.json", + "exact_owners": [ + "IMAGE-REMEDIATION" + ], + "prefix_owners": [ + "OC-INTEGRATION" + ], + "effective_owners": [ + "IMAGE-REMEDIATION", + "OC-INTEGRATION" + ], + "declared_epoch": true, + "epoch_owners": [ + "IMAGE-REMEDIATION", + "OC-INTEGRATION" + ] + }, + { + "path": "apps/operator-console/package.json", + "exact_owners": [ + "IMAGE-REMEDIATION" + ], + "prefix_owners": [ + "OC-INTEGRATION" + ], + "effective_owners": [ + "IMAGE-REMEDIATION", + "OC-INTEGRATION" + ], + "declared_epoch": true, + "epoch_owners": [ + "IMAGE-REMEDIATION", + "OC-INTEGRATION" + ] + }, + { + "path": "CHANGELOG.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "CONTRIBUTING.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "deploy/docker-compose.runtime.yml", + "exact_owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ], + "prefix_owners": [], + "effective_owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ], + "declared_epoch": true, + "epoch_owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ] + }, + { + "path": "docker-compose.yml", + "exact_owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ], + "prefix_owners": [], + "effective_owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ], + "declared_epoch": true, + "epoch_owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ] + }, + { + "path": "Dockerfile", + "exact_owners": [ + "SECURITY-TOOLCHAIN", + "IMAGE-REMEDIATION" + ], + "prefix_owners": [], + "effective_owners": [ + "SECURITY-TOOLCHAIN", + "IMAGE-REMEDIATION" + ], + "declared_epoch": true, + "epoch_owners": [ + "SECURITY-TOOLCHAIN", + "IMAGE-REMEDIATION" + ] + }, + { + "path": "docs/arch/CONFIGURATION.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "docs/arch/QUICKSTART.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "docs/DEPLOYMENT.md", + "exact_owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "docs/MIGRATION.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "docs/operating-engram.md", + "exact_owners": [ + "REDACTION-LIVE-CONTRACT", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "REDACTION-LIVE-CONTRACT", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "REDACTION-LIVE-CONTRACT", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "exact_owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "docs/public/engram.jpg", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "internal/bulkops/facade_test.go", + "exact_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ] + }, + { + "path": "internal/bulkops/facade.go", + "exact_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION", + "DURABLE-AUDIT-BOUNDARIES" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION", + "DURABLE-AUDIT-BOUNDARIES" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION", + "DURABLE-AUDIT-BOUNDARIES" + ] + }, + { + "path": "internal/bulkops/rollback_test.go", + "exact_owners": [ + "DB-BULKOPS", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ] + }, + { + "path": "internal/db/gorm/candidate_store_test.go", + "exact_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-TEST-POOL-HYGIENE", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-TEST-POOL-HYGIENE", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-TEST-POOL-HYGIENE", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ] + }, + { + "path": "internal/db/gorm/candidate_store.go", + "exact_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ] + }, + { + "path": "internal/db/gorm/user_store.go", + "exact_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ] + }, + { + "path": "internal/mcp/tools_bulkops.go", + "exact_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ] + }, + { + "path": "internal/mcp/tools_dryrun_test.go", + "exact_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ] + }, + { + "path": "internal/mcp/tools_memory.go", + "exact_owners": [ + "MCP-STRUCTURED-INPUT-VALIDATION", + "REDACTION-LIVE-CONTRACT" + ], + "prefix_owners": [], + "effective_owners": [ + "MCP-STRUCTURED-INPUT-VALIDATION", + "REDACTION-LIVE-CONTRACT" + ], + "declared_epoch": true, + "epoch_owners": [ + "MCP-STRUCTURED-INPUT-VALIDATION", + "REDACTION-LIVE-CONTRACT" + ] + }, + { + "path": "internal/worker/auth_handlers.go", + "exact_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ] + }, + { + "path": "internal/worker/service.go", + "exact_owners": [ + "AUTH-BOOTSTRAP-SECURITY", + "REDACTION-LIVE-CONTRACT", + "V7-RUNTIME-WIRING" + ], + "prefix_owners": [], + "effective_owners": [ + "AUTH-BOOTSTRAP-SECURITY", + "REDACTION-LIVE-CONTRACT", + "V7-RUNTIME-WIRING" + ], + "declared_epoch": true, + "epoch_owners": [ + "AUTH-BOOTSTRAP-SECURITY", + "REDACTION-LIVE-CONTRACT", + "V7-RUNTIME-WIRING" + ] + }, + { + "path": "Makefile", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "pkg/models/snapshot.go", + "exact_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "prefix_owners": [], + "effective_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "declared_epoch": true, + "epoch_owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ] + }, + { + "path": "plugin/engram/commands/doctor.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "plugin/engram/commands/setup.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "README.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "README.ru.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + }, + { + "path": "README.zh.md", + "exact_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "prefix_owners": [], + "effective_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "declared_epoch": true, + "epoch_owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ] + } + ], + "prefix_intersections": [ + { + "left_owner": "IMAGE-REMEDIATION", + "left": "apps/operator-console/package.json", + "right_owner": "OC-INTEGRATION", + "right": "apps/operator-console/**", + "exact_path": "apps/operator-console/package.json", + "declared_epoch": true + }, + { + "left_owner": "IMAGE-REMEDIATION", + "left": "apps/operator-console/package-lock.json", + "right_owner": "OC-INTEGRATION", + "right": "apps/operator-console/**", + "exact_path": "apps/operator-console/package-lock.json", + "declared_epoch": true + } + ], + "epochs": [ + { + "path": "internal/db/gorm/candidate_store.go", + "owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "transfer_gate": "rejected predecessor checker/hash recorded; rework uses exact base `68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef`; each accepted successor requires checker PASS, post-review PASS, integration SHA, and exact rebase before edit", + "line": 6 + }, + { + "path": "internal/db/gorm/candidate_store_test.go", + "owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "DB-TEST-POOL-HYGIENE", + "DB-GOVERNANCE", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "transfer_gate": "behavioral-edge head `bd68c05baf4b7250096dd84f56bebea2aa555970` remains current authority until pool-hygiene product `276337b3e96aa5af6d2e7dd9a0002ff957e5ffc9` plus evidence `68242c48aaad62ec087166eeb9ea32f14d189450` receive fresh checker and post-review; later successors require exact integration and rebase", + "line": 7 + }, + { + "path": "internal/mcp/tools_bulkops.go", + "owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "transfer_gate": "rejected predecessor checker/hash recorded; rework base is exact rejected head; checker and post-review PASS plus integration SHA close the transfer", + "line": 8 + }, + { + "path": "internal/mcp/tools_dryrun_test.go", + "owners": [ + "DB-BULKOPS", + "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK" + ], + "transfer_gate": "rejected predecessor checker/hash recorded; rework base is exact rejected head; checker and post-review PASS plus integration SHA close the transfer", + "line": 8 + }, + { + "path": "internal/bulkops/facade.go", + "owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION", + "DURABLE-AUDIT-BOUNDARIES" + ], + "transfer_gate": "behavioral-edge composite checker and post-review PASS; exact integration SHA recorded; demolition rebased before edit; historical ingest guard green before durable-audit fault work", + "line": 9 + }, + { + "path": "internal/bulkops/facade_test.go", + "owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "transfer_gate": "accepted behavioral-edge composite integrated; demolition worktree rebased; focused historical-only regressions PASS before integration", + "line": 10 + }, + { + "path": "internal/bulkops/rollback_test.go", + "owners": [ + "DB-BULKOPS", + "CANDIDATE-REVIEW-SNAPSHOT-ROLLBACK" + ], + "transfer_gate": "accepted behavioral-edge composite and DB-GOVERNANCE integrated; candidate-review successor rebased; combined checker and post-review PASS", + "line": 11 + }, + { + "path": "pkg/models/snapshot.go", + "owners": [ + "DB-BULKOPS", + "INGEST-DOC-SNAPSHOT-DEMOLITION" + ], + "transfer_gate": "accepted behavioral-edge composite integrated; demolition successor rebased; persistence-compatibility and non-executable regressions PASS", + "line": 12 + }, + { + "path": "internal/db/gorm/user_store.go", + "owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "transfer_gate": "each predecessor checker and post-review PASS, integration SHA recorded, successor rebased; no simultaneous writer", + "line": 13 + }, + { + "path": "internal/worker/auth_handlers.go", + "owners": [ + "DB-AUTH", + "AUTH-BOOTSTRAP-SECURITY", + "DURABLE-AUDIT-BOUNDARIES" + ], + "transfer_gate": "each predecessor checker and post-review PASS, integration SHA recorded, successor rebased; no simultaneous writer", + "line": 14 + }, + { + "path": "internal/worker/service.go", + "owners": [ + "AUTH-BOOTSTRAP-SECURITY", + "REDACTION-LIVE-CONTRACT", + "V7-RUNTIME-WIRING" + ], + "transfer_gate": "auth bootstrap checker and post-review PASS, commit integrated, redaction worktree rebased and boot-captured rules proved; V7 later rebases the redaction integration and reruns both auth and redaction route regressions", + "line": 15 + }, + { + "path": "internal/mcp/tools_memory.go", + "owners": [ + "MCP-STRUCTURED-INPUT-VALIDATION", + "REDACTION-LIVE-CONTRACT" + ], + "transfer_gate": "structured-input checker/post-review PASS and exact integration SHA; redaction successor rebased so malformed input remains zero-audit/zero-write before matched-mutation audit enforcement", + "line": 16 + }, + { + "path": "docs/operating-engram.md", + "owners": [ + "REDACTION-LIVE-CONTRACT", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "redaction live contract checker/post-review PASS and exact integration SHA; FINAL rebased and revalidates the operator claims against final published artifacts", + "line": 17 + }, + { + "path": "Dockerfile", + "owners": [ + "SECURITY-TOOLCHAIN", + "IMAGE-REMEDIATION" + ], + "transfer_gate": "toolchain checker and post-review PASS, commit integrated, image worktree rebased, zero-finding rebuild and scan before successor integration", + "line": 18 + }, + { + "path": ".github/workflows/test.yml", + "owners": [ + "RELEASE-GATES", + "IMAGE-REMEDIATION" + ], + "transfer_gate": "release-gates checker and post-review PASS, commit integrated, image worktree rebased before workflow image-identity changes", + "line": 19 + }, + { + "path": "docker-compose.yml", + "owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ], + "transfer_gate": "image checker and post-review PASS, `final-image-set.json` recorded, deployment worktree rebased, fresh scan after edits", + "line": 20 + }, + { + "path": "deploy/docker-compose.runtime.yml", + "owners": [ + "IMAGE-REMEDIATION", + "DEPLOYMENT-ROLLBACK" + ], + "transfer_gate": "image checker and post-review PASS, `final-image-set.json` recorded, deployment worktree rebased, fresh scan after edits", + "line": 20 + }, + { + "path": "apps/operator-console/package.json", + "owners": [ + "IMAGE-REMEDIATION", + "OC-INTEGRATION" + ], + "transfer_gate": "image checker and post-review PASS, OC worktree rebased, any later dependency edit reruns audit/build/browser/image scan", + "line": 21 + }, + { + "path": "apps/operator-console/package-lock.json", + "owners": [ + "IMAGE-REMEDIATION", + "OC-INTEGRATION" + ], + "transfer_gate": "image checker and post-review PASS, OC worktree rebased, any later dependency edit reruns audit/build/browser/image scan", + "line": 21 + }, + { + "path": "docs/DEPLOYMENT.md", + "owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "image proof integrated; CORE rebased for M5; FINAL rebased to exact M6 integration and final-version artifact before edit", + "line": 22 + }, + { + "path": "docs/PRODUCTION-TESTING-PLAYBOOK.md", + "owners": [ + "IMAGE-REMEDIATION", + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "image proof integrated; CORE rebased for M5; FINAL rebased to exact M6 integration and final-version artifact before edit", + "line": 22 + }, + { + "path": "README.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "README.ru.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "README.zh.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "CONTRIBUTING.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "CHANGELOG.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "Makefile", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": ".env.example", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "docs/MIGRATION.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "docs/arch/CONFIGURATION.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "docs/arch/QUICKSTART.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "docs/public/engram.jpg", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "plugin/engram/commands/setup.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "plugin/engram/commands/doctor.md", + "owners": [ + "CORE-PUBLIC-TRUTH", + "FINAL-PUBLIC-TRUTH" + ], + "transfer_gate": "M5 release published and proved; FINAL worktree rebased to exact M6 integration; final version artifact and exact release-note path recorded before edit", + "line": 23 + }, + { + "path": "internal/worker/dream_cycle.go", + "owners": [ + "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS" + ], + "transfer_gate": "single-owner tracked epoch with no predecessor; the maker starts only after the named dependencies, then requires checker PASS, post-review PASS, integration SHA, and a root plan/state amendment before any later writer", + "line": 24 + }, + { + "path": "internal/worker/dream_cycle_test.go", + "owners": [ + "CRYSTALLIZATION-DREAM-CYCLE-CORRECTNESS" + ], + "transfer_gate": "single-owner tracked epoch with no predecessor; the maker starts only after the named dependencies, then requires checker PASS, post-review PASS, integration SHA, and a root plan/state amendment before any later writer", + "line": 24 + } + ], + "errors": [] +} diff --git a/.agent/specs/release-gates-r9/evidence/release-gates/security-r4-ffd-pending-probe.json b/.agent/specs/release-gates-r9/evidence/release-gates/security-r4-ffd-pending-probe.json new file mode 100644 index 00000000..7352baa5 --- /dev/null +++ b/.agent/specs/release-gates-r9/evidence/release-gates/security-r4-ffd-pending-probe.json @@ -0,0 +1,198 @@ +{ + "schema_version": 1, + "gate": "active-candidate-path-authority", + "verdict": "FAIL", + "started_at": "2026-07-10T22:28:02.7681104+00:00", + "finished_at": "2026-07-10T22:28:03.5380231+00:00", + "duration_seconds": 0.77, + "contract": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-active-diff-contracts.json", + "expected_sha256": "d8e7818d84831f047d30a8493f9c7d2a8cea288d5c381735960d11dd02988ae5", + "observed_sha256": "d8e7818d84831f047d30a8493f9c7d2a8cea288d5c381735960d11dd02988ae5", + "hash_match": true + }, + "plan": { + "path": "D:\\Dev\\engram\\.agent\\worktrees\\prc-release-gates-r9-maker\\.agent\\plans\\2026-07-10-engram-production-ready-master-plan.md", + "expected_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f", + "observed_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f", + "hash_match": true + }, + "source_snapshot": { + "freshness": "HISTORICAL_DISCOVERY_ONLY", + "used_for_acceptance": false, + "mutable_register_read": false, + "observed_sha256": "29865adc048cb3f64ec7d133b3bd901c95115e4ae5b95c98927607de889f77d4" + }, + "counts": { + "candidates": 9, + "paths": 123.0, + "pending_contracts": 2, + "current_candidates": 6, + "rejected_candidates": 3, + "git_verified": 0, + "errors": 1 + }, + "candidates": [ + { + "slice": "DB-AUTH", + "status_class": "current-ready", + "branch": "work/prc-db-auth", + "base": "b0c4ab4c07a4c6f512728da52b2e132bacd0289c", + "head": "da97c88be6753703bac112be8431dc373e4d9dda", + "path_count": 5, + "paths_sha256": "7a678254366c2bdcf5feba8e25ce1151a69ae0a0240d68e3af3cd15ffa1b9d9e" + }, + { + "slice": "DB-EMBEDDING-STATS", + "status_class": "current-checker-active", + "branch": "work/prc-db-embedding-stats", + "base": "dc891b2d72b1fd63b83e4a630a249241fc389151", + "head": "38d6a4fb7ff5f5ae3b6c0066c0a1b806421137df", + "path_count": 8, + "paths_sha256": "b4d1c8176810630268759cedc909cd1042b063b81a14a01175b1a36f174d5c0f" + }, + { + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "status_class": "rejected-evidence-revision", + "branch": "work/prc-db-embedding-evidence-transport-r5", + "base": "369951b61ee07cb0c405558e0f677cd1c9e90362", + "head": "a538f6224ef31f612152470a4ecd45e78ff9d0f2", + "path_count": 28, + "paths_sha256": "a9e3eb9762bc3d597ac277c653ad30d10149cb10443fb0b0fc3edd21093c8217" + }, + { + "slice": "DB-BULKOPS", + "status_class": "rejected-historical", + "branch": "work/prc-db-bulkops", + "base": "6ea10496aa127fba7fdb194875044e770d0a1d8c", + "head": "68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef", + "path_count": 13, + "paths_sha256": "1c53f8aed2d97d91f9103a21d214856c5bb0f59dce6dcc0264e1ce04693c869a" + }, + { + "slice": "DB-BULKOPS-BEHAVIORAL-EDGE-REWORK", + "status_class": "current-ready-with-concerns", + "branch": "work/prc-db-bulkops", + "base": "68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef", + "head": "bd68c05baf4b7250096dd84f56bebea2aa555970", + "path_count": 38, + "paths_sha256": "39a32b36dfac7f1148649ca092abc23320fda34e2535a828778e228aa8c0230d" + }, + { + "slice": "DB-CRYSTALLIZATION", + "status_class": "current-ready-with-concerns", + "branch": "work/prc-db-crystallization", + "base": "dc891b2d72b1fd63b83e4a630a249241fc389151", + "head": "2ab6211494e51aeb7b787a99e78cff8bf2d5694a", + "path_count": 1, + "paths_sha256": "8428c4f86e06bdab5367fd6678decdb49b8aa23a41f593b246b7e541ec84ab23" + }, + { + "slice": "SECURITY-TOOLCHAIN", + "status_class": "current-ready", + "branch": "work/prc-security-toolchain", + "base": "dc891b2d72b1fd63b83e4a630a249241fc389151", + "head": "b0955dfd61b4ea7364f6d400579247b475a1a680", + "path_count": 3, + "paths_sha256": "5e49ddf6f66cc54d25f31cecd2fae96554d760f8c722f1c113a9d8e695468143" + }, + { + "slice": "SECURITY-PROJECT-IDENTITY", + "status_class": "rejected-security-r3", + "branch": "work/prc-security-project-identity-r3", + "base": "9e2ce4e58a5cded69660ca9ac532d2167f315bb2", + "head": "38344455754fe503acbd79d2134141f996adff7f", + "path_count": 14, + "paths_sha256": "046360929bec61f3cbda420754aaab7056badf467d5e5c2c2e2fce68e2f5e21f" + }, + { + "slice": "DB-TEST-POOL-HYGIENE", + "status_class": "current-ready-for-check", + "branch": "work/prc-db-test-pool-hygiene-evidence-r2", + "base": "276337b3e96aa5af6d2e7dd9a0002ff957e5ffc9", + "head": "68242c48aaad62ec087166eeb9ea32f14d189450", + "path_count": 13, + "paths_sha256": "5b30cedca485ce89ce38bdb665413be59a3e2639e01e04c600172e68e503f3a0" + } + ], + "pending_contracts": [ + { + "slice": "DB-EMBEDDING-EVIDENCE-TRANSPORT", + "branch": "work/prc-db-embedding-evidence-transport-r6", + "base_anchor": "a538f6224ef31f612152470a4ecd45e78ff9d0f2", + "allowed_exact_paths": [], + "effective_agent_declarations": [ + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport/**", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r3/**", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r4/**", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r5/**", + ".agent/reports/evidence/production-ready/db-embedding-stats-evidence-transport-r6/**", + ".agent/specs/db-embedding-stats-evidence-transport/evidence/**" + ], + "requires_final_exact_diff_contract": true + }, + { + "slice": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "base_anchor": "38344455754fe503acbd79d2134141f996adff7f", + "allowed_exact_paths": [ + "internal/proxy/identity_process_test.go", + "internal/proxy/identity_test.go" + ], + "effective_agent_declarations": [ + ".agent/specs/security-project-identity/evidence/**", + ".agent/reports/evidence/production-ready/security-project-identity/**" + ], + "requires_final_exact_diff_contract": true + } + ], + "git_verification": [], + "pending_probe": { + "verdict": "FAIL", + "allowed_declarations": [ + { + "path": "internal/proxy/identity_process_test.go", + "display": "internal/proxy/identity_process_test.go", + "kind": "exact" + }, + { + "path": "internal/proxy/identity_test.go", + "display": "internal/proxy/identity_test.go", + "kind": "exact" + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": ".agent/specs/security-project-identity/evidence", + "display": ".agent/specs/security-project-identity/evidence/**", + "kind": "prefix", + "line": 25 + }, + { + "owner": "SECURITY-PROJECT-IDENTITY", + "branch": "work/prc-security-project-identity-r4", + "path": ".agent/reports/evidence/production-ready/security-project-identity", + "display": ".agent/reports/evidence/production-ready/security-project-identity/**", + "kind": "prefix", + "line": 25 + } + ], + "violations": [ + { + "path": ".agent/testing/SECURITY-PROJECT-IDENTITY-R4/behavior-signal.md", + "git_status": "A", + "reason": "path is outside pending exact product/test paths and bounded plan-owned .agent evidence/report declarations" + } + ], + "errors": [ + "pending path violation '.agent/testing/SECURITY-PROJECT-IDENTITY-R4/behavior-signal.md': path is outside pending exact product/test paths and bounded plan-owned .agent evidence/report declarations" + ], + "requested_base": "38344455754fe503acbd79d2134141f996adff7f", + "expected_base": "38344455754fe503acbd79d2134141f996adff7f", + "head": "ffdbaefb5fb9685899663a40c6b6fef4a08448ba", + "base_is_ancestor": true + }, + "errors": [ + "pending probe: pending path violation '.agent/testing/SECURITY-PROJECT-IDENTITY-R4/behavior-signal.md': path is outside pending exact product/test paths and bounded plan-owned .agent evidence/report declarations" + ] +} diff --git a/.agent/specs/release-gates-r9/evidence/release-gates/test-r9-active-candidate-path-authority.ps1 b/.agent/specs/release-gates-r9/evidence/release-gates/test-r9-active-candidate-path-authority.ps1 new file mode 100644 index 00000000..29442b98 --- /dev/null +++ b/.agent/specs/release-gates-r9/evidence/release-gates/test-r9-active-candidate-path-authority.ps1 @@ -0,0 +1,32 @@ +[CmdletBinding()] +param( + [string]$Repository = (Get-Location).Path, + [string]$Artifact = '.agent/specs/release-gates-r9/evidence/release-gates/active-candidate-authority-harness.json' +) + +Set-StrictMode -Version Latest +$ErrorActionPreference = 'Stop' + +$gate = Join-Path $Repository 'scripts/production-gates/assert-active-candidate-path-authority.ps1' +if (-not (Test-Path -LiteralPath $gate -PathType Leaf)) { + throw "R9 active-candidate authority gate is missing: $gate" +} + +& pwsh -NoProfile -File $gate -SelfTest +if ($LASTEXITCODE -ne 0) { throw "R9 active-candidate authority self-test failed with exit $LASTEXITCODE" } + +& pwsh -NoProfile -File $gate ` + -Contract (Join-Path $Repository '.agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json') ` + -ExpectedContractSha256 'd8e7818d84831f047d30a8493f9c7d2a8cea288d5c381735960d11dd02988ae5' ` + -Plan (Join-Path $Repository '.agent/plans/2026-07-10-engram-production-ready-master-plan.md') ` + -ExpectedPlanSha256 '4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f' ` + -Artifact (Join-Path $Repository $Artifact) +if ($LASTEXITCODE -ne 0) { throw "R9 active-candidate authority audit failed with exit $LASTEXITCODE" } + +$result = Get-Content -LiteralPath (Join-Path $Repository $Artifact) -Raw | ConvertFrom-Json -Depth 100 +if ($result.verdict -cne 'PASS') { throw "R9 active-candidate authority artifact verdict is '$($result.verdict)'" } +if ([int]$result.counts.candidates -ne 9) { throw "R9 candidate count is '$($result.counts.candidates)', expected 9" } +if ([int]$result.counts.paths -ne 123) { throw "R9 frozen path count is '$($result.counts.paths)', expected 123" } +if ([int]$result.counts.pending_contracts -ne 2) { throw "R9 pending contract count is '$($result.counts.pending_contracts)', expected 2" } + +Write-Output 'R9 ACTIVE-CANDIDATE AUTHORITY HARNESS PASS' diff --git a/.agent/specs/release-gates-r9/evidence/release-gates/verification-summary.json b/.agent/specs/release-gates-r9/evidence/release-gates/verification-summary.json new file mode 100644 index 00000000..79ff30a2 --- /dev/null +++ b/.agent/specs/release-gates-r9/evidence/release-gates/verification-summary.json @@ -0,0 +1,56 @@ +{ + "schema_version": 1, + "slice": "RELEASE-GATES-R9", + "lineage": { + "rejected_r8_head": "406fe952c143eb8aaf5895427c568a41d4cec225", + "commit_a": "8cb810095b2bea77ab9812832d9ab8a99c928d18", + "commit_a_parent": "406fe952c143eb8aaf5895427c568a41d4cec225" + }, + "authority": { + "plan_sha256": "4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f", + "scope_map_sha256": "fb170d59f3072117489402fd347cd1432c40adbc842811f92227498bcbc92693", + "active_diff_contract_sha256": "d8e7818d84831f047d30a8493f9c7d2a8cea288d5c381735960d11dd02988ae5", + "r8_scope_provenance_sha256": "ab5f882fa110ca823a317061ecbca0c62516702735325893a56206f9e7a29415", + "mutable_register_read": false, + "source_snapshot_use": "HISTORICAL_DISCOVERY_ONLY" + }, + "checks": [ + {"name":"active authority self-test","exit_code":0,"verdict":"PASS"}, + {"name":"active authority frozen audit","exit_code":0,"verdict":"PASS","candidates":9,"paths":123,"pending_contracts":2,"errors":0}, + {"name":"active authority full Git replay","exit_code":0,"verdict":"PASS","git_verified":9}, + {"name":"R4 ffd pending probe","exit_code":1,"verdict":"EXPECTED_FAIL","violations":1,"only_violation":".agent/testing/SECURITY-PROJECT-IDENTITY-R4/behavior-signal.md"}, + {"name":"DEMOLITION zero-row diff","exit_code":1,"verdict":"EXPECTED_FAIL","diff_entries":7,"maker_rows":0,"internal_count_error":false}, + {"name":"plan ownership self-test","exit_code":0,"verdict":"PASS"}, + {"name":"plan ownership static Ledger","exit_code":0,"verdict":"PASS","maker_rows":57,"declarations":351,"repeated_exact_paths":34,"epochs":36}, + {"name":"SECURITY-PROJECT-IDENTITY R3 replay","exit_code":0,"verdict":"PASS","paths":14,"violations":0}, + {"name":"DB embedding R5 path replay","exit_code":0,"verdict":"PASS_PATH_AUTHORITY_ONLY_REMAINS_REJECTED","paths":28,"violations":0}, + {"name":"actionlint","exit_code":0,"verdict":"PASS"}, + {"name":"workflow conformance","exit_code":0,"verdict":"PASS","mutations_rejected":70}, + {"name":"synthesized staged-tree RELEASE-GATES exact Diff","exit_code":0,"verdict":"PASS","paths":24,"violations":0}, + {"name":"run-db-suite self-test","exit_code":0,"verdict":"PASS"}, + {"name":"critical suite","exit_code":0,"verdict":"PASS","passed":7,"failed":0,"skipped":0}, + {"name":"go test ./...","exit_code":0,"verdict":"PASS"}, + {"name":"go vet ./...","exit_code":0,"verdict":"PASS"}, + {"name":"go build ./...","exit_code":0,"verdict":"PASS"}, + {"name":"exact staged diff gitleaks","exit_code":0,"verdict":"PASS","findings":0}, + {"name":"native BOM scan over exact staged paths","exit_code":0,"verdict":"PASS","paths":24,"findings":0}, + {"name":"git diff --cached --check","exit_code":0,"verdict":"PASS"} + ], + "discrepancies": [ + { + "name": "repository BOM helper absent", + "command": "node tools/check-bom.cjs", + "exit_code": 1, + "observed": "MODULE_NOT_FOUND", + "resolution": "use an exact commit-B native byte-prefix scan; do not claim the missing helper as proof" + }, + { + "name": "whole-directory gitleaks baseline", + "findings": 14, + "files": ["docs/DEPLOYMENT.md","internal/grpcserver/credential_migration_test.go","internal/mcp/server_test.go","internal/privacy/secrets_test.go","scripts/production-gates/run-db-suite.ps1"], + "scope_relation": "all findings are pre-existing and outside commit-B changed paths", + "resolution": "require a clean exact staged/committed commit-B scan" + } + ], + "verdict": "PASS_WITH_EXPLICIT_BASELINE_DISCREPANCIES" +} diff --git a/.agent/specs/release-gates-r9/evidence/release-gates/workflow-conformance.json b/.agent/specs/release-gates-r9/evidence/release-gates/workflow-conformance.json new file mode 100644 index 00000000..caa5deb1 --- /dev/null +++ b/.agent/specs/release-gates-r9/evidence/release-gates/workflow-conformance.json @@ -0,0 +1,19 @@ +{ + "schema_version": 1, + "slice": "RELEASE-GATES-R9", + "checks": [ + { + "command": "actionlint .github/workflows/test.yml", + "exit_code": 0, + "verdict": "PASS" + }, + { + "command": "execute the Assert tracked gate / CI conformance PowerShell block with RUNNER_TEMP set", + "exit_code": 0, + "mutations_rejected": 70, + "verdict": "PASS" + } + ], + "preserved_contract": "all predecessor R8 workflow predicates plus R9 plan/scope/active-candidate authority, pending-surface, exact-base, metadata, and digest rails", + "verdict": "PASS" +} diff --git a/.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R2.red.json b/.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R2.red.json new file mode 100644 index 00000000..f8031073 --- /dev/null +++ b/.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R2.red.json @@ -0,0 +1,58 @@ +{ + "task_id": "SECURITY-PROJECT-IDENTITY-R2", + "change_request": "SECURITY-PROJECT-IDENTITY", + "phase": "RED", + "observed_at": "2026-07-10T16:57:23.6354439Z", + "base_commit": "d22ebb9fe1914f514eaf9250e092dcd3b396f9cc", + "infrastructure": { + "go": "go1.25.11; go test -list passed", + "node": "v24.2.0; node:test invocable", + "typescript": "typescript 5.9.3 installed; tsc build passed", + "postgresql": "17.10 on isolated database engram_prc_identity_r2_maker_d22" + }, + "red_cases": [ + { + "finding": "C1", + "test": "TestRegisterAndResolve_LegacyOnlySoftDeletedCanonicalFailsWithoutMutation", + "result": "FAIL", + "failure_reason": "legacy-only registration returned nil error for a soft-deleted canonical collision" + }, + { + "finding": "C2", + "test": "TestContextInject_RejectsRawSelectorAndMetadataBeforeProjectMutation", + "result": "FAIL 3/3 subtests", + "failure_reason": "invalid outer selector persisted one row; invalid display and relative metadata returned HTTP 200" + }, + { + "finding": "C3", + "test": "shared invalid vectors and wrong-type anchor sharing are rejected exactly", + "result": "FAIL", + "failure_reason": "Claude accepted display whitespace and Boolean-coerced wrong-type anchor_shared" + }, + { + "finding": "C4", + "test": "registration fails closed on malformed canonical responses without raw fallback / 2xx malformed canonical response is not cached", + "result": "FAIL in Claude and OpenClaw", + "failure_reason": "missing canonical_project returned raw-selector success and OpenClaw cached it" + }, + { + "finding": "C5", + "test": "shared invalid metadata vectors across store, proxy, Claude, and OpenClaw", + "result": "FAIL", + "failure_reason": "display whitespace and noncanonical relative path forms reached storage or passed validation; OpenClaw trimmed invalid selectors" + }, + { + "finding": "SELF-REVIEW-COMPAT-1", + "test": "TestContextInject_LegacyAliasWithInternalWhitespaceRemainsCompatible", + "result": "FAIL", + "failure_reason": "legacy alias with internal whitespace was rejected by the stricter canonical-selector validator" + }, + { + "finding": "SELF-REVIEW-COMPAT-2", + "test": "Claude and OpenClaw preserve legacy selector characters accepted by the HTTP boundary", + "result": "FAIL in both consumers", + "failure_reason": "the first selector allow-list rejected colon and backslash even though the established HTTP boundary accepts them" + } + ], + "red_gate_conclusion": "Runners were healthy; C1-C5 and both self-review compatibility regressions failed for the intended behavioral reasons before their fixes." +} diff --git a/.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R2.tdd.json b/.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R2.tdd.json new file mode 100644 index 00000000..61bf4a8b --- /dev/null +++ b/.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R2.tdd.json @@ -0,0 +1,34 @@ +{ + "task_id": "SECURITY-PROJECT-IDENTITY-R2", + "stack": "GO+JAVASCRIPT+TYPESCRIPT", + "base_commit": "d22ebb9fe1914f514eaf9250e092dcd3b396f9cc", + "red": { + "observed_at": "2026-07-10T16:57:23.6354439Z", + "evidence_file": "SECURITY-PROJECT-IDENTITY-R2.red.json", + "findings": ["C1", "C2", "C3", "C4", "C5"] + }, + "green": { + "observed_at": "2026-07-10T17:23:50.0260245Z", + "passed_tests": 26, + "regressed_tests": 0, + "runner_stdout_excerpt": "focused Go identity packages PASS; Claude project identity 9/9; OpenClaw identity focused 12/12" + }, + "refactor": { + "applied": false, + "reason": "GREEN implementation is already localized to existing validation and registration seams" + }, + "prove_it": { + "observed_at": "2026-07-10T17:31:35.9604105Z", + "mutations": [ + "Go selector/metadata/alias/soft-delete/HTTP/proxy barriers bypassed: focused suites failed in all affected layers", + "Claude type/selector/relative-path/canonical-response barriers bypassed: 4 of 9 project-identity tests failed", + "OpenClaw type/selector/relative-path/canonical-response barriers bypassed: TypeScript build failed and 4 of 12 focused tests failed" + ], + "survived_mutations": 0, + "restoration": "all production files restored byte-for-byte to the checkpoint and focused GREEN rerun passed" + }, + "coverage": { + "command": "go test ./internal/db/gorm ./internal/worker ./internal/proxy -run identity-focused-regex -cover -count=1", + "result": "informational package coverage: db/gorm 3.0%, worker 0.9%, proxy 70.3%; behavior gates and full suites are authoritative for this cross-cutting patch" + } +} diff --git a/.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R2.verification.json b/.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R2.verification.json new file mode 100644 index 00000000..2a8fac13 --- /dev/null +++ b/.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R2.verification.json @@ -0,0 +1,50 @@ +{ + "task_id": "SECURITY-PROJECT-IDENTITY-R2", + "base_commit": "d22ebb9fe1914f514eaf9250e092dcd3b396f9cc", + "branch": "work/prc-security-project-identity-r2", + "observed_at": "2026-07-10T17:31:35.9604105Z", + "verdict": "PASS", + "findings_closed": { + "C1": "soft-deleted legacy-only canonical collision returns stable unavailable and mutates zero rows", + "C2": "HTTP validates raw project, legacy alias, and full v2 metadata before registration writes", + "C3": "Claude requires an exact JSON boolean or null for anchor_shared", + "C4": "Claude and OpenClaw reject malformed 2xx canonical_project responses without raw fallback, cache, or downstream access", + "C5": "Go, Claude, and OpenClaw reject shared raw-vs-normalized invalid vectors" + }, + "compatibility_review": [ + "legacy aliases retain established support for internal whitespace while edge whitespace and controls fail closed", + "Claude and OpenClaw retain colon and backslash selector characters already accepted by the HTTP boundary" + ], + "gates": { + "postgresql": "17.10 isolated DB; race + repeat count=10 PASS for DB/HTTP/proxy identity paths", + "go_full": "go test ./... -count=1 PASS", + "go_vet": "go vet ./... PASS", + "claude_hooks": "76/76 PASS with external ENGRAM_URL/TOKEN/QUIET removed from runner environment", + "openclaw": "27/27 PASS; npm run typecheck PASS", + "gitleaks": "staged scan PASS, no leaks", + "diff_check": "PASS", + "proto_parity": "zero proto diff from exact base", + "request_path_ddl": "zero added AutoMigrate/CREATE TABLE/ALTER TABLE/gormigrate calls", + "v5_demolition_guard": "zero added demolished scoring or server-side MCP HTTP references" + }, + "scope": { + "owned_product_test_paths": 12, + "owned_product_test_parity": true, + "index_ts_changed": false, + "other_changes": "evidence namespace only" + }, + "database_residue": { + "matching_project_rows": 0, + "query_scope": "all prc-* ids and aliases in isolated R2 database" + }, + "prove_it": { + "mutation_groups": 3, + "survived_mutations": 0 + }, + "changed_code_review": { + "axes": ["correctness", "validation completeness", "readability", "architecture", "security", "performance"], + "behavioral_edges": ["wrong type", "raw versus normalized", "zero mutation", "malformed 2xx", "no cache", "no downstream", "authorization independence", "compatibility"], + "open_findings": 0, + "verdict": "PASS" + } +} diff --git a/.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.red.json b/.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.red.json new file mode 100644 index 00000000..cfd5f031 --- /dev/null +++ b/.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.red.json @@ -0,0 +1,35 @@ +{ + "task_id": "SECURITY-PROJECT-IDENTITY-R3", + "stack": "GO+JAVASCRIPT+TYPESCRIPT", + "observed_at": "2026-07-10T20:26:15.4217526Z", + "test_file": "internal/db/gorm/project_identity_v2_test.go", + "test_name": "TestRegisterAndResolve_StrictOuterSelectorRejectsBeforeDatabaseAccess", + "failure_reason": "The store and default gRPC resolver misclassified malformed selectors before database access, while the existing publish-before-complete Go anchor path exposed EOF under race repetition.", + "runner_stdout_excerpt": "selector a b: PROJECT_IDENTITY_UNAVAILABLE; selector ../x: PROJECT_IDENTITY_UNAVAILABLE; default gRPC: Unavailable; proxy race: PROJECT_IDENTITY_INVALID decode .engram-project-v2.json: EOF", + "additional_red_observations": [ + { + "test_file": "internal/grpcserver/project_identity_v2_test.go", + "test_name": "TestCallTool_DefaultResolverRejectsMalformedSelectorsBeforeHandler", + "failure": "a b and ../x returned Unavailable instead of InvalidArgument" + }, + { + "test_file": "internal/proxy/identity_test.go", + "test_name": "TestResolveProjectIdentityV2_ConcurrentFirstUseConverges", + "runner": "go test -race ./internal/proxy -run ^TestResolveProjectIdentityV2_(ConcurrentFirstUseConverges|PreExistingAnchorsAreNeverReplaced)$ -count=30 -v", + "failure": "Two repetitions observed a losing reader decode the creator-owned final file as EOF" + }, + { + "test_file": "plugin/engram/hooks/project-identity-v2.test.js", + "test_name": "non-git v2 anchor is strict, high-entropy, stable, and child-process concurrent-safe", + "runner": "30 child-process rounds against the exact base", + "failure": "Round 30 returned at least one PROJECT_IDENTITY_INVALID child result from a partial final file" + }, + { + "test_file": "plugin/openclaw-engram/test/project-identity-v2.test.mjs", + "test_name": "OpenClaw non-git identity is stable and child-process concurrent-safe, never the agent id", + "runner": "30 child-process rounds against the exact base", + "failure": "Round 6 returned at least one PROJECT_IDENTITY_INVALID child result from a partial final file" + } + ], + "environment_note": "Windows reports writable regular-file permission bits as 0666; the 0600 assertion is enforced on POSIX and separately verified in the Linux acceptance rail." +} diff --git a/.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.tdd.json b/.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.tdd.json new file mode 100644 index 00000000..96500dd4 --- /dev/null +++ b/.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.tdd.json @@ -0,0 +1,50 @@ +{ + "task_id": "SECURITY-PROJECT-IDENTITY-R3", + "stack": "GO+JAVASCRIPT+TYPESCRIPT", + "base_commit": "9e2ce4e58a5cded69660ca9ac532d2167f315bb2", + "red": { + "observed_at": "2026-07-10T20:26:15.4217526Z", + "evidence_file": "SECURITY-PROJECT-IDENTITY-R3.red.json", + "signals": [ + "store returned PROJECT_IDENTITY_UNAVAILABLE for malformed outer selectors", + "default gRPC returned Unavailable instead of InvalidArgument", + "Go race repetition observed partial-final-file EOF", + "Claude and OpenClaw child-process stress each observed a losing reader failure" + ] + }, + "green": { + "observed_at": "2026-07-10T20:44:36.1761574Z", + "passed_tests": 1, + "regressed_tests": 0, + "runner_stdout_excerpt": "focused store/gRPC/proxy PASS; Go ordinary and -race repetition PASS; Claude 76/76 PASS; OpenClaw 27/27 PASS" + }, + "refactor": { + "applied": false, + "reason": "The GREEN implementation is localized to the existing validation and anchor-publication seams; additional abstraction would not reduce the cross-language contract." + }, + "prove_it": { + "observed_at": "2026-07-10T20:44:36.1761574Z", + "substituted_files": [ + "internal/db/gorm/project_store.go", + "internal/proxy/identity.go", + "plugin/engram/hooks/lib.js", + "plugin/openclaw-engram/src/identity.ts" + ], + "failed_tests": 11, + "survived_mutations": 0, + "runner_stdout_excerpt": "selector validator bypass failed 7 store and 2 gRPC cases; Go and Claude publication sentinels failed one focused test each; OpenClaw publication sentinel failed TypeScript compilation", + "restoration": "Each controlled mutation was restored from the staged GREEN snapshot and its focused GREEN test reran successfully." + }, + "coverage": { + "command": "go test ./internal/db/gorm ./internal/proxy ./internal/grpcserver -run identity-r3-focused-regex -cover -count=1", + "percent_by_package": { + "internal/db/gorm": 0.6, + "internal/proxy": 63.4, + "internal/grpcserver": 4.2 + }, + "threshold": 80, + "status": "WARN", + "mode": "informational", + "note": "Cross-package package-wide coverage is diluted by unrelated stores and handlers; exact behavioral, race, child-process, full-suite, and Prove-It gates are authoritative for this bounded patch." + } +} diff --git a/.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.verification.json b/.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.verification.json new file mode 100644 index 00000000..47126e70 --- /dev/null +++ b/.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R3.verification.json @@ -0,0 +1,57 @@ +{ + "task_id": "SECURITY-PROJECT-IDENTITY-R3", + "base_commit": "9e2ce4e58a5cded69660ca9ac532d2167f315bb2", + "checker_commit_reviewed": "774047a3dfcd94de78c9e471fdcf05097aeff532", + "checker_is_ancestor": false, + "branch": "work/prc-security-project-identity-r3", + "observed_at": "2026-07-10T20:44:36.1761574Z", + "verdict": "PASS_PENDING_COMMIT_OBJECT_AND_FRESH_CHECKER", + "findings_closed": { + "SPI-R2-CHK-001": "strict store-local outer-selector validation now precedes metadata and database access; default gRPC maps it to InvalidArgument", + "SPI-R2-CHK-002": "Go, Claude, and OpenClaw publish complete synced same-directory temporary files through atomic no-replace hard links" + }, + "compatibility": { + "outer_selectors_preserved": ["colon", "backslash", "slash", "dot", "dash", "underscore"], + "legacy_alias_internal_whitespace": "preserved", + "existing_valid_anchor": "byte-identical after concurrent resolution", + "existing_malformed_anchor": "PROJECT_IDENTITY_INVALID and byte-identical; never regenerated" + }, + "gates": { + "focused_store_grpc_proxy": "PASS", + "go_anchor_ordinary_count_30": "PASS", + "go_anchor_race_count_30": "PASS", + "claude_child_process_count_30": "PASS", + "openclaw_child_process_count_30": "PASS", + "linux_go_anchor_mode_and_publication": "PASS in golang:1.25-bookworm", + "linux_claude_anchor_mode_and_publication": "PASS in node:22.17.0-bookworm-slim", + "linux_openclaw_anchor_mode_and_publication": "PASS in node:22.17.0-bookworm-slim", + "postgresql": "PostgreSQL 17.10 isolated DB; identity race count=10 PASS; matching prc-* rows 0; database dropped", + "go_full": "go test ./... -count=1 PASS", + "go_vet": "go vet ./... PASS", + "claude_hooks": "76/76 PASS with ENGRAM_URL/TOKEN/QUIET removed", + "openclaw": "npm test 27/27 PASS; npm run typecheck PASS", + "prove_it": "four production files mutated; zero surviving mutations", + "gitleaks": "staged scan PASS; 40.60 KB; no leaks", + "diff_check": "PASS", + "proto_parity": "PASS; zero changed proto paths", + "request_path_ddl_guard": "PASS; zero added product hits", + "v5_demolition_guard": "PASS; zero added product hits", + "exact_path_parity": "PASS; 14 changed paths" + }, + "scope": { + "changed_path_count": 14, + "changed_paths_sha256_lf_sorted": "341175c6056cfc424a252f7c47bc049b14f393bf419bd095df9a79c6ea77fed1", + "owned_product_test_paths": 9, + "other_paths": "existing evidence namespaces plus one maker report" + }, + "database_cleanup": { + "database": "prc_spi_r3_20260710", + "matching_project_rows_before_drop": 0, + "database_remaining": 0 + }, + "security": { + "classification": "S2", + "verdict": "PASS", + "open_findings": 0 + } +} diff --git a/.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R4.prove-it.json b/.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R4.prove-it.json new file mode 100644 index 00000000..408ce7f5 --- /dev/null +++ b/.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R4.prove-it.json @@ -0,0 +1,30 @@ +{ + "schema_version": 1, + "task_id": "SECURITY-PROJECT-IDENTITY-R4", + "phase": "anti_stub_prove_it", + "immutable_target": "38344455754fe503acbd79d2134141f996adff7f", + "mutation": { + "committed": false, + "path": "internal/proxy/identity.go", + "description": "Temporarily replaced complete-temp-plus-hard-link publication with create-final/write-half/sync/delay/write-rest, recreating the R2 publish-before-complete window.", + "target_git_blob_before": "9ecbad17612e7dd4e2ce8c8fed10ee4e041e11c1", + "command": "go test ./internal/proxy -run '^TestResolveProjectIdentityV2_ChildProcessPublicationContract$' -count=1 -v", + "exit_code": 1, + "expected_result": "FAIL", + "observed_failure": "concurrent_first_use_publishes_only_complete_bytes", + "partial_or_unreadable_observations": 239, + "unaffected_preservation_subtests": [ + "existing_valid_anchor_stays_byte_identical PASS", + "existing_malformed_anchor_fails_closed_and_stays_byte_identical PASS", + "open_delayed_partial_writer_fails_closed_and_is_not_replaced PASS" + ] + }, + "restoration": { + "method": "exact inverse apply_patch before any commit", + "target_git_blob_after": "9ecbad17612e7dd4e2ce8c8fed10ee4e041e11c1", + "product_diff_after": "empty", + "green_command": "go test ./internal/proxy -run '^TestResolveProjectIdentityV2_ChildProcessPublicationContract$' -count=2 -v", + "green_result": "PASS (2/2 complete contract runs, zero partial observations)" + }, + "final_test_contains_sleep_synchronization": false +} diff --git a/.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R4.red.json b/.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R4.red.json new file mode 100644 index 00000000..becfba41 --- /dev/null +++ b/.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R4.red.json @@ -0,0 +1,22 @@ +{ + "schema_version": 1, + "task_id": "SECURITY-PROJECT-IDENTITY-R4", + "classification": "structural_acceptance_gap", + "observed_at": "2026-07-11T00:44:39.6108161+03:00", + "immutable_target": "38344455754fe503acbd79d2134141f996adff7f", + "protected_invariant": "The permanent Go suite must exercise Project Identity V2 first-use publication through independent OS processes synchronized by an explicit ready/go barrier.", + "baseline": { + "existing_goroutine_test_command": "go test ./internal/proxy -run '^TestResolveProjectIdentityV2_(ConcurrentFirstUseConverges|PreExistingAnchorsAreNeverReplaced)$' -count=1 -v", + "existing_goroutine_test_result": "PASS", + "structural_probe_command": "rg -n -g '*_test.go' 'os\\.Executable|StdinPipe|SECURITY_PROJECT_IDENTITY_CHILD|ready.go|child.process' internal/proxy", + "structural_probe_exit_code": 1, + "structural_probe_result": "FAIL: no permanent child-process helper or explicit ready/go barrier exists in the immutable target" + }, + "product_edit_required": false, + "target_product_blob": { + "path": "internal/proxy/identity.go", + "git_blob": "9ecbad17612e7dd4e2ce8c8fed10ee4e041e11c1", + "initial_worktree_sha256": "a56fc40bf3cddfb18848df415354b6e781ff3e0d422bf9d525888d4a9c9ee00f", + "canonical_parity_key": "git_blob" + } +} diff --git a/.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R4.verification.json b/.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R4.verification.json new file mode 100644 index 00000000..453970a0 --- /dev/null +++ b/.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY-R4.verification.json @@ -0,0 +1,124 @@ +{ + "schema_version": 1, + "task_id": "SECURITY-PROJECT-IDENTITY-R4", + "role": "maker", + "generated_at": "2026-07-11T00:53:48.3829071+03:00", + "verdict": "PASS", + "immutable_base": "38344455754fe503acbd79d2134141f996adff7f", + "blocking_finding_closed": "SPI-R3-CHK-001", + "scope": { + "product_source_changes": 0, + "new_permanent_test_paths": [ + "internal/proxy/identity_process_test.go" + ], + "existing_goroutine_test_preserved": true, + "auth_changes": 0, + "database_changes": 0, + "protobuf_changes": 0, + "dependency_changes": 0, + "v5_demolished_path_changes": 0 + }, + "product_parity": { + "path": "internal/proxy/identity.go", + "base_git_blob": "9ecbad17612e7dd4e2ce8c8fed10ee4e041e11c1", + "final_git_blob": "9ecbad17612e7dd4e2ce8c8fed10ee4e041e11c1", + "base_to_final_diff": "empty" + }, + "per_invocation_process_contract": { + "children_per_wave": 12, + "fresh_waves": 3, + "existing_valid_waves": 2, + "existing_malformed_waves": 1, + "open_delayed_partial_writer_waves": 1, + "total_child_processes": 84, + "barrier": "Every child emits READY and blocks on stdin; after all READY lines are observed, parent closes one in-process release gate and concurrent goroutines write G to every child pipe.", + "sleep_based_synchronization": false, + "distinct_pid_assertion": true, + "parent_complete_file_monitor": true, + "temp_prefixes_checked": [ + ".engram-project-v2.json.tmp-", + ".engram-project.tmp-" + ] + }, + "final_windows_race_repeat": { + "command": "go test -race ./internal/proxy -run '^TestResolveProjectIdentityV2_ChildProcessPublicationContract$' -count=2 -v", + "go_version": "go1.25.11 windows/amd64", + "result": "PASS", + "contract_invocations": 2, + "child_processes": 168, + "fresh_complete_observations": [ + 21377, + 19801 + ], + "partial_or_unreadable_observations": 0, + "valid_anchor_byte_preservation": true, + "malformed_anchor_byte_preservation": true, + "open_writer_byte_preservation": true, + "temp_residue": 0 + }, + "final_linux_repeat": { + "image": "golang:1.25-bookworm", + "image_digest": "sha256:b96f24a8d7d010ea0acb9c3ba99064740f02b6b984612b28bd3c9c5ab9453e38", + "command": "docker run --rm -v ${PWD}:/src -w /src golang:1.25-bookworm sh -c /usr/local/go/bin/go test ./internal/proxy -run '^TestResolveProjectIdentityV2_ChildProcessPublicationContract$' -count=2 -v", + "go_version": "go1.25.11 linux/amd64", + "result": "PASS", + "contract_invocations": 2, + "child_processes": 168, + "fresh_complete_observations": [ + 2092, + 2367 + ], + "partial_or_unreadable_observations": 0, + "fresh_anchor_mode_each_round": "0600", + "valid_anchor_byte_preservation": true, + "malformed_anchor_byte_preservation": true, + "open_writer_byte_preservation": true, + "temp_residue": 0 + }, + "prove_it": { + "result": "PASS", + "mutation_test_exit_code": 1, + "partial_or_unreadable_observations": 239, + "mutation_committed": false, + "product_blob_restored": true + }, + "gates": [ + { + "command": "go test ./internal/proxy -count=1", + "result": "PASS" + }, + { + "command": "go test ./... -count=1 with DATABASE_DSN, TEST_DATABASE_DSN, ENGRAM_TEST_DATABASE_DSN unset", + "result": "PASS" + }, + { + "command": "go vet ./...", + "result": "PASS" + }, + { + "command": "git diff --check", + "result": "PASS" + }, + { + "command": "go test ./internal/db/gorm -run '^TestRegisterAndResolve_(StrictOuterSelectorRejectsBeforeDatabaseAccess|StrictOuterSelectorPreservesCompatibility)$' -count=1 -v", + "result": "PASS; colon, backslash, slash, dot, dash, and underscore compatibility retained" + }, + { + "command": "go test ./internal/grpcserver -run '^TestCallTool_DefaultResolverRejectsMalformedSelectorsBeforeHandler$' -count=1 -v", + "result": "PASS; traversal and internal whitespace fail before handler" + } + ], + "phase_zero": { + "classification": "CODE_PATH_COVERED", + "user_facing_tests": 0, + "critical_suite_gap_introduced": false + }, + "discrepancies": [ + { + "kind": "container_invocation", + "observed": "bash -lc reset PATH in the local image and returned go: command not found", + "resolution": "reran the same immutable image with /usr/local/go/bin/go; all Linux gates passed", + "product_impact": "none" + } + ] +} diff --git a/.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY.green.json b/.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY.green.json new file mode 100644 index 00000000..0c2739df --- /dev/null +++ b/.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY.green.json @@ -0,0 +1,89 @@ +{ + "change_request": "SECURITY-PROJECT-IDENTITY", + "phase": "GREEN", + "observed_at": "2026-07-10T15:47:34.8541692Z", + "base_commit": "dc891b2d72b1fd63b83e4a630a249241fc389151", + "branch": "work/prc-security-project-identity", + "toolchain": { + "go": "go1.25.11 windows/amd64", + "node": "v24.2.0", + "npm": "11.7.0", + "protoc": "34.0", + "protoc_gen_go": "v1.36.11", + "protoc_gen_go_grpc": "v1.6.1", + "postgres_image": "pgvector/pgvector:pg17" + }, + "gates": [ + { + "command": "go test ./... -count=1", + "result": "pass", + "scope": "all Go packages and tests/smoke" + }, + { + "command": "go vet ./...", + "result": "pass" + }, + { + "command": "DATABASE_DSN= go test -race ./internal/proxy ./internal/handlers/engramcore ./internal/grpcserver ./internal/db/gorm ./internal/worker -run -count=1", + "result": "pass" + }, + { + "command": "DATABASE_DSN= go test ./internal/proxy ./internal/handlers/engramcore ./internal/grpcserver ./internal/db/gorm ./internal/worker -run -count=10", + "result": "pass", + "residue": 0 + }, + { + "command": "DATABASE_DSN= go test -run -cover -count=1", + "result": "pass", + "coverage_percent": { + "internal/proxy": 68.0, + "internal/handlers/engramcore": 46.5, + "internal/grpcserver": 7.1, + "internal/db/gorm": 2.8, + "internal/worker": 0.8 + }, + "note": "package-wide percentages are informational; no project threshold is configured" + }, + { + "command": "npm run build && npm test", + "cwd": "plugin/openclaw-engram", + "result": "pass 23/23" + }, + { + "command": "node --test hook-cli.test.js lib.test.js pre-compact.test.js pre-tool-use.test.js project-identity-v2.test.js session-start.test.js stop.test.js user-prompt.test.js", + "cwd": "plugin/engram/hooks", + "result": "pass 72/72" + }, + { + "command": "fresh PostgreSQL database -> run migrations -> focused identity DB/HTTP tests -> residue query -> drop database", + "result": "pass", + "table": "projects", + "residue": 0, + "database_removed": true, + "non_blocking_existing_migration_warnings": [ + "historical migration 040 logged missing observation_vectors after the v5 demolition", + "migration 109 skipped optional vectorscale because the test image provides pgvector only" + ] + }, + { + "command": "protoc regeneration and SHA-256 comparison", + "result": "byte-identical", + "hashes": { + "proto/engram/v1/engram.pb.go": "5D8F6B93125D393F938A96E8F13B737266F01E9E4FC67A19CB6B7060C4E9E9F5", + "proto/engram/v1/engram_grpc.pb.go": "D45A8333BAE5B954C5E8A628C95FC5A7F908312B7B7F1C49D66B9835F8758858" + } + } + ], + "contract_proofs": { + "openclaw_consumer_files": 20, + "openclaw_resolve_calls": 22, + "openclaw_awaited_registration_barriers": 22, + "new_identity_schema_matches": 0, + "raw_anchor_sql_write_matches": 0, + "prove_it_sentinel_matches": 0, + "added_secret_matches": 0, + "demolished_path_added_matches": 0, + "git_diff_check": "pass" + }, + "conclusion": "Maker GREEN is complete and ready for an independent checker. No merge, push, release, or primary-worktree write was performed." +} diff --git a/.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY.prove-it.json b/.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY.prove-it.json new file mode 100644 index 00000000..436c58e9 --- /dev/null +++ b/.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY.prove-it.json @@ -0,0 +1,58 @@ +{ + "change_request": "SECURITY-PROJECT-IDENTITY", + "phase": "PROVE_IT", + "observed_date": "2026-07-10", + "mutations": [ + { + "surface": "database binding key", + "mutation": "temporarily replaced the deterministic v2 binding key with one constant", + "expected_failure_observed": [ + "contradictory full identities returned PROJECT_IDENTITY_AMBIGUOUS", + "copied unshared anchors converged when they must remain distinct" + ] + }, + { + "surface": "Go non-git entropy", + "mutation": "zeroed the 16 random bytes before encoding", + "expected_failure_observed": "independent project anchors became equal" + }, + { + "surface": "Claude non-git entropy", + "mutation": "replaced crypto.randomBytes output with zero bytes", + "expected_failure_observed": "independent project anchors became equal" + }, + { + "surface": "OpenClaw non-git entropy", + "mutation": "replaced randomBytes output with zero bytes", + "expected_failure_observed": "independent project anchors became equal" + }, + { + "surface": "OpenClaw registration barrier", + "mutation": "returned selector success before performing the registration HTTP request", + "expected_failure_observed": [ + "request count was 0 instead of 1", + "stable 409 ambiguity was incorrectly reported as success", + "invalid bearer was incorrectly reported as success", + "three of five transport tests failed" + ] + }, + { + "surface": "Claude registration barrier", + "mutation": "returned the legacy selector before invoking the registration request", + "expected_failure_observed": "canonical selector remained legacy-selector instead of canonical-v2" + }, + { + "surface": "behavioral edge regressions", + "mutation": "added tests before fixes for raw-vs-normalized input, soft-deleted binding, legacy canonical direction, diagnostic leakage, strict anchor fields, and offline classification", + "expected_failure_observed": "all six defect classes failed for their intended reasons before implementation" + } + ], + "restoration": { + "sentinel_scan_matches": 0, + "full_go_suite": "pass", + "race_and_repeat": "pass", + "openclaw": "pass 23/23", + "claude_hooks": "pass 72/72", + "fresh_database_residue": 0 + } +} diff --git a/.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY.red.json b/.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY.red.json new file mode 100644 index 00000000..48adeaa5 --- /dev/null +++ b/.agent/specs/security-project-identity/evidence/SECURITY-PROJECT-IDENTITY.red.json @@ -0,0 +1,70 @@ +{ + "change_request": "SECURITY-PROJECT-IDENTITY", + "phase": "RED", + "observed_at": "2026-07-10T14:46:40.7196462Z", + "base_commit": "dc891b2d72b1fd63b83e4a630a249241fc389151", + "infrastructure_probe": { + "go_test_list": "pass", + "claude_node_baseline": "pass 5/5", + "openclaw_typecheck_build_baseline": "pass", + "openclaw_baseline_tests": "pass 15/15" + }, + "gates": [ + { + "command": "go test ./internal/proxy ./internal/handlers/engramcore ./internal/grpcserver ./internal/db/gorm ./internal/worker -run 'ProjectIdentityV2|RegisterAndResolve|IdentityOnly|AmbiguousLegacy|FirstCallBeforeHook|ProtoFieldNumbers' -count=1", + "result": "expected failure", + "evidence": [ + "proxy.ProjectIdentityVersionV2/ProjectIdentityV2/ValidateProjectIdentityV2/ResolveProjectIdentityV2 undefined", + "gorm RegisterAndResolve and stable identity error contract undefined", + "protobuf ProjectIdentityV2, project_identity, canonical_project undefined", + "grpc Server.identityResolver undefined", + "worker stable identity error constants undefined" + ] + }, + { + "command": "node --test project-identity-v2.test.js", + "result": "expected failure: 0 pass, 3 fail", + "evidence": [ + "PROJECT_IDENTITY_VERSION_V2 undefined", + "resolveProjectIdentityV2 is not a function", + "registerProjectIdentityV2 is not a function" + ] + }, + { + "command": "npm test", + "result": "expected failure: build passed; 15 baseline pass, 1 v2 module fail", + "evidence": [ + "named export PROJECT_IDENTITY_VERSION_V2 not found from dist/identity.js" + ] + }, + { + "command": "npm test after root-authorized OpenClaw transport amendment", + "result": "expected failure: build passed; 17 baseline/current identity pass, 5 transport fail", + "evidence": [ + "EngramRestClient.registerAndResolveProject is not a function", + "session-start first operation is data rather than registration", + "session-start registration failure still permits a write", + "invalid-bearer short-circuit cannot be enforced without the barrier" + ] + }, + { + "command": "edge-regression RED: go test ./internal/db/gorm ./internal/worker ./internal/grpcserver -run 'RawVsNormalized|SoftDeletedBinding|LegacyMetadataPreserves|DoesNotExposeDatabaseDiagnostics' -count=1", + "result": "expected failure", + "evidence": [ + "raw selector and metadata normalization reached the unavailable-DB path instead of failing invalid before access", + "soft-deleted deterministic binding was silently accepted and mutated", + "legacy HTTP metadata returned the path alias as canonical instead of preserving the outer canonical selector", + "HTTP and gRPC responses exposed injected PostgreSQL diagnostics" + ] + }, + { + "command": "edge-regression RED: Claude and OpenClaw project identity tests", + "result": "expected failure", + "evidence": [ + "both JavaScript implementations accepted non-normalized metadata and unknown anchor-file fields", + "Claude had no explicit classifier separating transport-offline fallback from malformed reached-server responses" + ] + } + ], + "red_gate_conclusion": "The runners and baselines are healthy. The focused tests fail for the intended reason: the production Project Identity v2 API and transport fields do not exist yet. Product edits may begin." +} diff --git a/.agent/specs/security-project-identity/evidence/project-identity-v2-vectors.json b/.agent/specs/security-project-identity/evidence/project-identity-v2-vectors.json new file mode 100644 index 00000000..86ad68fe --- /dev/null +++ b/.agent/specs/security-project-identity/evidence/project-identity-v2-vectors.json @@ -0,0 +1,158 @@ +{ + "schema_version": 1, + "identity_version": 2, + "vectors": [ + { + "name": "git-monorepo-core", + "selector": "784f6804", + "display_name": "core", + "legacy_project_id": "core_18f246", + "git_remote": "https://example.invalid/acme/mono.git", + "relative_path": "packages/core/", + "non_git_anchor": "", + "anchor_shared": null + }, + { + "name": "git-contradictory-remote", + "selector": "784f6804", + "display_name": "core", + "legacy_project_id": "core_18f246", + "git_remote": "https://example.invalid/acme/other.git", + "relative_path": "packages/core/", + "non_git_anchor": "", + "anchor_shared": null + }, + { + "name": "non-git-unshared", + "selector": "workspace_a1b2c3", + "display_name": "workspace", + "legacy_project_id": "workspace_a1b2c3", + "git_remote": "", + "relative_path": "", + "non_git_anchor": "00112233445566778899aabbccddeeff", + "anchor_shared": false + }, + { + "name": "non-git-explicit-shared", + "selector": "workspace_d4e5f6", + "display_name": "workspace-copy", + "legacy_project_id": "workspace_d4e5f6", + "git_remote": "", + "relative_path": "", + "non_git_anchor": "00112233445566778899aabbccddeeff", + "anchor_shared": true + } + ], + "invalid_vectors": [ + { + "name": "selector-leading-whitespace", + "invalid_target": "selector", + "selector": " configured-selector", + "display_name": "core", + "legacy_project_id": "core_18f246", + "git_remote": "https://example.invalid/acme/mono.git", + "relative_path": "packages/core/", + "non_git_anchor": "", + "anchor_shared": null + }, + { + "name": "selector-trailing-whitespace", + "invalid_target": "selector", + "selector": "configured-selector ", + "display_name": "core", + "legacy_project_id": "core_18f246", + "git_remote": "https://example.invalid/acme/mono.git", + "relative_path": "packages/core/", + "non_git_anchor": "", + "anchor_shared": null + }, + { + "name": "selector-internal-whitespace", + "invalid_target": "selector", + "selector": "configured selector", + "display_name": "core", + "legacy_project_id": "core_18f246", + "git_remote": "https://example.invalid/acme/mono.git", + "relative_path": "packages/core/", + "non_git_anchor": "", + "anchor_shared": null + }, + { + "name": "selector-traversal", + "invalid_target": "selector", + "selector": "../configured-selector", + "display_name": "core", + "legacy_project_id": "core_18f246", + "git_remote": "https://example.invalid/acme/mono.git", + "relative_path": "packages/core/", + "non_git_anchor": "", + "anchor_shared": null + }, + { + "name": "display-leading-whitespace", + "invalid_target": "identity", + "selector": "configured-selector", + "display_name": " core", + "legacy_project_id": "core_18f246", + "git_remote": "https://example.invalid/acme/mono.git", + "relative_path": "packages/core/", + "non_git_anchor": "", + "anchor_shared": null + }, + { + "name": "display-control-character", + "invalid_target": "identity", + "selector": "configured-selector", + "display_name": "core\tworkspace", + "legacy_project_id": "core_18f246", + "git_remote": "https://example.invalid/acme/mono.git", + "relative_path": "packages/core/", + "non_git_anchor": "", + "anchor_shared": null + }, + { + "name": "relative-leading-whitespace", + "invalid_target": "identity", + "selector": "configured-selector", + "display_name": "core", + "legacy_project_id": "core_18f246", + "git_remote": "https://example.invalid/acme/mono.git", + "relative_path": " packages/core/", + "non_git_anchor": "", + "anchor_shared": null + }, + { + "name": "relative-empty-segment", + "invalid_target": "identity", + "selector": "configured-selector", + "display_name": "core", + "legacy_project_id": "core_18f246", + "git_remote": "https://example.invalid/acme/mono.git", + "relative_path": "packages//core/", + "non_git_anchor": "", + "anchor_shared": null + }, + { + "name": "relative-missing-trailing-slash", + "invalid_target": "identity", + "selector": "configured-selector", + "display_name": "core", + "legacy_project_id": "core_18f246", + "git_remote": "https://example.invalid/acme/mono.git", + "relative_path": "packages/core", + "non_git_anchor": "", + "anchor_shared": null + }, + { + "name": "relative-segment-whitespace", + "invalid_target": "identity", + "selector": "configured-selector", + "display_name": "core", + "legacy_project_id": "core_18f246", + "git_remote": "https://example.invalid/acme/mono.git", + "relative_path": "packages/ core/", + "non_git_anchor": "", + "anchor_shared": null + } + ] +} diff --git a/.agent/testing/image-remediation-r2/behavior-signal.md b/.agent/testing/image-remediation-r2/behavior-signal.md new file mode 100644 index 00000000..ede69b3b --- /dev/null +++ b/.agent/testing/image-remediation-r2/behavior-signal.md @@ -0,0 +1,9 @@ +# IMAGE-REMEDIATION-R2 behavior signal + +- Signal: immutable-image-release-contract success rate. +- Protected user outcome: an operator can deploy and roll back the exact scanned server, operator-console, and PostgreSQL images without a stale branch, moved tag, hostile ref, manual dispatch, or pre-existing registry tag replacing the intended release identity. +- Measurement window: every image workflow run and every production release. +- Target: 100% of main/manual runs are write-free; 100% of release runs either publish the six exact canonical destinations or fail before the first write; zero HIGH/CRITICAL findings; all runtime proof flags pass; zero owned resource residue. +- Method: permanent critical workflow/model fixtures, exact-IID no-cache build/scan/runtime gate, final image-set manifest, GitHub ruleset readback, and registry compare-before-write plan. +- Evidence source: production-readiness master plan invariant 15 and IMAGE-REMEDIATION-R2 row. +- Classification: BEHAVIOR_VERIFIED once the final exact-IID matrix and adversarial publication model are GREEN. diff --git a/.agent/testing/mb1-db-governance-isolation/behavior-signal.md b/.agent/testing/mb1-db-governance-isolation/behavior-signal.md new file mode 100644 index 00000000..d9ab0cfa --- /dev/null +++ b/.agent/testing/mb1-db-governance-isolation/behavior-signal.md @@ -0,0 +1,109 @@ +# Behavioral Signal Declarations — MB1 DB governance and isolation + +Phase: 0 (Behavior-Confirming Tester) +Task: MB1-DB-GOVERNANCE-ISOLATION +Anchor: operator directive for `MB1_DATA_INTEGRITY_AND_MUTATION_SAFETY` plus +`macro-batch-diagnostic-freeze-20260711-1340/summary.json` +Generated: 2026-07-11 + +## User Behaviors in Scope + +- UB-1: A workstation starting a session sees issues only for the requested + project, even when another project has a deceptively similar identifier. +- UB-2: An operator listing documents by a literal path prefix receives only + paths that actually begin with those literal characters. +- UB-3: A reviewed rule candidate becomes eligible again at its declared review + time instead of remaining permanently held by an old processing run. + +## Test Declarations + +### TEST-001 + +Test ID: `tests/critical/data_isolation_test.go:TestSessionStartAndDocumentQueries_DoNotExposeSiblingProjectsOrPaths` + +Signal name: user-task-completion-rate +Measurement window: one disposable PostgreSQL-backed dev-stand scenario per +adversarial project/path fixture +Target delta: zero sibling issue or document rows in every decoded response +Measurement method: capture and decode the real session-start and document-list +responses while the database contains literal underscore, percent, backslash, +hyphen-sibling, canonical-suffix, and near-prefix rows +Evidence source: UB-1 and UB-2 from the operator-owned MB1 contract +Critical suite: YES — `@critical` annotation is required + +Rename required: NO +AP violations: none + +### TEST-002 + +Test ID: `internal/db/gorm/issue_store_isolation_test.go:TestIssueStore_ListIssuesExTreatsProjectSelectorsAsLiteralIdentities` + +Tag: CODE-CONTRACT-ONLY +Justification: verifies the store-level literal identity predicate and both +target/source selector branches independently of transport rendering. +Behavioral gap: TEST-001 covers the end-user session-start impact. + +Rename required: NO +AP violations: none + +### TEST-003 + +Test ID: `internal/db/gorm/versioned_document_store_test.go:TestVersionedDocumentStore_ListTreatsPathPrefixAsLiteralText` + +Tag: CODE-CONTRACT-ONLY +Justification: verifies the shared SQL-LIKE escaping contract against real +PostgreSQL for every metacharacter and ordinary prefix. +Behavioral gap: TEST-001 covers the operator-visible document-list impact. + +Rename required: NO +AP violations: none + +### TEST-004 + +Test ID: `internal/db/gorm/rule_arbiter_store_test.go:TestRuleGovernanceStore_AnnotationAtomicallyReleasesMatchingClaimOnly` + +Tag: CODE-CONTRACT-ONLY +Justification: verifies transaction-level claim ownership and release semantics; +the user-visible effect is eventual rule re-evaluation rather than a direct API +response. +Behavioral gap: NONE — the path has no immediate user-facing response. + +Rename required: NO +AP violations: none + +### TEST-005 + +Test ID: `internal/db/gorm/rule_governance_store_test.go:TestMigration144_RollbackAndReapplyPreservesDependentMigrationOrder` + +Tag: CODE-CONTRACT-ONLY +Justification: verifies historical migration test sequencing and final schema +integrity without changing migration 144 rollback semantics. +Behavioral gap: NONE — this is upgrade/schema infrastructure. + +Rename required: NO +AP violations: none + +## Critical Suite Gap Analysis + +- Cross-project session-start and literal document listing: COVERED by TEST-001. +- Claim release and migration sequencing: not user-facing; CODE-CONTRACT-ONLY. + +## Phase 0 Exit Status + +Tests in scope: 5 total + User-facing tests: 1 + - With full signal (A): 1 + - CODE-CONTRACT-ONLY (B): 0 + - PROXY (C): 0 + - UNDECLARED: 0 + Non-user-facing tests: 4 +Critical-suite gaps: 0 +Rename-required flags: 0 +AP violations detected: none + +Behavioral verification tally: + BEHAVIOR_VERIFIED: 2 user behaviors + CODE_PATH_COVERED: 2 infrastructure behaviors + BEHAVIOR_UNCONFIRMED: 0 + +Exit: PASS diff --git a/.dockerignore b/.dockerignore index 09b411a2..f6439111 100644 --- a/.dockerignore +++ b/.dockerignore @@ -7,6 +7,25 @@ bin/ .gitea .github +# Local secrets and agent credentials must never enter the BuildKit context. +.env +.env.* +!.env.example +*.pem +*.key +*.p12 +*.pfx +*.kdbx +id_rsa +id_ed25519 +.npmrc +.netrc +.git-credentials +secrets/ +.claude/ +.codex/ +.agents/ + # Agent and planning files .agent/ continuity.txt diff --git a/.gitattributes b/.gitattributes index 2cd9eeca..5bdccbd8 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1,3 @@ internal/embedding/assets/*.onnx filter=lfs diff=lfs merge=lfs -text internal/reranking/assets/*.onnx filter=lfs diff=lfs merge=lfs -text +tests/fixtures/pre-v5/*.sql text eol=lf diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index d19ade64..fbc13a13 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -1,91 +1,325 @@ -name: Build and Publish Docker Image +name: Docker Publish on: - push: - branches: ["main"] - tags: ["v*"] - pull_request: - branches: ["main"] + workflow_run: + workflows: ["Docker"] + types: [completed] -env: - REGISTRY: ghcr.io - IMAGE_NAME: ${{ github.repository }} +permissions: + contents: read jobs: - build: + prepare-release: + if: github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.event == 'push' && startsWith(github.event.workflow_run.head_branch, 'v') runs-on: ubuntu-latest permissions: contents: read - packages: write - + outputs: + version: ${{ steps.preflight.outputs.version }} + commit: ${{ steps.preflight.outputs.commit }} + artifact-id: ${{ steps.upload.outputs.artifact-id }} + artifact-digest: ${{ steps.upload.outputs.artifact-digest }} + artifact-name: ${{ steps.bridge.outputs.artifact_name }} steps: - - name: Checkout - uses: actions/checkout@v4 + - name: Checkout trusted default-branch preparation code + uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + with: + ref: main + path: trusted + fetch-depth: 0 + persist-credentials: false + + - name: Independently validate the triggering run, tag, and protected-main provenance + id: preflight + shell: pwsh + env: + REPOSITORY_NAME: ${{ github.repository }} + READ_ONLY_GITHUB_TOKEN: ${{ github.token }} + run: | + pwsh ./trusted/scripts/production-gates/build-and-scan-images.ps1 ` + -Mode ValidateWorkflowRun ` + -EventOnlyValidation ` + -RepositoryRoot ./trusted ` + -WorkflowRunEventPath $env:GITHUB_EVENT_PATH ` + -Repository $env:REPOSITORY_NAME ` + -ExpectedDefaultBranch main ` + -TrustedWorkflowPath .github/workflows/docker.yaml ` + -ExpectedWorkflowName Docker ` + -GitHubToken $env:READ_ONLY_GITHUB_TOKEN ` + -GitHubOutputPath $env:GITHUB_OUTPUT + + - name: Checkout exact validated candidate without workflow credentials + uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 with: + ref: ${{ steps.preflight.outputs.commit }} + path: candidate fetch-depth: 0 + persist-credentials: false + + - name: Set up Go + uses: actions/setup-go@40f1582b2485089dde7abd97c1529aa768e1baff # v5 + with: + go-version-file: candidate/go.mod + cache: true - - name: Compute version - id: version - run: echo "value=$(git describe --tags --always --dirty 2>/dev/null || echo dev)" >> "$GITHUB_OUTPUT" + - name: Set up Node + uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4 + with: + node-version: "22" + cache: npm + cache-dependency-path: candidate/apps/operator-console/package-lock.json - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3 + + - name: Install pinned Docker Scout CLI + shell: bash + env: + DOCKER_SCOUT_LINUX_AMD64_SHA256: "0f778f9d833f28bc6cccff95e33039849c0afcecafa38d9f46fe74bfd0915714" + run: | + set -euo pipefail + archive="$RUNNER_TEMP/docker-scout_1.23.1_linux_amd64.tar.gz" + binary="$RUNNER_TEMP/docker-scout" + curl --fail --silent --show-error --location \ + "https://github.com/docker/scout-cli/releases/download/v1.23.1/docker-scout_1.23.1_linux_amd64.tar.gz" \ + --output "$archive" + printf '%s %s\n' "$DOCKER_SCOUT_LINUX_AMD64_SHA256" "$archive" | sha256sum --check --strict + tar --extract --gzip --file "$archive" --directory "$RUNNER_TEMP" docker-scout + install --directory --mode 0755 "$HOME/.docker/cli-plugins" + install --mode 0755 "$binary" "$HOME/.docker/cli-plugins/docker-scout" + docker scout version + + - name: Build, scan, exercise, and export exact image data without package authority + shell: pwsh + env: + RELEASE_VERSION: ${{ steps.preflight.outputs.version }} + GITHUB_TOKEN: "" + GH_TOKEN: "" + CR_PAT: "" + GHCR_TOKEN: "" + run: | + $evidenceRoot = Join-Path $env:RUNNER_TEMP "engram-image-prepare-$env:GITHUB_RUN_ID-$env:GITHUB_RUN_ATTEMPT" + $payloadRoot = Join-Path $env:RUNNER_TEMP "engram-release-payload-data-$env:GITHUB_RUN_ID-$env:GITHUB_RUN_ATTEMPT" + pwsh ./trusted/scripts/production-gates/build-and-scan-images.ps1 ` + -Mode BuildAndScan ` + -RepositoryRoot ./candidate ` + -TrustedOutputRoot $env:RUNNER_TEMP ` + -ServerTag engram:r2-server ` + -OperatorTag engram:r2-operator-console ` + -PostgresTag engram:r2-postgres ` + -Platform linux/amd64 ` + -ArtifactRoot $evidenceRoot ` + -ReleasePayloadPath $payloadRoot ` + -Version $env:RELEASE_VERSION ` + -NoAllowlist + + - name: Bind the immutable bridge artifact name to this publisher workflow run + id: bridge + shell: pwsh + run: | + Add-Content -Encoding utf8NoBOM -LiteralPath $env:GITHUB_OUTPUT -Value "artifact_name=engram-release-payload-$env:GITHUB_RUN_ID-$env:GITHUB_RUN_ATTEMPT" - - name: Log in to GitHub Container Registry - if: github.event_name != 'pull_request' - uses: docker/login-action@v3 + - name: Upload the sole immutable release payload + id: upload + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} + name: ${{ steps.bridge.outputs.artifact_name }} + path: ${{ runner.temp }}/engram-release-payload-data-${{ github.run_id }}-${{ github.run_attempt }} + if-no-files-found: error + retention-days: 1 + compression-level: 0 - - name: Extract metadata - id: meta - uses: docker/metadata-action@v5 + publish-images: + needs: prepare-release + runs-on: ubuntu-latest + permissions: + contents: read + actions: read + packages: write + concurrency: + group: engram-image-release-${{ needs.prepare-release.outputs.commit }} + cancel-in-progress: false + steps: + - name: Checkout only trusted default-branch publisher code + uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - tags: | - type=ref,event=branch - type=ref,event=tag - type=raw,value=latest,enable={{is_default_branch}} - type=semver,pattern={{version}} - type=semver,pattern={{major}}.{{minor}} - type=sha,prefix= - - - name: Extract operator-console metadata - id: meta_console - uses: docker/metadata-action@v5 + ref: main + path: trusted + fetch-depth: 0 + persist-credentials: false + + - name: Revalidate workflow, tag, rulesets, and protected-main provenance on the fresh runner + id: privileged-preflight + shell: pwsh + env: + REPOSITORY_NAME: ${{ github.repository }} + READ_ONLY_GITHUB_TOKEN: ${{ github.token }} + run: | + pwsh ./trusted/scripts/production-gates/build-and-scan-images.ps1 ` + -Mode ValidateWorkflowRun ` + -RepositoryRoot ./trusted ` + -WorkflowRunEventPath $env:GITHUB_EVENT_PATH ` + -Repository $env:REPOSITORY_NAME ` + -ExpectedDefaultBranch main ` + -TrustedWorkflowPath .github/workflows/docker.yaml ` + -ExpectedWorkflowName Docker ` + -GitHubToken $env:READ_ONLY_GITHUB_TOKEN ` + -GitHubOutputPath $env:GITHUB_OUTPUT + + - name: Confirm preparation and fresh-runner provenance agree + shell: pwsh + env: + PREPARED_VERSION: ${{ needs.prepare-release.outputs.version }} + PREPARED_COMMIT: ${{ needs.prepare-release.outputs.commit }} + REVALIDATED_VERSION: ${{ steps.privileged-preflight.outputs.version }} + REVALIDATED_COMMIT: ${{ steps.privileged-preflight.outputs.commit }} + run: | + if ($env:PREPARED_VERSION -cne $env:REVALIDATED_VERSION -or $env:PREPARED_COMMIT -cne $env:REVALIDATED_COMMIT) { + throw 'Fresh-runner provenance does not match the prepare-release outputs.' + } + + - name: Census the current-run artifact before download + shell: pwsh + env: + EXPECTED_ARTIFACT_ID: ${{ needs.prepare-release.outputs.artifact-id }} + EXPECTED_ARTIFACT_NAME: ${{ needs.prepare-release.outputs.artifact-name }} + EXPECTED_ARTIFACT_DIGEST: ${{ needs.prepare-release.outputs.artifact-digest }} + REPOSITORY_NAME: ${{ github.repository }} + READ_ONLY_GITHUB_TOKEN: ${{ github.token }} + run: | + $evidenceRoot = Join-Path $env:RUNNER_TEMP "engram-publication-evidence-$env:GITHUB_RUN_ID-$env:GITHUB_RUN_ATTEMPT" + pwsh ./trusted/scripts/production-gates/build-and-scan-images.ps1 ` + -Mode ValidateArtifactMetadata ` + -RepositoryRoot ./trusted ` + -TrustedOutputRoot $env:RUNNER_TEMP ` + -ExpectedArtifactID $env:EXPECTED_ARTIFACT_ID ` + -ExpectedArtifactName $env:EXPECTED_ARTIFACT_NAME ` + -ExpectedArtifactDigest $env:EXPECTED_ARTIFACT_DIGEST ` + -CurrentRunID $env:GITHUB_RUN_ID ` + -Repository $env:REPOSITORY_NAME ` + -GitHubToken $env:READ_ONLY_GITHUB_TOKEN ` + -OutputPath (Join-Path $evidenceRoot 'artifact-census.json') + + - name: Download the one censused artifact by immutable ID + uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4 with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-operator-console - tags: | - type=ref,event=branch - type=ref,event=tag - type=raw,value=latest,enable={{is_default_branch}} - type=semver,pattern={{version}} - type=semver,pattern={{major}}.{{minor}} - type=sha,prefix= - - # Build and push server image - - name: Build and push server image - uses: docker/build-push-action@v6 + artifact-ids: ${{ needs.prepare-release.outputs.artifact-id }} + path: ${{ runner.temp }}/engram-release-payload-download-${{ github.run_id }}-${{ github.run_attempt }} + merge-multiple: true + + - name: Validate the exact regular-file envelope and internal checksums + shell: pwsh + env: + RELEASE_VERSION: ${{ steps.privileged-preflight.outputs.version }} + VALIDATED_COMMIT: ${{ steps.privileged-preflight.outputs.commit }} + run: | + $payloadRoot = Join-Path $env:RUNNER_TEMP "engram-release-payload-download-$env:GITHUB_RUN_ID-$env:GITHUB_RUN_ATTEMPT" + $evidenceRoot = Join-Path $env:RUNNER_TEMP "engram-publication-evidence-$env:GITHUB_RUN_ID-$env:GITHUB_RUN_ATTEMPT" + pwsh ./trusted/scripts/production-gates/build-and-scan-images.ps1 ` + -Mode ValidatePayload ` + -RepositoryRoot ./trusted ` + -TrustedOutputRoot $env:RUNNER_TEMP ` + -PayloadRoot $payloadRoot ` + -ExpectedSha $env:VALIDATED_COMMIT ` + -ReleaseVersion $env:RELEASE_VERSION ` + -OutputPath (Join-Path $evidenceRoot 'payload-validation.json') + + - name: Load validated image archives as data without running candidate code + shell: pwsh + env: + RELEASE_VERSION: ${{ steps.privileged-preflight.outputs.version }} + VALIDATED_COMMIT: ${{ steps.privileged-preflight.outputs.commit }} + run: | + $payloadRoot = Join-Path $env:RUNNER_TEMP "engram-release-payload-download-$env:GITHUB_RUN_ID-$env:GITHUB_RUN_ATTEMPT" + pwsh ./trusted/scripts/production-gates/build-and-scan-images.ps1 ` + -Mode LoadPayload ` + -RepositoryRoot ./trusted ` + -TrustedOutputRoot $env:RUNNER_TEMP ` + -PayloadRoot $payloadRoot ` + -ExpectedSha $env:VALIDATED_COMMIT ` + -ReleaseVersion $env:RELEASE_VERSION + + - name: Compare all six registry destinations before login + shell: pwsh + env: + RELEASE_VERSION: ${{ steps.privileged-preflight.outputs.version }} + REPOSITORY_NAME: ${{ github.repository }} + run: | + $payloadRoot = Join-Path $env:RUNNER_TEMP "engram-release-payload-download-$env:GITHUB_RUN_ID-$env:GITHUB_RUN_ATTEMPT" + $evidenceRoot = Join-Path $env:RUNNER_TEMP "engram-publication-evidence-$env:GITHUB_RUN_ID-$env:GITHUB_RUN_ATTEMPT" + pwsh ./trusted/scripts/production-gates/build-and-scan-images.ps1 ` + -Mode PlanPublication ` + -RepositoryRoot ./trusted ` + -TrustedOutputRoot $env:RUNNER_TEMP ` + -ManifestPath (Join-Path $payloadRoot 'final-image-set.json') ` + -ReleaseVersion $env:RELEASE_VERSION ` + -Registry ghcr.io ` + -Repository $env:REPOSITORY_NAME ` + -OutputPath (Join-Path $evidenceRoot 'pre-login-publication-plan.json') + + - name: Login to GHCR after provenance, payload, local-image, and remote checks pass + uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 # v3 + env: + DOCKER_CONFIG: ${{ runner.temp }}/engram-docker-auth-${{ github.run_id }}-${{ github.run_attempt }} with: - context: . - target: server - push: ${{ github.event_name != 'pull_request' }} - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - build-args: | - VERSION=${{ steps.version.outputs.value }} - cache-from: type=gha - cache-to: type=gha,mode=max - - - name: Build and push operator-console image - uses: docker/build-push-action@v6 + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ github.token }} + + - name: Recompare, publish absent exact identities, and read back all six + shell: pwsh + env: + RELEASE_VERSION: ${{ steps.privileged-preflight.outputs.version }} + VALIDATED_COMMIT: ${{ steps.privileged-preflight.outputs.commit }} + REPOSITORY_NAME: ${{ github.repository }} + DOCKER_CONFIG: ${{ runner.temp }}/engram-docker-auth-${{ github.run_id }}-${{ github.run_attempt }} + run: | + $payloadRoot = Join-Path $env:RUNNER_TEMP "engram-release-payload-download-$env:GITHUB_RUN_ID-$env:GITHUB_RUN_ATTEMPT" + $evidenceRoot = Join-Path $env:RUNNER_TEMP "engram-publication-evidence-$env:GITHUB_RUN_ID-$env:GITHUB_RUN_ATTEMPT" + pwsh ./trusted/scripts/production-gates/build-and-scan-images.ps1 ` + -Mode Publish ` + -RepositoryRoot ./trusted ` + -TrustedOutputRoot $env:RUNNER_TEMP ` + -ManifestPath (Join-Path $payloadRoot 'final-image-set.json') ` + -ReleaseVersion $env:RELEASE_VERSION ` + -ExpectedSha $env:VALIDATED_COMMIT ` + -Registry ghcr.io ` + -Repository $env:REPOSITORY_NAME ` + -OutputPath (Join-Path $evidenceRoot 'publication-result.json') + + - name: Logout and erase the isolated registry credential directory + if: always() + shell: pwsh + env: + DOCKER_CONFIG: ${{ runner.temp }}/engram-docker-auth-${{ github.run_id }}-${{ github.run_attempt }} + run: | + $runnerTemp = [IO.Path]::GetFullPath($env:RUNNER_TEMP).TrimEnd([IO.Path]::DirectorySeparatorChar, [IO.Path]::AltDirectorySeparatorChar) + $dockerConfig = [IO.Path]::GetFullPath($env:DOCKER_CONFIG) + if (-not $dockerConfig.StartsWith($runnerTemp + [IO.Path]::DirectorySeparatorChar, [StringComparison]::OrdinalIgnoreCase)) { + throw "Refusing to erase Docker credentials outside RUNNER_TEMP: $dockerConfig" + } + docker logout ghcr.io + if (Test-Path -LiteralPath $dockerConfig) { + Remove-Item -Force -Recurse -LiteralPath $dockerConfig + } + if (Test-Path -LiteralPath $dockerConfig) { + throw "Docker credential directory still exists after erasure: $dockerConfig" + } + + - name: Validate the exact trusted evidence envelope after credential erasure + shell: pwsh + run: | + $evidenceRoot = Join-Path $env:RUNNER_TEMP "engram-publication-evidence-$env:GITHUB_RUN_ID-$env:GITHUB_RUN_ATTEMPT" + pwsh ./trusted/scripts/production-gates/build-and-scan-images.ps1 ` + -Mode ValidatePublicationEvidence ` + -RepositoryRoot ./trusted ` + -TrustedOutputRoot $env:RUNNER_TEMP ` + -EvidenceRoot $evidenceRoot + + - name: Upload trusted publication evidence after credential erasure + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 with: - context: . - target: operator-console - push: ${{ github.event_name != 'pull_request' }} - tags: ${{ steps.meta_console.outputs.tags }} - labels: ${{ steps.meta_console.outputs.labels }} - cache-from: type=gha - cache-to: type=gha,mode=max + name: engram-publication-evidence-${{ github.run_id }}-${{ github.run_attempt }} + path: ${{ runner.temp }}/engram-publication-evidence-${{ github.run_id }}-${{ github.run_attempt }} + if-no-files-found: error + retention-days: 90 diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index 49f4c5e8..990224a7 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -4,80 +4,78 @@ on: push: branches: [main] tags: ["v*"] + pull_request: + branches: [main] workflow_dispatch: permissions: contents: read - packages: write - -env: - REGISTRY: ghcr.io - IMAGE_NAME: ${{ github.repository }} jobs: - docker: + verify-images: runs-on: ubuntu-latest + permissions: + contents: read steps: - - uses: actions/checkout@v4 + - name: Checkout verification source + uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 with: - fetch-depth: 0 - - - name: Compute version - id: version - run: echo "value=$(git describe --tags --always --dirty 2>/dev/null || echo dev)" >> "$GITHUB_OUTPUT" - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + persist-credentials: false - - name: Login to GHCR - uses: docker/login-action@v3 + - name: Set up Go + uses: actions/setup-go@40f1582b2485089dde7abd97c1529aa768e1baff # v5 with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} + go-version-file: go.mod + cache: true - - name: Extract metadata - id: meta - uses: docker/metadata-action@v5 + - name: Set up Node + uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4 with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - tags: | - type=ref,event=tag - type=semver,pattern={{version}} - type=semver,pattern={{major}}.{{minor}} - type=raw,value=latest,enable={{is_default_branch}} + node-version: "22" + cache: npm + cache-dependency-path: apps/operator-console/package-lock.json - - name: Extract operator-console metadata - id: meta_console - uses: docker/metadata-action@v5 - with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-operator-console - tags: | - type=ref,event=tag - type=semver,pattern={{version}} - type=semver,pattern={{major}}.{{minor}} - type=raw,value=latest,enable={{is_default_branch}} + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3 - - name: Build and push server image - uses: docker/build-push-action@v6 - with: - context: . - target: server - push: true - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - build-args: | - VERSION=${{ steps.version.outputs.value }} - cache-from: type=gha - cache-to: type=gha,mode=max + - name: Install pinned Docker Scout CLI + shell: bash + env: + DOCKER_SCOUT_LINUX_AMD64_SHA256: "0f778f9d833f28bc6cccff95e33039849c0afcecafa38d9f46fe74bfd0915714" + run: | + set -euo pipefail + archive="$RUNNER_TEMP/docker-scout_1.23.1_linux_amd64.tar.gz" + binary="$RUNNER_TEMP/docker-scout" + curl --fail --silent --show-error --location \ + "https://github.com/docker/scout-cli/releases/download/v1.23.1/docker-scout_1.23.1_linux_amd64.tar.gz" \ + --output "$archive" + printf '%s %s\n' "$DOCKER_SCOUT_LINUX_AMD64_SHA256" "$archive" | sha256sum --check --strict + tar --extract --gzip --file "$archive" --directory "$RUNNER_TEMP" docker-scout + install --directory --mode 0755 "$HOME/.docker/cli-plugins" + install --mode 0755 "$binary" "$HOME/.docker/cli-plugins/docker-scout" + docker scout version + + - name: Build, scan, and exercise exact images without registry authority + shell: pwsh + env: + IMAGE_VERSION: sha-${{ github.sha }} + EVIDENCE_ROOT: .agent/reports/evidence/production-ready/image-remediation-r2/workflow-verify-${{ github.run_id }}-${{ github.run_attempt }} + run: | + pwsh ./scripts/production-gates/build-and-scan-images.ps1 ` + -Mode BuildAndScan ` + -ServerTag engram:r2-server ` + -OperatorTag engram:r2-operator-console ` + -PostgresTag engram:r2-postgres ` + -Platform linux/amd64 ` + -ArtifactRoot $env:EVIDENCE_ROOT ` + -Version $env:IMAGE_VERSION ` + -NoAllowlist - - name: Build and push operator-console image - uses: docker/build-push-action@v6 + - name: Upload unprivileged verification evidence + if: always() + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 with: - context: . - target: operator-console - push: true - tags: ${{ steps.meta_console.outputs.tags }} - labels: ${{ steps.meta_console.outputs.labels }} - cache-from: type=gha - cache-to: type=gha,mode=max + name: image-verification-${{ github.run_id }}-${{ github.run_attempt }} + path: .agent/reports/evidence/production-ready/image-remediation-r2/workflow-verify-${{ github.run_id }}-${{ github.run_attempt }} + if-no-files-found: error + retention-days: 14 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 67895beb..26534fe0 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -7,15 +7,15 @@ on: branches: [main] jobs: - # Migration gate — runs the FULL migration chain against a clean PostgreSQL+pgvector - # database on every push. The matrix `test` job below skips all DATABASE_DSN-gated tests - # (no DB service), so without this job a broken migration reaches prod unverified — which - # is exactly how migration 143 shipped a multi-statement Exec that pgx rejects with - # SQLSTATE 42601, breaking server init on v6.23.0–v6.25.0. This job is the clean-DB - # first-run gate that catches that class of failure before merge. - migrations: - name: migrations / clean-db chain + # M0 RELEASE-GATES foundation. The wrapper owns fresh database identity, + # go-test JSON parsing, unexpected-skip policy, per-process exit capture, + # connection evidence, and unconditional cleanup. A later successful command + # cannot overwrite an earlier non-zero exit. + release-gates-foundation: + name: release gates / isolated clean-db chain runs-on: ubuntu-latest + env: + ENGRAM_TEST_ADMIN_DSN: postgres://engram:engram@localhost:5432/postgres?sslmode=disable services: postgres: image: pgvector/pgvector:pg17 @@ -40,20 +40,815 @@ jobs: go-version-file: go.mod cache: true - # Runs the clean-DB full-chain gate: TestMigrationsIntegration calls runMigrations on - # a fresh database, so the entire chain (including the newest migration) must apply - # cleanly from zero — the first-run path the local borrowed DB never exercises, and the - # exact path that broke when migration 143 shipped a multi-statement Exec. - # - # The pattern is ANCHORED (TestMigrationsIntegration$) to this one gate. The sibling - # TestMigrationsIntegration_* tests are NOT clean-DB-safe on the base pgvector image — - # they drop/re-run individual migrations and assume an already-migrated schema, so an - # unanchored -run pulls them in and they fail on a from-zero DB. Those siblings stay as - # operator-run-against-a-real-DB tests; this gate owns the clean first-run contract. - - name: Run migration chain on clean DB - env: - DATABASE_DSN: postgres://engram:engram@localhost:5432/engram?sslmode=disable - run: go test ./internal/db/gorm/ -run 'TestMigrationsIntegration$' -count=1 -v + - name: Self-test go-test JSON assertion + shell: pwsh + run: ./scripts/production-gates/assert-go-test-json.ps1 -SelfTest + + - name: Self-test coverage assertion + shell: pwsh + run: ./scripts/production-gates/assert-coverage.ps1 -SelfTest + + - name: Self-test cleanup safety + shell: pwsh + run: ./scripts/production-gates/cleanup-db-sessions.ps1 -SelfTest + + - name: Self-test false-green prevention + shell: pwsh + run: ./scripts/production-gates/run-db-suite.ps1 -SelfTest + + - name: Self-test tracked critical runner + shell: pwsh + run: ./scripts/production-gates/run-critical-suite.ps1 -Config .agent/critical-suite.config.yaml -SelfTest + + - name: Self-test tracked dev-stand runner + shell: pwsh + run: ./scripts/production-gates/run-dev-stand.ps1 -Config .agent/dev-stand.config.yaml -SelfTest + + - name: Self-test plan path ownership gate + shell: pwsh + run: ./scripts/production-gates/assert-plan-path-ownership.ps1 -SelfTest + + - name: Self-test active candidate path authority gate + shell: pwsh + run: ./scripts/production-gates/assert-active-candidate-path-authority.ps1 -SelfTest + + - name: Self-test Windows tracked path budget + shell: pwsh + run: ./scripts/production-gates/assert-windows-path-budget.ps1 -SelfTest + + - name: Self-test OpenClaw node release matrix + shell: pwsh + run: ./scripts/production-gates/run-node-matrix.ps1 -SelfTest + + - name: Assert tracked production-ready ownership ledger + shell: pwsh + run: >- + ./scripts/production-gates/assert-plan-path-ownership.ps1 + -Mode Ledger + -Plan .agent/plans/2026-07-10-engram-production-ready-master-plan.md + -ExpectedPlanSha256 4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f + -State .agent/plans/2026-07-10-engram-production-ready-ownership-state.json + -ScopeMap .agent/plans/2026-07-10-engram-production-ready-scope-map.json + -ExpectedScopeMapSha256 fb170d59f3072117489402fd347cd1432c40adbc842811f92227498bcbc92693 + -Artifact .agent/e/rg4/ci-ledger.json + + - name: Assert frozen active candidate path authority + shell: pwsh + run: >- + ./scripts/production-gates/assert-active-candidate-path-authority.ps1 + -Contract .agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json + -ExpectedContractSha256 d8e7818d84831f047d30a8493f9c7d2a8cea288d5c381735960d11dd02988ae5 + -Plan .agent/plans/2026-07-10-engram-production-ready-master-plan.md + -ExpectedPlanSha256 4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f + -Artifact .agent/e/rg9/ci-active-candidate-authority.json + + - name: Assert Windows tracked path budget + shell: pwsh + run: pwsh -NoProfile -File scripts/production-gates/assert-windows-path-budget.ps1 -Repository . -Ref HEAD -CheckoutPrefixLength 66 -MaximumCombinedPathLength 240 -Artifact .agent/e/rg4/ci-path-budget.json + + - name: Assert tracked gate / CI conformance + shell: pwsh + run: | + $ErrorActionPreference = 'Stop' + function Get-CanonicalTextSha256([string]$text) { + $canonical = ($text -replace "`r`n", "`n") -replace "`r", "`n" + $bytes = [System.Text.UTF8Encoding]::new($false).GetBytes($canonical) + return [Convert]::ToHexString([System.Security.Cryptography.SHA256]::HashData($bytes)).ToLowerInvariant() + } + $critical = Get-Content -Raw '.agent/critical-suite.config.yaml' + $stand = Get-Content -Raw '.agent/dev-stand.config.yaml' + $workflow = Get-Content -Raw '.github/workflows/test.yml' + $dbRunner = Get-Content -Raw 'scripts/production-gates/run-db-suite.ps1' + $criticalRunner = Get-Content -Raw 'scripts/production-gates/run-critical-suite.ps1' + $devStandRunner = Get-Content -Raw 'scripts/production-gates/run-dev-stand.ps1' + $ownershipRunner = Get-Content -Raw 'scripts/production-gates/assert-plan-path-ownership.ps1' + $activeAuthorityRunner = Get-Content -Raw 'scripts/production-gates/assert-active-candidate-path-authority.ps1' + $pathBudgetRunner = Get-Content -Raw 'scripts/production-gates/assert-windows-path-budget.ps1' + $nodeRunner = Get-Content -Raw 'scripts/production-gates/run-node-matrix.ps1' + $ownershipState = Get-Content -Raw '.agent/plans/2026-07-10-engram-production-ready-ownership-state.json' + $masterPlan = Get-Content -Raw '.agent/plans/2026-07-10-engram-production-ready-master-plan.md' + $scopeMap = Get-Content -Raw '.agent/plans/2026-07-10-engram-production-ready-scope-map.json' + $activeDiffContracts = Get-Content -Raw '.agent/plans/2026-07-10-engram-production-ready-active-diff-contracts.json' + $expectedPlanSha = '4388337722e57b48e93515008e4220d6cd2c83de695c4c449387f071c59fb96f' + $expectedScopeMapSha = 'fb170d59f3072117489402fd347cd1432c40adbc842811f92227498bcbc92693' + $expectedActiveDiffContractSha = 'd8e7818d84831f047d30a8493f9c7d2a8cea288d5c381735960d11dd02988ae5' + $observedPlanSha = ([string](& pwsh -NoProfile -File scripts/production-gates/assert-plan-path-ownership.ps1 -Plan .agent/plans/2026-07-10-engram-production-ready-master-plan.md -PrintCanonicalPlanSha256)).Trim() + $observedScopeMapSha = Get-CanonicalTextSha256 $scopeMap + $rejectedBulkHead = '68b2ce5835c7c6efdf1c68da9eedcb8d9c3837ef' + $rejectedBulkChecker = '.agent/worktrees/prc-db-bulkops/.agent/reviews/2026-07-10-db-bulkops-sibling-rework-check.md' + $rejectedBulkCheckerSha = 'EB9EB227363A27EA058C6654BD7E38EED1088252F79F837E377B2A3CBC1FAFB7' + $trackedCriticalCommand = 'go test -tags=critical -json ./tests/critical/... -count=1' + $trackedDatabaseCommand = 'pwsh -NoProfile -File scripts/production-gates/run-db-suite.ps1 -FreshDatabase -Package ./... -Race -FailOnUnexpectedSkip' + $trackedCriticalWrapper = 'pwsh -NoProfile -File scripts/production-gates/run-critical-suite.ps1 -Config .agent/critical-suite.config.yaml' + $trackedDevStandWrapper = 'pwsh -NoProfile -File scripts/production-gates/run-dev-stand.ps1 -Config .agent/dev-stand.config.yaml' + $trackedPathBudgetWrapper = 'pwsh -NoProfile -File scripts/production-gates/assert-windows-path-budget.ps1 -Repository . -Ref HEAD -CheckoutPrefixLength 66 -MaximumCombinedPathLength 240 -Artifact .agent/e/rg4/ci-path-budget.json' + + function Remove-ConformanceStep([string]$text) { + return [regex]::Replace($text, '(?ms)^ - name: Assert tracked gate / CI conformance\r?\n.*?(?=^ - name: |\z)', '') + } + + function Get-StepBody([string]$text, [string]$name) { + $match = [regex]::Match($text, ('(?ms)^ - name: ' + [regex]::Escape($name) + '\r?\n(?.*?)(?=^ - name: |\z)')) + if (-not $match.Success) { throw "workflow step '$name' is missing" } + return $match.Groups['body'].Value + } + + function ConvertTo-AstShape([string]$text) { + return [regex]::Replace($text, '\s+', '') + } + + function Get-PowerShellAst([string]$text) { + $tokens = $null + $parseErrors = $null + $ast = [System.Management.Automation.Language.Parser]::ParseInput($text, [ref]$tokens, [ref]$parseErrors) + if ($parseErrors.Count -ne 0) { + throw "PowerShell source has $($parseErrors.Count) parse error(s): $([string]::Join('; ', @($parseErrors | ForEach-Object Message)))" + } + return $ast + } + + function Get-Ancestor([System.Management.Automation.Language.Ast]$node, [type]$type) { + $cursor = $node.Parent + while ($null -ne $cursor) { + if ($cursor -is $type) { return $cursor } + $cursor = $cursor.Parent + } + return $null + } + + function Test-InExactIfClause([System.Management.Automation.Language.Ast]$node, [string]$expectedCondition) { + $expectedShape = ConvertTo-AstShape $expectedCondition + $cursor = $node.Parent + while ($null -ne $cursor) { + if ($cursor -is [System.Management.Automation.Language.IfStatementAst]) { + foreach ($clause in $cursor.Clauses) { + $body = $clause.Item2 + if ($node.Extent.StartOffset -ge $body.Extent.StartOffset -and $node.Extent.EndOffset -le $body.Extent.EndOffset -and (ConvertTo-AstShape $clause.Item1.Extent.Text) -ceq $expectedShape) { + return $true + } + } + } + $cursor = $cursor.Parent + } + return $false + } + + function Assert-ExactCommandControlFlow( + [System.Management.Automation.Language.CommandAst]$node, + [string[]]$expectedIfConditions, + [string[]]$expectedLoopConditions + ) { + $actualIfConditions = [System.Collections.Generic.List[string]]::new() + $actualLoopConditions = [System.Collections.Generic.List[string]]::new() + $cursor = $node.Parent + while ($null -ne $cursor -and $cursor -isnot [System.Management.Automation.Language.FunctionDefinitionAst]) { + if ($cursor -is [System.Management.Automation.Language.IfStatementAst]) { + $matchedClause = $false + foreach ($clause in $cursor.Clauses) { + if ($node.Extent.StartOffset -ge $clause.Item2.Extent.StartOffset -and $node.Extent.EndOffset -le $clause.Item2.Extent.EndOffset) { + $actualIfConditions.Add((ConvertTo-AstShape $clause.Item1.Extent.Text)) + $matchedClause = $true + break + } + } + if (-not $matchedClause) { + $clauseShapes = @($cursor.Clauses | ForEach-Object { ConvertTo-AstShape $_.Item1.Extent.Text }) + $actualIfConditions.Add(('')) + } + } + elseif ($cursor -is [System.Management.Automation.Language.ForEachStatementAst]) { + $actualLoopConditions.Add(('foreach:' + (ConvertTo-AstShape $cursor.Condition.Extent.Text))) + } + elseif ($cursor -is [System.Management.Automation.Language.ForStatementAst]) { + $actualLoopConditions.Add(('for:' + (ConvertTo-AstShape $cursor.Condition.Extent.Text))) + } + elseif ($cursor -is [System.Management.Automation.Language.LoopStatementAst] -or + $cursor -is [System.Management.Automation.Language.SwitchStatementAst] -or + $cursor -is [System.Management.Automation.Language.TrapStatementAst] -or + $cursor -is [System.Management.Automation.Language.DataStatementAst] -or + $cursor -is [System.Management.Automation.Language.ScriptBlockExpressionAst]) { + throw "live invocation '$([string]$node.CommandElements[1].Value)' is hidden in unsupported or potentially unreachable control flow '$($cursor.GetType().Name)'" + } + $cursor = $cursor.Parent + } + + $expectedIfShapes = @($expectedIfConditions | ForEach-Object { ConvertTo-AstShape $_ }) + $expectedLoopShapes = @($expectedLoopConditions | ForEach-Object { ConvertTo-AstShape $_ }) + if ($actualIfConditions.Count -ne $expectedIfShapes.Count) { + throw "live invocation '$([string]$node.CommandElements[1].Value)' has $($actualIfConditions.Count) if-branch ancestor(s), expected $($expectedIfShapes.Count)" + } + foreach ($condition in $expectedIfShapes) { + if (-not $actualIfConditions.Contains($condition)) { throw "live invocation '$([string]$node.CommandElements[1].Value)' is missing exact live if-branch '$condition'" } + } + if ($actualLoopConditions.Count -ne $expectedLoopShapes.Count) { + throw "live invocation '$([string]$node.CommandElements[1].Value)' has $($actualLoopConditions.Count) loop ancestor(s), expected $($expectedLoopShapes.Count)" + } + foreach ($condition in $expectedLoopShapes) { + if (-not $actualLoopConditions.Contains($condition)) { throw "live invocation '$([string]$node.CommandElements[1].Value)' is missing exact live loop '$condition'" } + } + } + + function Get-ExactCapturedInvocation( + [System.Management.Automation.Language.ScriptBlockAst]$ast, + [string]$name, + [string]$expectedExecutable, + [string]$expectedArguments, + [string]$expectedAssignment, + [string]$expectedIfCondition + ) { + $commands = @($ast.FindAll({ + param($node) + if ($node -isnot [System.Management.Automation.Language.CommandAst] -or $node.GetCommandName() -cne 'Invoke-CapturedProcess' -or $node.CommandElements.Count -lt 2) { return $false } + $nameNode = $node.CommandElements[1] + return ($nameNode -is [System.Management.Automation.Language.StringConstantExpressionAst] -or $nameNode -is [System.Management.Automation.Language.ExpandableStringExpressionAst]) -and [string]$nameNode.Value -ceq $name + }, $true)) + if ($commands.Count -ne 1) { throw "live Invoke-CapturedProcess '$name' cardinality must be exactly 1; found $($commands.Count)" } + $command = $commands[0] + if ($command.CommandElements.Count -ne 10) { throw "live invocation '$name' argument cardinality drifted: found $($command.CommandElements.Count - 1), expected 9" } + if ($command.CommandElements[2].Extent.Text -cne $expectedExecutable) { throw "live invocation '$name' executable drifted: '$($command.CommandElements[2].Extent.Text)'" } + if ((ConvertTo-AstShape $command.CommandElements[3].Extent.Text) -cne (ConvertTo-AstShape $expectedArguments)) { throw "live invocation '$name' command arguments drifted: '$($command.CommandElements[3].Extent.Text)'" } + $assignment = Get-Ancestor $command ([System.Management.Automation.Language.AssignmentStatementAst]) + if ($null -eq $assignment -or $assignment.Left.Extent.Text -cne $expectedAssignment) { throw "live invocation '$name' is not assigned to $expectedAssignment" } + $function = Get-Ancestor $command ([System.Management.Automation.Language.FunctionDefinitionAst]) + if ($null -eq $function -or $function.Name -cne 'Invoke-DevStandContract') { throw "live invocation '$name' is outside Invoke-DevStandContract" } + if (-not (Test-InExactIfClause $command $expectedIfCondition)) { throw "live invocation '$name' is outside the required branch '$expectedIfCondition'" } + return $command + } + + function Assert-ExactImageTargetMap([System.Management.Automation.Language.ScriptBlockAst]$ast) { + $functions = @($ast.FindAll({ param($node) $node -is [System.Management.Automation.Language.FunctionDefinitionAst] -and $node.Name -ceq 'Get-DevStandImageTargets' }, $true)) + if ($functions.Count -ne 1) { throw "Get-DevStandImageTargets cardinality must be exactly 1; found $($functions.Count)" } + $maps = @($functions[0].Body.FindAll({ param($node) $node -is [System.Management.Automation.Language.HashtableAst] }, $true)) + if ($maps.Count -ne 1) { throw "Get-DevStandImageTargets must contain exactly one live hashtable; found $($maps.Count)" } + $expected = [ordered]@{ postgres = "'ghcr.io/thebtf/engram-postgres:main'"; server = "'ghcr.io/thebtf/engram:main'"; 'operator-console' = "'ghcr.io/thebtf/engram-operator-console:main'" } + if ($maps[0].KeyValuePairs.Count -ne $expected.Count) { throw "exact image target map must contain 3 services; found $($maps[0].KeyValuePairs.Count)" } + $actual = @{} + foreach ($pair in $maps[0].KeyValuePairs) { + $key = $pair.Item1.Extent.Text.Trim("'", '"') + if ($actual.ContainsKey($key)) { throw "duplicate exact image target '$key'" } + $actual[$key] = ConvertTo-AstShape $pair.Item2.Extent.Text + } + foreach ($entry in $expected.GetEnumerator()) { + if (-not $actual.ContainsKey($entry.Key) -or $actual[$entry.Key] -cne (ConvertTo-AstShape $entry.Value)) { throw "exact image target '$($entry.Key)' drifted" } + } + } + + function Assert-ExactRequiredSessionStartInventory([System.Management.Automation.Language.ScriptBlockAst]$ast) { + $expectedPackage = 'github.com/thebtf/engram/internal/grpcserver' + $expectedNames = @( + 'TestEC_F1_P1_GRPCSessionStart_FlagOff_ByteIdentity', + 'TestEC_F1_P1_GRPCSessionStart_FlagOn_PrivateCrossWorkstationInvisible', + 'TestEC_F1_P1_GRPCSessionStart_FlagOn_NoCallerIdentity_PrivateInvisible', + 'TestGetSessionStartContext_HappyPath', + 'TestGetSessionStartContext_PrincipalPrivateCrossPrincipalInvisible_FlagOff', + 'TestGetSessionStartContext_MetaSummaryFlagOnDescribesMemoryLandscape', + 'TestGetSessionStartContext_MetaSummaryCountsBeyondResponseCap', + 'TestGetSessionStartContext_MetaSummaryFlagOffOmitted', + 'TestGetSessionStartContext_MetaSummaryFlagOnEmptyProjectIsBoundedAndContentFree', + 'TestGetSessionStartContext_T014_MetaSummaryRequiresMasterAndS2Flags', + 'TestGetSessionStartContext_RuleRouterEnabledPacketShape', + 'TestGetSessionStartContext_DefaultLimits' + ) + + $inventoryFunctions = @($ast.FindAll({ param($node) $node -is [System.Management.Automation.Language.FunctionDefinitionAst] -and $node.Name -ceq 'Get-RequiredSessionStartTestNames' }, $true)) + if ($inventoryFunctions.Count -ne 1) { throw "Get-RequiredSessionStartTestNames cardinality must be exactly 1; found $($inventoryFunctions.Count)" } + $actualNames = @($inventoryFunctions[0].Body.FindAll({ param($node) $node -is [System.Management.Automation.Language.StringConstantExpressionAst] }, $true) | ForEach-Object Value) + if ($actualNames.Count -ne $expectedNames.Count) { throw "required session-start identity cardinality must be exactly 12; found $($actualNames.Count)" } + for ($identityIndex = 0; $identityIndex -lt $expectedNames.Count; $identityIndex++) { + if ([string]$actualNames[$identityIndex] -cne $expectedNames[$identityIndex]) { throw "required session-start identity drifted at index ${identityIndex}: '$([string]$actualNames[$identityIndex])'" } + } + + $proofFunctions = @($ast.FindAll({ param($node) $node -is [System.Management.Automation.Language.FunctionDefinitionAst] -and $node.Name -ceq 'Get-RequiredSessionStartExecutionProof' }, $true)) + if ($proofFunctions.Count -ne 1) { throw "Get-RequiredSessionStartExecutionProof cardinality must be exactly 1; found $($proofFunctions.Count)" } + $allPackageAssignments = @($proofFunctions[0].Body.FindAll({ + param($node) + $node -is [System.Management.Automation.Language.AssignmentStatementAst] -and $node.Left.Extent.Text -ceq '$package' + }, $true)) + if ($allPackageAssignments.Count -ne 1) { throw "required session-start package assignment cardinality must be exactly 1; found $($allPackageAssignments.Count)" } + $packageAssignments = @($proofFunctions[0].Body.FindAll({ + param($node) + $node -is [System.Management.Automation.Language.AssignmentStatementAst] -and $node.Left.Extent.Text -ceq '$package' -and + (ConvertTo-AstShape $node.Right.Extent.Text) -ceq (ConvertTo-AstShape ("'" + $expectedPackage + "'")) + }, $true)) + if ($packageAssignments.Count -ne 1 -or $packageAssignments[0].Extent.StartOffset -ne $allPackageAssignments[0].Extent.StartOffset) { throw "required session-start package must be assigned exactly once to '$expectedPackage'" } + $inventoryAssignments = @($proofFunctions[0].Body.FindAll({ + param($node) + $node -is [System.Management.Automation.Language.AssignmentStatementAst] -and $node.Left.Extent.Text -ceq '$expectedNames' -and + (ConvertTo-AstShape $node.Right.Extent.Text) -ceq (ConvertTo-AstShape '@(Get-RequiredSessionStartTestNames)') + }, $true)) + if ($inventoryAssignments.Count -ne 1) { throw 'execution proof does not consume the pinned required session-start identity inventory exactly once' } + + $consumerLoops = @($proofFunctions[0].Body.FindAll({ + param($node) + $node -is [System.Management.Automation.Language.ForEachStatementAst] -and + $node.Variable.Extent.Text -ceq '$name' -and + (ConvertTo-AstShape $node.Condition.Extent.Text) -ceq (ConvertTo-AstShape '$expectedNames') + }, $true)) + if ($consumerLoops.Count -ne 1) { throw "required session-start consumer loop cardinality must be exactly 1; found $($consumerLoops.Count)" } + $matchesAssignments = @($proofFunctions[0].Body.FindAll({ + param($node) + $node -is [System.Management.Automation.Language.AssignmentStatementAst] -and $node.Left.Extent.Text -ceq '$matches' + }, $true)) + if ($matchesAssignments.Count -ne 1) { throw "required session-start live matches assignment cardinality must be exactly 1; found $($matchesAssignments.Count)" } + $liveMatchesAssignment = $consumerLoops[0].Body.Statements[0] + $expectedMatchesExpression = '@($allTests | Where-Object { [string]$_.package -ceq $package -and [string]$_.test -ceq $name })' + if ($liveMatchesAssignment -isnot [System.Management.Automation.Language.AssignmentStatementAst] -or + $liveMatchesAssignment.Left.Extent.Text -cne '$matches' -or + $liveMatchesAssignment.Extent.StartOffset -ne $matchesAssignments[0].Extent.StartOffset -or + $packageAssignments[0].Extent.StartOffset -ge $liveMatchesAssignment.Extent.StartOffset -or + (ConvertTo-AstShape $liveMatchesAssignment.Right.Extent.Text) -cne (ConvertTo-AstShape $expectedMatchesExpression)) { + throw 'required session-start live consumer does not bind exact case-sensitive package plus test identity at the point of consumption' + } + } + + function Get-ExactRuntimeAssignment( + [System.Management.Automation.Language.ScriptBlockAst]$ast, + [string]$left, + [string]$right + ) { + $rightShape = ConvertTo-AstShape $right + $assignments = @($ast.FindAll({ + param($node) + $node -is [System.Management.Automation.Language.AssignmentStatementAst] -and + $node.Left.Extent.Text -ceq $left -and + (ConvertTo-AstShape $node.Right.Extent.Text) -ceq $rightShape + }, $true) | Where-Object { $null -eq (Get-Ancestor $_ ([System.Management.Automation.Language.FunctionDefinitionAst])) }) + if ($assignments.Count -ne 1) { throw "live runtime assignment '$left = $right' cardinality must be exactly 1; found $($assignments.Count)" } + return $assignments[0] + } + + function Assert-ExactRepeatLoop([System.Management.Automation.Language.Ast]$node) { + $loop = Get-Ancestor $node ([System.Management.Automation.Language.ForStatementAst]) + if ($null -eq $loop -or + (ConvertTo-AstShape $loop.Initializer.Extent.Text) -cne (ConvertTo-AstShape '$repeatIndex = 1') -or + (ConvertTo-AstShape $loop.Condition.Extent.Text) -cne (ConvertTo-AstShape '$repeatIndex -le $Repeat') -or + (ConvertTo-AstShape $loop.Iterator.Extent.Text) -cne (ConvertTo-AstShape '$repeatIndex++')) { + throw 'runtime release proof is not inside the exact 1..Repeat execution loop' + } + } + + function Assert-LiveSessionStartExecutionContract([System.Management.Automation.Language.ScriptBlockAst]$ast) { + Assert-ExactRequiredSessionStartInventory $ast + $nameFunctions = @($ast.FindAll({ param($node) $node -is [System.Management.Automation.Language.FunctionDefinitionAst] -and $node.Name -ceq 'New-RunDatabaseName' }, $true)) + if ($nameFunctions.Count -ne 1) { throw "New-RunDatabaseName cardinality must be exactly 1; found $($nameFunctions.Count)" } + $nameAssignments = @($nameFunctions[0].Body.FindAll({ + param($node) + $node -is [System.Management.Automation.Language.AssignmentStatementAst] -and $node.Left.Extent.Text -ceq '$name' -and + (ConvertTo-AstShape $node.Right.Extent.Text) -ceq (ConvertTo-AstShape '"engram_prc_rg_test_${runHash}_r$RepeatIndex"') + }, $true)) + if ($nameAssignments.Count -ne 1) { throw 'live fresh-database naming does not contain the exact literal-test identity' } + + [void](Get-ExactRuntimeAssignment $ast '$requireSessionStartExecution' "[string]::IsNullOrWhiteSpace(`$Run) -and `$packages.Count -eq 1 -and `$packages[0] -ceq './...'") + $databaseAssignment = Get-ExactRuntimeAssignment $ast '$databaseName' 'New-RunDatabaseName -RequestedRunId $RunId -RepeatIndex $repeatIndex' + Assert-ExactRepeatLoop $databaseAssignment + $databaseCommands = @($databaseAssignment.Right.FindAll({ param($node) $node -is [System.Management.Automation.Language.CommandAst] -and $node.GetCommandName() -ceq 'New-RunDatabaseName' }, $true)) + if ($databaseCommands.Count -ne 1) { throw 'fresh-database identity assignment is not one live New-RunDatabaseName invocation' } + Assert-ExactCommandControlFlow -node $databaseCommands[0] -expectedIfConditions @() -expectedLoopConditions @('for:$repeatIndex -le $Repeat') + + $proofAssignment = Get-ExactRuntimeAssignment $ast '$sessionStartExecutionProof' 'Get-RequiredSessionStartExecutionProof $goTestSummary' + Assert-ExactRepeatLoop $proofAssignment + $proofCommands = @($proofAssignment.Right.FindAll({ param($node) $node -is [System.Management.Automation.Language.CommandAst] -and $node.GetCommandName() -ceq 'Get-RequiredSessionStartExecutionProof' }, $true)) + if ($proofCommands.Count -ne 1) { throw 'parsed go-test summary is not consumed by one live session-start execution proof invocation' } + $missingSummaryBranch = '-not (Test-Path -LiteralPath $goTestSummaryPath -PathType Leaf)' + Assert-ExactCommandControlFlow -node $proofCommands[0] -expectedIfConditions @('$requireSessionStartExecution', "") -expectedLoopConditions @('for:$repeatIndex -le $Repeat') + + $proofWrites = @($ast.FindAll({ + param($node) + $node -is [System.Management.Automation.Language.CommandAst] -and $node.GetCommandName() -ceq 'Write-Utf8NoBom' -and $node.CommandElements.Count -ge 2 -and + (ConvertTo-AstShape $node.CommandElements[1].Extent.Text) -ceq (ConvertTo-AstShape "(Join-Path `$repeatDirectory 'required-session-start-execution.json')") + }, $true) | Where-Object { $null -eq (Get-Ancestor $_ ([System.Management.Automation.Language.FunctionDefinitionAst])) }) + if ($proofWrites.Count -ne 1) { throw "required session-start proof artifact write cardinality must be exactly 1; found $($proofWrites.Count)" } + Assert-ExactRepeatLoop $proofWrites[0] + Assert-ExactCommandControlFlow -node $proofWrites[0] -expectedIfConditions @('$requireSessionStartExecution') -expectedLoopConditions @('for:$repeatIndex -le $Repeat') + + $verdictIfs = @($ast.FindAll({ + param($node) + $node -is [System.Management.Automation.Language.IfStatementAst] -and $node.Clauses.Count -eq 1 -and + (ConvertTo-AstShape $node.Clauses[0].Item1.Extent.Text) -ceq (ConvertTo-AstShape "`$sessionStartExecutionProof.verdict -ne 'PASS'") + }, $true) | Where-Object { $null -eq (Get-Ancestor $_ ([System.Management.Automation.Language.FunctionDefinitionAst])) }) + if ($verdictIfs.Count -ne 1) { throw "required session-start fail-closed verdict branch cardinality must be exactly 1; found $($verdictIfs.Count)" } + $verdictIf = $verdictIfs[0] + Assert-ExactRepeatLoop $verdictIf + if (-not (Test-InExactIfClause $verdictIf '$requireSessionStartExecution')) { throw 'required session-start fail-closed verdict is outside its canonical runtime gate' } + $failAssignments = @($verdictIf.Clauses[0].Item2.FindAll({ + param($node) + $node -is [System.Management.Automation.Language.AssignmentStatementAst] -and $node.Left.Extent.Text -ceq '$repeatFailed' -and $node.Right.Extent.Text -ceq '$true' + }, $true)) + $errorAdds = @($verdictIf.Clauses[0].Item2.FindAll({ + param($node) + $node -is [System.Management.Automation.Language.InvokeMemberExpressionAst] -and $node.Expression.Extent.Text -ceq '$repeatErrors' -and $node.Member.Extent.Text -ceq 'Add' + }, $true)) + if ($failAssignments.Count -ne 1 -or $errorAdds.Count -ne 1) { throw 'required session-start proof failure does not fail the repeat and retain one error' } + + $proofSummaryPairs = @($ast.FindAll({ param($node) $node -is [System.Management.Automation.Language.HashtableAst] }, $true) | ForEach-Object { $_.KeyValuePairs } | Where-Object { + $_.Item1.Extent.Text.Trim("'", '"') -ceq 'required_session_start_execution' -and $_.Item2.Extent.Text -ceq '$sessionStartExecutionProof' + }) + if ($proofSummaryPairs.Count -ne 1) { throw "repeat summary must bind the live required session-start proof exactly once; found $($proofSummaryPairs.Count)" } + } + + function Assert-LiveDevStandInvocationContract([string]$dbRunnerText) { + $ast = Get-PowerShellAst $dbRunnerText + Assert-ExactImageTargetMap $ast + Assert-LiveSessionStartExecutionContract $ast + $outerBranch = "`$Action -in @('Up', 'Ready', 'Scan')" + $upBranch = "`$Action -eq 'Up'" + $scanBranch = "`$Action -eq 'Scan' -and `$inventoryAssertion.Pass -and `$imageIdentityPass -and `$prelaunchToRunningImageIdentity" + $sourceRoot = Get-ExactCapturedInvocation $ast 'dev-stand-source-root' '$gitPath' "@('-C', `$composeDirectory, 'rev-parse', '--show-toplevel')" '$sourceRoot' $outerBranch + $sourceCommit = Get-ExactCapturedInvocation $ast 'dev-stand-source-commit' '$gitPath' "@('-C', `$sourceRepository, 'rev-parse', '--verify', 'HEAD^{commit}')" '$sourceHead' $outerBranch + $sourceStatus = Get-ExactCapturedInvocation $ast 'dev-stand-source-tracked-status' '$gitPath' "@('-C', `$sourceRepository, 'status', '--porcelain=v1', '--untracked-files=all')" '$sourceStatus' $outerBranch + $build = Get-ExactCapturedInvocation $ast 'dev-stand-compose-build' '$dockerPath' "(@(`$composeArgs) + @('build', '--pull', 'server', 'operator-console', 'postgres'))" '$build' $upBranch + $postHead = Get-ExactCapturedInvocation $ast 'dev-stand-source-commit-post-build' '$gitPath' "@('-C', `$sourceRepository, 'rev-parse', '--verify', 'HEAD^{commit}')" '$postBuildHead' $upBranch + $postStatus = Get-ExactCapturedInvocation $ast 'dev-stand-source-tracked-status-post-build' '$gitPath' "@('-C', `$sourceRepository, 'status', '--porcelain=v1', '--untracked-files=all')" '$postBuildStatus' $upBranch + $prelaunch = Get-ExactCapturedInvocation $ast 'dev-stand-prelaunch-image-inspect-$($target.Key)' '$dockerPath' "@('image', 'inspect', `$target.Value, '--format', '{{.Id}}')" '$prelaunchInspect' $upBranch + $up = Get-ExactCapturedInvocation $ast 'dev-stand-up' '$dockerPath' "(@(`$composeArgs) + @('up', '-d', '--no-build', '--pull', 'never', '--wait'))" '$up' $upBranch + $scan = Get-ExactCapturedInvocation $ast 'dev-stand-vulnerability-scan-$($entry.Key)' '$dockerPath' "@('scout', 'cves', '--exit-code', '--only-severity', 'critical,high', '--format', 'sarif', '--output', `$sarifPath, `$scanReference)" '$scan' $scanBranch + + foreach ($command in @($sourceRoot, $sourceCommit, $sourceStatus)) { + Assert-ExactCommandControlFlow -node $command -expectedIfConditions @($outerBranch) -expectedLoopConditions @() + } + foreach ($command in @($build, $postHead, $postStatus, $up)) { + Assert-ExactCommandControlFlow -node $command -expectedIfConditions @($upBranch) -expectedLoopConditions @() + } + Assert-ExactCommandControlFlow -node $prelaunch -expectedIfConditions @($upBranch) -expectedLoopConditions @('foreach:(Get-DevStandImageTargets).GetEnumerator()') + Assert-ExactCommandControlFlow -node $scan -expectedIfConditions @($outerBranch, $scanBranch) -expectedLoopConditions @('foreach:@($actualImages.GetEnumerator() | Sort-Object Key)') + + $capturedInContract = @($ast.FindAll({ param($node) $node -is [System.Management.Automation.Language.CommandAst] -and $node.GetCommandName() -ceq 'Invoke-CapturedProcess' -and $node.CommandElements.Count -ge 4 }, $true) | Where-Object { + $owner = Get-Ancestor $_ ([System.Management.Automation.Language.FunctionDefinitionAst]) + $null -ne $owner -and $owner.Name -ceq 'Invoke-DevStandContract' -and $_.CommandElements[2].Extent.Text -ceq '$dockerPath' + }) + $liveBuilds = @($capturedInContract | Where-Object { + $literals = @($_.CommandElements[3].FindAll({ param($node) $node -is [System.Management.Automation.Language.StringConstantExpressionAst] }, $true) | ForEach-Object Value) + $literals -ccontains 'build' + }) + if ($liveBuilds.Count -ne 1 -or $liveBuilds[0].Extent.StartOffset -ne $build.Extent.StartOffset) { throw "live Docker build invocation cardinality must be exactly 1; found $($liveBuilds.Count)" } + $liveScouts = @($capturedInContract | Where-Object { + $literals = @($_.CommandElements[3].FindAll({ param($node) $node -is [System.Management.Automation.Language.StringConstantExpressionAst] }, $true) | ForEach-Object Value) + $literals -ccontains 'scout' -and $literals -ccontains 'cves' + }) + if ($liveScouts.Count -ne 1 -or $liveScouts[0].Extent.StartOffset -ne $scan.Extent.StartOffset) { throw "live Docker Scout invocation cardinality must be exactly 1; found $($liveScouts.Count)" } + + $ordered = @($sourceRoot, $sourceCommit, $sourceStatus, $build, $postHead, $postStatus, $prelaunch, $up) + for ($i = 1; $i -lt $ordered.Count; $i++) { + if ($ordered[$i].Extent.StartOffset -le $ordered[$i - 1].Extent.StartOffset) { throw "live dev-stand invocation order is invalid at '$([string]$ordered[$i].CommandElements[1].Value)'" } + } + + $targetLoop = Get-Ancestor $prelaunch ([System.Management.Automation.Language.ForEachStatementAst]) + if ($null -eq $targetLoop -or $targetLoop.Variable.Extent.Text -cne '$target' -or (ConvertTo-AstShape $targetLoop.Condition.Extent.Text) -cne (ConvertTo-AstShape '(Get-DevStandImageTargets).GetEnumerator()')) { throw 'prelaunch inspect does not iterate the exact image target map' } + $scanLoop = Get-Ancestor $scan ([System.Management.Automation.Language.ForEachStatementAst]) + if ($null -eq $scanLoop -or $scanLoop.Variable.Extent.Text -cne '$entry' -or (ConvertTo-AstShape $scanLoop.Condition.Extent.Text) -cne (ConvertTo-AstShape '@($actualImages.GetEnumerator() | Sort-Object Key)')) { throw 'Scout does not iterate the exact running image inventory' } + $scanReferences = @($scanLoop.Body.FindAll({ param($node) $node -is [System.Management.Automation.Language.AssignmentStatementAst] -and $node.Left.Extent.Text -ceq '$scanReference' }, $true)) + if ($scanReferences.Count -ne 1 -or (ConvertTo-AstShape $scanReferences[0].Right.Extent.Text) -cne (ConvertTo-AstShape '"local://$imageId"') -or $scanReferences[0].Extent.StartOffset -ge $scan.Extent.StartOffset) { throw 'Scout reference is not exactly one live immutable local:// image-ID assignment before the scan' } + $inventoryAssertions = @($ast.FindAll({ param($node) $node -is [System.Management.Automation.Language.CommandAst] -and $node.GetCommandName() -ceq 'Test-ExactDevStandInventory' }, $true) | Where-Object { + $owner = Get-Ancestor $_ ([System.Management.Automation.Language.FunctionDefinitionAst]) + $null -ne $owner -and $owner.Name -ceq 'Invoke-DevStandContract' + }) + if ($inventoryAssertions.Count -ne 1 -or $inventoryAssertions[0].CommandElements.Count -ne 2 -or $inventoryAssertions[0].CommandElements[1].Extent.Text -cne '$actualImages' -or $inventoryAssertions[0].Extent.StartOffset -ge $scan.Extent.StartOffset) { throw 'exact running image inventory assertion must execute exactly once before Scout' } + } + + function Assert-WorkflowContract( + [string]$workflowText, + [string]$criticalText, + [string]$standText, + [string]$dbRunnerText, + [string]$criticalRunnerText, + [string]$devStandRunnerText, + [string]$ownershipRunnerText = $ownershipRunner, + [string]$activeAuthorityRunnerText = $activeAuthorityRunner, + [string]$nodeRunnerText = $nodeRunner, + [string]$stateText = $ownershipState, + [string]$planText = $masterPlan, + [string]$scopeText = $scopeMap, + [string]$activeDiffContractsText = $activeDiffContracts + ) { + $execution = Remove-ConformanceStep $workflowText + Assert-LiveDevStandInvocationContract $dbRunnerText + if ($observedPlanSha -cne $expectedPlanSha) { throw "tracked production-ready plan hash drifted: expected=$expectedPlanSha observed=$observedPlanSha" } + if ((Get-CanonicalTextSha256 $planText) -cne $expectedPlanSha) { throw 'challenged plan text is not the exact canonical R9 authority' } + if ($observedScopeMapSha -cne $expectedScopeMapSha -or (Get-CanonicalTextSha256 $scopeText) -cne $expectedScopeMapSha) { throw "tracked R9 scope-map hash drifted: expected=$expectedScopeMapSha observed=$observedScopeMapSha" } + if ((Get-CanonicalTextSha256 $activeDiffContractsText) -cne $expectedActiveDiffContractSha) { throw 'tracked R9 active-diff contract hash drifted' } + $repeatToken = '(?i)(? npm-typecheck -> npm-test -> npm-audit-high -> npm-pack-dry-run')) { + if (-not $nodeRunnerText.Contains($required)) { throw "node release runner implementation is missing '$required'" } + } + + $stateObject = $stateText | ConvertFrom-Json -Depth 100 + if ([string]$stateObject.plan.sha256 -cne $expectedPlanSha) { throw 'ownership state is not bound to the exact challenged plan hash' } + if ([string]$stateObject.scope_map.path -cne '.agent/plans/2026-07-10-engram-production-ready-scope-map.json' -or [string]$stateObject.scope_map.sha256 -cne $expectedScopeMapSha) { throw 'ownership state is not bound to the exact R9 scope map' } + $scopeObject = $scopeText | ConvertFrom-Json -Depth 100 + $scopeEntries = @($scopeObject.entries) + $uniqueScopeSlices = @($scopeEntries.slice | Sort-Object -Unique) + if ($scopeEntries.Count -ne 67 -or $uniqueScopeSlices.Count -ne 67 -or [int]$scopeObject.register_snapshot.row_count -ne 67 -or [int]$scopeObject.register_snapshot.unique_slice_count -ne 67) { throw 'R9 scope map must preserve the frozen 67/67 structural slice set' } + $expectedClassifications = @('maker', 'checker-evidence', 'meta-fold', 'historical', 'root-integration') + if ((@($scopeObject.allowed_classifications) -join "`n") -cne ($expectedClassifications -join "`n")) { throw 'R9 scope-map classifications drifted' } + $expectedClassificationCounts = [ordered]@{ maker = 56; 'checker-evidence' = 4; 'meta-fold' = 4; historical = 1; 'root-integration' = 2 } + foreach ($classification in $expectedClassificationCounts.Keys) { + $observedCount = @($scopeEntries | Where-Object classification -CEQ $classification).Count + if ($observedCount -ne [int]$expectedClassificationCounts[$classification]) { throw "R9 scope classification '$classification' count drifted: expected=$([int]$expectedClassificationCounts[$classification]) observed=$observedCount" } + } + $planRows = @([regex]::Matches($planText, '(?m)^\| ([A-Z0-9][A-Z0-9-]+) \|') | ForEach-Object { $_.Groups[1].Value } | Sort-Object -Unique) + foreach ($entry in $scopeEntries) { + foreach ($owner in @($entry.plan_owners)) { + if ([string]$owner -cnotin $planRows) { throw "scope slice '$([string]$entry.slice)' points to missing plan owner '$([string]$owner)'" } + } + } + $expectedFolds = [ordered]@{ + 'CUSTOMER-MODE' = @('CRITICAL-HARNESS', 'INTEGRATION-RELEASE') + 'MASTER-PLAN' = @('PLAN-GOVERNANCE') + 'OPERATIONS' = @('DEPLOYMENT-ROLLBACK', 'RECOVERY-DATA', 'OBSERVABILITY-OTLP', 'PRIVACY-BOUNDARIES', 'CORE-PUBLIC-TRUTH', 'FINAL-PUBLIC-TRUTH') + 'OPERATOR-CONSOLE' = @('IMAGE-REMEDIATION', 'OC-INTEGRATION') + } + foreach ($foldName in $expectedFolds.Keys) { + $fold = @($scopeEntries | Where-Object slice -CEQ $foldName) + if ($fold.Count -ne 1 -or [string]$fold[0].classification -cne 'meta-fold' -or (@($fold[0].plan_owners) -join "`n") -cne (@($expectedFolds[$foldName]) -join "`n")) { throw "R9 scope fold '$foldName' drifted" } + } + foreach ($path in @('internal/db/gorm/candidate_store.go', 'internal/db/gorm/candidate_store_test.go', 'internal/mcp/tools_bulkops.go', 'internal/mcp/tools_dryrun_test.go')) { + $epoch = @($stateObject.path_epochs | Where-Object path -CEQ $path) + if ($epoch.Count -ne 1) { throw "ownership state must contain exactly one rework epoch for '$path'" } + if ([string]$epoch[0].current_owner -cne 'DB-BULKOPS-BEHAVIORAL-EDGE-REWORK' -or [string]$epoch[0].transition_kind -cne 'rework') { throw "ownership state current owner/transition drifted for '$path'" } + if ([string]$epoch[0].required_successor_base_sha -cne $rejectedBulkHead) { throw "ownership state rejected-base lock drifted for '$path'" } + $predecessor = @($epoch[0].completed_predecessors) + if ($predecessor.Count -ne 1 -or [string]$predecessor[0].owner -cne 'DB-BULKOPS' -or [string]$predecessor[0].checker_verdict -cne 'FAIL' -or [string]$predecessor[0].checker_artifact -cne $rejectedBulkChecker -or [string]$predecessor[0].checker_sha256 -cne $rejectedBulkCheckerSha -or [string]$predecessor[0].rejected_head_sha -cne $rejectedBulkHead -or -not [string]::IsNullOrWhiteSpace([string]$predecessor[0].integration_sha)) { + throw "ownership state rejected-predecessor evidence drifted for '$path'" + } + } + + $trackedCommands = [regex]::Matches($standText, '(?m)^\s+(?:command|readiness_check):\s+"([^"]*run-db-suite\.ps1 -DevStandAction [^"]+)"\s*$') + if ($trackedCommands.Count -ne 4) { throw "tracked dev-stand contract must declare Up, Ready, Scan, Down exactly once; found $($trackedCommands.Count)" } + foreach ($match in $trackedCommands) { + if (-not $devStandRunnerText.Contains($match.Groups[1].Value)) { throw "dev-stand runner does not validate tracked command: $($match.Groups[1].Value)" } + } + + $database = Get-StepBody $execution 'Run full project through fresh-DB RELEASE-GATES' + if (-not $database.Contains($trackedDatabaseCommand)) { throw 'full fresh-DB step does not execute the tracked command exactly' } + if (-not $database.Contains('-PostgresContainer $env:POSTGRES_CONTAINER -PostgresImage pgvector/pgvector:pg17')) { throw 'full fresh-DB step does not bind the proven PostgreSQL 17 service identity' } + if ($database -match '(?i)(? DB-TEST-POOL-HYGIENE', '') + $deletedPlanState = $ownershipState | ConvertFrom-Json -Depth 100 + $deletedPlanEpoch = @($deletedPlanState.path_epochs | Where-Object path -CEQ 'internal/db/gorm/candidate_store_test.go')[0] + $deletedPlanEpoch.ordered_owners = @($deletedPlanEpoch.ordered_owners | Where-Object { [string]$_ -CNE 'DB-TEST-POOL-HYGIENE' }) + Assert-MutationRejected 'delete required plan row plus epoch owner together' { Assert-WorkflowContract $workflow $critical $stand $dbRunner $criticalRunner $devStandRunner -stateText ($deletedPlanState | ConvertTo-Json -Depth 100) -planText $deletedPlanAndEpoch } + Write-Output 'CONFORMANCE PASS: canonical LF/CRLF R9 plan/scope/active-candidate authority, exact wrappers, path budget, AST-validated reachable exactly-once source-built image provenance and Scout, immutable live package-plus-test 12-test zero-skip DB execution proof, ownership state, node matrix, readiness, cleanup, and full/race semantics match; 70 mutations rejected' + + - name: Resolve PostgreSQL service identity + shell: pwsh + run: | + $container = docker ps --filter "ancestor=pgvector/pgvector:pg17" --format "{{.ID}}" | Select-Object -First 1 + if ($LASTEXITCODE -ne 0 -or [string]::IsNullOrWhiteSpace($container)) { + throw "pgvector/pgvector:pg17 service container was not found" + } + "POSTGRES_CONTAINER=$container" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append + + # This is the canonical release gate: three full-project repetitions from + # the runner default, each with a new PostgreSQL 17 database, race mode, + # raw JSON parsing, coverage enforcement, session proof, and cleanup. + - name: Run full project through fresh-DB RELEASE-GATES + shell: pwsh + run: pwsh -NoProfile -File scripts/production-gates/run-db-suite.ps1 -FreshDatabase -Package ./... -Race -FailOnUnexpectedSkip -PostgresContainer $env:POSTGRES_CONTAINER -PostgresImage pgvector/pgvector:pg17 + + - name: Run tracked critical suite runner + if: always() + shell: pwsh + run: pwsh -NoProfile -File scripts/production-gates/run-critical-suite.ps1 -Config .agent/critical-suite.config.yaml + + - name: Run tracked dev-stand lifecycle runner + if: always() + shell: pwsh + run: pwsh -NoProfile -File scripts/production-gates/run-dev-stand.ps1 -Config .agent/dev-stand.config.yaml + + - name: Upload RELEASE-GATES evidence + if: always() + uses: actions/upload-artifact@v4 + with: + name: release-gates-foundation + path: | + .agent/reports/evidence/production-ready/release-gates-foundation/ + .agent/e/rg4/ + if-no-files-found: error test: name: test / ${{ matrix.os }} @@ -93,115 +888,54 @@ jobs: # Linux and macOS: race detector enabled (requires CGO + gcc, available # on these platforms). Windows: race detector disabled (requires CGO # + MinGW, not available in windows-latest default environment). - - name: Test (Linux / macOS — with race detector) - if: runner.os != 'Windows' - run: go test ./... -race -cover -coverprofile=coverage.out - - - name: Test (Windows — without race detector) - if: runner.os == 'Windows' - run: go test ./... -cover -coverprofile=coverage.out - - # Coverage gates — enforced on every platform that produces coverage.out. - # - # Honest thresholds derived from running the v4 statement-weighted check - # against an actual local run after PR #167's loom-module landing: - # - # internal/module/ >= 75% (real measurement 76.2% as of - # 5d8d651; Phase A's "95.8% NFR-7" - # claim was either for a single - # sub-package or measured by a - # buggy script that sampled one - # function via tail -1) - # internal/handlers/engramcore >= 60% (gRPC transport limits coverage) - # internal/handlers/loom >= 70% (Phase B-1 plumbing landing; -# real measurement 75.7% on the v4 -# coverage script. Loom error paths -# (PRAGMA failure, NewEngine error, -# shutdown ctx cancellation) are -# hard to cover via moduletest.Harness -# without a full SQLite fake. Phase -# B-2 follow-up improves coverage to -# 85%+ once loom-tools lands and adds -# its own test surface.) - # cmd/engram/ >= 0% (main + wiring + exec_*.go are - # not meaningfully unit-testable; - # gate is kept at 0% as - # documentation of the package set) - # - # The check computes a TRUE statement-weighted coverage for a package - # prefix by parsing the raw coverage.out file directly. Each non-header - # line in coverage.out has the form: - # path:start.col,end.col numStatements covered(0/1) - # The script sums numStatements per package prefix, sums numStatements - # of lines where covered > 0, and reports hit/total. - # - # History: - # - v1 (Phase A): used `go tool cover -func ... | tail -1`. Sampled ONE - # function and called it the package coverage. Reported 0% for - # cmd/engram/ on every run — Phase A merged with this gate red on - # Linux/macOS. On Windows the same script silently SKIPPED everything - # because `2>/dev/null` suppressed the missing-coverage.out error and - # awk processed empty input, so pct was empty and the gate returned - # "SKIP" with exit 0. Phase A therefore never actually enforced - # coverage on Windows at all. - # - v2 (PR #167 first attempt): function-count-weighted average via awk - # over `go tool cover -func` output. Better than v1 but not the same - # metric Phase A claimed, and still inherited the Windows silent skip. - # - v3 (PR #167 second attempt): statement-weighted from raw coverage.out - # directly. Honest on Linux/macOS but BROKE Windows hard because the - # silent-skip path is gone — awk fails fatally when coverage.out is - # missing. - # - v4 (this version): statement-weighted on platforms where coverage.out - # exists; explicit WARN-and-skip on platforms where it does not (still - # Windows as of 2026-04-15 — root cause TBD, tracked under Phase B-2 - # CI hardening). Gate is permissive on missing coverage.out so we - # don't block PRs on a pre-existing Windows-CI environmental issue. - - name: Check coverage gates - shell: bash + - name: Test with raw JSON assertion (race on Linux / macOS) + shell: pwsh run: | - if [ ! -f coverage.out ]; then - echo "WARN: coverage.out is missing on this platform — skipping all coverage gates." - echo "WARN: this is a pre-existing issue on the Windows runner that Phase A also hit." - echo "WARN: Linux and macOS runners produce coverage.out and enforce the gates." - exit 0 - fi + $ErrorActionPreference = 'Stop' + $artifact = '.agent/reports/evidence/production-ready/release-gates-foundation/full-matrix' + New-Item -ItemType Directory -Path $artifact -Force | Out-Null + $stdout = Join-Path $artifact 'go-test.stdout.jsonl' + $stderr = Join-Path $artifact 'go-test.stderr.log' + $arguments = [System.Collections.Generic.List[string]]::new() + foreach ($argument in @('test', '-json', '-covermode=atomic', '-coverprofile=coverage.out', '-count=1', '-timeout=30m')) { $arguments.Add($argument) } + if ($env:RUNNER_OS -ne 'Windows') { $arguments.Add('-race') } + $arguments.Add('./...') + $go = (Get-Command go -ErrorAction Stop).Source + $process = Start-Process -FilePath $go ` + -ArgumentList @($arguments) ` + -NoNewWindow -Wait -PassThru ` + -RedirectStandardOutput $stdout -RedirectStandardError $stderr + $goExit = $process.ExitCode + ./scripts/production-gates/assert-go-test-json.ps1 ` + -InputPath $stdout ` + -SummaryPath (Join-Path $artifact 'go-test-summary.json') ` + -FailOnUnexpectedSkip + $parserExit = $LASTEXITCODE + [System.IO.File]::WriteAllText( + (Join-Path $artifact 'exit-summary.json'), + (([ordered]@{ go_test_exit = $goExit; json_parser_exit = $parserExit; race = $env:RUNNER_OS -ne 'Windows' } | ConvertTo-Json) + "`n"), + [System.Text.UTF8Encoding]::new($false) + ) + if ($goExit -ne 0 -or $parserExit -ne 0) { exit 1 } - check_pkg() { - local pkg="$1" - local threshold="$2" - local pct - pct=$(awk -v pkg="github.com/thebtf/engram/${pkg}" ' - $1 ~ ("^" pkg) { - n = split($0, parts, " ") - if (n < 3) next - stmts = parts[n-1] - hit = parts[n] - total += stmts - if (hit + 0 > 0) covered += stmts - } - END { - if (total > 0) printf "%.1f\n", (covered / total) * 100 - else print "" - } - ' coverage.out) - if [ -z "$pct" ]; then - echo "SKIP: no coverage data for ${pkg} (no test files or all functions excluded)" - return 0 - fi - local ok - ok=$(awk "BEGIN { print ($pct >= $threshold) ? 1 : 0 }") - if [ "$ok" = "1" ]; then - echo "PASS: ${pkg} stmt coverage ${pct}% >= ${threshold}%" - else - echo "FAIL: ${pkg} stmt coverage ${pct}% < ${threshold}% (threshold)" - exit 1 - fi - } - - check_pkg "internal/module/" 75 - check_pkg "internal/handlers/engramcore" 60 - check_pkg "internal/handlers/loom" 70 - check_pkg "cmd/engram/" 0 + # RELEASE-GATES coverage is fail-closed on every OS. Missing profiles are + # fatal, overall statement coverage must be >=60%, and the existing + # package floors are enforced by the same cross-platform parser. + - name: Check coverage gates (fail closed) + if: always() + shell: pwsh + run: ./scripts/production-gates/assert-coverage.ps1 -CoverageProfile coverage.out -SummaryPath coverage-summary.json -OverallThreshold 60 + + - name: Upload coverage evidence + if: always() + uses: actions/upload-artifact@v4 + with: + name: coverage-${{ matrix.os }} + path: | + coverage.out + coverage-summary.json + .agent/reports/evidence/production-ready/release-gates-foundation/full-matrix/ + if-no-files-found: error # Safety-gate self-check (T007, v5 cleanup). # diff --git a/Dockerfile b/Dockerfile index bb8708b8..5d600a63 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,20 +1,13 @@ -# syntax=docker/dockerfile:1 - -# --- Dashboard build stage --- -FROM node:22-bookworm-slim AS dashboard - -WORKDIR /ui -COPY ui/package.json ui/package-lock.json ./ -RUN npm ci -COPY ui/ . -RUN npm run build +# syntax=docker/dockerfile:1@sha256:87999aa3d42bdc6bea60565083ee17e86d1f3339802f543c0d03998580f9cb89 # --- Operator console build stage --- -FROM node:22-bookworm-slim AS operator-console-build +FROM node:22-bookworm-slim@sha256:53ada149d435c38b14476cb57e4a7da73c15595aba79bd6971b547ceb6d018bf AS operator-console-build WORKDIR /workspace/apps/operator-console COPY apps/operator-console/package.json apps/operator-console/package-lock.json ./ -RUN npm ci +COPY apps/operator-console/scripts/verify-native-optional-deps.mjs ./scripts/ +RUN npm ci --include=optional --fetch-retries=5 --fetch-retry-factor=2 --fetch-retry-mintimeout=1000 --fetch-retry-maxtimeout=30000 \ + && node scripts/verify-native-optional-deps.mjs COPY apps/operator-console/ ./ COPY design/operator-console/contracts /workspace/design/operator-console/contracts RUN npm run parity && npm run build @@ -24,14 +17,10 @@ FROM operator-console-build AS operator-console-static-build RUN npm run generate # --- Go build stage --- -FROM golang:1.25-bookworm AS builder +FROM golang:1.25.12-bookworm@sha256:a9c020ee3d1508c7be5435c262434e3d3fc1d0e76a11afeb9ddae7d60bc86aa4 AS builder WORKDIR /src -RUN apt-get update && apt-get install -y --no-install-recommends \ - ca-certificates git build-essential \ - && rm -rf /var/lib/apt/lists/* - ENV CGO_ENABLED=1 ENV GOFLAGS="" @@ -41,50 +30,94 @@ RUN go mod download COPY . . # Copy generated operator-console static bundle into static/ for go:embed. -# This replaces the legacy embedded dashboard root inside the server image while -# keeping apps/operator-console as the single frontend source of truth. +# This keeps apps/operator-console as the single frontend source of truth. COPY --from=operator-console-static-build /workspace/apps/operator-console/.output/public/ internal/worker/static/ -# Inject version from git tags -ARG VERSION=dev - -# Build server binary -RUN CGO_ENABLED=1 go build -tags fts5 -ldflags "-X main.Version=${VERSION} -s -w" -o /out/engram-server ./cmd/engram-server +ARG VERSION +ARG TARGETOS=linux +ARG TARGETARCH=amd64 + +# VERSION is data, never shell source. Direct Docker builds must satisfy the +# same whitelist as the release workflow before the value reaches ldflags or +# OCI labels. Numeric prerelease identifiers follow the SemVer leading-zero +# rule; build metadata is intentionally unsupported. +RUN set -eu; \ + release_pattern='^v(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)(-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$'; \ + commit_pattern='^sha-[0-9a-f]{40}$'; \ + if printf '%s\n' "$VERSION" | grep -Eq "$commit_pattern"; then \ + :; \ + elif printf '%s\n' "$VERSION" | grep -Eq "$release_pattern"; then \ + case "$VERSION" in \ + *-*) prerelease="${VERSION#*-}"; old_ifs="$IFS"; IFS='.'; \ + for identifier in $prerelease; do \ + if printf '%s\n' "$identifier" | grep -Eq '^[0-9]+$' \ + && [ "${#identifier}" -gt 1 ] \ + && [ "${identifier#0}" != "$identifier" ]; then \ + echo "invalid numeric prerelease identifier in VERSION" >&2; exit 64; \ + fi; \ + done; IFS="$old_ifs" ;; \ + esac; \ + else \ + echo "VERSION must be canonical SemVer or sha-<40 lowercase hex>" >&2; exit 64; \ + fi + +# Build the accepted CGO server. The ldd transcript is retained in the image as +# auditable proof that every shared-library dependency resolves before the +# binary crosses into the distroless runtime stage. +RUN CGO_ENABLED=1 GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -trimpath -tags fts5 \ + -ldflags "-X main.Version=${VERSION} -s -w" -o /out/engram-server ./cmd/engram-server \ + && ldd /out/engram-server > /out/engram-server.ldd 2>&1 \ + && ! grep -q "not found" /out/engram-server.ldd \ + && grep -q "=>" /out/engram-server.ldd + +RUN CGO_ENABLED=0 GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -trimpath \ + -ldflags "-s -w" -o /out/engram-healthcheck ./cmd/engram-healthcheck \ + && ! ldd /out/engram-healthcheck > /out/engram-healthcheck.ldd 2>&1 \ + && grep -q "not a dynamic executable" /out/engram-healthcheck.ldd \ + && install -d -m 0700 /out/server-home + +# Build client-side binary for the existing release target. +RUN CGO_ENABLED=1 GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -trimpath -tags fts5 \ + -ldflags "-X main.Version=${VERSION} -X github.com/thebtf/engram/internal/version.Daemon=${VERSION} -s -w" \ + -o /out/engram ./cmd/engram -# Build client-side binaries: engram local proxy -RUN CGO_ENABLED=1 go build -tags fts5 -ldflags "-X main.Version=${VERSION} -X github.com/thebtf/engram/internal/version.Daemon=${VERSION} -s -w" -o /out/engram ./cmd/engram # --- Server image --- -FROM debian:bookworm-slim AS server +FROM gcr.io/distroless/base-debian13@sha256:b78832f41c8128046807c24840ebee4f1c18ba7870eed423d8750c272c15e147 AS server -WORKDIR /app - -RUN apt-get update && apt-get install -y --no-install-recommends \ - ca-certificates curl \ - && rm -rf /var/lib/apt/lists/* - -COPY --from=builder /out/engram-server /usr/local/bin/engram-server +COPY --from=builder --chown=65532:65532 --chmod=0755 /out/engram-server /usr/local/bin/engram-server +COPY --from=builder --chown=65532:65532 --chmod=0755 /out/engram-healthcheck /usr/local/bin/engram-healthcheck +COPY --from=builder --chown=65532:65532 --chmod=0444 /out/engram-server.ldd /usr/share/engram/engram-server.ldd +COPY --from=builder --chown=65532:65532 --chmod=0700 /out/server-home /var/lib/engram ENV ENGRAM_WORKER_HOST=0.0.0.0 ENV ENGRAM_WORKER_PORT=37777 +ENV HOME=/var/lib/engram EXPOSE 37777 -HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \ - CMD curl -f http://localhost:37777/health || exit 1 +HEALTHCHECK --interval=10s --timeout=5s --start-period=30s --retries=3 \ + CMD ["/usr/local/bin/engram-healthcheck", "http://127.0.0.1:37777/api/ready"] -ENTRYPOINT ["engram-server"] +USER 65532:65532 +ENTRYPOINT ["/usr/local/bin/engram-server"] # --- Operator console image --- -FROM node:22-bookworm-slim AS operator-console +FROM gcr.io/distroless/nodejs22-debian13@sha256:773a62fbe24a3f8c8b24b16fd59154627f8b406737bc906f83bf1732bc8907dd AS operator-console WORKDIR /app -COPY --from=operator-console-build /workspace/apps/operator-console/.output ./.output +COPY --from=operator-console-build --chown=65532:65532 /workspace/apps/operator-console/.output ./.output +COPY --from=builder --chown=65532:65532 --chmod=0755 /out/engram-healthcheck /usr/local/bin/engram-healthcheck ENV NITRO_HOST=0.0.0.0 ENV NITRO_PORT=3000 ENV NUXT_PUBLIC_API_BASE=/api +ENV NUXT_OPERATOR_API_TARGET=http://server:37777 EXPOSE 3000 -ENTRYPOINT ["node", ".output/server/index.mjs"] +HEALTHCHECK --interval=10s --timeout=5s --start-period=30s --retries=3 \ + CMD ["/usr/local/bin/engram-healthcheck", "http://127.0.0.1:3000/api/ready"] + +USER 65532:65532 +CMD [".output/server/index.mjs"] diff --git a/apps/operator-console/composables/useOperatorGraph.ts b/apps/operator-console/composables/useOperatorGraph.ts index 39fe9311..d2f4ad64 100644 --- a/apps/operator-console/composables/useOperatorGraph.ts +++ b/apps/operator-console/composables/useOperatorGraph.ts @@ -1,4 +1,4 @@ -import type { ComputedRef, Ref } from 'vue' +import { onScopeDispose, type ComputedRef, type Ref } from 'vue' import type { OperatorLoadState, OperatorSourceError } from './useOperatorApi' import { emptyState, @@ -429,6 +429,7 @@ function startOnce(key: string, run: () => Promise) { } }) } + return started } export function useOperatorGraph(): { @@ -471,24 +472,45 @@ export function useOperatorGraph(): { const pathBusy = useState('live:graph:path-busy', () => false) const pathError = useState('live:graph:path-error', () => null) const lastMutationError = useState('live:graph:last-mutation-error', () => null) + const refreshGeneration = useState('live:graph:refresh-generation', () => 0) + const edgesGeneration = useState('live:graph:edges-generation', () => 0) + const traverseGeneration = useState('live:graph:traverse-generation', () => 0) + const pathGeneration = useState('live:graph:path-generation', () => 0) + const mutationGeneration = useState('live:graph:mutation-generation', () => 0) + let scopeActive = true const nodesState = computed(() => nodesStateRef.value) const edgesState = computed(() => edgesStateRef.value) + function begin(generation: Ref) { + generation.value += 1 + return generation.value + } + + function owns(generation: Ref, run: number) { + return scopeActive && generation.value === run + } + async function refreshConnectedEdges(nodeID = selectedNodeID.value) { + const run = begin(edgesGeneration) if (!nodeID) { + if (!owns(edgesGeneration, run)) return replaceArray(edgesRows.value, []) edgesStateRef.value = emptyState(edgesEvidence, edgesRows.value) return } + if (nodesStateRef.value.kind === 'gated' || nodesStateRef.value.kind === 'pending') return + if (selectedNodeID.value !== nodeID) return const path = `/api/graph/edges?node_id=${encodeURIComponent(nodeID)}&direction=both` edgesStateRef.value = pendingState(edgesEvidence, edgesRows.value) try { const payload = await fetchGraphJson(path) const edges = parseEdges(payload, path) + if (!owns(edgesGeneration, run) || selectedNodeID.value !== nodeID) return replaceArray(edgesRows.value, edges) edgesStateRef.value = edges.length ? liveState(edgesEvidence, edgesRows.value) : emptyState(edgesEvidence, edgesRows.value) } catch (error) { + if (!owns(edgesGeneration, run) || selectedNodeID.value !== nodeID) return const mapped = graphSourceError(error, { source: 'operator-graph-edges', path, @@ -505,10 +527,22 @@ export function useOperatorGraph(): { } async function refresh() { + const run = begin(refreshGeneration) + begin(edgesGeneration) + begin(traverseGeneration) + begin(pathGeneration) + traverseBusy.value = false + traverseError.value = null + replaceArray(traverseResults.value, []) + pathBusy.value = false + pathError.value = null + pathResult.value = null nodesStateRef.value = pendingState(nodesEvidence, nodesRows.value) try { const flags = await operatorFetchJson('/api/flags', undefined, 'operator-graph-flags') + if (!owns(refreshGeneration, run)) return if (flags.flags?.[GRAPH_FLAG] !== true) { + begin(edgesGeneration) replaceArray(nodesRows.value, []) replaceArray(edgesRows.value, []) nodesStateRef.value = gatedState(nodesEvidence, GRAPH_FLAG, 'Knowledge graph is disabled by the graph feature flag.', nodesRows.value) @@ -517,12 +551,14 @@ export function useOperatorGraph(): { } const projects = await operatorFetchJson('/api/projects', undefined, 'operator-graph-projects') + if (!owns(refreshGeneration, run)) return const nextProjects = Array.isArray(projects) ? projects.filter(Boolean).sort() : [] replaceArray(projectsState.value, nextProjects) if (!selectedProject.value || !projectsState.value.includes(selectedProject.value)) { selectedProject.value = projectsState.value[0] || '' } if (!selectedProject.value) { + begin(edgesGeneration) replaceArray(nodesRows.value, []) replaceArray(edgesRows.value, []) nodesStateRef.value = emptyState(nodesEvidence, nodesRows.value) @@ -530,9 +566,11 @@ export function useOperatorGraph(): { return } - const path = `/api/graph/nodes?project=${encodeURIComponent(selectedProject.value)}&limit=${GRAPH_LIMIT}` + const project = selectedProject.value + const path = `/api/graph/nodes?project=${encodeURIComponent(project)}&limit=${GRAPH_LIMIT}` const payload = await fetchGraphJson(path) const nodes = parseNodes(payload, path) + if (!owns(refreshGeneration, run) || selectedProject.value !== project) return replaceArray(nodesRows.value, nodes) if (!selectedNodeID.value || !nodesRows.value.some((node) => node.id === selectedNodeID.value)) { selectedNodeID.value = nodesRows.value[0]?.id || null @@ -540,6 +578,7 @@ export function useOperatorGraph(): { nodesStateRef.value = nodes.length ? liveState(nodesEvidence, nodesRows.value) : emptyState(nodesEvidence, nodesRows.value) await refreshConnectedEdges(selectedNodeID.value) } catch (error) { + if (!owns(refreshGeneration, run)) return const mapped = graphSourceError(error, { source: 'operator-graph-nodes', path: nodesEvidence.endpoint, @@ -556,6 +595,7 @@ export function useOperatorGraph(): { } async function createNode(input: CreateGraphNodeInput): Promise { + const run = begin(mutationGeneration) lastMutationError.value = null const path = '/api/graph/nodes' try { @@ -565,19 +605,24 @@ export function useOperatorGraph(): { project: input.project, privacy_scope: input.privacyScope || 'project', })) - if (created) { + if (created && owns(mutationGeneration, run)) { await refresh() - selectedNodeID.value = String(created.id) - await refreshConnectedEdges(String(created.id)) + const createdID = String(created.id) + if (owns(mutationGeneration, run) && selectedProject.value === input.project && nodesRows.value.some((node) => node.id === createdID)) { + selectedNodeID.value = createdID + await refreshConnectedEdges(createdID) + } } return { ok: true } } catch (error) { - lastMutationError.value = graphErrorFromThrown(error, { endpoint: path, method: 'POST', status: undefined }) - return { ok: false, error: lastMutationError.value } + const mapped = graphErrorFromThrown(error, { endpoint: path, method: 'POST', status: undefined }) + if (owns(mutationGeneration, run)) lastMutationError.value = mapped + return { ok: false, error: mapped } } } async function createEdge(input: CreateGraphEdgeInput): Promise { + const run = begin(mutationGeneration) lastMutationError.value = null const path = '/api/graph/edges' try { @@ -589,46 +634,53 @@ export function useOperatorGraph(): { edge_type: input.edgeType, reasoning: input.reasoning || '', })) - if (selectedNodeID.value === input.sourceNodeID || selectedNodeID.value === input.targetNodeID) { + if (owns(mutationGeneration, run) && (selectedNodeID.value === input.sourceNodeID || selectedNodeID.value === input.targetNodeID)) { await refreshConnectedEdges(selectedNodeID.value) } return { ok: true } } catch (error) { - lastMutationError.value = graphErrorFromThrown(error, { endpoint: path, method: 'POST', status: undefined }) - return { ok: false, error: lastMutationError.value } + const mapped = graphErrorFromThrown(error, { endpoint: path, method: 'POST', status: undefined }) + if (owns(mutationGeneration, run)) lastMutationError.value = mapped + return { ok: false, error: mapped } } } async function deleteEdge(edgeID: string): Promise { + const run = begin(mutationGeneration) lastMutationError.value = null const path = `/api/graph/edges/${encodeURIComponent(edgeID)}` try { await fetchGraphJson(path, jsonInit('DELETE')) - await refreshConnectedEdges(selectedNodeID.value) + if (owns(mutationGeneration, run)) await refreshConnectedEdges(selectedNodeID.value) return { ok: true } } catch (error) { - lastMutationError.value = graphErrorFromThrown(error, { endpoint: path, method: 'DELETE', status: undefined }) - return { ok: false, error: lastMutationError.value } + const mapped = graphErrorFromThrown(error, { endpoint: path, method: 'DELETE', status: undefined }) + if (owns(mutationGeneration, run)) lastMutationError.value = mapped + return { ok: false, error: mapped } } } async function deleteNode(input: DeleteGraphNodeInput): Promise { + const run = begin(mutationGeneration) lastMutationError.value = null const path = `/api/graph/nodes/${encodeURIComponent(input.nodeID)}?cascade=${input.cascade ? 'true' : 'false'}` try { await fetchGraphJson(path, jsonInit('DELETE')) + if (!owns(mutationGeneration, run)) return { ok: true } if (selectedNodeID.value === input.nodeID) { selectedNodeID.value = null } await refresh() return { ok: true } } catch (error) { - lastMutationError.value = graphErrorFromThrown(error, { endpoint: path, method: 'DELETE', status: undefined }) - return { ok: false, error: lastMutationError.value } + const mapped = graphErrorFromThrown(error, { endpoint: path, method: 'DELETE', status: undefined }) + if (owns(mutationGeneration, run)) lastMutationError.value = mapped + return { ok: false, error: mapped } } } async function traverseMemory(memoryID: string, depth = GRAPH_DEFAULT_TRAVERSE_DEPTH) { + const run = begin(traverseGeneration) if (nodesStateRef.value.kind === 'gated' || nodesStateRef.value.kind === 'pending') { replaceArray(traverseResults.value, []) traverseError.value = null @@ -639,16 +691,19 @@ export function useOperatorGraph(): { try { const path = `/api/graph/traverse?memory_id=${encodeURIComponent(memoryID)}&depth=${encodeURIComponent(String(depth))}` const payload = await fetchGraphJson(path) + if (!owns(traverseGeneration, run)) return replaceArray(traverseResults.value, parseTraverse(payload, path)) } catch (error) { + if (!owns(traverseGeneration, run)) return traverseError.value = graphErrorFromThrown(error, { endpoint: '/api/graph/traverse', method: 'GET', status: undefined }).message replaceArray(traverseResults.value, []) } finally { - traverseBusy.value = false + if (owns(traverseGeneration, run)) traverseBusy.value = false } } async function findPath(sourceID: string, targetID: string, maxDepth = GRAPH_DEFAULT_PATH_DEPTH) { + const run = begin(pathGeneration) if (nodesStateRef.value.kind === 'gated' || nodesStateRef.value.kind === 'pending') { pathResult.value = null pathError.value = null @@ -659,16 +714,27 @@ export function useOperatorGraph(): { try { const path = `/api/graph/find-path?source_id=${encodeURIComponent(sourceID)}&target_id=${encodeURIComponent(targetID)}&max_depth=${encodeURIComponent(String(maxDepth))}` const payload = await fetchGraphJson(path) + if (!owns(pathGeneration, run)) return pathResult.value = parsePath(payload, path) } catch (error) { + if (!owns(pathGeneration, run)) return pathError.value = graphErrorFromThrown(error, { endpoint: '/api/graph/find-path', method: 'GET', status: undefined }).message pathResult.value = null } finally { - pathBusy.value = false + if (owns(pathGeneration, run)) pathBusy.value = false } } - startOnce('operator-graph', refresh) + const started = startOnce('operator-graph', refresh) + onScopeDispose(() => { + scopeActive = false + begin(refreshGeneration) + begin(edgesGeneration) + begin(traverseGeneration) + begin(pathGeneration) + begin(mutationGeneration) + started.value = false + }) return { projects: projectsState.value, diff --git a/apps/operator-console/composables/useOperatorOverview.ts b/apps/operator-console/composables/useOperatorOverview.ts index 3e5eb9d4..a7fd8713 100644 --- a/apps/operator-console/composables/useOperatorOverview.ts +++ b/apps/operator-console/composables/useOperatorOverview.ts @@ -1,5 +1,5 @@ import { computed } from 'vue' -import { unsupportedOperatorAction } from './useOperatorApi' +import { operatorFetchJson, unsupportedOperatorAction } from './useOperatorApi' import { useCreds, useIssuesState, useModelsState, useProjects, useRules } from './useMockData' import { useOperatorMemoryLab } from './useOperatorMemoryLab' import { useOperatorQueue } from './useOperatorQueue' @@ -17,6 +17,19 @@ export function useOperatorOverview() { const models = computed(() => modelsState.rows.value) const queue = useOperatorQueue() const shell = useOperatorShellStatus() + const graphFlagState = useState<'pending' | 'enabled' | 'disabled' | 'error'>('live:overview:graph-flag', () => 'pending') + const graphFlagStarted = useState('live:overview:graph-flag:started', () => false) + + if (import.meta.client && !graphFlagStarted.value) { + graphFlagStarted.value = true + void operatorFetchJson<{ flags?: Record }>('/api/flags', undefined, 'operator-overview-graph-flag') + .then((payload) => { + graphFlagState.value = payload?.flags?.ENGRAM_GRAPH_ENABLED === true ? 'enabled' : 'disabled' + }) + .catch(() => { + graphFlagState.value = 'error' + }) + } const memoryActive = computed(() => memories.filter((memory) => !memory.noise).length) const memoryNoise = computed(() => memories.filter((memory) => memory.noise).length) @@ -73,5 +86,6 @@ export function useOperatorOverview() { modelStandby, modelDegraded, accessGap, + graphFlagState, } } diff --git a/apps/operator-console/i18n/locales/en.json b/apps/operator-console/i18n/locales/en.json index 60926737..503345fe 100644 --- a/apps/operator-console/i18n/locales/en.json +++ b/apps/operator-console/i18n/locales/en.json @@ -180,7 +180,12 @@ "memory": { "sub": "{active} active · {noise} in noise" }, "queue": { "sub": "memory candidates waiting for a decision" }, "noise": { "sub": "share of noisy injections" }, - "graph": { "sub": "concept graph and transitions" }, + "graph": { + "sub": "concept graph and transitions", + "disabled": "disabled", + "pending": "checking flag", + "error": "unavailable" + }, "books": { "sub": "author-domain and terminology ingest" }, "rules": { "sub": "operator always-inject directives" }, "issues": { @@ -748,6 +753,10 @@ "filters": { "project": "Graph project" }, + "honesty": { + "pending": "checking", + "error": "unavailable" + }, "state": { "pending": "Loading graph data…", "error": "Could not load graph data: {message}", @@ -815,7 +824,8 @@ "deleteNodeCascade": "Cascade through connected edges", "runTraverse": "Run traverse", "findPath": "Find path", - "running": "Running…" + "running": "Running…", + "closeNotice": "Close notification" }, "sections": { "nodes": "Project nodes", diff --git a/apps/operator-console/i18n/locales/ru.json b/apps/operator-console/i18n/locales/ru.json index d2109608..0464f7d6 100644 --- a/apps/operator-console/i18n/locales/ru.json +++ b/apps/operator-console/i18n/locales/ru.json @@ -180,7 +180,12 @@ "memory": { "sub": "{active} активных · {noise} в шуме" }, "queue": { "sub": "кандидаты в память, ждут решения" }, "noise": { "sub": "доля шумовых инъекций" }, - "graph": { "sub": "граф концептов и переходов" }, + "graph": { + "sub": "граф концептов и переходов", + "disabled": "выключено", + "pending": "проверяем флаг", + "error": "недоступно" + }, "books": { "sub": "загрузка авторских доменов и терминов" }, "rules": { "sub": "always-inject директивы оператора" }, "issues": { @@ -748,6 +753,10 @@ "filters": { "project": "Проект графа" }, + "honesty": { + "pending": "проверяем", + "error": "недоступно" + }, "state": { "pending": "Загружаем граф…", "error": "Не удалось загрузить граф: {message}", @@ -815,7 +824,8 @@ "deleteNodeCascade": "Каскадно удалить связанные ребра", "runTraverse": "Запустить traverse", "findPath": "Найти путь", - "running": "Выполняем…" + "running": "Выполняем…", + "closeNotice": "Закрыть уведомление" }, "sections": { "nodes": "Узлы проекта", diff --git a/apps/operator-console/i18n/locales/zh.json b/apps/operator-console/i18n/locales/zh.json index 5591a4a4..37cceba6 100644 --- a/apps/operator-console/i18n/locales/zh.json +++ b/apps/operator-console/i18n/locales/zh.json @@ -180,7 +180,12 @@ "memory": { "sub": "{active} 条活跃 · {noise} 条噪声" }, "queue": { "sub": "等待决策的记忆候选" }, "noise": { "sub": "噪声注入占比" }, - "graph": { "sub": "概念图和转移关系" }, + "graph": { + "sub": "概念图和转移关系", + "disabled": "已禁用", + "pending": "正在检查 flag", + "error": "不可用" + }, "books": { "sub": "作者领域和术语导入" }, "rules": { "sub": "操作员 always-inject 指令" }, "issues": { @@ -748,6 +753,10 @@ "filters": { "project": "图谱项目" }, + "honesty": { + "pending": "正在检查", + "error": "不可用" + }, "state": { "pending": "正在加载图谱数据…", "error": "无法加载图谱数据:{message}", @@ -815,7 +824,8 @@ "deleteNodeCascade": "级联删除关联边", "runTraverse": "运行 traverse", "findPath": "查找路径", - "running": "执行中…" + "running": "执行中…", + "closeNotice": "关闭通知" }, "sections": { "nodes": "项目节点", diff --git a/apps/operator-console/pages/graph.vue b/apps/operator-console/pages/graph.vue index 9071d14c..a3e5957c 100644 --- a/apps/operator-console/pages/graph.vue +++ b/apps/operator-console/pages/graph.vue @@ -1,5 +1,5 @@